|
|
@@ -2,18 +2,23 @@ package com.ctsi.Auth.web;
|
|
|
|
|
|
import cn.dev33.satoken.stp.StpUtil;
|
|
|
import com.ctsi.Auth.entity.UserForm;
|
|
|
+import com.ctsi.Auth.entity.UserInfoPO;
|
|
|
import com.ctsi.Enum.ErrorCodeEnum;
|
|
|
import com.ctsi.System.SysMenu.entity.PO.SysMenuSearchPO;
|
|
|
import com.ctsi.System.SysMenu.service.SysMenuService;
|
|
|
import com.ctsi.System.SysUser.entity.SysUser;
|
|
|
import com.ctsi.System.SysUser.service.SysUserService;
|
|
|
+import com.ctsi.System.SysUserDetail.entity.SysUserDetail;
|
|
|
+import com.ctsi.System.SysUserDetail.service.SysUserDetailService;
|
|
|
import com.ctsi.utils.ApiResult;
|
|
|
import com.ctsi.utils.CaptchaUtil;
|
|
|
import com.ctsi.utils.PasswordEncoderUtil;
|
|
|
import io.swagger.annotations.Api;
|
|
|
import io.swagger.annotations.ApiOperation;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
+import sun.misc.BASE64Encoder;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
|
@@ -32,6 +37,8 @@ public class login {
|
|
|
private SysUserService sysUserService;
|
|
|
@Resource
|
|
|
private SysMenuService sysMenuService;
|
|
|
+ @Resource
|
|
|
+ private SysUserDetailService sysUserDetailService;
|
|
|
@ApiOperation("登录")
|
|
|
@PostMapping(value = "/login",name = "登录")
|
|
|
public ApiResult auth(@RequestBody UserForm userForm, HttpServletRequest request){
|
|
|
@@ -64,28 +71,38 @@ public class login {
|
|
|
return ApiResult.success("退出成功");
|
|
|
}
|
|
|
|
|
|
- @PostMapping(value = "/islogin",name = "是否登录")
|
|
|
- public ApiResult islogin(){
|
|
|
- return ApiResult.success(StpUtil.getLoginId());
|
|
|
- }
|
|
|
-
|
|
|
@ApiOperation("获取当前用户菜单树")
|
|
|
@GetMapping(value = "/getMenuTree",name = "获取当前用户菜单树")
|
|
|
public ApiResult<List<SysMenuSearchPO>> getMenuTree(){
|
|
|
return ApiResult.success(sysMenuService.getMenuTree(StpUtil.getLoginIdAsLong()));
|
|
|
}
|
|
|
|
|
|
+ @ApiOperation("获取当前用户信息")
|
|
|
+ @GetMapping(value = "/getUserInfo",name = "获取当前用户信息")
|
|
|
+ public ApiResult<UserInfoPO> getUserInfo(){
|
|
|
+ try {
|
|
|
+ UserInfoPO userInfoPO = new UserInfoPO();
|
|
|
+ SysUserDetail sysUserDetail = sysUserDetailService.queryById(StpUtil.getLoginIdAsLong());
|
|
|
+ BeanUtils.copyProperties(sysUserDetail, userInfoPO);
|
|
|
+ return ApiResult.success(userInfoPO);
|
|
|
+ } catch (Exception e) {
|
|
|
+ return ApiResult.failure("获取用户信息失败",null);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
@ApiOperation("获取验证码")
|
|
|
@GetMapping("/captcha")
|
|
|
- public void getCaptcha(HttpServletResponse response, HttpSession session) {
|
|
|
+ public ApiResult getCaptcha(HttpServletRequest request) {
|
|
|
try {
|
|
|
- byte[] captchaImage = CaptchaUtil.generateCaptcha(session);
|
|
|
- response.setContentType("image/png");
|
|
|
- response.getOutputStream().write(captchaImage);
|
|
|
- response.getOutputStream().flush();
|
|
|
+ byte[] captchaImage = CaptchaUtil.generateCaptcha(request.getSession());
|
|
|
+ BASE64Encoder encoder = new BASE64Encoder();
|
|
|
+ String png_base64 = encoder.encodeBuffer(captchaImage).trim();//转换成base64串
|
|
|
+ png_base64 = png_base64.replaceAll("\n", "").replaceAll("\r", "");
|
|
|
+ System.out.println("值为:" + "data:image/jpg;base64," + png_base64);
|
|
|
+ return ApiResult.success("data:image/jpg;base64," + png_base64);
|
|
|
} catch (IOException e) {
|
|
|
- // Handle exception
|
|
|
e.printStackTrace();
|
|
|
+ return ApiResult.failure("获取验证码失败",null);
|
|
|
}
|
|
|
}
|
|
|
}
|