feat(auth):重构认证登录接口返回结构

- 修改登录接口返回类型为 AuthTokenResponse
- 新增 AuthTokenResponse DTO 类封装 token 和 tokenHead
- 调整 AuthService 接口及实现类返回值类型
- 移除 Controller 层手动构造返回数据逻辑
- 完善异常处理逻辑,区分不同认证失败场景
- 新增用户未启用状态的错误码和处理
- 添加全局异常处理器对授权拒绝异常的处理
This commit is contained in:
Chaos
2025-11-18 17:18:09 +08:00
parent 0527602d1c
commit 7e754b19d4
6 changed files with 47 additions and 28 deletions

View File

@@ -21,6 +21,9 @@ public enum ErrorCode {
PASSWORD_FORMAT_ERROR(400, "USER-104", "密码需6-20位字符组合"),
USER_NOT_EXISTS(404, "USER-104", "用户不存在"),
USER_ID_INVALID(400, "USER-105", "用户ID无效"),
USER_NOT_EXISTS_OR_PASSWORD_WRONG(401, "USER-105", "用户名不存在或密码错误"),
USER_NOT_ENABLED(403, "USER-106", "用户未启用"),
USER_NOT_LOGIN(401, "USER-105", "请先登录"),
USER_BANNED(403, "USER-106", "账号已被封禁"),
EMAIL_EXISTS(409, "USER-107", "邮箱已注册"),
@@ -37,10 +40,11 @@ public enum ErrorCode {
COMMENT_TOO_LONG(400, "POST-206", "评论超过500字限制"),
// ================== 系统/第三方 (300-399) ==================
SYSTEM_ERROR(500, "SYS-300", "系统错误"),
CAPTCHA_ERROR(400, "SYS-301", "验证码错误"),
SMS_SEND_FAILED(500, "SYS-302", "短信发送失败"),
FILE_UPLOAD_FAILED(500, "SYS-303", "文件上传失败"),
RATE_LIMIT_EXCEEDED(429, "SYS-304", "操作过于频繁"), ;
RATE_LIMIT_EXCEEDED(429, "SYS-304", "操作过于频繁");
private final int httpStatus;
private final String code; // 业务错误码(领域-编号)