lrf402788946 %!s(int64=4) %!d(string=hai) anos
pai
achega
483d6a8751
Modificáronse 2 ficheiros con 16 adicións e 36 borrados
  1. 5 25
      app/router.js
  2. 11 11
      app/service/user.js

+ 5 - 25
app/router.js

@@ -26,16 +26,8 @@ module.exports = app => {
   router.post('level', '/api/count/level/update/:id', controller.level.update);
 
   // 部门表设置路由
-  router.resources(
-    'department',
-    '/api/count/department',
-    controller.department
-  ); // index、create、show、destroy
-  router.post(
-    'department',
-    '/api/count/department/update/:id',
-    controller.department.update
-  );
+  router.resources('department', '/api/count/department', controller.department); // index、create、show、destroy
+  router.post('department', '/api/count/department/update/:id', controller.department.update);
 
   // 人员表设置路由
   router.resources('staff', '/api/count/staff', controller.staff); // index、create、show、destroy
@@ -43,27 +35,15 @@ module.exports = app => {
 
   // 评论表设置路由
   router.resources('comment', '/api/count/comment', controller.comment); // index、create、show、destroy
-  router.post(
-    'comment',
-    '/api/count/comment/update/:id',
-    controller.comment.update
-  );
+  router.post('comment', '/api/count/comment/update/:id', controller.comment.update);
 
   // 专家表设置路由
   router.resources('expert', '/api/count/expert', controller.expert); // index、create、show、destroy
-  router.post(
-    'expert',
-    '/api/count/expert/update/:id',
-    controller.expert.update
-  );
+  router.post('expert', '/api/count/expert/update/:id', controller.expert.update);
 
   // 需求表设置路由
   router.resources('demand', '/api/count/demand', controller.demand); // index、create、show、destroy
-  router.post(
-    'demand',
-    '/api/count/demand/update/:id',
-    controller.demand.update
-  );
+  router.post('demand', '/api/count/demand/update/:id', controller.demand.update);
 
   // 需求表设置路由
   router.resources('link', '/api/count/link', controller.link); // index、create、show、destroy

+ 11 - 11
app/service/user.js

@@ -15,10 +15,14 @@ class UserService extends CrudService {
     this.smodel = this.ctx.model.Staff;
     this.emodel = this.ctx.model.Expert;
   }
+  async create(body) {
+    const { passwd, ...data } = body;
+    data.passwd = { secret: passwd };
+    return await this.model.create(data);
+  }
 
   // 重写创建方法
   async register(data) {
-    console.log(data);
     assert(data.name && data.phone && data.passwd, '缺少部分信息项');
     assert(/^\d{11}$/i.test(data.phone), '无效的手机号');
     const user = await this.model.findOne({ phone: data.phone });
@@ -26,8 +30,8 @@ class UserService extends CrudService {
       throw new BusinessError(ErrorCode.DATA_EXISTED);
     }
     const newdata = _.cloneDeep(data);
-    const pas = await this.createJwtPwd(data.passwd);
-    newdata.passwd = pas;
+    const pas = data.passwd;
+    newdata.passwd = { secret: pas };
     let result = {};
     if (data.type === '0' || data.type === '1' || data.type === '4') {
       result = await this.smodel.create(data);
@@ -101,29 +105,25 @@ class UserService extends CrudService {
       throw new BusinessError(ErrorCode.USER_NOT_EXIST);
     }
     // 将用户输入的密码进行加密并与查询到的用户数据密码相比对
-    const _oldpasswd = await this.createJwtPwd(oldpasswd);
     // 如果两个密码不一致抛出异常
-    if (_oldpasswd !== user.passwd) {
+    if (oldpasswd !== user.passwd) {
       throw new BusinessError(ErrorCode.BAD_PASSWORD);
     }
-    const _newpasswd = await this.createJwtPwd(newpasswd);
-    user.passwd = _newpasswd;
+    user.passwd = { secret: newpasswd };
     await user.save();
   }
 
   async login(data) {
     const { phone, passwd } = data;
     // 根据用户输入的手机号查询其他用户表中是否存在相应数据
-    const user = await this.model.findOne({ phone });
+    const user = await this.model.findOne({ phone }, '+passwd');
     // 如果用户不存在抛出异常
     if (!user) {
       throw new BusinessError(ErrorCode.USER_NOT_EXIST);
     }
-    const _user = await this.model.findOne({ phone }, '+passwd');
     // 将用户输入的密码进行加密并与查询到的用户数据密码相比对
-    const pas = await this.createJwtPwd(passwd);
     // 如果两个密码不一致抛出异常
-    if (pas !== _user.passwd) {
+    if (passwd !== user.passwd.secret) {
       throw new BusinessError(ErrorCode.BAD_PASSWORD);
     }
     // 取出用户的类型,根据用户类型返回相应信息