「小游戏服务平台」错误码规范

设计一个 小游戏平台的错误码规范,需要做到: 统一规范:所有服务、接口、SDK 使用同一套错误码标准。 可扩展性:支持多模块、多语言(前端、后端、SDK)。 可诊断性:既能给用户友好的提示,又能给开发者提供精确的调试信息。 多层次信息:错误码(Code)、错误信息(Message)、调试上下文(Detail/Trace …

设计一个 小游戏平台的错误码规范,需要做到:

  1. 统一规范:所有服务、接口、SDK 使用同一套错误码标准。
  2. 可扩展性:支持多模块、多语言(前端、后端、SDK)。
  3. 可诊断性:既能给用户友好的提示,又能给开发者提供精确的调试信息。
  4. 多层次信息:错误码(Code)、错误信息(Message)、调试上下文(Detail/Trace ID)。

小游戏平台错误码规范(详细版)


1. 错误码结构设计

采用 五位数字码 + 模块前缀 的形式:

[A][BB][CCC]

A   → 错误级别(1=系统级,2=业务级,3=第三方依赖)
BB  → 模块编码(两位)
CCC → 具体错误编号(三位)

示例

  • 10001 → 系统错误(未知错误)
  • 201001 → 用户模块(01)登录失败
  • 202002 → 游戏模块(02)上传文件过大
  • 203003 → 支付模块(03)回调签名验证失败

2. 模块划分(BB)

模块编码模块名称说明
01用户模块注册、登录、认证、权限
02游戏模块上传、审核、分发、运行
03支付模块订单、支付、提现、回调
04广告模块广告投放、点击、归因
05开发者模块报表、收益、工具、插件
06数据分析埋点、推荐、BI 报表
07风控安全反作弊、限流、黑名单
99系统级错误通用错误、服务不可用

3. 错误级别(A)

级别范围说明
11xxxx系统级错误(全局)
22xxxx业务逻辑错误(可预期)
33xxxx第三方依赖错误(支付、云存储等)

4. 错误码设计示例

系统级错误(1xxxx)

错误码错误信息HTTP 状态码说明
10001系统错误,请稍后再试500未知错误
10002请求参数无效400参数格式/必填项缺失
10003服务不可用503微服务宕机或熔断
10004权限不足403用户未授权
10005请求过于频繁429限流保护

用户模块(2-01-xxx)

错误码错误信息HTTP 状态码说明
201001登录失败,用户名或密码错误401登录校验失败
201002Token 无效或已过期401JWT 校验失败
201003用户未实名403需要实名认证
201004用户被冻结403风控冻结

游戏模块(2-02-xxx)

错误码错误信息HTTP 状态码说明
202001游戏上传失败400文件损坏/不支持格式
202002游戏包大小超过限制400>500MB
202003游戏审核未通过403违规内容
202004游戏下架404游戏已被删除或下架

支付模块(2-03-xxx)

错误码错误信息HTTP 状态码说明
203001支付订单不存在404无效订单号
203002支付失败402支付网关拒绝
203003回调签名验证失败400安全校验未通过
203004提现处理中409幂等性保护

广告模块(2-04-xxx)

错误码错误信息HTTP 状态码说明
204001广告库存不足404无可展示广告
204002广告点击无效400作弊/重复点击
204003广告结算失败500广告竞价异常

开发者模块(2-05-xxx)

错误码错误信息HTTP 状态码说明
205001报表数据延迟202数据同步中
205002提现申请超限400超过每日限额
205003插件上传失败400包格式错误

风控安全模块(2-07-xxx)

错误码错误信息HTTP 状态码说明
207001账号涉嫌作弊403行为检测异常
207002IP 黑名单限制403拦截访问
207003请求异常高频429触发限流

第三方依赖错误(3xxxx)

错误码错误信息HTTP 状态码说明
301001支付网关超时504微信/支付宝超时
301002CDN 分发失败502CDN 节点错误
301003云存储服务不可用503OSS/S3 故障

5. 错误响应格式(API 统一规范)

{
  "code": 201002,
  "message": "Token 无效或已过期",
  "detail": "jwt signature invalid",
  "trace_id": "abc123xyz",
  "timestamp": "2025-09-27T10:20:30Z"
}
  • code → 错误码(唯一标识)
  • message → 面向用户的友好提示
  • detail → 面向开发者的调试信息(可选)
  • trace_id → 便于日志追踪和问题定位
  • timestamp → 出错时间

6. 设计原则

  1. 前后端统一:前端展示 message,后台日志记录 detail
  2. 可国际化message 支持 i18n(中/英/日)。
  3. 幂等设计:支付、广告上报等接口必须返回一致的错误码,避免重复处理。
  4. 安全性:对外屏蔽敏感调试信息(如 SQL 错误、栈信息)。
  5. 文档化:所有错误码需在 API 文档/Swagger 中列出。

📌 一句话总结
小游戏平台的错误码规范需要 模块化、统一化、可追踪,既能保证用户友好提示,又能帮助开发者快速定位问题,同时考虑国际化和合规性。

继续阅读

探索更多技术文章

浏览归档,发现更多关于系统设计、工具链和工程实践的内容。

全部文章 返回首页