hongjli
2025-04-16 a284792b8d8555c8a60b2e226bf36f91311d7147
src/main/java/com/weiwojc/controller/UserController.java
@@ -6,6 +6,7 @@
import com.weiwojc.model.entity.User;
import com.weiwojc.service.UserService;
import com.weiwojc.utils.JwtUtils;
import com.weiwojc.utils.TokenBlacklistManager;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.validation.Valid;
import lombok.RequiredArgsConstructor;
@@ -18,6 +19,7 @@
    private final UserService userService;
    private final JwtUtils jwtUtils;
    private final TokenBlacklistManager tokenBlacklistManager;
    @PostMapping("/register")
    public Result<User> register(@Valid @RequestBody UserRegisterDTO registerDTO) {
@@ -31,6 +33,23 @@
        return Result.success("登录成功", token);
    }
    @PostMapping("/logout")
    public Result<String> logout(HttpServletRequest request) {
        String token = request.getHeader("token");
        if (token == null || token.isEmpty()) {
            return Result.error("未登录状态");
        }
        // 验证token是否有效
        if (!jwtUtils.validateToken(token)) {
            return Result.unauthorized("token无效或已过期");
        }
        // 将token加入黑名单
        tokenBlacklistManager.addToBlacklist(token);
        return Result.success("退出登录成功");
    }
    @GetMapping("/info")
    public Result<User> getUserInfo(HttpServletRequest request) {
        String token = request.getHeader("token");