删除附件优化, 删除本地笔记后删除附件

删除图片待解决, 因为笔记复制后可能一个图片存在于两篇笔记中
This commit is contained in:
life
2015-11-15 19:47:06 +08:00
parent 4a1eb9f94f
commit 3074cd8b10

91
node_modules/note.js generated vendored
View File

@@ -369,32 +369,70 @@ var Note = {
});
});
},
// sync时调用
// 是新的, 又是deleted的, 则删除之
deleteLocalNote: function(noteId, callback) {
db.notes.remove({NoteId: noteId}, function() {
callback && callback();
var me = this;
this.getNote(noteId, function(note) {
if (!note) {
callback && callback();
return;
}
db.notes.remove({NoteId: noteId}, function() {
me.deleteNoteAllOthers(note);
callback && callback();
});
});
},
// 删除笔记的所有
// 1) notes
// 2) noteHistory
// 3) imgages, attachs
deleteNoteAllOthers: function (note) {
if (!note) {
return;
}
var me = this;
// 删除图片
me.deleteImages(note);
// 删除附件
me.deleteAttachs(note.Attachs);
// 删除历史记录
me.deleteNoteHistory(note.NoteId);
},
// 彻底删除笔记, 如果有tags, 则需要更新tags's count
deleteTrash: function(note, callback) {
var me = this;
if(note) {
note.LocalIsDelete = true;
note.IsDirty = true;
// TODO 删除附件
db.notes.update({_id: note._id}, {$set: {IsDirty: true, LocalIsDelete: true}}, function(err, n) {
if(n) {
// 删除附件
me.deleteAttachs(note.Attachs);
// 删除历史记录
me.deleteNoteHistory(note.NoteId);
// 如果有tags, 则重新更新tags' count
me.updateTagCount(note.Tags);
callback(true);
}
callback(false);
});
// 如果是本地用户, 则直接删除
if(User.isLocal) {
db.notes.remove({_id: note._id}, function(err, n) {
if(n) {
me.deleteNoteAllOthers(note);
// 如果有tags, 则重新更新tags' count
me.updateTagCount(note.Tags);
callback(true);
return;
}
callback(false);
});
}
else {
note.LocalIsDelete = true;
note.IsDirty = true;
db.notes.update({_id: note._id}, {$set: {IsDirty: true, LocalIsDelete: true}}, function(err, n) {
if(n) {
me.deleteNoteAllOthers(note);
me.updateTagCount(note.Tags);
callback(true);
return;
}
callback(false);
});
}
} else {
callback(false);
}
@@ -704,10 +742,7 @@ var Note = {
if(err) {
callback && callback(false);
} else {
// 删除附件
me.deleteAttachs(note.Attachs);
// 删除历史记录
me.deleteNoteHistory(noteId);
me.deleteNoteAllOthers(note);
Notebook.reCountNotebookNumberNotes(note.NotebookId);
callback && callback(true);
}
@@ -1511,6 +1546,11 @@ var Note = {
});
},
// 删除图片
// 删除图片有困难, 如果用户复制了笔记的内容贴到其它笔记中去了
deleteImages: function (note) {
},
// 删除附件, 在sync时
// 或者, 在删除笔记后
deleteAttachs: function(attachs) {
@@ -1519,13 +1559,13 @@ var Note = {
}
var me = this;
var fileBasePath = User.getCurUserAttachsPath();
for(var i in attachs) {
for(var i = 0; i < attachs.length; ++i) {
var path = attachs[i].Path;
if(path && path.indexOf(fileBasePath) > 0) {
if(path && path.indexOf(fileBasePath) >= 0) {
try {
fs.unlink(path);
} catch(e) {
console.log(e);
console.error(e);
}
}
}
@@ -1718,6 +1758,7 @@ var Note = {
}
});
},
exportPdf: function(noteId, callback) {
var me = this;
me.getServerNoteIdByNoteId(noteId, function(serverNoteId) {