@xilil/error-codes
Version:
统一错误码管理库 - 支持多语言、类型安全的错误处理工具
519 lines • 14.1 kB
JavaScript
export const SYSTEM_ERROR_CODES = {
INTERNAL_ERROR: {
code: 1001,
messages: {
'zh-CN': '内部服务器错误',
'en-US': 'Internal server error'
},
statusCode: 500,
description: '系统内部发生未知错误'
},
SERVICE_UNAVAILABLE: {
code: 1002,
messages: {
'zh-CN': '服务暂时不可用',
'en-US': 'Service temporarily unavailable'
},
statusCode: 503,
description: '服务临时不可用,通常是维护或过载'
},
CONFIGURATION_ERROR: {
code: 1003,
messages: {
'zh-CN': '系统配置错误',
'en-US': 'System configuration error'
},
statusCode: 500,
description: '系统配置不正确'
},
EXTERNAL_SERVICE_ERROR: {
code: 1004,
messages: {
'zh-CN': '外部服务调用失败',
'en-US': 'External service call failed'
},
statusCode: 502,
description: '调用外部服务时发生错误'
}
};
export const VALIDATION_ERROR_CODES = {
INVALID_PARAMETER: {
code: 2001,
messages: {
'zh-CN': '参数无效',
'en-US': 'Invalid parameter'
},
statusCode: 400,
description: '请求参数格式或值不正确'
},
MISSING_PARAMETER: {
code: 2002,
messages: {
'zh-CN': '缺少必需参数',
'en-US': 'Missing required parameter'
},
statusCode: 400,
description: '请求缺少必需的参数'
},
PARAMETER_OUT_OF_RANGE: {
code: 2003,
messages: {
'zh-CN': '参数超出范围',
'en-US': 'Parameter out of range'
},
statusCode: 400,
description: '参数值超出允许范围'
},
INVALID_FORMAT: {
code: 2004,
messages: {
'zh-CN': '格式不正确',
'en-US': 'Invalid format'
},
statusCode: 400,
description: '数据格式不符合要求'
},
CONTENT_TOO_LONG: {
code: 2005,
messages: {
'zh-CN': '内容过长',
'en-US': 'Content too long'
},
statusCode: 400,
description: '内容长度超出限制'
},
UNSUPPORTED_TYPE: {
code: 2006,
messages: {
'zh-CN': '不支持的类型',
'en-US': 'Unsupported type'
},
statusCode: 400,
description: '不支持的数据类型或格式'
}
};
export const AUTH_ERROR_CODES = {
UNAUTHORIZED: {
code: 4001,
messages: {
'zh-CN': '未授权访问',
'en-US': 'Unauthorized access'
},
statusCode: 401,
description: '用户未经身份验证'
},
INVALID_TOKEN: {
code: 4002,
messages: {
'zh-CN': '无效的令牌',
'en-US': 'Invalid token'
},
statusCode: 401,
description: '提供的访问令牌无效'
},
TOKEN_EXPIRED: {
code: 4003,
messages: {
'zh-CN': '令牌已过期',
'en-US': 'Token expired'
},
statusCode: 401,
description: '访问令牌已过期,需要重新获取'
},
INSUFFICIENT_PERMISSIONS: {
code: 4004,
messages: {
'zh-CN': '权限不足',
'en-US': 'Insufficient permissions'
},
statusCode: 403,
description: '用户权限不足以执行此操作'
},
ACCOUNT_DISABLED: {
code: 4005,
messages: {
'zh-CN': '账户已被禁用',
'en-US': 'Account disabled'
},
statusCode: 403,
description: '用户账户已被禁用'
},
INVALID_CREDENTIALS: {
code: 4006,
messages: {
'zh-CN': '认证信息无效',
'en-US': 'Invalid credentials'
},
statusCode: 401,
description: '用户名或密码错误'
},
ACCOUNT_LOCKED: {
code: 4007,
messages: {
'zh-CN': '账户已锁定',
'en-US': 'Account locked'
},
statusCode: 423,
description: '账户因多次登录失败被锁定'
},
SESSION_EXPIRED: {
code: 4008,
messages: {
'zh-CN': '会话已过期',
'en-US': 'Session expired'
},
statusCode: 401,
description: '用户会话已过期'
},
ACCOUNT_NOT_FOUND: {
code: 4009,
messages: {
'zh-CN': '账户不存在',
'en-US': 'Account not found'
},
statusCode: 404,
description: '账户不存在'
},
INSUFFICIENT_BALANCE: {
code: 4010,
messages: {
'zh-CN': '余额不足',
'en-US': 'Insufficient balance'
},
statusCode: 400,
description: '积分不足'
},
INSUFFICIENT_INTEGRAL: {
code: 4011,
messages: {
'zh-CN': '积分不足',
'en-US': 'Insufficient integral'
},
statusCode: 400,
description: '积分不足'
}
};
export const USER_ERROR_CODES = {
INVALID_INVITE_CODE: {
code: 4101,
messages: {
'zh-CN': '邀请码无效',
'en-US': 'Invalid invite code'
},
statusCode: 400,
description: '邀请码无效'
}
};
export const RESOURCE_ERROR_CODES = {
RESOURCE_NOT_FOUND: {
code: 5001,
messages: {
'zh-CN': '资源不存在',
'en-US': 'Resource not found'
},
statusCode: 404,
description: '请求的资源不存在'
},
RESOURCE_ALREADY_EXISTS: {
code: 5002,
messages: {
'zh-CN': '资源已存在',
'en-US': 'Resource already exists'
},
statusCode: 409,
description: '尝试创建的资源已经存在'
},
RESOURCE_CREATION_FAILED: {
code: 5003,
messages: {
'zh-CN': '资源创建失败',
'en-US': 'Resource creation failed'
},
statusCode: 500,
description: '创建资源时发生错误'
},
RESOURCE_UPDATE_FAILED: {
code: 5004,
messages: {
'zh-CN': '资源更新失败',
'en-US': 'Resource update failed'
},
statusCode: 500,
description: '更新资源时发生错误'
},
RESOURCE_DELETE_FAILED: {
code: 5005,
messages: {
'zh-CN': '资源删除失败',
'en-US': 'Resource deletion failed'
},
statusCode: 500,
description: '删除资源时发生错误'
},
RESOURCE_IN_USE: {
code: 5006,
messages: {
'zh-CN': '资源正在使用中',
'en-US': 'Resource is in use'
},
statusCode: 409,
description: '资源正在被使用,无法执行操作'
},
RESOURCE_LOCKED: {
code: 5007,
messages: {
'zh-CN': '资源已被锁定',
'en-US': 'Resource is locked'
},
statusCode: 423,
description: '资源已被锁定,无法修改'
}
};
export const QUOTA_ERROR_CODES = {
RATE_LIMIT_EXCEEDED: {
code: 6001,
messages: {
'zh-CN': '请求频率超出限制',
'en-US': 'Rate limit exceeded'
},
statusCode: 429,
description: '请求频率超出允许的限制'
},
QUOTA_EXCEEDED: {
code: 6002,
messages: {
'zh-CN': '配额已用完',
'en-US': 'Quota exceeded'
},
statusCode: 429,
description: '已达到使用配额上限'
},
STORAGE_QUOTA_EXCEEDED: {
code: 6003,
messages: {
'zh-CN': '存储空间不足',
'en-US': 'Storage quota exceeded'
},
statusCode: 507,
description: '存储空间已达到配额限制'
},
CONCURRENT_LIMIT_EXCEEDED: {
code: 6004,
messages: {
'zh-CN': '并发数超出限制',
'en-US': 'Concurrent limit exceeded'
},
statusCode: 429,
description: '并发请求数超出限制'
},
DAILY_LIMIT_EXCEEDED: {
code: 6005,
messages: {
'zh-CN': '日使用量超出限制',
'en-US': 'Daily limit exceeded'
},
statusCode: 429,
description: '日使用量已达到上限'
},
SIZE_LIMIT_EXCEEDED: {
code: 6006,
messages: {
'zh-CN': '大小超出限制',
'en-US': 'Size limit exceeded'
},
statusCode: 413,
description: '数据大小超出允许的限制'
}
};
export const DATA_ERROR_CODES = {
DATA_CORRUPTION: {
code: 7001,
messages: {
'zh-CN': '数据已损坏',
'en-US': 'Data corruption detected'
},
statusCode: 500,
description: '检测到数据损坏'
},
SERIALIZATION_ERROR: {
code: 7002,
messages: {
'zh-CN': '数据序列化失败',
'en-US': 'Serialization failed'
},
statusCode: 500,
description: '数据序列化过程中发生错误'
},
DESERIALIZATION_ERROR: {
code: 7003,
messages: {
'zh-CN': '数据反序列化失败',
'en-US': 'Deserialization failed'
},
statusCode: 400,
description: '数据反序列化过程中发生错误'
},
DATA_TRANSFORMATION_ERROR: {
code: 7004,
messages: {
'zh-CN': '数据转换失败',
'en-US': 'Data transformation failed'
},
statusCode: 500,
description: '数据格式转换失败'
},
CHECKSUM_MISMATCH: {
code: 7005,
messages: {
'zh-CN': '校验和不匹配',
'en-US': 'Checksum mismatch'
},
statusCode: 400,
description: '数据完整性校验失败'
}
};
export const BUSINESS_ERROR_CODES = {
BUSINESS_RULE_VIOLATION: {
code: 8001,
messages: {
'zh-CN': '违反业务规则',
'en-US': 'Business rule violation'
},
statusCode: 400,
description: '操作违反了业务规则'
},
OPERATION_NOT_ALLOWED: {
code: 8002,
messages: {
'zh-CN': '操作不被允许',
'en-US': 'Operation not allowed'
},
statusCode: 403,
description: '当前状态下不允许执行此操作'
},
PREREQUISITE_NOT_MET: {
code: 8003,
messages: {
'zh-CN': '前置条件未满足',
'en-US': 'Prerequisite not met'
},
statusCode: 412,
description: '执行操作的前置条件未满足'
},
WORKFLOW_ERROR: {
code: 8004,
messages: {
'zh-CN': '工作流错误',
'en-US': 'Workflow error'
},
statusCode: 400,
description: '工作流程执行出现错误'
},
STATE_CONFLICT: {
code: 8005,
messages: {
'zh-CN': '状态冲突',
'en-US': 'State conflict'
},
statusCode: 409,
description: '资源状态冲突,无法执行操作'
}
};
export const THIRD_PARTY_ERROR_CODES = {
AI_SERVICE_ERROR: {
code: 9001,
messages: {
'zh-CN': 'AI服务调用失败',
'en-US': 'AI service error'
},
statusCode: 502,
description: 'AI服务调用失败'
},
AI_MODEL_UNAVAILABLE: {
code: 9002,
messages: {
'zh-CN': 'AI模型不可用',
'en-US': 'AI model unavailable'
},
statusCode: 503,
description: 'AI模型服务当前不可用'
},
PAYMENT_SERVICE_ERROR: {
code: 9003,
messages: {
'zh-CN': '支付服务错误',
'en-US': 'Payment service error'
},
statusCode: 502,
description: '支付服务调用失败'
},
SMS_SERVICE_ERROR: {
code: 9004,
messages: {
'zh-CN': '短信服务错误',
'en-US': 'SMS service error'
},
statusCode: 502,
description: '短信服务调用失败'
},
EMAIL_SERVICE_ERROR: {
code: 9005,
messages: {
'zh-CN': '邮件服务错误',
'en-US': 'Email service error'
},
statusCode: 502,
description: '邮件服务调用失败'
},
CLOUD_STORAGE_ERROR: {
code: 9006,
messages: {
'zh-CN': '云存储服务错误',
'en-US': 'Cloud storage error'
},
statusCode: 502,
description: '云存储服务调用失败'
},
TRANSLATION_SERVICE_ERROR: {
code: 9007,
messages: {
'zh-CN': '翻译服务错误',
'en-US': 'Translation service error'
},
statusCode: 502,
description: '翻译服务调用失败'
},
WECHAT_API_ERROR: {
code: 9008,
messages: {
'zh-CN': '微信接口调用失败',
'en-US': 'WeChat API error'
},
statusCode: 502,
description: '微信接口调用失败'
}
};
export const AI_ERROR_CODES = {
MODEL_NOT_AVAILABLE: {
code: 1101,
messages: {
'zh-CN': '模型不可用',
'en-US': 'Model not available'
},
statusCode: 400,
description: '模型不可用'
}
};
export const ALL_ERROR_CODES = {
...SYSTEM_ERROR_CODES,
...VALIDATION_ERROR_CODES,
...AUTH_ERROR_CODES,
...USER_ERROR_CODES,
...RESOURCE_ERROR_CODES,
...QUOTA_ERROR_CODES,
...DATA_ERROR_CODES,
...BUSINESS_ERROR_CODES,
...THIRD_PARTY_ERROR_CODES,
...AI_ERROR_CODES
};
//# sourceMappingURL=business.js.map