fix(wxlogin): 修复微信登录用户信息获取问题

- 在微信登录逻辑中,添加了获取用户详细信息的步骤
- 通过 userService.getByIdRel 方法获取完整的用户信息
- 确保在生成 token 和返回登录结果时使用完整的用户信息
This commit is contained in:
2025-08-14 13:47:31 +08:00
parent 1a54eef1a6
commit b87ea2fdb7

View File

@@ -464,14 +464,15 @@ public class WxLoginController extends BaseController {
if (StrUtil.isNotBlank(openid)) { if (StrUtil.isNotBlank(openid)) {
User user = userService.getOne(new LambdaQueryWrapper<User>().eq(User::getOpenid, openid).last("limit 1")); User user = userService.getOne(new LambdaQueryWrapper<User>().eq(User::getOpenid, openid).last("limit 1"));
if (ObjectUtil.isNotEmpty(user)) { final User userInfo = userService.getByIdRel(user.getUserId());
// 签发token if (ObjectUtil.isNotEmpty(userInfo)) {
String access_token = JwtUtil.buildToken(new JwtSubject(user.getUsername(), user.getTenantId()), // 签发token
configProperties.getTokenExpireTime(), configProperties.getTokenKey()); String access_token = JwtUtil.buildToken(new JwtSubject(user.getUsername(), user.getTenantId()),
loginRecordService.saveAsync(user.getUsername(), LoginRecord.TYPE_REGISTER, null, user.getTenantId(), request); configProperties.getTokenExpireTime(), configProperties.getTokenKey());
return success("登录成功", new LoginResult(access_token, user)); loginRecordService.saveAsync(user.getUsername(), LoginRecord.TYPE_REGISTER, null, user.getTenantId(), request);
} return success("登录成功", new LoginResult(access_token, userInfo));
return fail("用户未注册", openid); }
return fail("用户未注册", openid);
} }
return fail("openId获取失败"); return fail("openId获取失败");
} }