|
@@ -58,7 +58,6 @@ class ManagerModel extends BaseModel {
|
|
|
// CLD新增
|
|
|
case 'cldInsert':
|
|
|
this.model.schema.path('username').required(true);
|
|
|
- this.model.schema.path('last_login').required(true);
|
|
|
this.model.schema.path('create_time').required(true);
|
|
|
this.model.schema.path('office').required(true);
|
|
|
break;
|
|
@@ -137,25 +136,30 @@ class ManagerModel extends BaseModel {
|
|
|
let CLDLoginInfo = await this.CLDLogin(username, password, managerData);
|
|
|
managerData = CLDLoginInfo;
|
|
|
} else {
|
|
|
- this.validPassword(password, managerData);
|
|
|
+ this.valid(password, managerData);
|
|
|
}
|
|
|
|
|
|
return managerData;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 验证密码
|
|
|
+ * 验证登录信息
|
|
|
*
|
|
|
* @param {String} password
|
|
|
* @param {Object} managerData
|
|
|
* @return {void}
|
|
|
*/
|
|
|
- validPassword(password, managerData) {
|
|
|
+ valid(password, managerData) {
|
|
|
// 没有找到对应数据
|
|
|
if (managerData === null || managerData._id === undefined) {
|
|
|
throw {code: 44001, err: '用户名或密码错误'};
|
|
|
}
|
|
|
|
|
|
+ // 是否禁止登录
|
|
|
+ if (managerData.can_login !== 1) {
|
|
|
+ throw {code: 44002, err: '用户名不存在'};
|
|
|
+ }
|
|
|
+
|
|
|
// 加密密码
|
|
|
let encryptPassword = this.encryptPassword(managerData.token, password);
|
|
|
if (encryptPassword !== managerData.password) {
|
|
@@ -176,6 +180,11 @@ class ManagerModel extends BaseModel {
|
|
|
if (username === '' || password === '') {
|
|
|
throw {code: 44001, err: '用户名或密码错误'};
|
|
|
}
|
|
|
+ // 库中不存在则不允许登录,需等同步到数据后才可以继续后面的流程
|
|
|
+ if (!managerData) {
|
|
|
+ throw {code: 44003, err: '用户不存在'};
|
|
|
+ }
|
|
|
+
|
|
|
let CLDUrl = 'http://cld.smartcost.com.cn/api/auth';
|
|
|
// 生成加密token
|
|
|
let [encryptToken, postTime] = this.generateCLDToken();
|
|
@@ -192,7 +201,7 @@ class ManagerModel extends BaseModel {
|
|
|
form: postData,
|
|
|
encoding: 'utf8'
|
|
|
};
|
|
|
- let responseData = await this.CLDLoginRequest(postOption);
|
|
|
+ let responseData = await this.CLDRequest(postOption);
|
|
|
// 登录成功后,存在此用户则直接返回
|
|
|
if (managerData) {
|
|
|
return result;
|
|
@@ -207,7 +216,8 @@ class ManagerModel extends BaseModel {
|
|
|
token: '',
|
|
|
create_time: current,
|
|
|
last_login: current,
|
|
|
- office: responseData.office
|
|
|
+ office: responseData.office,
|
|
|
+ can_login: 0
|
|
|
};
|
|
|
result = this.db.create(insertData);
|
|
|
|
|
@@ -215,12 +225,12 @@ class ManagerModel extends BaseModel {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * CLD登录请求
|
|
|
+ * CLD请求
|
|
|
*
|
|
|
* @param {Object} postOption
|
|
|
* @return {Promise}
|
|
|
*/
|
|
|
- CLDLoginRequest(postOption) {
|
|
|
+ CLDRequest(postOption) {
|
|
|
return new Promise(function(resolve, reject) {
|
|
|
// 发起请求
|
|
|
Request.post(postOption, function(error, response, body) {
|
|
@@ -234,7 +244,7 @@ class ManagerModel extends BaseModel {
|
|
|
|
|
|
// 如果接口返回错误
|
|
|
if (body.err !== 0) {
|
|
|
- reject({code: body.err, err: '登录失败'});
|
|
|
+ reject({code: body.err, err: '接口返回错误'});
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -260,20 +270,18 @@ class ManagerModel extends BaseModel {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
- * 创建管理员用户
|
|
|
+ * 新增管理员
|
|
|
*
|
|
|
+ * @param {Object} data
|
|
|
* @return {Promise}
|
|
|
*/
|
|
|
- createManager() {
|
|
|
- let insertData = {
|
|
|
- username: 'test',
|
|
|
- password: this.encryptPassword('DjfDTys2dh2', 'test123'),
|
|
|
- token: 'DjfDTys2dh2',
|
|
|
- create_time: new Date().getTime(),
|
|
|
- role: 1,
|
|
|
- super_admin: 1
|
|
|
- };
|
|
|
- return this.db.create(insertData);
|
|
|
+ async createManager(data) {
|
|
|
+ if (Object.keys(data).length <= 0) {
|
|
|
+ throw '数据格式错误';
|
|
|
+ }
|
|
|
+ let result = await this.db.create(data);
|
|
|
+
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
}
|