소스 검색

修改用户创建

lrf 1 년 전
부모
커밋
662905a96a
3개의 변경된 파일10개의 추가작업 그리고 3개의 파일을 삭제
  1. 1 0
      .gitignore
  2. 1 1
      src/service/system/user.service.ts
  3. 8 2
      src/service/weixin.service.ts

+ 1 - 0
.gitignore

@@ -6,6 +6,7 @@ package-lock.json
 yarn.lock
 coverage/
 dist/
+dist.zip
 .idea/
 run/
 .DS_Store

+ 1 - 1
src/service/system/user.service.ts

@@ -8,4 +8,4 @@ type modelType = ReturnModelType<typeof User>;
 export class UserService extends BaseService<modelType> {
   @InjectEntityModel(User)
   model: modelType;
-}
+}

+ 8 - 2
src/service/weixin.service.ts

@@ -4,12 +4,16 @@ import get = require('lodash/get');
 import { FrameworkErrorEnum, ServiceError } from 'free-midway-component';
 import { Context } from '@midwayjs/koa';
 import * as CryptoJs from 'crypto-js';
+import { UserService } from './system/user.service';
+
 @Provide()
 export class WeixinService {
   @Config('weixinConfig')
   weixinConfig;
   @Inject()
   ctx: Context;
+  @Inject()
+  userService: UserService;
 
   async appAuth() {
     const query = this.ctx.query;
@@ -24,7 +28,9 @@ export class WeixinService {
     });
     const openid = get(result, 'data.openid');
     if (!openid) throw new ServiceError('未获取到openid', FrameworkErrorEnum.REQUEST_FAULT);
-    return result.data;
+    let user = await this.userService.findOne({ openid });
+    if (!user) user = await this.userService.create({ openid });
+    return user;
   }
 
   //TODO:
@@ -46,7 +52,7 @@ export class WeixinService {
       // const decipher = CryptoJs.createDecipheriv('aes-128-cbc', session_key, iv);
       return decoded;
     } catch (e) {
-      console.log(e);
+      console.error(e);
       throw new ServiceError('解密失败', FrameworkErrorEnum.SERVICE_FAULT);
     }
   }