refactor: 微信登录功能代码修改

This commit is contained in:
wangtaocs
2024-11-29 15:39:43 +08:00
parent d24dafc1fb
commit f04e21e0e5
10 changed files with 17 additions and 10 deletions

View File

@@ -63,7 +63,7 @@ public class AuthController {
}
@Operation(summary = "微信登录")
@PostMapping("/wechatLogin")
@PostMapping("/wechat-login")
@Log(value = "微信登录", module = LogModuleEnum.LOGIN)
public Result<AuthTokenResponse> wechatLogin(
@Parameter(description = "微信授权码", example = "code") @RequestParam String code

View File

@@ -42,7 +42,8 @@ public interface AuthService {
AuthTokenResponse refreshToken(RefreshTokenRequest request);
/**
* 微信登录
* 微信小程序登录
*
* @param code 微信登录code
* @return 登录结果
*/

View File

@@ -158,6 +158,12 @@ public class AuthServiceImpl implements AuthService {
return tokenService.refreshToken(refreshToken);
}
/**
* 微信小程序登录
*
* @param code 微信登录code
* @return 访问令牌
*/
@Override
public AuthTokenResponse wechatLogin(String code) {
// 1. 通过code获取微信access_token
@@ -179,7 +185,6 @@ public class AuthServiceImpl implements AuthService {
// 2. 根据openId查询用户信息如果不存在则注册新用户
User user = userService.getUserByOpenId(openId);
if (Objects.isNull(user)) {
String name = "微信用户" + IdUtil.simpleUUID();
UserForm newUser = new UserForm();
@@ -188,11 +193,9 @@ public class AuthServiceImpl implements AuthService {
newUser.setUsername(name);
boolean result = userService.saveUser(newUser);
if (!result) {
throw new BusinessException("微信用户注册失败");
}
}
user = userService.getUserByOpenId(openId);
UsernamePasswordAuthenticationToken authenticationToken =
new UsernamePasswordAuthenticationToken(user.getUsername().toLowerCase().trim(), SystemConstants.DEFAULT_PASSWORD);
// 执行用户认证