mirror of
https://github.com/leanote/desktop-app.git
synced 2025-10-20 10:45:01 +00:00
登录, 创建本地帐户优化
This commit is contained in:
@@ -182,11 +182,11 @@ $(function() {
|
|||||||
}
|
}
|
||||||
UserService.login(email, pwd, host, function(ret) {
|
UserService.login(email, pwd, host, function(ret) {
|
||||||
if (ret) {
|
if (ret) {
|
||||||
setTimeout(function() {
|
// setTimeout(function() {
|
||||||
$body.removeClass('loading');
|
$body.removeClass('loading');
|
||||||
goToMainPage();
|
goToMainPage();
|
||||||
gui.getCurrentWindow().close();
|
gui.getCurrentWindow().close();
|
||||||
}, 2000);
|
// }, 2000);
|
||||||
}
|
}
|
||||||
// 不成功, 则用api登录
|
// 不成功, 则用api登录
|
||||||
else {
|
else {
|
||||||
|
3
node_modules/api.js
generated
vendored
3
node_modules/api.js
generated
vendored
@@ -97,6 +97,7 @@ var Api = {
|
|||||||
if(error) {
|
if(error) {
|
||||||
return callback && callback(false);
|
return callback && callback(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
// needle.get('http://localhost/phpinfo.php?email=xx', {emai: email, pwd: pwd}, function(error, response) {
|
// needle.get('http://localhost/phpinfo.php?email=xx', {emai: email, pwd: pwd}, function(error, response) {
|
||||||
var ret = response.body;
|
var ret = response.body;
|
||||||
// 登录成功, 保存token
|
// 登录成功, 保存token
|
||||||
@@ -105,7 +106,7 @@ var Api = {
|
|||||||
if(Common.isOk(ret)) {
|
if(Common.isOk(ret)) {
|
||||||
ret.Pwd = Common.md5(pwd, ret.UserId);
|
ret.Pwd = Common.md5(pwd, ret.UserId);
|
||||||
ret['Host'] = Evt.leanoteUrl;
|
ret['Host'] = Evt.leanoteUrl;
|
||||||
User.setCurUser(ret);
|
// User.setCurUser(ret);
|
||||||
callback && callback(ret);
|
callback && callback(ret);
|
||||||
} else {
|
} else {
|
||||||
// console.log('log failed');
|
// console.log('log failed');
|
||||||
|
59
node_modules/user.js
generated
vendored
59
node_modules/user.js
generated
vendored
@@ -30,37 +30,23 @@ User = {
|
|||||||
// add local account support flag
|
// add local account support flag
|
||||||
// see https://github.com/leanote/desktop-app/issues/36
|
// see https://github.com/leanote/desktop-app/issues/36
|
||||||
local: null,
|
local: null,
|
||||||
// 登录后保存当前
|
|
||||||
setCurUser: function(user) {
|
|
||||||
var me = this;
|
|
||||||
if(user) {
|
|
||||||
this.token = user.Token;
|
|
||||||
this.userId = user.UserId;
|
|
||||||
this.email = user.Email;
|
|
||||||
this.username = user.Username;
|
|
||||||
this.host = user.Host; // http://leanote.com, http://localhost
|
|
||||||
this.local = user.IsLocal;
|
|
||||||
// 保存到数据库中
|
|
||||||
this.saveCurUser(user);
|
|
||||||
|
|
||||||
// 判断当前用户是否有文件夹
|
|
||||||
me.setUserDataPath();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
// 注销
|
// 注销
|
||||||
logout: function (callback) {
|
logout: function (callback) {
|
||||||
var me = this;
|
var me = this;
|
||||||
|
function u(callback) {
|
||||||
db.users.update({_id: me.userId}, {$set:{IsActive: false}}, function () {
|
db.users.update({_id: me.userId}, {$set:{IsActive: false}}, function () {
|
||||||
|
callback();
|
||||||
|
});
|
||||||
|
}
|
||||||
if (me.isLocal()) {
|
if (me.isLocal()) {
|
||||||
return callback();
|
return u(callback);
|
||||||
}
|
}
|
||||||
if(!Api) {
|
if(!Api) {
|
||||||
Api = require('api');
|
Api = require('api');
|
||||||
}
|
}
|
||||||
Api.logout(function() {
|
Api.logout(function() {
|
||||||
callback();
|
u(callback);
|
||||||
});
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -104,7 +90,9 @@ User = {
|
|||||||
// 远程验证
|
// 远程验证
|
||||||
Api.auth(username, password, host, function(ret) {
|
Api.auth(username, password, host, function(ret) {
|
||||||
if(ret.Ok) {
|
if(ret.Ok) {
|
||||||
|
User.saveCurUser(ret, function () {
|
||||||
callback(true);
|
callback(true);
|
||||||
|
});
|
||||||
} else {
|
} else {
|
||||||
callback(false);
|
callback(false);
|
||||||
}
|
}
|
||||||
@@ -131,8 +119,7 @@ User = {
|
|||||||
// 创建默认的笔记本
|
// 创建默认的笔记本
|
||||||
if (!err) {
|
if (!err) {
|
||||||
// 设为当前user
|
// 设为当前user
|
||||||
me.saveCurUser(doc);
|
me.saveCurUser(doc, function () {
|
||||||
|
|
||||||
// 为该用户初始化数据库
|
// 为该用户初始化数据库
|
||||||
db.initDBForUser(user.UserId);
|
db.initDBForUser(user.UserId);
|
||||||
|
|
||||||
@@ -161,7 +148,7 @@ User = {
|
|||||||
callback(true);
|
callback(true);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
callback(true);
|
});
|
||||||
} else {
|
} else {
|
||||||
callback(false);
|
callback(false);
|
||||||
}
|
}
|
||||||
@@ -173,17 +160,39 @@ User = {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
// 不同host的userId可能一样, 潜在的bug
|
// 不同host的userId可能一样, 潜在的bug
|
||||||
|
/**
|
||||||
|
* 登录后保存为当前用户
|
||||||
|
* @param {db.User} user [description]
|
||||||
|
* @param {Function} callback [description]
|
||||||
|
* @return {[type]} [description]
|
||||||
|
*/
|
||||||
saveCurUser: function(user, callback) {
|
saveCurUser: function(user, callback) {
|
||||||
|
var me = this;
|
||||||
|
|
||||||
|
me.token = user.Token;
|
||||||
|
me.userId = user.UserId;
|
||||||
|
me.email = user.Email;
|
||||||
|
me.username = user.Username;
|
||||||
|
me.host = user.Host; // http://leanote.com, http://localhost
|
||||||
|
me.local = user.IsLocal;
|
||||||
|
// 判断当前用户是否有文件夹
|
||||||
|
me.setUserDataPath();
|
||||||
|
|
||||||
|
// 1.
|
||||||
// 设置其它用户为 not active
|
// 设置其它用户为 not active
|
||||||
db.users.update({_id: {$ne: user.UserId}}, {$set: {IsActive: false}}, {multi: true}, function(err, n) {
|
db.users.update({_id: {$ne: user.UserId}}, {$set: {IsActive: false}}, {multi: true}, function(err, n) {
|
||||||
// 当前用户是否在数据库中
|
|
||||||
|
// 2. 当前用户是否在数据库中
|
||||||
db.users.count({_id: user.UserId}, function(err, count) {
|
db.users.count({_id: user.UserId}, function(err, count) {
|
||||||
if(err || count == 0) {
|
if(err || count == 0) {
|
||||||
// 添加一个
|
// 添加一个
|
||||||
user['_id'] = user.UserId;
|
user['_id'] = user.UserId;
|
||||||
user['IsActive'] = true;
|
user['IsActive'] = true;
|
||||||
user['LastLoginTime'] = new Date();
|
user['LastLoginTime'] = new Date();
|
||||||
|
// 新添加的都是HasDB
|
||||||
|
user['HasDB'] = true;
|
||||||
db.users.insert(user, function(err, doc) {
|
db.users.insert(user, function(err, doc) {
|
||||||
callback && callback(true);
|
callback && callback(true);
|
||||||
});
|
});
|
||||||
@@ -216,7 +225,7 @@ User = {
|
|||||||
console.log('不存在');
|
console.log('不存在');
|
||||||
callback && callback(false);
|
callback && callback(false);
|
||||||
} else {
|
} else {
|
||||||
// me.setCurUser(doc);
|
|
||||||
me.token = user.Token;
|
me.token = user.Token;
|
||||||
me.userId = user.UserId;
|
me.userId = user.UserId;
|
||||||
me.email = user.Email;
|
me.email = user.Email;
|
||||||
|
@@ -2016,8 +2016,8 @@ function userMenu(allUsers) {
|
|||||||
label: getMsg('Logout'),
|
label: getMsg('Logout'),
|
||||||
click: function(e) {
|
click: function(e) {
|
||||||
Loading.show();
|
Loading.show();
|
||||||
onClose(function () {
|
|
||||||
UserService.logout(function () {
|
UserService.logout(function () {
|
||||||
|
onClose(function () {
|
||||||
toLogin();
|
toLogin();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@@ -12,7 +12,7 @@ var Service = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
var db = require('db');
|
var db = require('db');
|
||||||
db.initForLogin();
|
db.initGlobal();
|
||||||
|
|
||||||
// 全局变量
|
// 全局变量
|
||||||
var ApiService = Service.apiService;
|
var ApiService = Service.apiService;
|
||||||
|
Reference in New Issue
Block a user