mirror of
https://github.com/leanote/desktop-app.git
synced 2025-10-13 14:34:54 +00:00
fileDatas: [{LocalFileId: {}}] 来传文件, 是一个数组
TDOO updateNote
This commit is contained in:
111
node_modules/api.js
generated
vendored
111
node_modules/api.js
generated
vendored
@@ -356,81 +356,41 @@ var Api = {
|
||||
IsMarkdown: note.isMarkdown,
|
||||
Tags: note.Tags,
|
||||
IsBlog: note.IsBlog,
|
||||
Files: note.Files,
|
||||
FileDatas: note.FileDatas
|
||||
}
|
||||
log('add note');
|
||||
// log('add note');
|
||||
// log(data);
|
||||
|
||||
// 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;
|
||||
for(var i in needTransferFiles) {
|
||||
needMultiple = true;
|
||||
data[i] = needTransferFiles[i];
|
||||
}
|
||||
// 最终传递的数据
|
||||
console.log('end transfer data');
|
||||
console.log(data);
|
||||
|
||||
needle.post(me.getUrl('note/addNote'), data, {multipart: needMultiple}, function(err, resp) {
|
||||
if(err) {
|
||||
return callback(false);
|
||||
}
|
||||
var ret = resp.body;
|
||||
log('add note ret');
|
||||
log(ret);
|
||||
if(Common.isOk(ret)) {
|
||||
// 将serverId保存
|
||||
callback(ret);
|
||||
} else {
|
||||
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' }
|
||||
var needMultiple = false;
|
||||
for(var i in data.FileDatas) {
|
||||
needMultiple = true;
|
||||
break;
|
||||
}
|
||||
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);
|
||||
|
||||
// 最终传递的数据
|
||||
console.log('end transfer data');
|
||||
console.log(data);
|
||||
|
||||
needle.post(me.getUrl('note/addNote'), data, {multipart: needMultiple}, function(err, resp) {
|
||||
if(err) {
|
||||
return callback(false);
|
||||
}
|
||||
var ret = resp.body;
|
||||
log('add note ret');
|
||||
log(ret);
|
||||
if(Common.isOk(ret)) {
|
||||
// 将serverId保存
|
||||
callback(ret);
|
||||
} else {
|
||||
callback(false);
|
||||
}
|
||||
});
|
||||
*/
|
||||
|
||||
|
||||
|
||||
});
|
||||
},
|
||||
|
||||
// 更新
|
||||
updateNote: function(note, callback) {
|
||||
var me = this;
|
||||
@@ -441,11 +401,21 @@ var Api = {
|
||||
title: note.Title,
|
||||
usn: note.Usn,
|
||||
isTrash: note.IsTrash,
|
||||
content: note.Content
|
||||
content: note.Content,
|
||||
Files: note.Files,
|
||||
FileDatas: note.FileDatas
|
||||
}
|
||||
log('update note');
|
||||
log(data);
|
||||
needle.post(me.getUrl('note/updateNote'), data, {}, function(err, resp) {
|
||||
console.log('update note :');
|
||||
console.log(data);
|
||||
|
||||
// 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) {
|
||||
log('err');
|
||||
log(err);
|
||||
@@ -494,7 +464,6 @@ var Api = {
|
||||
log('delete note conflict: setNotDirty');
|
||||
Note.setNotDirty(note.NoteId);
|
||||
}
|
||||
|
||||
} catch(e) {}
|
||||
}
|
||||
});
|
||||
|
2
node_modules/file.js
generated
vendored
2
node_modules/file.js
generated
vendored
@@ -161,7 +161,7 @@ var File = {
|
||||
},
|
||||
|
||||
// 笔记添加/修改后会有LocalFileId <=> FileId映射
|
||||
updateFileForce(files) {
|
||||
updateFileForce: function(files) {
|
||||
if(!files) {
|
||||
// callback && callback(false);
|
||||
return;
|
||||
|
49
node_modules/note.js
generated
vendored
49
node_modules/note.js
generated
vendored
@@ -1,5 +1,6 @@
|
||||
var async = require('async');
|
||||
var db = require('db');
|
||||
var fs = require('fs');
|
||||
var File = require('file');
|
||||
var Evt = require('evt');
|
||||
var User = require('user');
|
||||
@@ -388,6 +389,7 @@ var Note = {
|
||||
note.InitSync = false;
|
||||
note.LocalIsNew = false;
|
||||
|
||||
// 如果是添加的, 因为不会传内容
|
||||
if(isAdd) {
|
||||
delete note['content'];
|
||||
}
|
||||
@@ -551,6 +553,43 @@ var Note = {
|
||||
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) {
|
||||
var me = this;
|
||||
@@ -563,12 +602,16 @@ var Note = {
|
||||
async.eachSeries(notes, function(note, cb) {
|
||||
me.getNoteFiles(note.NoteId, note.Content, function(files) {
|
||||
note.Content = me.fixNoteContentForSend(note.Content);
|
||||
note.Files = files || [];
|
||||
cb();
|
||||
// note.Files = files || [];
|
||||
me.getFilesPostInfo(files, function(attrs, fileDatas) {
|
||||
note.Files = attrs;
|
||||
note.FileDatas = fileDatas;
|
||||
cb();
|
||||
});
|
||||
});
|
||||
}, function() {
|
||||
callback(notes);
|
||||
})
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
Reference in New Issue
Block a user