mirror of
https://github.com/leanote/desktop-app.git
synced 2025-10-13 22:57:22 +00:00
fileDatas: [{LocalFileId: {}}] 来传文件, 是一个数组
TDOO updateNote
This commit is contained in:
73
node_modules/api.js
generated
vendored
73
node_modules/api.js
generated
vendored
@@ -356,44 +356,19 @@ var Api = {
|
|||||||
IsMarkdown: note.isMarkdown,
|
IsMarkdown: note.isMarkdown,
|
||||||
Tags: note.Tags,
|
Tags: note.Tags,
|
||||||
IsBlog: note.IsBlog,
|
IsBlog: note.IsBlog,
|
||||||
|
Files: note.Files,
|
||||||
|
FileDatas: note.FileDatas
|
||||||
}
|
}
|
||||||
log('add note');
|
// log('add note');
|
||||||
// log(data);
|
// log(data);
|
||||||
|
|
||||||
// files处理
|
// files处理
|
||||||
var files = note.Files;
|
|
||||||
var needTransferFiles = [];
|
|
||||||
var needPostFilesAttr = [];
|
|
||||||
async.eachSeries(files, function(file, cb) {
|
|
||||||
// var file = files[i];
|
|
||||||
var needFile = {
|
|
||||||
FileId: file.ServerFileId,
|
|
||||||
LocalFileId: file.FileId,
|
|
||||||
HasBody: false
|
|
||||||
}
|
|
||||||
// console.log(file);
|
|
||||||
// 要传数据的
|
|
||||||
if(file.IsDirty) {
|
|
||||||
fs.exists(file.Path, function(isExists) {
|
|
||||||
needTransferFiles[file.FileId] = {
|
|
||||||
file: file.Path,
|
|
||||||
content_type: 'image/' + file.Type
|
|
||||||
}
|
|
||||||
needFile.HasBody = true;
|
|
||||||
needPostFilesAttr.push(needFile);
|
|
||||||
return cb();
|
|
||||||
});
|
|
||||||
} else {
|
|
||||||
needPostFilesAttr.push(needFile);
|
|
||||||
return cb();
|
|
||||||
}
|
|
||||||
}, function() {
|
|
||||||
data.Files = needPostFilesAttr;
|
|
||||||
var needMultiple = false;
|
var needMultiple = false;
|
||||||
for(var i in needTransferFiles) {
|
for(var i in data.FileDatas) {
|
||||||
needMultiple = true;
|
needMultiple = true;
|
||||||
data[i] = needTransferFiles[i];
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 最终传递的数据
|
// 最终传递的数据
|
||||||
console.log('end transfer data');
|
console.log('end transfer data');
|
||||||
console.log(data);
|
console.log(data);
|
||||||
@@ -412,25 +387,10 @@ var Api = {
|
|||||||
callback(false);
|
callback(false);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
|
||||||
|
|
||||||
/*
|
|
||||||
var data = {
|
|
||||||
foo: 'bar',
|
|
||||||
cc: [1,2,3,3],
|
|
||||||
dd: {name: 'life', age: 18},
|
|
||||||
image: { file: '/Users/life/Desktop/imageplus.png', content_type: 'image/png' }
|
|
||||||
}
|
|
||||||
needle.post('http://localhost/phpinfo.php', data, { multipart: true }, function(err, resp, body) {
|
|
||||||
// needle will read the file and include it in the form-data as binary
|
|
||||||
console.log(resp.body);
|
|
||||||
});
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
// 更新
|
// 更新
|
||||||
updateNote: function(note, callback) {
|
updateNote: function(note, callback) {
|
||||||
var me = this;
|
var me = this;
|
||||||
@@ -441,11 +401,21 @@ var Api = {
|
|||||||
title: note.Title,
|
title: note.Title,
|
||||||
usn: note.Usn,
|
usn: note.Usn,
|
||||||
isTrash: note.IsTrash,
|
isTrash: note.IsTrash,
|
||||||
content: note.Content
|
content: note.Content,
|
||||||
|
Files: note.Files,
|
||||||
|
FileDatas: note.FileDatas
|
||||||
}
|
}
|
||||||
log('update note');
|
console.log('update note :');
|
||||||
log(data);
|
console.log(data);
|
||||||
needle.post(me.getUrl('note/updateNote'), data, {}, function(err, resp) {
|
|
||||||
|
// files处理
|
||||||
|
var needMultiple = false;
|
||||||
|
for(var i in data.FileDatas) {
|
||||||
|
needMultiple = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
needle.post(me.getUrl('note/updateNote'), data, {multipart: needMultiple}, function(err, resp) {
|
||||||
if(err) {
|
if(err) {
|
||||||
log('err');
|
log('err');
|
||||||
log(err);
|
log(err);
|
||||||
@@ -494,7 +464,6 @@ var Api = {
|
|||||||
log('delete note conflict: setNotDirty');
|
log('delete note conflict: setNotDirty');
|
||||||
Note.setNotDirty(note.NoteId);
|
Note.setNotDirty(note.NoteId);
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch(e) {}
|
} catch(e) {}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
2
node_modules/file.js
generated
vendored
2
node_modules/file.js
generated
vendored
@@ -161,7 +161,7 @@ var File = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
// 笔记添加/修改后会有LocalFileId <=> FileId映射
|
// 笔记添加/修改后会有LocalFileId <=> FileId映射
|
||||||
updateFileForce(files) {
|
updateFileForce: function(files) {
|
||||||
if(!files) {
|
if(!files) {
|
||||||
// callback && callback(false);
|
// callback && callback(false);
|
||||||
return;
|
return;
|
||||||
|
47
node_modules/note.js
generated
vendored
47
node_modules/note.js
generated
vendored
@@ -1,5 +1,6 @@
|
|||||||
var async = require('async');
|
var async = require('async');
|
||||||
var db = require('db');
|
var db = require('db');
|
||||||
|
var fs = require('fs');
|
||||||
var File = require('file');
|
var File = require('file');
|
||||||
var Evt = require('evt');
|
var Evt = require('evt');
|
||||||
var User = require('user');
|
var User = require('user');
|
||||||
@@ -388,6 +389,7 @@ var Note = {
|
|||||||
note.InitSync = false;
|
note.InitSync = false;
|
||||||
note.LocalIsNew = false;
|
note.LocalIsNew = false;
|
||||||
|
|
||||||
|
// 如果是添加的, 因为不会传内容
|
||||||
if(isAdd) {
|
if(isAdd) {
|
||||||
delete note['content'];
|
delete note['content'];
|
||||||
}
|
}
|
||||||
@@ -551,6 +553,43 @@ var Note = {
|
|||||||
noteWeb.deleteSync(noteSyncInfo.deletes);
|
noteWeb.deleteSync(noteSyncInfo.deletes);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 得到所有文件要传的基本信息和传送的数据
|
||||||
|
getFilesPostInfo: function(files, callback) {
|
||||||
|
var needPostFilesAttr = [];
|
||||||
|
var needTransferFiles = {};
|
||||||
|
if(!files || files.length == 0) {
|
||||||
|
return callback(needPostFilesAttr, needTransferFiles);
|
||||||
|
}
|
||||||
|
|
||||||
|
async.eachSeries(files, function(file, cb) {
|
||||||
|
// var file = files[i];
|
||||||
|
var needFile = {
|
||||||
|
FileId: file.ServerFileId,
|
||||||
|
LocalFileId: file.FileId,
|
||||||
|
Type: file.Type,
|
||||||
|
HasBody: false
|
||||||
|
}
|
||||||
|
// console.log(file);
|
||||||
|
// 要传数据的
|
||||||
|
if(file.IsDirty) {
|
||||||
|
fs.exists(file.Path, function(isExists) {
|
||||||
|
needTransferFiles[file.FileId] = {
|
||||||
|
file: file.Path,
|
||||||
|
content_type: 'image/' + file.Type // TODO
|
||||||
|
}
|
||||||
|
needFile.HasBody = true;
|
||||||
|
needPostFilesAttr.push(needFile);
|
||||||
|
return cb();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
needPostFilesAttr.push(needFile);
|
||||||
|
return cb();
|
||||||
|
}
|
||||||
|
}, function() {
|
||||||
|
callback(needPostFilesAttr, needTransferFiles);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
// 获得用户修改的笔记
|
// 获得用户修改的笔记
|
||||||
getDirtyNotes: function(callback) {
|
getDirtyNotes: function(callback) {
|
||||||
var me = this;
|
var me = this;
|
||||||
@@ -563,12 +602,16 @@ var Note = {
|
|||||||
async.eachSeries(notes, function(note, cb) {
|
async.eachSeries(notes, function(note, cb) {
|
||||||
me.getNoteFiles(note.NoteId, note.Content, function(files) {
|
me.getNoteFiles(note.NoteId, note.Content, function(files) {
|
||||||
note.Content = me.fixNoteContentForSend(note.Content);
|
note.Content = me.fixNoteContentForSend(note.Content);
|
||||||
note.Files = files || [];
|
// note.Files = files || [];
|
||||||
|
me.getFilesPostInfo(files, function(attrs, fileDatas) {
|
||||||
|
note.Files = attrs;
|
||||||
|
note.FileDatas = fileDatas;
|
||||||
cb();
|
cb();
|
||||||
});
|
});
|
||||||
|
});
|
||||||
}, function() {
|
}, function() {
|
||||||
callback(notes);
|
callback(notes);
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
Reference in New Issue
Block a user