fix note sync; add marker to mark dirty & sync error note and

This commit is contained in:
life
2017-01-19 18:38:54 +08:00
parent 6f6212b00f
commit ee0d4fa803
9 changed files with 321 additions and 126 deletions

27
node_modules/sync.js generated vendored
View File

@@ -360,8 +360,8 @@ var Sync = {
// 表示没有获取到content, 则只能标志为冲突了
// 内容不一样, 也标为冲突
if (content === false || content != noteLocal.Content) {
// me._syncInfo.note.conflicts.push({server: note, local: noteLocal});
me.fixSynced('note', 'conflicts', {server: note, local: noteLocal});
me._syncInfo.note.conflicts.push({server: note, local: noteLocal});
// me.fixSynced('note', 'conflicts', {server: note, local: noteLocal});
}
// 否则, 内容一样, 标为不冲突, 需要更新
else {
@@ -375,7 +375,6 @@ var Sync = {
}
canCall();
}, false);
}
});
@@ -659,7 +658,6 @@ var Sync = {
if (mainType == 'notebook') {
Notebook.fixConflicts(o);
} else if (mainType == 'note') {
console.error('........');
Note.fixConflicts(o);
} else {
Web.addOrDeleteTagFromSync(o);
@@ -737,6 +735,7 @@ var Sync = {
setSyncFinished: function() {
var me = this;
me.incrSyncStart = false;
Web.syncProgress(0);
},
incrSync: function(again) {
if (User.isLocal()) {
@@ -985,7 +984,9 @@ var Sync = {
newNote.NoteId = note.NoteId;
newNote.IsBlog = note.IsBlog; // 前端要用
me._syncInfo.note.changeAdds.push(newNote);
// me._syncInfo.note.changeAdds.push(newNote);
me.fixSynced('note', 'changeAdds', newNote);
Note.updateNoteForceForSendChange(newNote, true);
@@ -1052,21 +1053,26 @@ var Sync = {
});
}
else if(ret.Msg == 'notExists') {
Note.setError(note.NoteId, err, ret);
me.fixSynced('note', 'errors', {err: err, ret: ret, note: note});
// me._syncInfo.note.errors.push({err: err, ret: ret, note: note});
// 可能服务器上已删除, 此时应该要作为添加而不是更新
me._syncInfo.note.changeNeedAdds.push(note);
// me._syncInfo.note.changeNeedAdds.push(note);
cb();
}
// 其它错误, 不加, notImage 导致不能终止
else {
console.error(' updateNote error', err);
me._syncInfo.note.errors.push({err: err, ret: ret, note: note});
Note.setError(note.NoteId, err, ret);
console.error(' updateNote error', err, ret);
me.fixSynced('note', 'errors', {err: err, ret: ret, note: note});
cb();
}
}
// 更新失败了, 服务器返回异常
else {
Note.setError(note.NoteId, err, ret);
console.error(' updateNote error', err);
me._syncInfo.note.errors.push({err: err, ret: ret, note: note});
me.fixSynced('note', 'errors', {err: err, ret: ret, note: note});
cb();
}
}
@@ -1076,7 +1082,8 @@ var Sync = {
ret.ServerNoteId = ret.NoteId;
ret.NoteId = note.NoteId;
Note.updateNoteForceForSendChange(ret, false);
me._syncInfo.note.changeUpdates.push(note);
// me._syncInfo.note.changeUpdates.push(note);
me.fixSynced('note', 'changeUpdates', note);
me.checkNeedIncSyncAgain(ret.Usn);