Files
easygoadmin-wiki/EasyGoAdmin_Iris_EleVue/zh/api-spec/error-code.md
T
2026-10-20 21:19:44 +08:00

2.6 KiB

8.2 错误码对照表

:::tip 概述 所有接口返回统一的 JSON 结构,通过 code 字段区分业务状态。前端应根据 code 做差异化处理。 :::

业务错误码

code ok 含义 使用场景 前端处理
0 true 成功 所有成功操作 正常处理 data
1 false 一般失败 业务逻辑失败 显示 msg 提示
401 false 未授权 Token 缺失/无效/过期 跳转登录页
403 false 禁止访问 权限不足/租户异常/演示环境 显示无权限提示
404 false 数据不存在 查询单条记录为空 显示数据不存在
422 false 参数验证失败 表单验证不通过 显示具体字段错误

响应示例

响应示例详见 统一响应格式

常见错误消息

认证相关

消息 原因 解决方案
未提供认证令牌 请求头缺少 Authorization 携带 Token
无效的认证令牌 Token 类型不是 access 使用 access_token
token已过期 Token 超过有效期 调用刷新接口或重新登录
用户名或密码错误 账号或密码不正确 检查输入
账号已被禁用 用户 status != 1 联系管理员

权限相关

消息 原因 解决方案
无访问权限:xxx 用户无该接口权限 联系管理员分配权限
租户已被禁用 租户 status != 1 联系平台管理员
租户已过期 租户 expire_time 已过 续费或联系平台
演示环境,禁止操作 演示模式下写操作被拦截 非演示环境操作

业务相关

消息 原因 解决方案
xxx已存在 唯一性校验失败 修改重复字段值
数据不存在 记录已被删除或不存在 刷新列表
请选择要删除的数据 批量删除时 ids 为空 先选择数据
该部门下存在子部门,不可删除 删除前钩子校验 先删除子部门

前端错误处理

// Axios 响应拦截器
axios.interceptors.response.use(response => {
    const { code, msg, data } = response.data;

    if (code === 0) {
        return data;  // 成功
    }

    if (code === 401) {
        // Token 过期,跳转登录
        router.push('/login');
        return;
    }

    if (code === 403) {
        ElMessage.error(msg || '无权限');
        return;
    }

    // 其他错误
    ElMessage.error(msg || '操作失败');
    return Promise.reject(new Error(msg));
});