fix(wxlogin): 修复微信登录用户信息获取问题
- 在微信登录逻辑中,添加了获取用户详细信息的步骤 - 通过 userService.getByIdRel 方法获取完整的用户信息 - 确保在生成 token 和返回登录结果时使用完整的用户信息
This commit is contained in:
@@ -464,12 +464,13 @@ public class WxLoginController extends BaseController {
|
||||
|
||||
if (StrUtil.isNotBlank(openid)) {
|
||||
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());
|
||||
if (ObjectUtil.isNotEmpty(userInfo)) {
|
||||
// 签发token
|
||||
String access_token = JwtUtil.buildToken(new JwtSubject(user.getUsername(), user.getTenantId()),
|
||||
configProperties.getTokenExpireTime(), configProperties.getTokenKey());
|
||||
loginRecordService.saveAsync(user.getUsername(), LoginRecord.TYPE_REGISTER, null, user.getTenantId(), request);
|
||||
return success("登录成功", new LoginResult(access_token, user));
|
||||
return success("登录成功", new LoginResult(access_token, userInfo));
|
||||
}
|
||||
return fail("用户未注册", openid);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user