jiangping
2024-05-23 a675a9d1acfacbc0f305f868929b4f0f086ec2dd
server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
@@ -10,6 +10,7 @@
import com.doumee.core.model.LoginUserInfo;
import com.doumee.core.utils.Constants;
import com.doumee.dao.system.dto.LoginDTO;
import com.doumee.service.common.CaptchaService;
import com.doumee.service.system.SystemLoginService;
import com.doumee.service.system.SystemUserService;
import io.swagger.annotations.Api;
@@ -39,6 +40,18 @@
    @Autowired
    private SystemLoginService systemLoginService;
    @Autowired
    private CaptchaService captchaService;
    /**
     * @author Eva.Caesar Liu
     * @date 2023/03/21 14:49
     */
    @ApiOperation("获取图片验证码")
    @GetMapping("/captcha")
    public ApiResponse<CaptchaService.Captcha> getCaptcha() {
        return ApiResponse.success(captchaService.genCaptcha());
    }
    @PreventRepeat(limit = 10, lockTime = 10000)
    @ApiOperation("登录")
@@ -53,6 +66,7 @@
        }catch (BusinessException e){
            return ApiResponse.failed(e.getCode(),e.getMessage());
        }catch (Exception e){
            e.printStackTrace();
            return ApiResponse.failed(ResponseStatus.SERVER_ERROR);
        }
    }
@@ -63,7 +77,7 @@
     */
    @PostMapping("/refreshtoken")
    @ApiOperation("刷新token")
    public ApiResponse<String> refreshtoken(@RequestHeader("userToken") String oldToken){
    public ApiResponse<String> refreshtoken(@RequestHeader(Constants.HEADER_USER_TOKEN) String oldToken){
        try {
            if(!jwtTokenUtil.isTokenExpired(oldToken)){
                return ApiResponse.success(jwtTokenUtil.refreshToken(oldToken));
@@ -76,6 +90,22 @@
        }
    }
    /**
     * 刷新JWT令牌,用旧的令牌换新的令牌
     */
    @PostMapping("/logout")
    @ApiOperation("退出登陆")
    public ApiResponse<String> logout(@RequestHeader(Constants.HEADER_USER_TOKEN) String oldToken){
        try {
             jwtTokenUtil.logout(oldToken);
        }catch (BusinessException e){
            return ApiResponse.failed(e.getCode(),e.getMessage());
        }catch (Exception e){
            return ApiResponse.failed(ResponseStatus.SERVER_ERROR);
        }
        return ApiResponse.success(null);
    }
    /**
     * 刷新JWT令牌,用旧的令牌换新的令牌