index.js 51 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465
  1. /*
  2. * RCIMLibUni - v5.1.3-release.4
  3. * CommitId - 683537a92582a32f4686f41774947782dc7ff16e
  4. * Wed Jan 19 2022 15:01:35 GMT+0800 (中国标准时间)
  5. * ©2020 RongCloud, Inc. All rights reserved.
  6. */
  7. 'use strict';
  8. Object.defineProperty(exports, '__esModule', { value: true });
  9. /**
  10. * 消息方向
  11. */
  12. exports.MessageDirection = void 0;
  13. (function (MessageDirection) {
  14. MessageDirection[MessageDirection["SEND"] = 1] = "SEND";
  15. MessageDirection[MessageDirection["RECEIVE"] = 2] = "RECEIVE";
  16. })(exports.MessageDirection || (exports.MessageDirection = {}));
  17. /**
  18. * 会话类型
  19. */
  20. exports.ConversationType = void 0;
  21. (function (ConversationType) {
  22. ConversationType[ConversationType["PRIVATE"] = 1] = "PRIVATE";
  23. ConversationType[ConversationType["DISCUSSION"] = 2] = "DISCUSSION";
  24. ConversationType[ConversationType["GROUP"] = 3] = "GROUP";
  25. ConversationType[ConversationType["CHATROOM"] = 4] = "CHATROOM";
  26. ConversationType[ConversationType["CUSTOMER_SERVICE"] = 5] = "CUSTOMER_SERVICE";
  27. ConversationType[ConversationType["SYSTEM"] = 6] = "SYSTEM";
  28. ConversationType[ConversationType["APP_SERVICE"] = 7] = "APP_SERVICE";
  29. ConversationType[ConversationType["PUBLIC_SERVICE"] = 8] = "PUBLIC_SERVICE";
  30. ConversationType[ConversationType["PUSH_SERVICE"] = 9] = "PUSH_SERVICE";
  31. })(exports.ConversationType || (exports.ConversationType = {}));
  32. /**
  33. * 发送状态
  34. */
  35. exports.SentStatus = void 0;
  36. (function (SentStatus) {
  37. SentStatus[SentStatus["SENDING"] = 10] = "SENDING";
  38. SentStatus[SentStatus["FAILED"] = 20] = "FAILED";
  39. SentStatus[SentStatus["SENT"] = 30] = "SENT";
  40. SentStatus[SentStatus["RECEIVED"] = 40] = "RECEIVED";
  41. SentStatus[SentStatus["READ"] = 50] = "READ";
  42. SentStatus[SentStatus["DESTROYED"] = 60] = "DESTROYED";
  43. SentStatus[SentStatus["CANCELED"] = 70] = "CANCELED";
  44. })(exports.SentStatus || (exports.SentStatus = {}));
  45. /**
  46. * 消息提醒类型
  47. */
  48. exports.MentionedType = void 0;
  49. (function (MentionedType) {
  50. /**
  51. * 提醒所有
  52. */
  53. MentionedType[MentionedType["ALL"] = 1] = "ALL";
  54. /**
  55. * 部分提醒
  56. */
  57. MentionedType[MentionedType["PART"] = 2] = "PART";
  58. })(exports.MentionedType || (exports.MentionedType = {}));
  59. /**
  60. * 消息对象名称
  61. */
  62. exports.ObjectName = void 0;
  63. (function (ObjectName) {
  64. /**
  65. * 文本消息
  66. */
  67. ObjectName["Text"] = "RC:TxtMsg";
  68. /**
  69. * 文件消息
  70. */
  71. ObjectName["File"] = "RC:FileMsg";
  72. /**
  73. * 图片消息
  74. */
  75. ObjectName["Image"] = "RC:ImgMsg";
  76. /**
  77. * GIF 图片消息
  78. */
  79. ObjectName["GIF"] = "RC:GIFMsg";
  80. /**
  81. * 位置信息
  82. */
  83. ObjectName["Location"] = "RC:LBSMsg";
  84. /**
  85. * 语音消息
  86. */
  87. ObjectName["Voice"] = "RC:VcMsg";
  88. /**
  89. * 高质量语音消息
  90. */
  91. ObjectName["HQVoice"] = "RC:HQVCMsg";
  92. /**
  93. * 小视频消息
  94. */
  95. ObjectName["Sight"] = "RC:SightMsg";
  96. /**
  97. * 命令消息
  98. */
  99. ObjectName["Command"] = "RC:CmdMsg";
  100. /**
  101. * 公众服务单图文消息
  102. */
  103. ObjectName["PublicServiceRich"] = "RC:PSImgTxtMsg";
  104. /**
  105. * 公众服务多图文消息
  106. */
  107. ObjectName["PublicServiceMultiRich"] = "RC:PSMultiImgTxtMsg";
  108. /**
  109. * 好友通知消息
  110. */
  111. ObjectName["ContactNotification"] = "RC:ContactNtf";
  112. /**
  113. * 资料通知消息
  114. */
  115. ObjectName["ProfileNotification"] = "RC:ProfileNtf";
  116. /**
  117. * 通用命令通知消息
  118. */
  119. ObjectName["CommandNotification"] = "RC:CmdNtf";
  120. /**
  121. * 提示条通知消息
  122. */
  123. ObjectName["InformationNotification"] = "RC:InfoNtf";
  124. /**
  125. * 群组通知消息
  126. */
  127. ObjectName["GroupNotification"] = "RC:GrpNtf";
  128. /**
  129. * 已读通知消息
  130. */
  131. ObjectName["ReadReceipt"] = "RC:ReadNtf";
  132. /**
  133. * 公众服务命令消息
  134. */
  135. ObjectName["PublicServiceCommand"] = "RC:PSCmd";
  136. /**
  137. * 对方正在输入状态消息
  138. */
  139. ObjectName["TypingStatus"] = "RC:TypSts";
  140. /**
  141. * 群消息已读状态回执
  142. */
  143. ObjectName["ReadReceiptResponse"] = "RC:RRRspMsg";
  144. })(exports.ObjectName || (exports.ObjectName = {}));
  145. /**
  146. * 自定义消息类型
  147. */
  148. exports.CustomMessageType = void 0;
  149. (function (CustomMessageType) {
  150. /**
  151. * 命令消息,不存储、不计入未读计数
  152. */
  153. CustomMessageType[CustomMessageType["COMMAND"] = 0] = "COMMAND";
  154. /**
  155. * 存储消息,存储、不计入未读计数
  156. */
  157. CustomMessageType[CustomMessageType["STORAGE"] = 1] = "STORAGE";
  158. /**
  159. * 普通消息,存储、计入未读计数
  160. */
  161. CustomMessageType[CustomMessageType["NORMAL"] = 2] = "NORMAL";
  162. /**
  163. * 状态消息,不存储不计数
  164. */
  165. CustomMessageType[CustomMessageType["STATUS"] = 3] = "STATUS";
  166. })(exports.CustomMessageType || (exports.CustomMessageType = {}));
  167. /**
  168. * 消息对象名称枚举
  169. */
  170. exports.MessageObjectNames = void 0;
  171. (function (MessageObjectNames) {
  172. MessageObjectNames["text"] = "RC:TxtMsg";
  173. MessageObjectNames["image"] = "RC:ImgMsg";
  174. MessageObjectNames["file"] = "RC:FileMsg";
  175. MessageObjectNames["location"] = "RC:LocMsg";
  176. MessageObjectNames["voice"] = "RC:VcMsg";
  177. })(exports.MessageObjectNames || (exports.MessageObjectNames = {}));
  178. /**
  179. * 连接错误代码
  180. */
  181. exports.ConnectErrorCode = void 0;
  182. (function (ConnectErrorCode) {
  183. ConnectErrorCode[ConnectErrorCode["RC_SUCCESS"] = 0] = "RC_SUCCESS";
  184. ConnectErrorCode[ConnectErrorCode["RC_NET_CHANNEL_INVALID"] = 30001] = "RC_NET_CHANNEL_INVALID";
  185. ConnectErrorCode[ConnectErrorCode["RC_NET_UNAVAILABLE"] = 30002] = "RC_NET_UNAVAILABLE";
  186. ConnectErrorCode[ConnectErrorCode["RC_NAVI_REQUEST_FAIL"] = 30004] = "RC_NAVI_REQUEST_FAIL";
  187. ConnectErrorCode[ConnectErrorCode["RC_NAVI_RESPONSE_ERROR"] = 30007] = "RC_NAVI_RESPONSE_ERROR";
  188. ConnectErrorCode[ConnectErrorCode["RC_NODE_NOT_FOUND"] = 30008] = "RC_NODE_NOT_FOUND";
  189. ConnectErrorCode[ConnectErrorCode["RC_SOCKET_NOT_CONNECTED"] = 30010] = "RC_SOCKET_NOT_CONNECTED";
  190. ConnectErrorCode[ConnectErrorCode["RC_SOCKET_DISCONNECTED"] = 30011] = "RC_SOCKET_DISCONNECTED";
  191. ConnectErrorCode[ConnectErrorCode["RC_PING_SEND_FAIL"] = 30012] = "RC_PING_SEND_FAIL";
  192. ConnectErrorCode[ConnectErrorCode["RC_PONG_RECV_FAIL"] = 30013] = "RC_PONG_RECV_FAIL";
  193. ConnectErrorCode[ConnectErrorCode["RC_MSG_SEND_FAIL"] = 30014] = "RC_MSG_SEND_FAIL";
  194. ConnectErrorCode[ConnectErrorCode["RC_CONN_OVERFREQUENCY"] = 30015] = "RC_CONN_OVERFREQUENCY";
  195. ConnectErrorCode[ConnectErrorCode["RC_CONN_ACK_TIMEOUT"] = 31000] = "RC_CONN_ACK_TIMEOUT";
  196. ConnectErrorCode[ConnectErrorCode["RC_CONN_PROTO_VERSION_ERROR"] = 31001] = "RC_CONN_PROTO_VERSION_ERROR";
  197. ConnectErrorCode[ConnectErrorCode["RC_CONN_ID_REJECT"] = 31002] = "RC_CONN_ID_REJECT";
  198. ConnectErrorCode[ConnectErrorCode["RC_CONN_SERVER_UNAVAILABLE"] = 31003] = "RC_CONN_SERVER_UNAVAILABLE";
  199. ConnectErrorCode[ConnectErrorCode["RC_CONN_TOKEN_INCORRECT"] = 31004] = "RC_CONN_TOKEN_INCORRECT";
  200. ConnectErrorCode[ConnectErrorCode["RC_CONN_NOT_AUTHRORIZED"] = 31005] = "RC_CONN_NOT_AUTHRORIZED";
  201. ConnectErrorCode[ConnectErrorCode["RC_CONN_REDIRECTED"] = 31006] = "RC_CONN_REDIRECTED";
  202. ConnectErrorCode[ConnectErrorCode["RC_CONN_PACKAGE_NAME_INVALID"] = 31007] = "RC_CONN_PACKAGE_NAME_INVALID";
  203. ConnectErrorCode[ConnectErrorCode["RC_CONN_APP_BLOCKED_OR_DELETED"] = 31008] = "RC_CONN_APP_BLOCKED_OR_DELETED";
  204. ConnectErrorCode[ConnectErrorCode["RC_CONN_USER_BLOCKED"] = 31009] = "RC_CONN_USER_BLOCKED";
  205. ConnectErrorCode[ConnectErrorCode["RC_DISCONN_KICK"] = 31010] = "RC_DISCONN_KICK";
  206. ConnectErrorCode[ConnectErrorCode["RC_CONN_OTHER_DEVICE_LOGIN"] = 31023] = "RC_CONN_OTHER_DEVICE_LOGIN";
  207. ConnectErrorCode[ConnectErrorCode["RC_CONN_REFUSED"] = 32061] = "RC_CONN_REFUSED";
  208. ConnectErrorCode[ConnectErrorCode["RC_CLIENT_NOT_INIT"] = 33001] = "RC_CLIENT_NOT_INIT";
  209. ConnectErrorCode[ConnectErrorCode["RC_INVALID_PARAMETER"] = 33003] = "RC_INVALID_PARAMETER";
  210. ConnectErrorCode[ConnectErrorCode["RC_CONNECTION_EXIST"] = 34001] = "RC_CONNECTION_EXIST";
  211. ConnectErrorCode[ConnectErrorCode["RC_BACKGROUND_CONNECT"] = 34002] = "RC_BACKGROUND_CONNECT";
  212. ConnectErrorCode[ConnectErrorCode["RC_INVALID_ARGUMENT"] = -1000] = "RC_INVALID_ARGUMENT";
  213. })(exports.ConnectErrorCode || (exports.ConnectErrorCode = {}));
  214. /**
  215. * 错误代码
  216. */
  217. exports.ErrorCode = void 0;
  218. (function (ErrorCode) {
  219. ErrorCode[ErrorCode["PARAMETER_ERROR"] = -3] = "PARAMETER_ERROR";
  220. ErrorCode[ErrorCode["ERRORCODE_UNKNOWN"] = -1] = "ERRORCODE_UNKNOWN";
  221. ErrorCode[ErrorCode["REJECTED_BY_BLACKLIST"] = 405] = "REJECTED_BY_BLACKLIST";
  222. ErrorCode[ErrorCode["ERRORCODE_TIMEOUT"] = 5004] = "ERRORCODE_TIMEOUT";
  223. ErrorCode[ErrorCode["SEND_MSG_FREQUENCY_OVERRUN"] = 20604] = "SEND_MSG_FREQUENCY_OVERRUN";
  224. ErrorCode[ErrorCode["NOT_IN_DISCUSSION"] = 21406] = "NOT_IN_DISCUSSION";
  225. ErrorCode[ErrorCode["NOT_IN_GROUP"] = 22406] = "NOT_IN_GROUP";
  226. ErrorCode[ErrorCode["FORBIDDEN_IN_GROUP"] = 22408] = "FORBIDDEN_IN_GROUP";
  227. ErrorCode[ErrorCode["NOT_IN_CHATROOM"] = 23406] = "NOT_IN_CHATROOM";
  228. ErrorCode[ErrorCode["FORBIDDEN_IN_CHATROOM"] = 23408] = "FORBIDDEN_IN_CHATROOM";
  229. ErrorCode[ErrorCode["KICKED_FROM_CHATROOM"] = 23409] = "KICKED_FROM_CHATROOM";
  230. ErrorCode[ErrorCode["CHATROOM_NOT_EXIST"] = 23410] = "CHATROOM_NOT_EXIST";
  231. ErrorCode[ErrorCode["CHATROOM_IS_FULL"] = 23411] = "CHATROOM_IS_FULL";
  232. ErrorCode[ErrorCode["PARAMETER_INVALID_CHATROOM"] = 23412] = "PARAMETER_INVALID_CHATROOM";
  233. ErrorCode[ErrorCode["ROAMING_SERVICE_UNAVAILABLE_CHATROOM"] = 23414] = "ROAMING_SERVICE_UNAVAILABLE_CHATROOM";
  234. ErrorCode[ErrorCode["CHANNEL_INVALID"] = 30001] = "CHANNEL_INVALID";
  235. ErrorCode[ErrorCode["NETWORK_UNAVAILABLE"] = 30002] = "NETWORK_UNAVAILABLE";
  236. ErrorCode[ErrorCode["MSG_RESPONSE_TIMEOUT"] = 30003] = "MSG_RESPONSE_TIMEOUT";
  237. ErrorCode[ErrorCode["CLIENT_NOT_INIT"] = 33001] = "CLIENT_NOT_INIT";
  238. ErrorCode[ErrorCode["DATABASE_ERROR"] = 33002] = "DATABASE_ERROR";
  239. ErrorCode[ErrorCode["INVALID_PARAMETER"] = 33003] = "INVALID_PARAMETER";
  240. ErrorCode[ErrorCode["MSG_ROAMING_SERVICE_UNAVAILABLE"] = 33007] = "MSG_ROAMING_SERVICE_UNAVAILABLE";
  241. ErrorCode[ErrorCode["INVALID_PUBLIC_NUMBER"] = 29201] = "INVALID_PUBLIC_NUMBER";
  242. ErrorCode[ErrorCode["MSG_SIZE_OUT_OF_LIMIT"] = 30016] = "MSG_SIZE_OUT_OF_LIMIT";
  243. ErrorCode[ErrorCode["RECALLMESSAGE_PARAMETER_INVALID"] = 25101] = "RECALLMESSAGE_PARAMETER_INVALID";
  244. ErrorCode[ErrorCode["PUSHSETTING_PARAMETER_INVALID"] = 26001] = "PUSHSETTING_PARAMETER_INVALID";
  245. ErrorCode[ErrorCode["OPERATION_BLOCKED"] = 20605] = "OPERATION_BLOCKED";
  246. ErrorCode[ErrorCode["OPERATION_NOT_SUPPORT"] = 20606] = "OPERATION_NOT_SUPPORT";
  247. ErrorCode[ErrorCode["MSG_BLOCKED_SENSITIVE_WORD"] = 21501] = "MSG_BLOCKED_SENSITIVE_WORD";
  248. ErrorCode[ErrorCode["MSG_REPLACED_SENSITIVE_WORD"] = 21502] = "MSG_REPLACED_SENSITIVE_WORD";
  249. ErrorCode[ErrorCode["SIGHT_MSG_DURATION_LIMIT_EXCEED"] = 34002] = "SIGHT_MSG_DURATION_LIMIT_EXCEED";
  250. })(exports.ErrorCode || (exports.ErrorCode = {}));
  251. /**
  252. * iOS 连接状态
  253. */
  254. exports.ConnectionStatusIOS = void 0;
  255. (function (ConnectionStatusIOS) {
  256. ConnectionStatusIOS[ConnectionStatusIOS["UNKNOWN"] = -1] = "UNKNOWN";
  257. ConnectionStatusIOS[ConnectionStatusIOS["Connected"] = 0] = "Connected";
  258. ConnectionStatusIOS[ConnectionStatusIOS["NETWORK_UNAVAILABLE"] = 1] = "NETWORK_UNAVAILABLE";
  259. ConnectionStatusIOS[ConnectionStatusIOS["AIRPLANE_MODE"] = 2] = "AIRPLANE_MODE";
  260. ConnectionStatusIOS[ConnectionStatusIOS["Cellular_2G"] = 3] = "Cellular_2G";
  261. ConnectionStatusIOS[ConnectionStatusIOS["Cellular_3G_4G"] = 4] = "Cellular_3G_4G";
  262. ConnectionStatusIOS[ConnectionStatusIOS["WIFI"] = 5] = "WIFI";
  263. ConnectionStatusIOS[ConnectionStatusIOS["KICKED_OFFLINE_BY_OTHER_CLIENT"] = 6] = "KICKED_OFFLINE_BY_OTHER_CLIENT";
  264. ConnectionStatusIOS[ConnectionStatusIOS["LOGIN_ON_WEB"] = 7] = "LOGIN_ON_WEB";
  265. ConnectionStatusIOS[ConnectionStatusIOS["SERVER_INVALID"] = 8] = "SERVER_INVALID";
  266. ConnectionStatusIOS[ConnectionStatusIOS["VALIDATE_INVALID"] = 9] = "VALIDATE_INVALID";
  267. ConnectionStatusIOS[ConnectionStatusIOS["Connecting"] = 10] = "Connecting";
  268. ConnectionStatusIOS[ConnectionStatusIOS["Unconnected"] = 11] = "Unconnected";
  269. ConnectionStatusIOS[ConnectionStatusIOS["SignUp"] = 12] = "SignUp";
  270. ConnectionStatusIOS[ConnectionStatusIOS["TOKEN_INCORRECT"] = 31004] = "TOKEN_INCORRECT";
  271. ConnectionStatusIOS[ConnectionStatusIOS["DISCONN_EXCEPTION"] = 31011] = "DISCONN_EXCEPTION";
  272. })(exports.ConnectionStatusIOS || (exports.ConnectionStatusIOS = {}));
  273. /**
  274. * Android 连接状态
  275. */
  276. exports.ConnectionStatusAndroid = void 0;
  277. (function (ConnectionStatusAndroid) {
  278. ConnectionStatusAndroid[ConnectionStatusAndroid["NETWORK_UNAVAILABLE"] = -1] = "NETWORK_UNAVAILABLE";
  279. ConnectionStatusAndroid[ConnectionStatusAndroid["CONNECTED"] = 0] = "CONNECTED";
  280. ConnectionStatusAndroid[ConnectionStatusAndroid["CONNECTING"] = 1] = "CONNECTING";
  281. ConnectionStatusAndroid[ConnectionStatusAndroid["DISCONNECTED"] = 2] = "DISCONNECTED";
  282. ConnectionStatusAndroid[ConnectionStatusAndroid["KICKED_OFFLINE_BY_OTHER_CLIENT"] = 3] = "KICKED_OFFLINE_BY_OTHER_CLIENT";
  283. ConnectionStatusAndroid[ConnectionStatusAndroid["TOKEN_INCORRECT"] = 4] = "TOKEN_INCORRECT";
  284. ConnectionStatusAndroid[ConnectionStatusAndroid["SERVER_INVALID"] = 5] = "SERVER_INVALID";
  285. })(exports.ConnectionStatusAndroid || (exports.ConnectionStatusAndroid = {}));
  286. exports.ResponseType = void 0;
  287. (function (ResponseType) {
  288. ResponseType["SUCCESS"] = "success";
  289. ResponseType["ERROR"] = "error";
  290. ResponseType["CANCEL"] = "cancel";
  291. ResponseType["PROGRESS"] = "progress";
  292. })(exports.ResponseType || (exports.ResponseType = {}));
  293. /**
  294. * 搜索类型
  295. */
  296. exports.SearchType = void 0;
  297. (function (SearchType) {
  298. /**
  299. * 精准
  300. */
  301. SearchType[SearchType["EXACT"] = 0] = "EXACT";
  302. /**
  303. * 模糊
  304. */
  305. SearchType[SearchType["FUZZY"] = 1] = "FUZZY";
  306. })(exports.SearchType || (exports.SearchType = {}));
  307. /**
  308. * 公共服务类型
  309. */
  310. exports.PublicServiceType = void 0;
  311. (function (PublicServiceType) {
  312. /**
  313. * 应用公众服务
  314. */
  315. PublicServiceType[PublicServiceType["APP_PUBLIC_SERVICE"] = 7] = "APP_PUBLIC_SERVICE";
  316. /**
  317. * 公共服务号
  318. */
  319. PublicServiceType[PublicServiceType["PUBLIC_SERVICE"] = 8] = "PUBLIC_SERVICE";
  320. })(exports.PublicServiceType || (exports.PublicServiceType = {}));
  321. /**
  322. * 公众服务菜单类型
  323. */
  324. exports.PublicServiceMenuItemType = void 0;
  325. (function (PublicServiceMenuItemType) {
  326. /**
  327. * 作为分组包含子菜单的菜单
  328. */
  329. PublicServiceMenuItemType[PublicServiceMenuItemType["GROUP"] = 0] = "GROUP";
  330. /**
  331. * 查看事件菜单
  332. */
  333. PublicServiceMenuItemType[PublicServiceMenuItemType["VIEW"] = 1] = "VIEW";
  334. /**
  335. * 点击事件菜单
  336. */
  337. PublicServiceMenuItemType[PublicServiceMenuItemType["CLICK"] = 2] = "CLICK";
  338. })(exports.PublicServiceMenuItemType || (exports.PublicServiceMenuItemType = {}));
  339. /**
  340. * 时间戳排序方式
  341. */
  342. exports.TimestampOrder = void 0;
  343. (function (TimestampOrder) {
  344. /**
  345. * 按时间戳倒序排序
  346. */
  347. TimestampOrder[TimestampOrder["DESC"] = 0] = "DESC";
  348. /**
  349. * 按时间戳顺序排序
  350. */
  351. TimestampOrder[TimestampOrder["ASC"] = 1] = "ASC";
  352. })(exports.TimestampOrder || (exports.TimestampOrder = {}));
  353. /**
  354. * 聊天室成员排序,按加入时间
  355. */
  356. exports.ChatRoomMemberOrder = void 0;
  357. (function (ChatRoomMemberOrder) {
  358. /**
  359. * 生序
  360. */
  361. ChatRoomMemberOrder[ChatRoomMemberOrder["ASC"] = 1] = "ASC";
  362. /**
  363. * 降序
  364. */
  365. ChatRoomMemberOrder[ChatRoomMemberOrder["DESC"] = 2] = "DESC";
  366. })(exports.ChatRoomMemberOrder || (exports.ChatRoomMemberOrder = {}));
  367. /**
  368. * 实时位置共享状态
  369. */
  370. exports.RealTimeLocationStatus = void 0;
  371. (function (RealTimeLocationStatus) {
  372. /**
  373. * 初始状态
  374. */
  375. RealTimeLocationStatus[RealTimeLocationStatus["IDLE"] = 0] = "IDLE";
  376. /**
  377. * 接收状态
  378. */
  379. RealTimeLocationStatus[RealTimeLocationStatus["INCOMING"] = 1] = "INCOMING";
  380. /**
  381. * 发起状态
  382. */
  383. RealTimeLocationStatus[RealTimeLocationStatus["OUTGOING"] = 2] = "OUTGOING";
  384. /**
  385. * 已连接,正在共享的状态
  386. */
  387. RealTimeLocationStatus[RealTimeLocationStatus["CONNECTED"] = 3] = "CONNECTED";
  388. })(exports.RealTimeLocationStatus || (exports.RealTimeLocationStatus = {}));
  389. /**
  390. * 推送语言
  391. */
  392. exports.PushLanguage = void 0;
  393. (function (PushLanguage) {
  394. PushLanguage["EN_US"] = "en_US";
  395. PushLanguage["ZH_CN"] = "zh_CN";
  396. PushLanguage["AR_SA"] = "ar_SA";
  397. })(exports.PushLanguage || (exports.PushLanguage = {}));
  398. let RCIMClient = uni.requireNativePlugin('RongCloud-IM-RCUniIM');
  399. /**
  400. * 初始化 SDK,只需要调用一次
  401. *
  402. * @param appKey 从融云开发者平台创建应用后获取到的 App Key
  403. */
  404. function init(appKey) {
  405. RCIMClient.init(appKey);
  406. }
  407. /**
  408. * 初始化 SDK,只需要调用一次
  409. * @param appKey 从融云开发者平台创建应用后获取到的 App Key
  410. * @param engineSetup 引擎初始化配置参数
  411. */
  412. function initWithSetup(appKey, engineSetup) {
  413. RCIMClient.initWithSetup(appKey, engineSetup);
  414. }
  415. /**
  416. * 连接融云服务器,只需要调用一次
  417. *
  418. * 在 App 整个生命周期,您只需要调用一次此方法与融云服务器建立连接。
  419. * 之后无论是网络出现异常或者App有前后台的切换等,SDK都会负责自动重连。
  420. * 除非您已经手动将连接断开,否则您不需要自己再手动重连。
  421. *
  422. * @param token 从服务端获取的用户身份令牌(Token)
  423. * @param callback 回调函数
  424. */
  425. function connect(token, callback) {
  426. RCIMClient.connect(token, callback);
  427. }
  428. /**
  429. * 断开与融云服务器的连接
  430. *
  431. * @param isReceivePush 是否还接收推送
  432. */
  433. function disconnect(isReceivePush = true) {
  434. RCIMClient.disconnect(isReceivePush);
  435. }
  436. /**
  437. * 添加连接状态监听函数
  438. *
  439. * @param listener 回调函数
  440. */
  441. function addConnectionStatusListener(listener) {
  442. RCIMClient.addEventListener("rcimlib-connection-status", listener);
  443. }
  444. /**
  445. * 清除连接状态监听函数
  446. *
  447. */
  448. function clearConnectionStatusListener() {
  449. RCIMClient.removeAllEventListeners("rcimlib-connection-status");
  450. }
  451. /**
  452. * 添加日志信息监听函数
  453. *
  454. * @param listener
  455. */
  456. function addLogInfoListener(listener) {
  457. RCIMClient.addEventListener('rcimlib-log', listener);
  458. }
  459. /**
  460. * 清除日志信息监听函数
  461. *
  462. */
  463. function clearLogInfoListener() {
  464. RCIMClient.removeAllEventListeners('rcimlib-log');
  465. }
  466. /**
  467. * 添加消息撤回监听函数
  468. *
  469. * @param listener
  470. */
  471. function addRecallMessageListener(listener) {
  472. RCIMClient.addEventListener('rcimlib-recall', listener);
  473. }
  474. /**
  475. * 添加消息撤回监听函数
  476. *
  477. */
  478. function clearRecallMessageListener() {
  479. RCIMClient.removeAllEventListeners('rcimlib-recall');
  480. }
  481. /**
  482. * 添加消息监听函数
  483. *
  484. * @param listener
  485. */
  486. function addReceiveMessageListener(listener) {
  487. RCIMClient.addEventListener('rcimlib-receive-message', listener);
  488. }
  489. /**
  490. * 清除消息监听函数
  491. *
  492. */
  493. function clearReceiveMessageListener() {
  494. RCIMClient.removeAllEventListeners('rcimlib-receive-message');
  495. }
  496. /**
  497. * 添加输入状态监听函数
  498. *
  499. * @param listener
  500. */
  501. function addTypingStatusListener(listener) {
  502. RCIMClient.addEventListener('rcimlib-typing-status', listener);
  503. }
  504. /**
  505. * 清除输入状态监听函数
  506. *
  507. */
  508. function clearTypingStatusListener() {
  509. RCIMClient.removeAllEventListeners('rcimlib-typing-status');
  510. }
  511. /**
  512. * 添加推送消息到达监听函数
  513. *
  514. * @param listener
  515. */
  516. // export function addPushArrivedListener (listener: (result: UniListenerResult<PushNotificationMessage>) => void) {
  517. // RCIMClient.addEventListener('rcimlib-push-arrived', listener)
  518. // }
  519. /**
  520. * 同步会话阅读状态
  521. *
  522. * @param conversationType 会话类型
  523. * @param targetId 目标 ID
  524. * @param timestamp 该会话中已读的最后一条消息的发送时间戳,必须是有效的时间戳
  525. * @param callback 回调函数
  526. */
  527. function syncConversationReadStatus(conversationType, targetId, timestamp, callback) {
  528. RCIMClient.syncConversationReadStatus(conversationType, targetId, timestamp, callback);
  529. }
  530. /**
  531. * 设置 deviceToken,用于远程推送
  532. *
  533. * @param deviceToken 从系统获取到的设备号 deviceToken(需要去掉空格和尖括号)
  534. *
  535. * deviceToken是系统提供的,从苹果服务器获取的,用于APNs远程推送必须使用的设备唯一值。
  536. * 您需要将 `-application:didRegisterForRemoteNotificationsWithDeviceToken:`
  537. * 获取到的deviceToken,转为NSString类型,并去掉其中的空格和尖括号,作为参数传入此方法。
  538. */
  539. // export function setDeviceToken (deviceToken: string) {
  540. // RCIMClient.setDeviceToken(deviceToken)
  541. // }
  542. /**
  543. * 设置导航服务器和上传文件服务器信息,要在 [[init]] 前使用
  544. *
  545. * @param naviServer 导航服务器地址
  546. * @param fileServer 文件服务器地址
  547. */
  548. function setServerInfo(naviServer, fileServer) {
  549. RCIMClient.setServerInfo(naviServer, fileServer);
  550. }
  551. /**
  552. * 设置统计服务地址
  553. *
  554. * 配置数据上传地址 (非必须) 通过配置该地址,SDK
  555. * 会在初始化时把设备相关信息上传到私有云节点。
  556. * 影响到的功能是开发者后台的广播推送功能,如果私有云客户没有配置该地址,那从后台发推送时,客户端是收不到的。
  557. * 普通的 IM 推送不受影响。设置数据上传服务器地址。
  558. * 可以支持设置 http://cn.xxx.com 或者 https://cn.xxx.com 或者 cn.xxx.com
  559. * 如果设置成 cn.xxx.com,sdk 会组装成并仅支持 http:// 协议格式。
  560. *
  561. * @param server 服务地址
  562. */
  563. function setStatisticServer(server) {
  564. RCIMClient.setStatisticServer(server);
  565. }
  566. /**
  567. * 获取当前连接状态
  568. *
  569. * @param callback 回调函数
  570. */
  571. function getConnectionStatus(callback) {
  572. RCIMClient.getConnectionStatus(callback);
  573. }
  574. const RCSendMessageEventMap = {};
  575. let isInitSendMediaMessage = false;
  576. const initSendMediaMessage = function () {
  577. RCIMClient.addEventListener('rcimlib-send-message', (res) => {
  578. const data = res.data;
  579. const callback = RCSendMessageEventMap[data.eventId];
  580. if (callback) {
  581. const { success, error, cancel, progress } = callback;
  582. if (data.type === exports.ResponseType.SUCCESS) {
  583. success && success(data.messageId);
  584. delete RCSendMessageEventMap[data.eventId];
  585. }
  586. else if (data.type === exports.ResponseType.ERROR) {
  587. error && error(data.errorCode, data.messageId);
  588. delete RCSendMessageEventMap[data.eventId];
  589. }
  590. else if (data.type === exports.ResponseType.CANCEL) {
  591. cancel && cancel(data.messageId);
  592. delete RCSendMessageEventMap[data.eventId];
  593. }
  594. else if (data.type === exports.ResponseType.PROGRESS) {
  595. progress && progress(data.progress, data.messageId);
  596. }
  597. }
  598. });
  599. };
  600. function handleSendMessageCallback(callback) {
  601. const eventId = Date.now() + Math.floor((Math.random() * 100000)).toString();
  602. if (callback) {
  603. RCSendMessageEventMap[eventId] = callback;
  604. }
  605. return eventId;
  606. }
  607. /**
  608. * 发送消息
  609. *
  610. * @param message 消息
  611. * @param callback 回调函数
  612. */
  613. function sendMessage(message, callback) {
  614. RCIMClient.sendMessage(message, callback);
  615. }
  616. /**
  617. * 发送媒体消息
  618. *
  619. * @param message 消息
  620. * @param callback 回调函数
  621. */
  622. function sendMediaMessage(message, callback = {}) {
  623. if (!isInitSendMediaMessage) {
  624. initSendMediaMessage();
  625. isInitSendMediaMessage = true;
  626. }
  627. RCIMClient.sendMediaMessage(message, handleSendMessageCallback(callback));
  628. }
  629. /**
  630. * 发送定向消息
  631. *
  632. * @param message 消息
  633. * @param userIdList 用户 ID 列表
  634. * @param callback 回调函数
  635. */
  636. function sendDirectionalMessage(message, userIdList, callback) {
  637. RCIMClient.sendDirectionalMessage(message, userIdList, callback);
  638. }
  639. /**
  640. * 消息撤回
  641. *
  642. * @param messageId 消息 ID
  643. * @param pushContent 推送内容
  644. * @param callback 回调函数
  645. */
  646. function recallMessage(messageId, pushContent = '', callback) {
  647. RCIMClient.recallMessage(messageId, pushContent, callback);
  648. }
  649. /**
  650. * 发送输入状态
  651. *
  652. * @param conversationType 会话类型
  653. * @param targetId 目标 ID
  654. * @param typingContentType 输入内容类型
  655. */
  656. function sendTypingStatus(conversationType, targetId, typingContentType) {
  657. RCIMClient.sendTypingStatus(conversationType, targetId, typingContentType);
  658. }
  659. /**
  660. * 设置消息发送状态
  661. *
  662. * @param messageId 消息 ID
  663. * @param status 状态
  664. * @param callback 回调函数
  665. */
  666. function setMessageSentStatus(messageId, status, callback) {
  667. return RCIMClient.setMessageSentStatus(messageId, status, callback);
  668. }
  669. /**
  670. * 设置消息接收状态
  671. *
  672. * @param messageId 消息 ID
  673. * @param status 状态
  674. * @param callback 回调函数
  675. */
  676. function setMessageReceivedStatus(messageId, status, callback) {
  677. return RCIMClient.setMessageReceivedStatus(messageId, status, callback);
  678. }
  679. /**
  680. * 获取屏蔽消息提醒的会话列表
  681. *
  682. * @param conversationTypeList 消息类型列表会话类型
  683. * @param callback 回调函数
  684. */
  685. function getBlockedConversationList(conversationTypeList, callback) {
  686. RCIMClient.getBlockedConversationList(conversationTypeList, callback);
  687. }
  688. /**
  689. * 发送阅读回执
  690. *
  691. * @param conversationType 会话类型
  692. * @param targetId 目标 ID
  693. * @param timestamp 该会话中已阅读点最后一条消息的发送时间戳
  694. */
  695. function sendReadReceiptMessage(conversationType, targetId, timestamp) {
  696. RCIMClient.sendReadReceiptMessage(conversationType, targetId, timestamp);
  697. }
  698. /**
  699. * 发起群组消息回执请求
  700. *
  701. * @param messageId 消息 ID
  702. * @param callback 回调函数
  703. */
  704. function sendReadReceiptRequest(messageId, callback) {
  705. RCIMClient.sendReadReceiptRequest(messageId, callback);
  706. }
  707. /**
  708. * 发起群组消息回执响应
  709. *
  710. * @param conversationType 会话类型
  711. * @param targetId 会话 ID
  712. * @param messages 回执的消息列表
  713. * @param callback 回调函数
  714. */
  715. function sendReadReceiptResponse(conversationType, targetId, messages, callback) {
  716. RCIMClient.sendReadReceiptResponse(conversationType, targetId, messages, callback);
  717. }
  718. /**
  719. * 添加私聊阅读回执监听函数
  720. */
  721. function addReadReceiptReceivedListener(listener) {
  722. RCIMClient.addEventListener('rcimlib-read-receipt-received', listener);
  723. }
  724. /**
  725. * 清除私聊阅读回执监听函数
  726. */
  727. function clearReadReceiptReceivedListener() {
  728. RCIMClient.removeAllEventListeners('rcimlib-read-receipt-received');
  729. }
  730. /**
  731. * 添加收到消息已读回执请求监听函数
  732. *
  733. * 收到此请求后,如果用户阅读了对应的消息,需要调用
  734. * sendMessageReadReceiptResponse 接口发送已读响应
  735. */
  736. function addReceiptRequestListener(listener) {
  737. RCIMClient.addEventListener('rcimlib-receipt-request', listener);
  738. }
  739. /**
  740. * 清除收到消息已读回执请求监听函数
  741. *
  742. */
  743. function clearReceiptRequestListener() {
  744. RCIMClient.removeAllEventListeners('rcimlib-receipt-request');
  745. }
  746. /**
  747. * 添加消息回执响应监听函数
  748. *
  749. * @param listener
  750. */
  751. function addReceiptResponseListener(listener) {
  752. RCIMClient.addEventListener('rcimlib-receipt-response', listener);
  753. }
  754. /**
  755. * 添加消息回执响应监听函数
  756. *
  757. */
  758. function clearReceiptResponseListener() {
  759. RCIMClient.removeAllEventListeners('rcimlib-receipt-response');
  760. }
  761. /**
  762. * 取消发送中的媒体消息
  763. *
  764. * @param messageId 消息 ID
  765. * @param callback 回调函数
  766. */
  767. function cancelSendMediaMessage(messageId, callback) {
  768. RCIMClient.cancelSendMediaMessage(messageId, callback);
  769. }
  770. /**
  771. * 取消下载中的媒体消息
  772. *
  773. * @param messageId 消息 ID
  774. * @param callback 回调函数
  775. */
  776. function cancelDownloadMediaMessage(messageId, callback) {
  777. RCIMClient.cancelDownloadMediaMessage(messageId, callback);
  778. }
  779. const RCDownMessageEventMap = {};
  780. let isInitDownMediaListener = false;
  781. const initDownMediaListener = function () {
  782. RCIMClient.addEventListener('rcimlib-download-media-message', (res) => {
  783. console.log('下载媒体消息回调', res.data.eventId);
  784. const data = res.data;
  785. const callback = RCDownMessageEventMap[data.eventId];
  786. if (callback) {
  787. const { success, error, cancel, progress } = callback;
  788. if (data.type === 'success') {
  789. success && success(data.path);
  790. delete RCDownMessageEventMap[data.eventId];
  791. }
  792. else if (data.type === 'error') {
  793. error && error(data.errorCode);
  794. delete RCDownMessageEventMap[data.eventId];
  795. }
  796. else if (data.type === 'progress') {
  797. progress && progress(data.progress);
  798. }
  799. else if (data.type === 'cancel') {
  800. cancel && cancel();
  801. }
  802. }
  803. });
  804. };
  805. function handleDownMessageCallback(callback) {
  806. const eventId = Date.now() + Math.floor((Math.random() * 100000)).toString();
  807. if (callback) {
  808. RCDownMessageEventMap[eventId] = callback;
  809. }
  810. return eventId;
  811. }
  812. /**
  813. * 下载媒体消息
  814. *
  815. * @param messageId 消息 ID
  816. * @param callback 回调
  817. */
  818. function downloadMediaMessage(messageId, callback = {}) {
  819. if (!isInitDownMediaListener) {
  820. initDownMediaListener();
  821. isInitDownMediaListener = true;
  822. }
  823. RCIMClient.downloadMediaMessage(messageId, handleDownMessageCallback(callback));
  824. }
  825. /**
  826. * 设置断线重连时是否踢出重连设备
  827. *
  828. * 用户没有开通多设备登录功能的前提下,同一个账号在一台新设备上登录的时候,会把这个账号在之前登录的设备上踢出。
  829. * 由于 SDK 有断线重连功能,存在下面情况。 用户在 A 设备登录,A
  830. * 设备网络不稳定,没有连接成功,SDK 启动重连机制。 用户此时又在 B 设备登录,B
  831. * 设备连接成功。 A 设备网络稳定之后,用户在 A 设备连接成功,B 设备被踢出。
  832. * 这个接口就是为这种情况加的。 设置 enable 为 true 时,SDK
  833. * 重连的时候发现此时已有别的设备连接成功,不再强行踢出已有设备,而是踢出重连设备。
  834. *
  835. * @param enabled 是否踢出重连设备
  836. */
  837. function setReconnectKickEnable(enabled) {
  838. RCIMClient.setReconnectKickEnable(enabled);
  839. }
  840. /**
  841. * 获取历史消息
  842. *
  843. * 此方法会获取该会话中,baseMessageId 之前或之后的、指定数量、消息类型和查询方向的最新消息实体,返回的消息实体按照时间从新到旧排列。
  844. * 返回的消息中不包含 baseMessageId 对应的那条消息,如果会话中的消息数量小于参数 count 的值,会将该会话中的所有消息返回。
  845. *
  846. * @param conversationType 会话类型
  847. * @param targetId 目标 ID
  848. * @param objectName 消息对象名称,可以用 MessageObjectNames 获取消息类型对应的对象名称, 传空字符串获取所有类型
  849. * @param baseMessageId 最近一条消息的 ID
  850. * @param count 数量
  851. * @param isForward 是否向前获取
  852. * @param callback 回调函数
  853. */
  854. function getHistoryMessages(conversationType, targetId, objectName = '', baseMessageId = -1, count = 10, isForward = true, callback) {
  855. RCIMClient.getHistoryMessages(conversationType, targetId, objectName, baseMessageId, count, isForward, callback);
  856. }
  857. /**
  858. * 通过时间戳获取历史消息
  859. *
  860. * @param conversationType 会话类型
  861. * @param targetId 目标 ID
  862. * @param objectName 消息对象名称,可以用 MessageObjectNames 获取消息类型对应的对象名称
  863. * @param timestamp 时间戳
  864. * @param count 数量
  865. * @param isForward 是否向前获取
  866. * @param callback 回调函数
  867. */
  868. function getHistoryMessagesByTimestamp(conversationType, targetId, objectNames, timestamp = 0, count = 10, isForward = true, callback) {
  869. RCIMClient.getHistoryMessagesByTimestamp(conversationType, targetId, objectNames, timestamp, count, isForward, callback);
  870. }
  871. /**
  872. * 向本地会话插入一条发送消息
  873. *
  874. * @param conversationType
  875. * @param targetId
  876. * @param sentStatus
  877. * @param messageContent
  878. * @param sentTime
  879. * @param callback 回调函数
  880. */
  881. function insertOutgoingMessage(conversationType, targetId, sentStatus, messageContent, sentTime = 0, callback) {
  882. return RCIMClient.insertOutgoingMessage(conversationType, targetId, sentStatus, messageContent, sentTime, callback);
  883. }
  884. /**
  885. * 向本地会话插入一条接收消息
  886. *
  887. * @param conversationType
  888. * @param targetId
  889. * @param senderUserId
  890. * @param receivedStatus
  891. * @param messageContent
  892. * @param sentTime
  893. * @param callback 回调函数
  894. */
  895. function insertIncomingMessage(conversationType, targetId, senderUserId, receivedStatus, messageContent, sentTime = 0, callback) {
  896. RCIMClient.insertIncomingMessage(conversationType, targetId, senderUserId, receivedStatus, messageContent, sentTime, callback);
  897. }
  898. /**
  899. * 清空某一会话的所有消息
  900. *
  901. * @param conversationType
  902. * @param targetId
  903. * @param callback 回调函数
  904. */
  905. function clearMessages(conversationType, targetId, callback) {
  906. RCIMClient.clearMessages(conversationType, targetId, callback);
  907. }
  908. /**
  909. * 根据消息 ID 删除消息
  910. *
  911. * @param ids 消息 ID 列表
  912. * @param callback 回调函数
  913. */
  914. function deleteMessagesByIds(ids, callback) {
  915. RCIMClient.deleteMessagesByIds(ids, callback);
  916. }
  917. /**
  918. * 根据会话删除消息
  919. *
  920. * @param type 会话类型
  921. * @param targetId 会话 ID
  922. * @param callback 回调函数
  923. */
  924. function deleteMessages(type, targetId = '', callback) {
  925. RCIMClient.deleteMessages(type, targetId, callback);
  926. }
  927. /**
  928. * 根据关键字搜索会话
  929. *
  930. * @param keyword 关键字
  931. * @param conversationTypes 会话类型数组
  932. * @param objectNames 对象名称数组
  933. * @param callback 回调函数
  934. */
  935. function searchConversations(keyword, conversationTypes, objectNames, callback) {
  936. RCIMClient.searchConversations(keyword, conversationTypes, objectNames, callback);
  937. }
  938. /**
  939. * 搜索消息
  940. *
  941. * @param conversationType 会话类型
  942. * @param targetId 目标 ID
  943. * @param keyword 关键字
  944. * @param count 获取数量
  945. * @param startTime 开始时间
  946. * @param callback 回调函数
  947. */
  948. function searchMessages(conversationType, targetId, keyword, count, startTime = 0, callback) {
  949. RCIMClient.searchMessages(conversationType, targetId, keyword, count, startTime, callback);
  950. }
  951. /**
  952. * 获取消息
  953. *
  954. * @param messageId 消息 ID
  955. * @param callback 回调函数
  956. */
  957. function getMessage(messageId, callback) {
  958. RCIMClient.getMessage(messageId, callback);
  959. }
  960. /**
  961. * 根据消息 UID 获取消息
  962. *
  963. * @param messageUId 消息 UID
  964. * @param callback 回调函数
  965. */
  966. function getMessageByUId(messageUId, callback) {
  967. RCIMClient.getMessageByUId(messageUId, callback);
  968. }
  969. /**
  970. * 设置消息的附加信息
  971. *
  972. * @param messageId 消息 ID
  973. * @param extra 附加信息
  974. * @param callback 回调函数
  975. */
  976. function setMessageExtra(messageId, extra, callback) {
  977. RCIMClient.setMessageExtra(messageId, extra, callback);
  978. }
  979. /**
  980. * 获取消息发送时间
  981. *
  982. * @param messageId 消息 ID
  983. * @param callback 回调函数
  984. */
  985. function getMessageSendTime(messageId, callback) {
  986. RCIMClient.getMessageSendTime(messageId, callback);
  987. }
  988. /**
  989. * 获取会话中的消息数量
  990. *
  991. * @param conversationType 会话类型
  992. * @param targetId 目标 ID
  993. * @param callback 回调函数
  994. */
  995. function getMessageCount(conversationType, targetId, callback) {
  996. RCIMClient.getMessageCount(conversationType, targetId, callback);
  997. }
  998. /**
  999. * 获取会话里第一条未读消息
  1000. *
  1001. * @param conversationType 会话类型
  1002. * @param targetId 目标 ID
  1003. * @param callback 回调函数
  1004. */
  1005. function getFirstUnreadMessage(conversationType, targetId, callback) {
  1006. RCIMClient.getFirstUnreadMessage(conversationType, targetId, callback);
  1007. }
  1008. /**
  1009. * 获取会话中 @ 提醒自己的消息
  1010. *
  1011. * @param conversationType 会话类型
  1012. * @param targetId 目标 ID
  1013. * @param callback 回调函数
  1014. */
  1015. function getUnreadMentionedMessages(conversationType, targetId, callback) {
  1016. RCIMClient.getUnreadMentionedMessages(conversationType, targetId, callback);
  1017. }
  1018. /**
  1019. * 获取服务端历史消息
  1020. *
  1021. * @param conversationType 会话类型
  1022. * @param targetId 目标 ID
  1023. * @param sentTime 清除消息截止时间戳,为 0 则清除会话所有服务端历史消息
  1024. * @param count 删除数量
  1025. * @param callback 回调函数
  1026. */
  1027. function getRemoteHistoryMessages(conversationType, targetId, sentTime, count, callback) {
  1028. RCIMClient.getRemoteHistoryMessages(conversationType, targetId, sentTime, count, callback);
  1029. }
  1030. /**
  1031. * 清除服务端历史消息
  1032. *
  1033. * @param conversationType 会话类型
  1034. * @param targetId 目标 ID
  1035. * @param recordTime 清除消息截止时间戳,为 0 则清除会话所有服务端历史消息
  1036. * @param callback 回调函数
  1037. */
  1038. function cleanRemoteHistoryMessages(conversationType, targetId, recordTime, callback) {
  1039. RCIMClient.cleanRemoteHistoryMessages(conversationType, targetId, recordTime, callback);
  1040. }
  1041. /**
  1042. * 清除历史消息
  1043. *
  1044. * @param conversationType 会话类型
  1045. * @param targetId 目标 ID
  1046. * @param recordTime 清除消息截止时间戳,为 0 则清除会话所有服务端历史消息
  1047. * @param clearRemote 是否同时删除服务端消息
  1048. * @param callback 回调函数
  1049. */
  1050. function cleanHistoryMessages(conversationType, targetId, recordTime, clearRemote, callback) {
  1051. RCIMClient.cleanHistoryMessages(conversationType, targetId, recordTime, clearRemote, callback);
  1052. }
  1053. /**
  1054. * 清除服务端历史消息
  1055. *
  1056. * @param conversationType 会话类型
  1057. * @param targetId 目标 ID
  1058. * @param messages 要删除的消息数组,数组大小不能超过 100 条
  1059. */
  1060. // export function deleteRemoteMessages (
  1061. // conversationType: ConversationType,
  1062. // targetId: string,
  1063. // messages: Message[],
  1064. // callback: (result: boolean) => void
  1065. // ){
  1066. // RCIMClient.deleteRemoteMessages(conversationType, targetId, messages, callback)
  1067. // }
  1068. /**
  1069. * 获取会话
  1070. *
  1071. * @param conversationType 会话类型
  1072. * @param targetId 目标 ID
  1073. * @param callback 回调函数
  1074. */
  1075. function getConversation(conversationType, targetId, callback) {
  1076. RCIMClient.getConversation(conversationType, targetId, callback);
  1077. }
  1078. /**
  1079. * 获取会话列表
  1080. *
  1081. * @param conversationTypes 会话类型列表
  1082. * @param count 获取的数量
  1083. * @param timestamp 会话的时间戳(获取这个时间戳之前的会话列表,0 表示从最新开始获取)会话类型
  1084. * @param callback 回调函数
  1085. */
  1086. function getConversationList(conversationTypes = [], count = 0, timestamp = 0, callback) {
  1087. console.log(JSON.stringify(arguments));
  1088. RCIMClient.getConversationList(conversationTypes, count, timestamp, callback);
  1089. }
  1090. /**
  1091. * 从会话列表中移除某一会话,但是不删除会话内的消息
  1092. *
  1093. * @param conversationType 会话类型
  1094. * @param targetId 目标 ID
  1095. * @param callback 回调函数
  1096. */
  1097. function removeConversation(conversationType, targetId, callback) {
  1098. RCIMClient.removeConversation(conversationType, targetId, callback);
  1099. }
  1100. /**
  1101. * 设置会话消息提醒状态
  1102. *
  1103. * @param conversationType 会话类型
  1104. * @param targetId 目标 ID
  1105. * @param isBlock 是否屏蔽
  1106. * @param callback 回调函数
  1107. */
  1108. function setConversationNotificationStatus(conversationType, targetId, isBlock, callback) {
  1109. RCIMClient.setConversationNotificationStatus(conversationType, targetId, isBlock, callback);
  1110. }
  1111. /**
  1112. * 获取会话消息提醒状态
  1113. *
  1114. * @param conversationType 会话类型
  1115. * @param targetId 目标 ID
  1116. * @param callback 回调函数
  1117. */
  1118. function getConversationNotificationStatus(conversationType, targetId, callback) {
  1119. RCIMClient.getConversationNotificationStatus(conversationType, targetId, callback);
  1120. }
  1121. /**
  1122. * 设置是否置顶会话
  1123. *
  1124. * @param conversationType 会话类型
  1125. * @param targetId 目标 ID
  1126. * @param isTop 是否置顶
  1127. * @param callback 回调函数
  1128. */
  1129. function setConversationToTop(conversationType, targetId, isTop, callback) {
  1130. RCIMClient.setConversationToTop(conversationType, targetId, isTop, callback);
  1131. }
  1132. /**
  1133. * 获取置顶会话列表
  1134. *
  1135. * @param conversationTypes 会话类型列表
  1136. * @param callback 回调函数
  1137. */
  1138. function getTopConversationList(conversationTypes = [], callback) {
  1139. RCIMClient.getTopConversationList(conversationTypes, callback);
  1140. }
  1141. /**
  1142. * 保存某一会话的文本消息草稿
  1143. *
  1144. * @param conversationType 会话类型
  1145. * @param targetId 目标 ID
  1146. * @param content 草稿内容
  1147. * @param callback 回调函数
  1148. */
  1149. function saveTextMessageDraft(conversationType, targetId, content, callback) {
  1150. RCIMClient.saveTextMessageDraft(conversationType, targetId, content, callback);
  1151. }
  1152. /**
  1153. * 获取某一会话的文本消息草稿
  1154. *
  1155. * @param conversationType 会话类型
  1156. * @param targetId 目标 ID
  1157. * @param callback 回调函数
  1158. */
  1159. function getTextMessageDraft(conversationType, targetId, callback) {
  1160. RCIMClient.getTextMessageDraft(conversationType, targetId, callback);
  1161. }
  1162. /**
  1163. * 清除某一会话的文本消息草稿
  1164. *
  1165. * @param conversationType 会话类型
  1166. * @param targetId 目标 ID
  1167. * @param callback 回调函数
  1168. */
  1169. function clearTextMessageDraft(conversationType, targetId, callback) {
  1170. RCIMClient.clearTextMessageDraft(conversationType, targetId, callback);
  1171. }
  1172. /**
  1173. * 获取所有未读消息数
  1174. *
  1175. * @param callback 回调函数
  1176. */
  1177. function getTotalUnreadCount(callback) {
  1178. RCIMClient.getTotalUnreadCount(callback);
  1179. }
  1180. /**
  1181. * 获取指定会话的未读消息数
  1182. *
  1183. * @param conversationType 会话类型
  1184. * @param targetId 目标 ID
  1185. * @param callback 回调函数
  1186. */
  1187. function getUnreadCount(conversationType, targetId = '', callback) {
  1188. if (Array.isArray(conversationType)) {
  1189. RCIMClient.getUnreadCount(0, '', conversationType, callback);
  1190. }
  1191. RCIMClient.getUnreadCount(conversationType, targetId, [], callback);
  1192. }
  1193. /**
  1194. * 清除某个会话中的未读消息数
  1195. *
  1196. * @param conversationType 会话类型
  1197. * @param targetId 目标 ID
  1198. * @param time 该会话已阅读的最后一条消息的发送时间戳
  1199. * @param callback 回调函数
  1200. */
  1201. function clearMessagesUnreadStatus(conversationType, targetId, time = 0, callback) {
  1202. RCIMClient.clearMessagesUnreadStatus(conversationType, targetId, time, callback);
  1203. }
  1204. /**
  1205. * 把用户加入黑名单
  1206. *
  1207. * @param userId 用户 ID
  1208. * @param callback 回调函数
  1209. */
  1210. function addToBlacklist(userId, callback) {
  1211. RCIMClient.addToBlacklist(userId, callback);
  1212. }
  1213. /**
  1214. * 把用户从黑名单中移除
  1215. *
  1216. * @param userId 用户 ID
  1217. * @param callback 回调函数
  1218. */
  1219. function removeFromBlacklist(userId, callback) {
  1220. RCIMClient.removeFromBlacklist(userId, callback);
  1221. }
  1222. /**
  1223. * 获取某用户是否在黑名单中
  1224. *
  1225. * @param userId 用户 ID
  1226. * @param callback 回调函数
  1227. */
  1228. function getBlacklistStatus(userId, callback) {
  1229. RCIMClient.getBlacklistStatus(userId, callback);
  1230. }
  1231. /**
  1232. * 获取黑名单列表
  1233. *
  1234. * @param 回调函数
  1235. */
  1236. function getBlacklist(callback) {
  1237. RCIMClient.getBlacklist(callback);
  1238. }
  1239. /**
  1240. * 加入聊天室,如果已存在,直接加入,否则创建并加入
  1241. *
  1242. * @param targetId 聊天室 ID
  1243. * @param messageCount 默认获取的消息数量,最多 50
  1244. * @param callback 回调函数
  1245. */
  1246. function joinChatRoom(targetId, messageCount = 10, callback) {
  1247. RCIMClient.joinChatRoom(targetId, messageCount, callback);
  1248. }
  1249. /**
  1250. * 加入已存在的聊天室,如果不存在则加入失败
  1251. *
  1252. * @param targetId 聊天室 ID
  1253. * @param messageCount 默认获取的消息数量,最多 50
  1254. * @param callback 回调函数
  1255. */
  1256. function joinExistChatRoom(targetId, messageCount = 10, callback) {
  1257. RCIMClient.joinExistChatRoom(targetId, messageCount, callback);
  1258. }
  1259. /**
  1260. * 退出聊天室
  1261. *
  1262. * @param targetId 聊天室 ID
  1263. * @param callback 回调函数
  1264. */
  1265. function quitChatRoom(targetId, callback) {
  1266. RCIMClient.quitChatRoom(targetId, callback);
  1267. }
  1268. /**
  1269. * 从服务器端获取聊天室的历史消息
  1270. *
  1271. * @param targetId 目标 ID
  1272. * @param recordTime 起始的消息发送时间戳,单位毫秒
  1273. * @param count 要获取的消息数量
  1274. * @param order 拉取顺序
  1275. * @param callback 回调函数
  1276. */
  1277. function getRemoteChatRoomHistoryMessages(targetId, recordTime, count, order, callback) {
  1278. RCIMClient.getRemoteChatRoomHistoryMessages(targetId, recordTime, count, order, callback);
  1279. }
  1280. /**
  1281. * 获取聊天室信息
  1282. *
  1283. * @param targetId 聊天室 ID
  1284. * @param memberCount 聊天室成员数量,最多获取 20 个
  1285. * @param order 返回的聊天室成员排序方式
  1286. * @param callback 回调函数
  1287. */
  1288. function getChatRoomInfo(targetId, memberCount = 20, order = exports.ChatRoomMemberOrder.ASC, callback) {
  1289. RCIMClient.getChatRoomInfo(targetId, memberCount, order, callback);
  1290. }
  1291. /**
  1292. * 全局屏蔽某个时间段的消息提醒
  1293. *
  1294. * @param startTime 开始屏蔽消息提醒的时间,格式为HH:MM:SS
  1295. * @param spanMinutes 需要屏蔽消息提醒的分钟数,0 < spanMinutes < 1440
  1296. * @param callback 回调函数
  1297. */
  1298. function setNotificationQuietHours(startTime, spanMinutes, callback) {
  1299. RCIMClient.setNotificationQuietHours(startTime, spanMinutes, callback);
  1300. }
  1301. /**
  1302. * 查询已设置的全局时间段消息提醒屏蔽
  1303. *
  1304. * @param callback 回调函数
  1305. */
  1306. function getNotificationQuietHours(callback) {
  1307. RCIMClient.getNotificationQuietHours(callback);
  1308. }
  1309. /**
  1310. * 删除已设置的全局时间段消息提醒屏蔽
  1311. *
  1312. * @param callback 回调函数
  1313. */
  1314. function removeNotificationQuietHours(callback) {
  1315. RCIMClient.removeNotificationQuietHours(callback);
  1316. }
  1317. /**
  1318. * 获取离线消息在服务端的存储时间(以天为单位)
  1319. */
  1320. function getOfflineMessageDuration(callback) {
  1321. RCIMClient.getOfflineMessageDuration(callback);
  1322. }
  1323. /**
  1324. * 设置离线消息在服务端的存储时间(以天为单位)
  1325. *
  1326. * @param callback 回调函数
  1327. */
  1328. function setOfflineMessageDuration(duration, callback) {
  1329. RCIMClient.setOfflineMessageDuration(duration, callback);
  1330. }
  1331. /**
  1332. * 获取当前用户 ID
  1333. *
  1334. * @param callback 回调函数
  1335. */
  1336. function getCurrentUserId(callback) {
  1337. RCIMClient.getCurrentUserId(callback);
  1338. }
  1339. /**
  1340. * 设置推送语言
  1341. *
  1342. * @param language 推送语言
  1343. * @param callback 回调函数
  1344. */
  1345. function setPushLanguageCode(language, callback) {
  1346. RCIMClient.setPushLanguageCode(language, callback);
  1347. }
  1348. /**
  1349. * 设置是否显示内容详情
  1350. *
  1351. * @param isShowPushContent 是否显示内容详情
  1352. * @param callback 回调函数
  1353. */
  1354. function setPushContentShowStatus(isShowPushContent, callback) {
  1355. RCIMClient.setPushContentShowStatus(isShowPushContent, callback);
  1356. }
  1357. /**
  1358. * 查询是否显示内容详情
  1359. *
  1360. * @param callback 回调函数
  1361. */
  1362. function getPushContentShowStatus(callback) {
  1363. RCIMClient.getPushContentShowStatus(callback);
  1364. }
  1365. /**
  1366. * 设置推送配置(仅安卓)
  1367. * @param config 推送配置
  1368. */
  1369. function setPushConfig(config) {
  1370. RCIMClient.setPushConfig(config);
  1371. }
  1372. exports.addConnectionStatusListener = addConnectionStatusListener;
  1373. exports.addLogInfoListener = addLogInfoListener;
  1374. exports.addReadReceiptReceivedListener = addReadReceiptReceivedListener;
  1375. exports.addRecallMessageListener = addRecallMessageListener;
  1376. exports.addReceiptRequestListener = addReceiptRequestListener;
  1377. exports.addReceiptResponseListener = addReceiptResponseListener;
  1378. exports.addReceiveMessageListener = addReceiveMessageListener;
  1379. exports.addToBlacklist = addToBlacklist;
  1380. exports.addTypingStatusListener = addTypingStatusListener;
  1381. exports.cancelDownloadMediaMessage = cancelDownloadMediaMessage;
  1382. exports.cancelSendMediaMessage = cancelSendMediaMessage;
  1383. exports.cleanHistoryMessages = cleanHistoryMessages;
  1384. exports.cleanRemoteHistoryMessages = cleanRemoteHistoryMessages;
  1385. exports.clearConnectionStatusListener = clearConnectionStatusListener;
  1386. exports.clearLogInfoListener = clearLogInfoListener;
  1387. exports.clearMessages = clearMessages;
  1388. exports.clearMessagesUnreadStatus = clearMessagesUnreadStatus;
  1389. exports.clearReadReceiptReceivedListener = clearReadReceiptReceivedListener;
  1390. exports.clearRecallMessageListener = clearRecallMessageListener;
  1391. exports.clearReceiptRequestListener = clearReceiptRequestListener;
  1392. exports.clearReceiptResponseListener = clearReceiptResponseListener;
  1393. exports.clearReceiveMessageListener = clearReceiveMessageListener;
  1394. exports.clearTextMessageDraft = clearTextMessageDraft;
  1395. exports.clearTypingStatusListener = clearTypingStatusListener;
  1396. exports.connect = connect;
  1397. exports.deleteMessages = deleteMessages;
  1398. exports.deleteMessagesByIds = deleteMessagesByIds;
  1399. exports.disconnect = disconnect;
  1400. exports.downloadMediaMessage = downloadMediaMessage;
  1401. exports.getBlacklist = getBlacklist;
  1402. exports.getBlacklistStatus = getBlacklistStatus;
  1403. exports.getBlockedConversationList = getBlockedConversationList;
  1404. exports.getChatRoomInfo = getChatRoomInfo;
  1405. exports.getConnectionStatus = getConnectionStatus;
  1406. exports.getConversation = getConversation;
  1407. exports.getConversationList = getConversationList;
  1408. exports.getConversationNotificationStatus = getConversationNotificationStatus;
  1409. exports.getCurrentUserId = getCurrentUserId;
  1410. exports.getFirstUnreadMessage = getFirstUnreadMessage;
  1411. exports.getHistoryMessages = getHistoryMessages;
  1412. exports.getHistoryMessagesByTimestamp = getHistoryMessagesByTimestamp;
  1413. exports.getMessage = getMessage;
  1414. exports.getMessageByUId = getMessageByUId;
  1415. exports.getMessageCount = getMessageCount;
  1416. exports.getMessageSendTime = getMessageSendTime;
  1417. exports.getNotificationQuietHours = getNotificationQuietHours;
  1418. exports.getOfflineMessageDuration = getOfflineMessageDuration;
  1419. exports.getPushContentShowStatus = getPushContentShowStatus;
  1420. exports.getRemoteChatRoomHistoryMessages = getRemoteChatRoomHistoryMessages;
  1421. exports.getRemoteHistoryMessages = getRemoteHistoryMessages;
  1422. exports.getTextMessageDraft = getTextMessageDraft;
  1423. exports.getTopConversationList = getTopConversationList;
  1424. exports.getTotalUnreadCount = getTotalUnreadCount;
  1425. exports.getUnreadCount = getUnreadCount;
  1426. exports.getUnreadMentionedMessages = getUnreadMentionedMessages;
  1427. exports.init = init;
  1428. exports.initWithSetup = initWithSetup;
  1429. exports.insertIncomingMessage = insertIncomingMessage;
  1430. exports.insertOutgoingMessage = insertOutgoingMessage;
  1431. exports.joinChatRoom = joinChatRoom;
  1432. exports.joinExistChatRoom = joinExistChatRoom;
  1433. exports.quitChatRoom = quitChatRoom;
  1434. exports.recallMessage = recallMessage;
  1435. exports.removeConversation = removeConversation;
  1436. exports.removeFromBlacklist = removeFromBlacklist;
  1437. exports.removeNotificationQuietHours = removeNotificationQuietHours;
  1438. exports.saveTextMessageDraft = saveTextMessageDraft;
  1439. exports.searchConversations = searchConversations;
  1440. exports.searchMessages = searchMessages;
  1441. exports.sendDirectionalMessage = sendDirectionalMessage;
  1442. exports.sendMediaMessage = sendMediaMessage;
  1443. exports.sendMessage = sendMessage;
  1444. exports.sendReadReceiptMessage = sendReadReceiptMessage;
  1445. exports.sendReadReceiptRequest = sendReadReceiptRequest;
  1446. exports.sendReadReceiptResponse = sendReadReceiptResponse;
  1447. exports.sendTypingStatus = sendTypingStatus;
  1448. exports.setConversationNotificationStatus = setConversationNotificationStatus;
  1449. exports.setConversationToTop = setConversationToTop;
  1450. exports.setMessageExtra = setMessageExtra;
  1451. exports.setMessageReceivedStatus = setMessageReceivedStatus;
  1452. exports.setMessageSentStatus = setMessageSentStatus;
  1453. exports.setNotificationQuietHours = setNotificationQuietHours;
  1454. exports.setOfflineMessageDuration = setOfflineMessageDuration;
  1455. exports.setPushConfig = setPushConfig;
  1456. exports.setPushContentShowStatus = setPushContentShowStatus;
  1457. exports.setPushLanguageCode = setPushLanguageCode;
  1458. exports.setReconnectKickEnable = setReconnectKickEnable;
  1459. exports.setServerInfo = setServerInfo;
  1460. exports.setStatisticServer = setStatisticServer;
  1461. exports.syncConversationReadStatus = syncConversationReadStatus;