mirror of
https://github.com/leanote/desktop-app.git
synced 2025-10-15 15:41:19 +00:00
35
node_modules/user.js
generated
vendored
35
node_modules/user.js
generated
vendored
@@ -153,21 +153,24 @@ User = {
|
||||
},
|
||||
// 不同host的userId可能一样, 潜在的bug
|
||||
saveCurUser: function(user, callback) {
|
||||
// 设置其它用户为 not active
|
||||
db.users.update({_id: {$ne: user.UserId}}, {$set: {IsActive: false}}, {multi: true}, function(err, n) {
|
||||
// 当前用户是否在数据库中
|
||||
db.users.count({_id: user.UserId}, function(err, count) {
|
||||
if(err || count == 0) {
|
||||
// 添加一个
|
||||
user['_id'] = user.UserId;
|
||||
user['IsActive'] = true;
|
||||
user['LastLoginTime'] = new Date();
|
||||
db.users.insert(user, function(err, doc) {
|
||||
log(err);
|
||||
callback && callback(true);
|
||||
});
|
||||
} else {
|
||||
user.IsActive = true;
|
||||
user.LastLoginTime = new Date();
|
||||
delete user['Ok'];
|
||||
db.users.update({_id: user.UserId}, {$set: user}, function(err, cnt) {
|
||||
if(err || cnt == 0) {
|
||||
log(err);
|
||||
callback && callback(false);
|
||||
} else {
|
||||
callback && callback(true);
|
||||
@@ -175,20 +178,6 @@ User = {
|
||||
});
|
||||
}
|
||||
});
|
||||
// console.log(".........");
|
||||
// console.log(user);
|
||||
// 设值其它用户为非active
|
||||
db.users.update({_id: {$ne: user.UserId}}, {$set: {IsActive: false}}, {multi: true}, function(err, n) {
|
||||
// console.log(err);
|
||||
// console.log(n);
|
||||
});
|
||||
},
|
||||
|
||||
// for test
|
||||
getAllUsers: function(callback) {
|
||||
var me = this;
|
||||
db.users.find({}, function(err, users) {
|
||||
callback && callback(users);
|
||||
});
|
||||
},
|
||||
|
||||
@@ -310,8 +299,8 @@ User = {
|
||||
}
|
||||
Api.getLastSyncState(function(state) {
|
||||
if(state) {
|
||||
console.error('--updateLastSyncState---')
|
||||
console.log(state);
|
||||
// console.error('--updateLastSyncState---')
|
||||
// console.log(state);
|
||||
me.LastSyncUsn = state.LastSyncUsn;
|
||||
me.LastSyncTime = state.LastSyncTime;
|
||||
db.users.update({UserId: me.getCurActiveUserId()}, {$set: state});
|
||||
@@ -372,6 +361,16 @@ User = {
|
||||
db.users.update({_id: me.getCurActiveUserId()}, {$set: {State: state}}, function() {
|
||||
callback && callback();
|
||||
});
|
||||
},
|
||||
|
||||
// 获取所有用户, 当前active的在第一个
|
||||
getAllUsers: function(callback) {
|
||||
db.users.find({}).sort({'LastLoginTime': -1}).exec(function(err, users) {
|
||||
if(err) {
|
||||
return callback && callback(false);
|
||||
}
|
||||
return callback && callback(users);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
|
@@ -6,6 +6,7 @@ var Api = {
|
||||
loading: Loading,
|
||||
gui: gui,
|
||||
onClose: onClose,
|
||||
reloadApp: reloadApp,
|
||||
isMac: isMac(),
|
||||
nodeFs: NodeFs,
|
||||
evtService: EvtService,
|
||||
|
@@ -1437,7 +1437,11 @@ function initPage(initedCallback) {
|
||||
});
|
||||
}
|
||||
$('#username').text(UserInfo.Username);
|
||||
userMenu();
|
||||
|
||||
UserService.getAllUsers(function(users) {
|
||||
userMenu(users);
|
||||
});
|
||||
|
||||
setLayoutWidth();
|
||||
} else {
|
||||
switchAccount();
|
||||
@@ -1901,7 +1905,7 @@ function setMacTopMenu() {
|
||||
}
|
||||
|
||||
// user
|
||||
function userMenu() {
|
||||
function userMenu(allUsers) {
|
||||
// ----------
|
||||
// 全局菜单
|
||||
var win = gui.getCurrentWindow();
|
||||
@@ -1914,15 +1918,23 @@ function userMenu() {
|
||||
|
||||
//-------------------
|
||||
// 右键菜单
|
||||
|
||||
function getShortHost(host) {
|
||||
if (!host) {
|
||||
host = 'https://leanote.com';
|
||||
}
|
||||
var ret = /http(s*):\/\/([a-zA-Z0-9\.\-]+)/.exec(host);
|
||||
if(ret && ret.length == 3) {
|
||||
host = ret[2];
|
||||
}
|
||||
return host;
|
||||
}
|
||||
|
||||
function menu() {
|
||||
var me = this;
|
||||
// this.target = '';
|
||||
UserInfo.Host = UserInfo.Host || 'http://leanote.com';
|
||||
var shortHost = UserInfo.Host;
|
||||
var ret = /http(s*):\/\/([a-zA-Z0-9\.\-]+)/.exec(shortHost);
|
||||
if(ret && ret.length == 3) {
|
||||
shortHost = ret[2];
|
||||
}
|
||||
UserInfo.Host = UserInfo.Host || 'https://leanote.com';
|
||||
var shortHost = getShortHost(UserInfo.Host);
|
||||
|
||||
this.menu = new gui.Menu();
|
||||
this.email = new gui.MenuItem({
|
||||
@@ -1932,7 +1944,7 @@ function userMenu() {
|
||||
}
|
||||
});
|
||||
this.switchAccount = new gui.MenuItem({
|
||||
label: getMsg('Switch account'),
|
||||
label: getMsg('Add account'),
|
||||
click: function(e) {
|
||||
// window.open('login.html');
|
||||
// win.close();
|
||||
@@ -1944,6 +1956,42 @@ function userMenu() {
|
||||
}
|
||||
});
|
||||
|
||||
// 所有用户
|
||||
var allUsersMenu;
|
||||
if (allUsers) {
|
||||
function toggleAccount(user) {
|
||||
if (!user) {
|
||||
return;
|
||||
}
|
||||
UserService.saveCurUser({UserId: user.UserId}, function () {
|
||||
reloadApp();
|
||||
});
|
||||
}
|
||||
var userMenus = new gui.Menu();
|
||||
for (var i = 0; i < allUsers.length; ++i) {
|
||||
var user = allUsers[i];
|
||||
if (user.Username && user.UserId) {
|
||||
var label = user.Username;
|
||||
|
||||
var otherLabel = user.IsLocal ? getMsg('Local') : getShortHost(user.Host);
|
||||
label += ' (' + otherLabel + ')';
|
||||
|
||||
userMenus.append(new gui.MenuItem({
|
||||
label: label,
|
||||
enabled: !user.IsActive,
|
||||
click: (function(user) {
|
||||
return function() {
|
||||
toggleAccount(user);
|
||||
}
|
||||
})(user)
|
||||
}));
|
||||
}
|
||||
}
|
||||
allUsersMenu = new gui.MenuItem({
|
||||
label: getMsg('Switch account'),
|
||||
submenu: userMenus
|
||||
});
|
||||
}
|
||||
|
||||
this.checkForUpdates = new gui.MenuItem({
|
||||
label: getMsg('Check for updates'),
|
||||
@@ -1963,6 +2011,7 @@ function userMenu() {
|
||||
this.menu.append(this.blog);
|
||||
}
|
||||
this.menu.append(this.switchAccount);
|
||||
this.menu.append(allUsersMenu);
|
||||
this.menu.append(new gui.MenuItem({ type: 'separator' }));
|
||||
|
||||
// themeMenu
|
||||
|
@@ -539,8 +539,16 @@ function isAceError(val) {
|
||||
}
|
||||
|
||||
// 有tinymce得到的content有<html>包围
|
||||
// false表示编辑器未初始化
|
||||
// 总会出现<p> <br></p>, 原因, setContent('<p><br data-mce-bogus="1" /></p>') 会设置成 <p> <br></p>
|
||||
// 所以, 要在getContent时, 当是<p><br data-mce-bogus="1"></p>, 返回 <p><br/></p>
|
||||
function getEditorContent(isMarkdown) {
|
||||
var content = _getEditorContent(isMarkdown);
|
||||
if (content === '<p><br data-mce-bogus="1"></p>') {
|
||||
return '<p><br></p>';
|
||||
}
|
||||
return content;
|
||||
}
|
||||
function _getEditorContent(isMarkdown) {
|
||||
if(!isMarkdown) {
|
||||
var editor = tinymce.activeEditor;
|
||||
if(editor) {
|
||||
@@ -569,9 +577,9 @@ function getEditorContent(isMarkdown) {
|
||||
// 去掉恶心的花瓣注入
|
||||
// <pinit></pinit>
|
||||
// 把最后的<script>..</script>全去掉
|
||||
content.find("pinit").remove();
|
||||
content.find(".thunderpin").remove();
|
||||
content.find(".pin").parent().remove();
|
||||
// content.find("pinit").remove();
|
||||
// content.find(".thunderpin").remove();
|
||||
// content.find(".pin").parent().remove();
|
||||
content = $(content).html();
|
||||
if(content) {
|
||||
while(true) {
|
||||
@@ -1664,6 +1672,7 @@ var onClose = function(afterFunc) {
|
||||
try {
|
||||
// 先把服务关掉
|
||||
Server.close();
|
||||
SyncService.stop();
|
||||
|
||||
// 先保存之前改变的
|
||||
Note.curChangedSaveIt();
|
||||
@@ -1681,4 +1690,12 @@ function isURL(str_url) {
|
||||
return re.test(str_url);
|
||||
}
|
||||
|
||||
function reloadApp() {
|
||||
onClose(function() {
|
||||
setTimeout(function() {
|
||||
location.reload();
|
||||
}, isMac() ? 0 : 200);
|
||||
});
|
||||
}
|
||||
|
||||
ContextTips.init();
|
||||
|
@@ -184,6 +184,7 @@
|
||||
"Search note": "搜索笔记",
|
||||
"Search notebook": "搜索笔记本",
|
||||
|
||||
"Add account": "添加帐户",
|
||||
"Switch account": "切换帐户",
|
||||
"Sync": "同步",
|
||||
"Loading": "正在加载",
|
||||
|
@@ -184,6 +184,7 @@
|
||||
"Search note": "搜索筆記",
|
||||
"Search notebook": "搜索筆記本",
|
||||
|
||||
"Add account": "添加帳戶",
|
||||
"Switch account": "切換帳戶",
|
||||
"Sync": "同步",
|
||||
"Loading": "正在加載",
|
||||
@@ -253,7 +254,7 @@
|
||||
"Warning": "警告",
|
||||
|
||||
"Mode": "模式",
|
||||
"Toggle Fullscreen": "全屏切换",
|
||||
"Toggle Fullscreen": "全屏切換",
|
||||
"Toggle Presentation": "演示切換",
|
||||
"Toggle View": "預覽切換",
|
||||
|
||||
@@ -278,4 +279,5 @@
|
||||
"Username": "用戶名",
|
||||
"User exists": "用戶已存在",
|
||||
"Local": "本地"
|
||||
|
||||
}
|
@@ -32,13 +32,7 @@ define(function() {
|
||||
Config.lang = langFileName;
|
||||
var ok = Api.writeConfig(Config);
|
||||
if(ok) {
|
||||
Api.onClose(function() {
|
||||
// mac下server关闭要点时间
|
||||
var timeout = Api.isMac ? 0 : 200;
|
||||
setTimeout(function() {
|
||||
location.reload();
|
||||
}, timeout);
|
||||
});
|
||||
Api.reloadApp();
|
||||
} else {
|
||||
alert(getMsg('error'));
|
||||
}
|
||||
|
Reference in New Issue
Block a user