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