客户端提示"操作失败"却不知道为什么,客服只能逐个复现——错误码表缺失的代价每天都在支付。统一错误码表让协议返回值规范化:每个错误一个唯一编号、一段固定文案、一个处理指引。适用于全部前后端协议与后台接口。
0 成功
1xxx 通用错误(1001 参数缺失、1002 参数类型错误、1003 频率限制)
2xxx 背包与物品(2001 背包已满、2002 物品不足、2003 物品不可交易)
3xxx 任务系统(3001 任务未接取、3002 任务未完成、3003 奖励已领取)
4xxx 副本系统(4001 副本未开放、4002 次数用尽、4003 队伍条件不满足)
9xxx 安全类(9001 会话过期、9002 权限不足、9003 风控拦截)
分段规则让错误码自带可读性:看到 2xxx 就知道与物品相关。新功能申请新的百位区段,编号永不复用。
码与文案分离。错误码是协议契约(永不变更语义),文案是运营素材(可随时调整),客户端展示文案、上报错误码。每个错误带上下文。返回结构里附带失败对象(哪个任务、哪个物品),前端提示才能精确。未知错误统一兜底。客户端收到未知码时展示通用失败文案并上报,服务端新增错误码不需要老客户端同步升级。
错误码表进版本库(与协议 schema 同级管理),新增错误走 code review;接入 CI 检查脚本扫出"硬编码的错误数字"(不允许代码里直接写 3002,必须引用常量表)。错误码的统计进监控日报(哪个码本周突增),错误码突增往往就是新 bug 的第一个信号。错误码表定稿后,前后端关于"失败原因"的沟通成本归零——这是协议设计里回报率最高的一份文档。
本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 行会建设需要资金,成员的投入却看不到回报。行会发展基金让成员按份投入行会基金,基金用于行会建设与集体活动…
实战应用:用在哪里 占领沙巴克后的日常维护靠几个人,城内挂机广告无人管,安全区成了法外之地。沙城巡逻队把城防日常做成排班玩法…
实战应用:用在哪里 行会仓库运营数月后杂物堆积:过期活动道具、低级材料、重复装备混杂在贵重物资之间。仓库整理接口按价值与用途…
实战应用:用在哪里 一次活动奖励少发,三名客服给出三种答复:补发、不补发、等通知。玩家把三张截图拼在一起发到论坛,一场本可善…
实战应用:用在哪里 玩家拥有多个称号,切换佩戴后效果不符预期又要来回换。称号预览在切换前展示佩戴效果:名字上方的称号样式、属…
实战应用:用在哪里 赤月巢穴的魔龙教主血量降至三成会进入狂暴:攻击翻倍、召唤赤月护卫、周期性释放全屏魔龙血域。狂暴触发把 b…