Skip to content

🚨 错误码参考

SunAdmin 所有接口响应均使用 HTTP 200 状态码,业务状态通过 JSON 响应体中的 code 字段区分。

响应结构

json
{
  "code": 200,
  "message": "操作成功",
  "data": {}
}

错误码列表

错误码常量名说明前端处理
200SUCCESS操作成功正常处理响应数据
2OPEN_PAGE打开页面跳转到 data 指定的页面
400FAIL业务操作失败提示 message,不跳转
10001SYSTEM_EXCEPTION系统异常提示"系统繁忙,请稍后再试"
10002LOGIN_LOST登录失效清除 Token,跳转登录页
10003DATA_NOT_FOUND数据不存在提示 message
10004PERMISSION_FORBIDDEN权限禁止提示"暂无权限访问"
10005VALIDATE_FAILED数据验证错误提示第一条验证错误信息
20001LOGIN_BLACKLIST黑名单清除 Token,跳转登录页
20002USER_FORBIDDEN账号禁用清除 Token,跳转登录页

异常与错误码映射

后端通过全局异常处理器将不同异常映射为对应错误码:

异常类型错误码触发场景
BusinessException400业务逻辑失败(默认)
SystemException10001系统内部错误
DataNotFoundException10003查询数据不存在
AuthenticationException10002未登录或 Token 过期
AuthorizationException10004无权限访问
ValidationException10005表单验证失败
ModelNotFoundException10003模型查询未找到
NotFoundHttpException10003路由不存在
QueryException10001数据库操作异常

前端使用

Admin 管理端

错误码枚举定义在 frontend/admin/src/enums/requestEnums.ts

ts
export enum RequestCodeEnum {
  SUCCESS = 200,
  FAIL = 400,
  OPEN_PAGE = 2,
  SYSTEM_EXCEPTION = 10001,
  LOGIN_LOST = 10002,
  DATA_NOT_FOUND = 10003,
  PERMISSION_FORBIDDEN = 10004,
  VALIDATE_FAILED = 10005,
  LOGIN_BLACKLIST = 20001,
  USER_FORBIDDEN = 20002,
}

uni-app 客户端

错误码枚举定义在 frontend/uniapp/src/constants/request.ts,常量值与 Admin 一致。

自定义业务错误码

业务模块可以在 10000 以上自定义错误码段,避免与框架内置码冲突:

范围建议用途
200–9999框架保留
10001–10099框架系统级
20001–20099框架用户级
30000+业务模块自定义