diff --git a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java index 34912061..7184678b 100644 --- a/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java +++ b/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java @@ -1447,6 +1447,30 @@ public class SysUserController { } } + /** + * 根据TOKEN获取用户信息 + * + * @return + */ + @RequiresPermissions("sys:user:list") + @GetMapping("/getUserInfoByToken") + public Result getUserInfoByToken(HttpServletRequest request, @RequestParam(name = "token", required = false) String token) { + String username = null; + // 如果没有传递token,就从header中获取token并获取用户信息 + if (oConvertUtils.isEmpty(token)) { + username = JwtUtil.getUserNameByToken(request); + } else { + username = JwtUtil.getUsername(token); + } + // 根据用户名查询用户信息 + SysUser sysUser = sysUserService.getUserByName(username); + LoginUser userById = sysBaseAPI.getUserById(sysUser.getId()); + sysUser.setPhone(PasswordUtil.decrypt(sysUser.getPhone())); + sysUser.setEmail(PasswordUtil.decrypt(sysUser.getEmail())); + sysUser.setRoleCode(userById.getRoleCode()); + return Result.OK(sysUser); + } + /** * 【APP端接口】获取用户列表 根据用户名和真实名 模糊匹配 * @param keyword