主题
IPC 云端通信:错误码与枚举
错误码分段
| 范围 | 含义 |
|---|---|
1xxx | 系统级错误(签名、时间戳、设备状态、协议版本) |
2xxx | 业务级错误(参数、动作不支持、冲突、超时) |
3xxx | 配置相关错误(版本、哈希、下载、解析) |
4xxx | 人脸相关错误(下载失败、容量不足、图片无效) |
5xxx | 控制器与硬件控制错误(离线、通信异常、硬件故障) |
9xxx | 服务端内部错误(数据库、外部依赖调用失败) |
常用错误码
| code | message | 说明 |
|---|---|---|
0 | success | 成功 |
1001 | invalid_signature | 签名验证失败 |
1002 | timestamp_expired | 请求时间过期 |
1003 | nonce_reused | Nonce 重复使用 |
1004 | device_not_found | 设备不存在 |
1005 | device_not_registered | 设备未完成注册 |
2001 | invalid_params | 请求参数错误 |
2002 | unsupported_action | 不支持的动作 |
2003 | device_offline | 设备离线 |
2004 | action_timeout | 动作执行超时 |
3001 | config_version_mismatch | 配置版本不匹配 |
3002 | config_hash_mismatch | 配置哈希校验失败 |
3003 | config_download_failed | 配置下载失败 |
4001 | face_download_failed | 人脸下载失败 |
4003 | face_storage_full | 人脸容量不足 |
5001 | controller_offline | 控制器离线 |
5002 | controller_error | 控制器异常 |
9001 | internal_error | 服务端内部错误 |
枚举定义
控制相关枚举
| 字段 | 位置 | 枚举值 |
|---|---|---|
type(target 段) | 顶层 | door / ac / light / shower / config / face / device |
type(action 段) | 顶层 | open / close / query / set / download / delete / update / acceptance / heartbeat / state / discovery / scan / compensate |
data.result | data | success / failed / timeout / unsupported |
人脸相关枚举
| 字段 | 位置 | 枚举值 |
|---|---|---|
data.scan_type | data | entry / exit |
设备状态与网络枚举
| 字段 | 位置 | 枚举值 |
|---|---|---|
data.status | data | online / offline / error |
data.network_type | data | ethernet / wifi / 4g |
消息 type 格式
三段式:category:target:action
| category | 方向 | 说明 |
|---|---|---|
control | 下行 | CPC 下发指令 |
result | 上行 | 回复某条下行指令 |
report | 上行 | 设备主动上报 |
统一约束
- 所有错误响应都必须使用统一响应体:
{ code, message, data } code=0表示成功,非 0 必须填充可定位的message- IPC 与 Backend 之间的错误码语义必须保持一致,避免同码异义