mirror of
https://github.com/leanote/desktop-app.git
synced 2025-10-15 07:31:33 +00:00
用户notebooks, tags, notes的数量统计
This commit is contained in:
63
node_modules/user.js
generated
vendored
63
node_modules/user.js
generated
vendored
@@ -332,6 +332,69 @@ User = {
|
||||
};
|
||||
},
|
||||
|
||||
// 加载用户的DB, 这样才能统计
|
||||
_loadUserDB: function (user) {
|
||||
var me = this;
|
||||
var sourceDB = {};
|
||||
var names = ['notebooks', 'notes', 'tags'];
|
||||
if (user.UserId === me.userId) {
|
||||
return db;
|
||||
}
|
||||
if (user.HasDB) {
|
||||
db.initIt(sourceDB, names, user.UserId, false);
|
||||
}
|
||||
else {
|
||||
if (!me.hasDB) {
|
||||
return db;
|
||||
}
|
||||
else {
|
||||
db.initIt(sourceDB, names, '', false);
|
||||
}
|
||||
}
|
||||
return sourceDB;
|
||||
},
|
||||
|
||||
// notebook, note, tag统计
|
||||
getUserDBDataStats: function (user, callback) {
|
||||
var me = this;
|
||||
var data = {};
|
||||
var userId = user.UserId;
|
||||
|
||||
var sourceDB = me._loadUserDB(user);
|
||||
|
||||
var query = {UserId: userId,
|
||||
$or:[
|
||||
{LocalIsDelete: {$exists: false}},
|
||||
{LocalIsDelete: false}
|
||||
],
|
||||
$or:[
|
||||
{IsDeleted: {$exists: false}},
|
||||
{IsDeleted: false}
|
||||
],
|
||||
$or:[
|
||||
{IsTrash: {$exists: false}},
|
||||
{IsTrash: false}
|
||||
]
|
||||
};
|
||||
|
||||
sourceDB.notebooks.count(query, function (err, n) {
|
||||
data.notebook = n;
|
||||
sourceDB.notes.count(query, function (err, n) {
|
||||
data.note = n;
|
||||
sourceDB.tags.count(query, function (err, n) {
|
||||
data.tag = n;
|
||||
|
||||
// 垃圾回收
|
||||
if (sourceDB != db) {
|
||||
sourceDB = null;
|
||||
}
|
||||
|
||||
callback(data);
|
||||
});
|
||||
});
|
||||
});
|
||||
},
|
||||
|
||||
setUserDataPath: function(userId) {
|
||||
var me = this;
|
||||
// 判断是否存在, 不存在则创建dir
|
||||
|
@@ -35,6 +35,10 @@ define(function() {
|
||||
"Error": "错误",
|
||||
"No such account": "无该帐户",
|
||||
"Are you sure, it can't be recovered after it has been deleted": "确定要删除该帐户? 本地的数据将会彻底删除",
|
||||
|
||||
"Notebook": "笔记本",
|
||||
"Note": "笔记",
|
||||
"Tag": "标签"
|
||||
},
|
||||
'zh-hk': {
|
||||
'Accounts': '帳戶管理',
|
||||
@@ -58,6 +62,10 @@ define(function() {
|
||||
"Error": "錯誤",
|
||||
"No such account": "無該帳戶",
|
||||
"Are you sure, it can't be recovered after it has been deleted": "確定要刪除該帳戶? 本地的數據將會徹底刪除",
|
||||
|
||||
"Notebook": "筆記本",
|
||||
"Note": "筆記",
|
||||
"Tag": "標簽"
|
||||
}
|
||||
},
|
||||
_tpl: `
|
||||
@@ -209,9 +217,34 @@ define(function() {
|
||||
userLength: 0,
|
||||
curUser: null,
|
||||
|
||||
_renderUserDBDataStats: function(userId, data, n) {
|
||||
var me = this;
|
||||
if (n > 3) {
|
||||
return;
|
||||
}
|
||||
if($('#' + userId + '-stat-notebook').length) {
|
||||
$('#' + userId + '-stat-notebook').text(data.notebook);
|
||||
$('#' + userId + '-stat-note').text(data.note);
|
||||
$('#' + userId + '-stat-tag').text(data.tag);
|
||||
}
|
||||
else {
|
||||
setTimeout(function () {
|
||||
me._renderUserDBDataStats(userId, data, n+1);
|
||||
}, 100);
|
||||
}
|
||||
},
|
||||
|
||||
renderUserDBDataStats: function (user) {
|
||||
var me = this;
|
||||
Api.userService.getUserDBDataStats(user, function (data) {
|
||||
me._renderUserDBDataStats(user.UserId, data, 0);
|
||||
});
|
||||
},
|
||||
|
||||
renderUser: function(user, renderToExists) {
|
||||
var me = this;
|
||||
var username = user.Username;
|
||||
var userId = user.UserId;
|
||||
if (user.IsActive) {
|
||||
username += ' <span class="label label-success">' + me.getMsg('Current') + '</span>';
|
||||
}
|
||||
@@ -243,6 +276,10 @@ define(function() {
|
||||
+ '</span><a data-op="open-db-dir" class="op">' + me.getMsg('Open Dir') + '</a>'
|
||||
+ '<a data-op="db" class="op">' + me.getMsg('DB Optimization') + '</a>'
|
||||
+ '<a class="account-q" onclick="openExternal(\'http://leanote.leanote.com/post/desktop-app-db-optimization\')"><i class="fa fa-question-circle"></i></a>'
|
||||
+ '<br />'
|
||||
+ me.getMsg('Notebook') + ' <span id="' + userId + '-stat-notebook"></span><br />'
|
||||
+ me.getMsg('Note') + ' <span id="' + userId + '-stat-note"></span><br />'
|
||||
+ me.getMsg('Tag') + ' <span id="' + userId + '-stat-tag"></span>'
|
||||
+ ' </li>'
|
||||
dataTd += '<li><span class="data-text">图片 '
|
||||
+ me.fixSize(userStats.image)
|
||||
@@ -261,11 +298,16 @@ define(function() {
|
||||
+ '</div>';
|
||||
tr += '<td>' + options + '</td>';
|
||||
|
||||
|
||||
if (renderToExists) {
|
||||
me.tbody.find('[data-id="' + user.UserId + '"]').html(tr);
|
||||
return;
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
me.renderUserDBDataStats(user);
|
||||
}, 1000);
|
||||
|
||||
var trContainer = '<tr data-id="' + user.UserId + '">'
|
||||
+ tr
|
||||
+ '</tr>';
|
||||
|
Reference in New Issue
Block a user