NIMGlobalDefs.h 9.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415
  1. //
  2. // NIMGlobalDefs.h
  3. // NIMLib
  4. //
  5. // Created by Netease.
  6. // Copyright (c) 2015年 Netease. All rights reserved.
  7. //
  8. #ifndef NIMLib_NIMGlobalDefs_h
  9. #define NIMLib_NIMGlobalDefs_h
  10. #import <Foundation/Foundation.h>
  11. /**
  12. * 消息内容类型枚举
  13. */
  14. typedef NS_ENUM(NSInteger, NIMMessageType){
  15. /**
  16. * 文本类型消息
  17. */
  18. NIMMessageTypeText = 0,
  19. /**
  20. * 图片类型消息
  21. */
  22. NIMMessageTypeImage = 1,
  23. /**
  24. * 声音类型消息
  25. */
  26. NIMMessageTypeAudio = 2,
  27. /**
  28. * 视频类型消息
  29. */
  30. NIMMessageTypeVideo = 3,
  31. /**
  32. * 位置类型消息
  33. */
  34. NIMMessageTypeLocation = 4,
  35. /**
  36. * 通知类型消息
  37. */
  38. NIMMessageTypeNotification = 5,
  39. /**
  40. * 文件类型消息
  41. */
  42. NIMMessageTypeFile = 6,
  43. /**
  44. * 提醒类型消息
  45. */
  46. NIMMessageTypeTip = 10,
  47. /**
  48. * 机器人类型消息
  49. */
  50. NIMMessageTypeRobot = 11,
  51. /**
  52. * Rtc通话单
  53. */
  54. NIMMessageTypeRtcCallRecord = 12,
  55. /**
  56. * 自定义类型消息
  57. */
  58. NIMMessageTypeCustom = 100
  59. };
  60. /**
  61. * 网络通话类型
  62. */
  63. typedef NS_ENUM(NSInteger, NIMNetCallType){
  64. /**
  65. * 音频通话
  66. */
  67. NIMNetCallTypeAudio = 1,
  68. /**
  69. * 视频通话
  70. */
  71. NIMNetCallTypeVideo = 2,
  72. };
  73. /**
  74. * NIM本地Error Domain
  75. */
  76. extern NSString *const NIMLocalErrorDomain;
  77. /**
  78. * NIM服务器Error Domain
  79. */
  80. extern NSString *const NIMRemoteErrorDomain;
  81. /**
  82. * 本地错误码 (IM 和通用) Domain NIMLocalErrorDomain
  83. */
  84. typedef NS_ENUM(NSInteger, NIMLocalErrorCode) {
  85. /**
  86. * 错误的参数
  87. */
  88. NIMLocalErrorCodeInvalidParam = 1,
  89. /**
  90. * 多媒体文件异常
  91. */
  92. NIMLocalErrorCodeInvalidMedia = 2,
  93. /**
  94. * 图片异常
  95. */
  96. NIMLocalErrorCodeInvalidPicture = 3,
  97. /**
  98. * url异常
  99. */
  100. NIMLocalErrorCodeInvalidUrl = 4,
  101. /**
  102. * 读取/写入文件失败
  103. */
  104. NIMLocalErrorCodeIOError = 5,
  105. /**
  106. * 无效的token
  107. */
  108. NIMLocalErrorCodeInvalidToken = 6,
  109. /**
  110. * Http请求失败
  111. */
  112. NIMLocalErrorCodeHttpReqeustFailed = 7,
  113. /**
  114. * 无录音权限
  115. */
  116. NIMLocalErrorCodeAudioRecordErrorNoPermission = 8,
  117. /**
  118. * 录音初始化失败
  119. */
  120. NIMLocalErrorCodeAudioRecordErrorInitFailed = 9,
  121. /**
  122. * 录音失败
  123. */
  124. NIMLocalErrorCodeAudioRecordErrorRecordFailed = 10,
  125. /**
  126. * 播放初始化失败
  127. */
  128. NIMLocalErrorCodeAudioPlayErrorInitFailed = 11,
  129. /**
  130. * SQL语句执行失败
  131. */
  132. NIMLocalErrorCodeSQLFailed = 12,
  133. /**
  134. * 用户信息缺失 (未登录 或 未提供用户资料)
  135. */
  136. NIMLocalErrorCodeUserInfoNeeded = 13,
  137. /**
  138. * AppKey 缺失,未注册 AppKey 就进行登录行为之类的接口
  139. */
  140. NIMLocalErrorCodeAppKeyNeed = 14,
  141. /**
  142. * 自动登录超过次数限制,一般情况下都是当前网络有问题引起,如当前网络可以连接,但无法自由收发包等
  143. */
  144. NIMLocalErrorCodeAutoLoginRetryLimit = 15,
  145. /**
  146. * 相同的操作正在执行,请不要多次调用
  147. */
  148. NIMLocalErrorCodeSameOperationInProgress = 16,
  149. /**
  150. * 独立模式下获取聊天室服务器地址失败
  151. */
  152. NIMLocalErrorCodeRequestChatroomAddressesFailed= 17,
  153. /**
  154. * 群已读回执功能未开启,请使用 NIMSDKConfig 进行开启
  155. */
  156. NIMLocalErrorCodeTeamReceiptDisabled = 18,
  157. /**
  158. * 主动取消任务
  159. */
  160. NIMLocalErrorCodeManualCancelTask = 19,
  161. /**
  162. * 资源过期
  163. */
  164. NIMLocalErrorCodeResourcesOverdue = 20,
  165. /**
  166. * 场景未注册
  167. */
  168. NIMLocalErrorCodeSceneUnregistered = 21,
  169. /**
  170. * Database 读写异常
  171. */
  172. NIMLocalErrorCodeDatabaseError = 22,
  173. /**
  174. * 重复加入白板会议
  175. */
  176. NIMLocalErrorCodeJoinSameRTSConference = 23,
  177. };
  178. /**
  179. * 服务器错误码 (IM 和通用) Doamin NIMRemoteErrorDomain
  180. * @discussion 更多错误详见 [服务器端状态码](http://dev.netease.im/docs?doc=nim_status_code#服务器端状态码)
  181. * 用户第三方回调自定义错误码范围 20000-20099
  182. */
  183. typedef NS_ENUM(NSInteger, NIMRemoteErrorCode) {
  184. /**
  185. * 客户端版本错误
  186. */
  187. NIMRemoteErrorCodeInvalidVersion = 201,
  188. /**
  189. * 密码错误
  190. */
  191. NIMRemoteErrorCodeInvalidPass = 302,
  192. /**
  193. * CheckSum校验失败
  194. */
  195. NIMRemoteErrorCodeInvalidCRC = 402,
  196. /**
  197. * 非法操作或没有权限
  198. */
  199. NIMRemoteErrorCodeForbidden = 403,
  200. /**
  201. * 请求的目标(用户或对象)不存在
  202. */
  203. NIMRemoteErrorCodeNotExist = 404,
  204. /**
  205. * 对象只读
  206. */
  207. NIMRemoteErrorCodeReadOnly = 406,
  208. /**
  209. * 请求过程超时
  210. */
  211. NIMRemoteErrorCodeTimeoutError = 408,
  212. /**
  213. * 参数错误
  214. */
  215. NIMRemoteErrorCodeParameterError = 414,
  216. /**
  217. * 网络连接出现错误
  218. */
  219. NIMRemoteErrorCodeConnectionError = 415,
  220. /**
  221. * 操作太过频繁
  222. */
  223. NIMRemoteErrorCodeFrequently = 416,
  224. /**
  225. * 对象已经存在
  226. */
  227. NIMRemoteErrorCodeExist = 417,
  228. /**
  229. * 数量超限
  230. */
  231. NIMRemoteErrorCodeBeyondLimit = 419,
  232. /**
  233. * 账号被禁用
  234. */
  235. NIMRemoteErrorAccountBlock = 422,
  236. /**
  237. * 未知错误
  238. */
  239. NIMRemoteErrorCodeUnknownError = 500,
  240. /**
  241. * 服务器数据错误
  242. */
  243. NIMRemoteErrorCodeServerDataError = 501,
  244. /**
  245. * 不足
  246. */
  247. NIMRemoteErrorCodeNotEnough = 507,
  248. /**
  249. * 超过期限
  250. */
  251. NIMRemoteErrorCodeDomainExpireOld = 508,
  252. /**
  253. * 无效协议
  254. */
  255. NIMRemoteErrorCodeInvalidProtocol = 509,
  256. /**
  257. * 用户不存在
  258. */
  259. NIMRemoteErrorCodeUserNotExist = 510,
  260. /**
  261. * 服务不可用
  262. */
  263. NIMRemoteErrorCodeServiceUnavailable = 514,
  264. /**
  265. * 群人数超过上限
  266. */
  267. NIMRemoteErrorCodeTeamMemberLimit = 801,
  268. /**
  269. * 没有操作群的权限
  270. */
  271. NIMRemoteErrorCodeTeamAccessError = 802,
  272. /**
  273. * 群组不存在
  274. */
  275. NIMRemoteErrorCodeTeamNotExists = 803,
  276. /**
  277. * 用户不在兴趣组内
  278. */
  279. NIMRemoteErrorCodeNotInTeam = 804,
  280. /**
  281. * 群类型错误
  282. */
  283. NIMRemoteErrorCodeTeamInvaildType = 805,
  284. /**
  285. * 超出群个数限制
  286. */
  287. NIMRemoteErrorCodeTeamCountLimit = 806,
  288. /**
  289. * 已经在群里
  290. */
  291. NIMRemoteErrorCodeTeamAlreadyIn = 809,
  292. /**
  293. * 不是群成员
  294. */
  295. NIMRemoteErrorCodeTeamNotMember = 810,
  296. /**
  297. * 在群黑名单中
  298. */
  299. NIMRemoteErrorCodeTeamBlackList = 812,
  300. /**
  301. * 请求群信息列表部分成功
  302. */
  303. NIMRemoteErrorCodeTeamsPartialSuccess = 816,
  304. /**
  305. * 解包错误
  306. */
  307. NIMRemoteErrorCodeEUnpacket = 998,
  308. /**
  309. * 打包错误
  310. */
  311. NIMRemoteErrorCodeEPacket = 999,
  312. /**
  313. * 在对方的黑名单中
  314. */
  315. NIMRemoteErrorCodeInBlackList = 7101,
  316. /**
  317. * 聊天室状态异常
  318. */
  319. NIMRemoteErrorCodeInvalidChatroom = 13002,
  320. /**
  321. * 账号在黑名单中,不允许进入聊天室
  322. */
  323. NIMRemoteErrorCodeInChatroomBlackList = 13003,
  324. /**
  325. * 在禁言列表中,不允许发言
  326. */
  327. NIMRemoteErrorCodeInChatroomMuteList = 13004,
  328. /**
  329. * 聊天室处于整体禁言状态,只有管理员能发言
  330. */
  331. NIMRemoteErrorCodeInChatroomAllMute = 13006,
  332. /**
  333. * 通用音视频协议:对方云信不在线
  334. */
  335. NIMRemoteErrorCodeSignalResPeerNIMOffline = 10201,
  336. /**
  337. * 通用音视频协议:对方推送亦不可达
  338. */
  339. NIMRemoteErrorCodeSignalResPeerPushOffline = 10202,
  340. /**
  341. * 通用音视频协议:房间不存在
  342. */
  343. NIMRemoteErrorCodeSignalResRoomNotExists = 10404,
  344. /**
  345. * 通用音视频协议:房间已存在
  346. */
  347. NIMRemoteErrorCodeSignalResRoomHasExists = 10405,
  348. /**
  349. * 通用音视频协议:不在房间内
  350. */
  351. NIMRemoteErrorCodeSignalResRoomMemberNotExists = 10406,
  352. /**
  353. * 通用音视频协议:已经在房间内
  354. */
  355. NIMRemoteErrorCodeSignalResRoomMemberHasExists = 10407,
  356. /**
  357. * 通用音视频协议:邀请不存在或已过期
  358. */
  359. NIMRemoteErrorCodeSignalResInviteNotExists = 10408,
  360. /**
  361. * 通用音视频协议:邀请已经拒绝
  362. */
  363. NIMRemoteErrorCodeSignalResInviteHasReject = 10409,
  364. /**
  365. * 通用音视频协议:邀请已经接受了
  366. */
  367. NIMRemoteErrorCodeSignalResInviteHasAccept = 10410,
  368. /**
  369. * 通用音视频协议:uid冲突
  370. */
  371. NIMRemoteErrorCodeSignalResUidConflict = 10417,
  372. /**
  373. * 通用音视频协议:房间人数超限
  374. */
  375. NIMRemoteErrorCodeSignalResRoomMemberExceed = 10419,
  376. };
  377. /**
  378. * 用户资料场景(头像等)
  379. */
  380. extern NSString *const NIMNOSSceneTypeAvatar;
  381. /**
  382. * IM 消息 (图片,文件,音频,视频消息发送)
  383. */
  384. extern NSString *const NIMNOSSceneTypeMessage;
  385. /**
  386. * 用户资料场景(下载权限)
  387. */
  388. extern NSString *const NIMNOSSceneTypeSecurity;
  389. #endif