mirror of
https://github.com/leanote/desktop-app.git
synced 2025-10-16 08:01:53 +00:00
send changes tag ok
This commit is contained in:
43
node_modules/api.js
generated
vendored
43
node_modules/api.js
generated
vendored
@@ -2,6 +2,7 @@ var db = require('db');
|
||||
var async = require('async');
|
||||
var User = require('user');
|
||||
var Note = require('note');
|
||||
var Tag = require('tag');
|
||||
var Notebook = require('notebook');
|
||||
var Common = require('common');
|
||||
var Tags = db.tags;
|
||||
@@ -494,6 +495,48 @@ var Api = {
|
||||
});
|
||||
},
|
||||
|
||||
// 添加标签
|
||||
addTag: function(title, callback) {
|
||||
var me = this;
|
||||
needle.post(me.getUrl('tag/addTag'), {tag: title}, {}, function(err, resp) {
|
||||
if(err) {
|
||||
return callback && callback(false);
|
||||
}
|
||||
var ret = resp.body;
|
||||
log('add tag ret ==========');
|
||||
log(ret);
|
||||
if(Common.isOk(ret)) {
|
||||
// 以后不要再发了
|
||||
Tag.setNotDirty(title);
|
||||
callback && callback(ret);
|
||||
} else {
|
||||
callback && callback(false);
|
||||
}
|
||||
});
|
||||
},
|
||||
// 删除标签
|
||||
deleteTag: function(tag, callback) {
|
||||
var me = this;
|
||||
needle.post(me.getUrl('tag/deleteTag'), data, {tag: tag.Tag, usn: tag.Usn}, function(err, resp) {
|
||||
if(err) {
|
||||
return callback && callback(false);
|
||||
}
|
||||
var ret = resp.body;
|
||||
log('delete tag ret ===========');
|
||||
log(ret);
|
||||
if(Common.isOk(ret)) {
|
||||
// 以后不要再发了
|
||||
Tag.setNotDirty(tag.Tag);
|
||||
callback && callback(ret);
|
||||
} else {
|
||||
// 出错了也不要发了, 万一是网络原因呢?
|
||||
if(ret.Msg == 'conflict') {
|
||||
Tag.setNotDirty(tag.Tag);
|
||||
}
|
||||
callback && callback(false);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
test: function() {
|
||||
log("??");
|
||||
|
41
node_modules/sync.js
generated
vendored
41
node_modules/sync.js
generated
vendored
@@ -404,6 +404,8 @@ var Sync = {
|
||||
}, true);
|
||||
} else {
|
||||
// 本地有, 不用操作
|
||||
Tag.setNotDirty(tag.Tag);
|
||||
return canCall();
|
||||
}
|
||||
});
|
||||
})(tag);
|
||||
@@ -632,6 +634,9 @@ var Sync = {
|
||||
} else {
|
||||
// newNote.Usn > User.getLastSyncUsn + 1, 表示服务器端在本次同步后, sendChanges之前有更新
|
||||
// 那么, 还需要来一次incrSync, 之后
|
||||
if(User.getLastSyncUsn() > usn) { // 添加标签时如果标签已经存在, 则返回的是旧的
|
||||
return;
|
||||
}
|
||||
me._needIncrSyncAgain = true;
|
||||
}
|
||||
}
|
||||
@@ -758,7 +763,42 @@ var Sync = {
|
||||
// 发送标签改变
|
||||
sendTagChanges: function(callback) {
|
||||
log('send note changes');
|
||||
var me = this;
|
||||
// 获取所有笔记本的更改
|
||||
Tag.getDirtyTags(function(tags) {
|
||||
log('dirty tags');
|
||||
log(tags);
|
||||
if(!tags) {
|
||||
callback && callback();
|
||||
} else {
|
||||
// 调api, 所有执行后再callback();
|
||||
// 一个一个同步执行, 因为要有
|
||||
async.eachSeries(tags, function(tag, cb) {
|
||||
if(tag.IsDirty) {
|
||||
// 添加
|
||||
Api.addTag(tag.Tag, function(newTag) {
|
||||
if(!Common.isOk(newTag)) {
|
||||
return cb();
|
||||
}
|
||||
me._syncInfo.note.changeAdds.push(newTag);
|
||||
me.checkNeedIncSyncAgain(newTag.Usn);
|
||||
cb();
|
||||
});
|
||||
} else if(note.LocalIsDelete) {
|
||||
// 删除, 不管它了
|
||||
Api.deleteTag(tag, function(ret) {
|
||||
if(Common.isOk(ret)) {
|
||||
me.checkNeedIncSyncAgain(ret.Usn);
|
||||
}
|
||||
return cb();
|
||||
});
|
||||
} else {
|
||||
}
|
||||
}, function() {
|
||||
callback && callback();
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
sendChanges: function() {
|
||||
@@ -766,7 +806,6 @@ var Sync = {
|
||||
log('send changes before...')
|
||||
// 先处理冲突, 可以同时进行
|
||||
me.fixConflicts(function() {
|
||||
return;
|
||||
// send changes
|
||||
log('send changes');
|
||||
me._initSyncInfo(); // 重新初始化[]
|
||||
|
22
node_modules/tag.js
generated
vendored
22
node_modules/tag.js
generated
vendored
@@ -84,14 +84,34 @@ var Tag = {
|
||||
},
|
||||
|
||||
getTag: function(title, callback) {
|
||||
userId = User.getCurActiveUserId();
|
||||
var userId = User.getCurActiveUserId();
|
||||
Tags.findOne({UserId: userId, Tag: title}, function(err, tag) {
|
||||
if(err || !tag) {
|
||||
return callback && callback(false);
|
||||
}
|
||||
callback && callback(tag);
|
||||
});
|
||||
},
|
||||
|
||||
// 服务器上更新过来, 已经存在了
|
||||
setNotDirty: function(title) {
|
||||
var me = this;
|
||||
var userId = User.getCurActiveUserId();
|
||||
Tags.update({UserId: userId, Title: title}, {$set: {IsDirty: false, UpdatedTime: new Date()}}, function() {
|
||||
});
|
||||
},
|
||||
|
||||
// send changes to server
|
||||
getDirtyTags: function(callback) {
|
||||
var me = this;
|
||||
userId = User.getCurActiveUserId();
|
||||
Tags.find({UserId: userId, IsDirty: true}, function(err, tags) {
|
||||
if(err || !tags) {
|
||||
return callback && callback(false);
|
||||
}
|
||||
callback && callback(tags);
|
||||
});
|
||||
},
|
||||
/*
|
||||
// 添加多个标签
|
||||
addTags: function(titles) {
|
||||
|
Reference in New Issue
Block a user