Преглед на файлове

fix: 无绑定情况下

IlhamTahir преди 1 година
родител
ревизия
7406fffdfa
променени са 1 файла, в които са добавени 15 реда и са изтрити 1 реда
  1. 15 1
      src/we-chat/service/mini-program.service.ts

+ 15 - 1
src/we-chat/service/mini-program.service.ts

@@ -36,12 +36,26 @@ export class MiniProgramService {
         'mini-program',
         miniProgramUser.id,
       );
+      if (!userBind) {
+        const user = await this.createNewUser(miniProgramUser);
+        await this.userBindService.create(
+          user,
+          'mini-program',
+          miniProgramUser.id,
+        );
+        return this.authService.generateToken(user);
+      }
       return this.authService.generateToken(userBind.user);
     }
 
     miniProgramUser = this.miniProgramUserRepository.create({
       openId: openid,
     });
+    const user = await this.createNewUser(miniProgramUser);
+    return this.authService.generateToken(user);
+  }
+
+  private async createNewUser(miniProgramUser: MiniProgramUser) {
     await this.miniProgramUserRepository.save(miniProgramUser);
     const createUserRequest = new CreateUserRequest();
     // 随机username
@@ -49,6 +63,6 @@ export class MiniProgramService {
     createUserRequest.password = `mini-program-${Math.random()}`;
     const user = await this.userService.create(createUserRequest);
     await this.userBindService.create(user, 'mini-program', miniProgramUser.id);
-    return this.authService.generateToken(user);
+    return user;
   }
 }