当三端 SDK 调用失败时(如 iOS 抛出 IMError(code:message:) 或 Android 回调 onError(errCode, errMsg)),code 对应底层 pkg/sdkerrs 与服务端 protocol/errs 定义的错误码。
1. 客户端 SDK 本地错误码 (10000 ~ 10200)
错误码 (code) | 常量名 (pkg/sdkerrs) | 含义与排查建议 |
|---|
10000 | NetworkError | 网络请求失败或 WebSocket 尚未连接成功 |
10001 | NetworkTimeOut | WebSocket 请求等待服务端响应超时(默认 10 秒) |
10002 | ArgsError | 调用参数不合法(如必填 ID 为空或 JSON 结构不匹配) |
10003 | CtxDeadline | 上下文超时取消 |
10004 | ResourceLoadNotComplete | SDK 尚未初始化或当前账号未完成登录 (SDK not logged in) |
10005 | UnknownCode | 未知客户端内部错误 |
10006 | SdkInternalError | SDK 内部错误(如本地 SQLite 初始化失败) |
10100 | LoginOutError | 当前已处于登出状态 |
10101 | LoginRepeatError | 重复调用 login(当前已处于已登录状态) |
10200 | FileNotFoundError | 发送媒体/文件消息时本地文件路径不存在 |
10201 | MsgDeCompressionError | WebSocket 消息 Gzip 解压失败 |
10202 | MsgDecodeBinaryWsError | WebSocket 二进制协议解码失败 |
10203 | MsgBinaryTypeNotSupportError | 不支持的 WebSocket 二进制帧类型 |
10204 | MsgRepeatError | 消息重复发送 |
10205 | MsgContentTypeNotSupportError | 不支持的消息 contentType |
10206 | MsgHasNoSeqError | 消息尚未分配服务端 seq |
10301 | GroupTypeError | 群类型错误(当前仅支持创建 WorkingGroup = 2) |
2. 服务端鉴权与业务错 误码 (1001 ~ 1600)
错误码 (code) | 常量名 | 含义与处理方式 |
|---|
1001 | FormattingError | 服务端请求参数格式错误 |
1101 | RecordNotFoundError | 用户 ID 或记录不存在 |
1201 | GroupIDNotFoundError | 群组 ID 不存在或已解散 |
1202 | GroupIDExisted | 群组 ID 已存在 |
1203 | NotInGroupYetError | 当前用户不在该群组中 |
1204 | DismissedAlreadyError | 群组已被解散 |
1206 | RegisteredAlreadyError | 账号已注册 |
1301 | CanNotAddYourselfError | 不能添加自己为好友 |
1302 | BlockedByPeer | 已被对方拉黑,无法发送消息或添加好友 |
1303 | NotPeersFriend | 非对方好友(当服务端开启非好友禁发消息时触发) |
1304 | RelationshipAlreadyError | 已经是好友关系,无需重复添加 |
1501 | TokenExpiredError | Token 已过期(同时触发 onUserTokenExpired) |
1502 | TokenInvalidError | Token 签名无效 |
1503 | TokenMalformedError | Token 格式损坏 |
1504 | TokenNotValidYetError | Token 尚未生效 |
1505 | TokenUnknownError | 未知 Token 错误 |
1506 | TokenKickedError | 当前端 Token 已被新登录端踢下线(触发 onKickedOffline) |
1507 | TokenNotExistError | Token 在服务端 Redis 中不存在 |