lrf402788946 4 years ago
parent
commit
f7538565e4
1 changed files with 68 additions and 19 deletions
  1. 68 19
      app/service/login.js

+ 68 - 19
app/service/login.js

@@ -64,7 +64,16 @@ class LoginService extends CrudService {
         },
         dataType: 'json',
       });
-      user.remark = vipuser.data.id;
+      console.log(vipuser.data.res[0].id);
+      const r = _.get(vipuser, 'data.res');
+      if (r) {
+        if (_.isArray(r)) {
+          const rh = _.head(r);
+          if (rh) user.remark = rh.id;
+        } else if (_.isObject(r)) {
+          user.remark = _.get(r, 'id');
+        }
+      }
     }
     // 取出用户的类型,根据用户类型返回相应信息
     const state = uuid();
@@ -80,10 +89,15 @@ class LoginService extends CrudService {
     const token = await this.createJwt(user);
     await this.app.redis.set(key, token, 'EX', 60 * 60 * 24);
     let logFlag = false;
-    let dockList = []
+    let dockList = [];
     // "4568"如果是456的需要去dock里面查有没有这个人(是否在apply),2,8必存
-    if(_user.role === '4' || _user.role === '5' || _user.role === '6' || _user.role === '8'){
-      const applydata = { user_id: user.id};
+    if (
+      _user.role === '4' ||
+      _user.role === '5' ||
+      _user.role === '6' ||
+      _user.role === '8'
+    ) {
+      const applydata = { user_id: user.id };
       const url = 'http://127.0.0.1:9008/api/live/getapply';
       const applyflag = await this.ctx.curl(url, {
         method: 'post',
@@ -94,17 +108,23 @@ class LoginService extends CrudService {
         data: JSON.stringify(applydata),
       });
       // 如果有值true,说明登录者是申请用户,反之,false
-      if(applyflag.data.res.length  > 0){
-        logFlag = true
-        dockList = applyflag.data.res
+      if (applyflag.data.res.length > 0) {
+        logFlag = true;
+        dockList = applyflag.data.res;
       }
-    }else if(_user.role === '2'){
+    } else if (_user.role === '2') {
       logFlag = true;
     }
-    if(logFlag){
-      if(dockList.length > 0){
-        for(let dock of dockList){
-          const operationlogdata = { dockid: dock.id, login_name: user.name, login_role: user.role, type: '0', operation_edit: '登录' };
+    if (logFlag) {
+      if (dockList.length > 0) {
+        for (const dock of dockList) {
+          const operationlogdata = {
+            dockid: dock.id,
+            login_name: user.name,
+            login_role: user.role,
+            type: '0',
+            operation_edit: '登录',
+          };
           const url = 'http://127.0.0.1:9004/api/market/operationlog/';
           const operationlog = await this.ctx.curl(url, {
             method: 'post',
@@ -115,8 +135,14 @@ class LoginService extends CrudService {
             data: JSON.stringify(operationlogdata),
           });
         }
-      }else{
-        const operationlogdata = { login_id: user.id, login_name: user.name, login_role: user.role, type: '0', operation_edit: '登录' };
+      } else {
+        const operationlogdata = {
+          login_id: user.id,
+          login_name: user.name,
+          login_role: user.role,
+          type: '0',
+          operation_edit: '登录',
+        };
         const url = 'http://127.0.0.1:9004/api/market/operationlog/';
         const operationlog = await this.ctx.curl(url, {
           method: 'post',
@@ -127,7 +153,6 @@ class LoginService extends CrudService {
           data: JSON.stringify(operationlogdata),
         });
       }
-      
     }
     return { key };
   }
@@ -140,10 +165,36 @@ class LoginService extends CrudService {
   }
 
   // 创建登录Token
-  async createJwt({ id, name, uid, phone, role, menus, remark, openid, deptid, deptname, pid, code }) {
+  async createJwt({
+    id,
+    name,
+    uid,
+    phone,
+    role,
+    menus,
+    remark,
+    openid,
+    deptid,
+    deptname,
+    pid,
+    code,
+  }) {
     const { secret, expiresIn = '1d', issuer = role } = this.config.jwt;
     const subject = phone;
-    const res = { uid: id, userid: uid, name, phone, role, menus, openid, remark, deptid, deptname, pid, code };
+    const res = {
+      uid: id,
+      userid: uid,
+      name,
+      phone,
+      role,
+      menus,
+      openid,
+      remark,
+      deptid,
+      deptname,
+      pid,
+      code,
+    };
     const token = await jwt.sign(res, secret, { expiresIn, issuer, subject });
     return token;
   }
@@ -164,7 +215,5 @@ class LoginService extends CrudService {
     console.log(res);
     return res;
   }
-
-
 }
 module.exports = LoginService;