AdminLoginController.java 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. package com.koobietech.eas.controller;
  2. import com.anji.captcha.model.common.RepCodeEnum;
  3. import com.anji.captcha.model.common.ResponseModel;
  4. import com.anji.captcha.model.vo.CaptchaVO;
  5. import com.anji.captcha.service.CaptchaService;
  6. import com.koobietech.eas.common.exception.EasException;
  7. import com.koobietech.eas.common.result.JsonResult;
  8. import com.koobietech.eas.dao.Pojo.AdminPojo;
  9. import com.koobietech.eas.dao.dto.LoginToken;
  10. import com.koobietech.eas.service.AdminLoginService;
  11. import io.swagger.v3.oas.annotations.Operation;
  12. import io.swagger.v3.oas.annotations.tags.Tag;
  13. import org.springframework.web.bind.annotation.*;
  14. import javax.annotation.Resource;
  15. @Tag(name = "登陆模块")
  16. @RestController
  17. public class AdminLoginController {
  18. @Resource
  19. private AdminLoginService adminLoginService;
  20. @Resource
  21. private CaptchaService captchaService;
  22. @PostMapping("/adminLogin")
  23. @Operation(summary = "管理员登录", description = "用户名和密码为请求载荷,若登录成功,返回两token")
  24. public JsonResult adminLogin(@RequestBody AdminPojo adminPojo){
  25. LoginToken result = adminLoginService.adminLogin(adminPojo);
  26. return JsonResult.data(result);
  27. }
  28. @PostMapping("/refreshToken")
  29. @Operation(summary = "刷新token", description = "当token过期,在请求头中携带refresh token,若刷新成功,返回新的token和refresh token")
  30. public JsonResult refreshToken(@RequestHeader("Authorization") String refreshToken) {
  31. // 返回新的token和refresh token
  32. return JsonResult.data(adminLoginService.refreshToken(refreshToken));
  33. }
  34. @PostMapping("/verify.get")
  35. @Operation(summary = "获取验证码", description = "前端发起获取验证码请求,后端访问静态资源返回滑动图片")
  36. public JsonResult get(@RequestBody CaptchaVO captchaVO) {
  37. return adminLoginService.verifyToJsonResult(captchaService.get(captchaVO)) ;
  38. }
  39. @PostMapping("/verify.check")
  40. @Operation(summary = "核对验证码轨迹", description = "前端把用户的滑动轨迹转化成字符串传入后端,通过算法判断轨迹是否为真人")
  41. public JsonResult check(@RequestBody CaptchaVO captchaVO) {
  42. return adminLoginService.verifyToJsonResult(captchaService.check(captchaVO));
  43. }
  44. @PostMapping("/verify.judge")
  45. @Operation(summary = "二次校验验证码", description = "校验滑动验证码结果,是否匹配上,传参:captchaVerification")
  46. public JsonResult verify(@RequestBody CaptchaVO captchaVO) {
  47. ResponseModel response = captchaService.verification(captchaVO);
  48. if (!response.isSuccess()) {
  49. throw new EasException( response.getRepMsg() , Integer.parseInt(response.getRepCode()));
  50. }
  51. return adminLoginService.verifyToJsonResult(response);
  52. }
  53. }