|
@@ -19,12 +19,19 @@ class LoginService extends CrudService {
|
|
|
async login(data) {
|
|
|
const { phone, passwd, role } = data;
|
|
|
// 根据用户输入的手机号查询其他用户表中是否存在相应数据
|
|
|
- const user = await this.model.findOne({ phone, role });
|
|
|
+ let user = await this.model.findOne({ phone, role });
|
|
|
+ // 增设使用code模式登陆的判断变量
|
|
|
+ let is_code = false;
|
|
|
// 如果用户不存在抛出异常
|
|
|
if (!user) {
|
|
|
- throw new BusinessError(ErrorCode.USER_NOT_EXIST);
|
|
|
+ // 添加code作为登录的方式
|
|
|
+ user = await this.model.findOne({ code: phone, role });
|
|
|
+ if (!user) { throw new BusinessError(ErrorCode.USER_NOT_EXIST); } else is_code = true;
|
|
|
}
|
|
|
- const _user = await this.model.findOne({ phone }, '+passwd');
|
|
|
+ const pdata = {};
|
|
|
+ if (is_code) pdata.code = phone;
|
|
|
+ else pdata.phone = phone;
|
|
|
+ const _user = await this.model.findOne(pdata, '+passwd');
|
|
|
// 将用户输入的密码进行加密并与查询到的用户数据密码相比对
|
|
|
const pas = await this.createJwtPwd(passwd);
|
|
|
// 如果两个密码不一致抛出异常
|
|
@@ -64,7 +71,6 @@ class LoginService extends CrudService {
|
|
|
},
|
|
|
dataType: 'json',
|
|
|
});
|
|
|
- console.log(vipuser.data.res[0].id);
|
|
|
const r = _.get(vipuser, 'data.res');
|
|
|
if (r) {
|
|
|
if (_.isArray(r)) {
|