index.esm.js 48 KB

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