juggleim-rnsdk 0.1.13 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/android/build/.transforms/42b8ab7e96b9440b0e91d2ecba5f579c/transformed/classes/classes_dex/classes.dex +0 -0
  2. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$1.dex +0 -0
  3. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$10.dex +0 -0
  4. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$11.dex +0 -0
  5. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$12.dex +0 -0
  6. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$13.dex +0 -0
  7. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$14.dex +0 -0
  8. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$15.dex +0 -0
  9. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$16.dex +0 -0
  10. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$17.dex +0 -0
  11. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$18.dex +0 -0
  12. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$19.dex +0 -0
  13. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$2.dex +0 -0
  14. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$20.dex +0 -0
  15. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$21.dex +0 -0
  16. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$22.dex +0 -0
  17. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$23.dex +0 -0
  18. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$24.dex +0 -0
  19. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$25.dex +0 -0
  20. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$26.dex +0 -0
  21. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$27.dex +0 -0
  22. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$3.dex +0 -0
  23. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$4.dex +0 -0
  24. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$5.dex +0 -0
  25. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$6.dex +0 -0
  26. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$7.dex +0 -0
  27. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$8.dex +0 -0
  28. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$9.dex +0 -0
  29. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager.dex +0 -0
  30. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  31. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  32. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$1.class +0 -0
  33. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$10.class +0 -0
  34. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$11.class +0 -0
  35. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$12.class +0 -0
  36. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$13.class +0 -0
  37. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$14.class +0 -0
  38. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$15.class +0 -0
  39. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$16.class +0 -0
  40. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$17.class +0 -0
  41. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$18.class +0 -0
  42. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$19.class +0 -0
  43. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$2.class +0 -0
  44. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$20.class +0 -0
  45. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$21.class +0 -0
  46. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$22.class +0 -0
  47. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$23.class +0 -0
  48. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$24.class +0 -0
  49. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$25.class +0 -0
  50. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$26.class +0 -0
  51. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$27.class +0 -0
  52. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$3.class +0 -0
  53. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$4.class +0 -0
  54. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$5.class +0 -0
  55. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$6.class +0 -0
  56. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$7.class +0 -0
  57. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$8.class +0 -0
  58. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$9.class +0 -0
  59. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager.class +0 -0
  60. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$1.class +0 -0
  61. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$10.class +0 -0
  62. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$11.class +0 -0
  63. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$12.class +0 -0
  64. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$13.class +0 -0
  65. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$14.class +0 -0
  66. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$15.class +0 -0
  67. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$16.class +0 -0
  68. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$17.class +0 -0
  69. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$18.class +0 -0
  70. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$19.class +0 -0
  71. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$2.class +0 -0
  72. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$20.class +0 -0
  73. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$21.class +0 -0
  74. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$22.class +0 -0
  75. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$23.class +0 -0
  76. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$24.class +0 -0
  77. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$25.class +0 -0
  78. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$26.class +0 -0
  79. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$27.class +0 -0
  80. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$3.class +0 -0
  81. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$4.class +0 -0
  82. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$5.class +0 -0
  83. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$6.class +0 -0
  84. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$7.class +0 -0
  85. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$8.class +0 -0
  86. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$9.class +0 -0
  87. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager.class +0 -0
  88. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  89. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$1.class.uniqueId25 +0 -0
  90. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$10.class.uniqueId0 +0 -0
  91. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$11.class.uniqueId14 +0 -0
  92. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$12.class.uniqueId23 +0 -0
  93. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$13.class.uniqueId7 +0 -0
  94. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$14.class.uniqueId16 +0 -0
  95. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$15.class.uniqueId6 +0 -0
  96. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$16.class.uniqueId11 +0 -0
  97. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$17.class.uniqueId24 +0 -0
  98. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$18.class.uniqueId8 +0 -0
  99. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$19.class.uniqueId21 +0 -0
  100. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$2.class.uniqueId3 +0 -0
  101. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$20.class.uniqueId5 +0 -0
  102. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$21.class.uniqueId13 +0 -0
  103. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$22.class.uniqueId19 +0 -0
  104. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$23.class.uniqueId10 +0 -0
  105. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$24.class.uniqueId15 +0 -0
  106. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$3.class.uniqueId18 +0 -0
  107. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$4.class.uniqueId22 +0 -0
  108. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$5.class.uniqueId9 +0 -0
  109. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$6.class.uniqueId12 +0 -0
  110. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$7.class.uniqueId4 +0 -0
  111. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$8.class.uniqueId17 +0 -0
  112. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$9.class.uniqueId20 +0 -0
  113. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager.class.uniqueId1 +0 -0
  114. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  115. package/android/build.gradle +1 -1
  116. package/android/src/main/java/com/juggleim/JuggleIMManager.java +331 -2
  117. package/ios/JuggleIMManager.m +251 -12
  118. package/juggleim-rnsdk.podspec +1 -1
  119. package/package.json +1 -1
  120. package/src/index.d.ts +62 -1
  121. package/src/index.js +234 -22
  122. package/src/types.d.ts +93 -1
package/src/index.js CHANGED
@@ -152,9 +152,10 @@ class JuggleIM {
152
152
  if (listener.onMessageReceive) {
153
153
  const subscription = juggleIMEmitter.addListener(
154
154
  "MessageReceived",
155
- (event) => {
155
+ async (event) => {
156
+ const message = await this.buildMessageInfo(event.message);
156
157
  if (Platform.OS === "android" && event.key !== key) return;
157
- listener.onMessageReceive(event.message);
158
+ listener.onMessageReceive(message);
158
159
  }
159
160
  );
160
161
  subscriptions.push(subscription);
@@ -356,8 +357,10 @@ class JuggleIM {
356
357
  const subscription = juggleIMEmitter.addListener(
357
358
  "ConversationInfoAdded",
358
359
  (event) => {
360
+ const convsList = this.buildConversationInfoList(event.conversations);
361
+ console.log("ConversationInfoAdded", convsList);
359
362
  if (Platform.OS === "android" && event.key !== key) return;
360
- listener.onConversationInfoAdd(event.conversations);
363
+ listener.onConversationInfoAdd(convsList);
361
364
  }
362
365
  );
363
366
  subscriptions.push(subscription);
@@ -368,8 +371,10 @@ class JuggleIM {
368
371
  const subscription = juggleIMEmitter.addListener(
369
372
  "ConversationInfoUpdated",
370
373
  (event) => {
374
+ const convsList = this.buildConversationInfoList(event.conversations);
375
+ console.log("ConversationInfoUpdated", convsList);
371
376
  if (Platform.OS === "android" && event.key !== key) return;
372
- listener.onConversationInfoUpdate(event.conversations);
377
+ listener.onConversationInfoUpdate(convsList);
373
378
  }
374
379
  );
375
380
  subscriptions.push(subscription);
@@ -380,8 +385,10 @@ class JuggleIM {
380
385
  const subscription = juggleIMEmitter.addListener(
381
386
  "ConversationInfoDeleted",
382
387
  (event) => {
388
+ const convsList = this.buildConversationInfoList(event.conversations);
389
+ console.log("ConversationInfoDeleted", convsList);
383
390
  if (Platform.OS === "android" && event.key !== key) return;
384
- listener.onConversationInfoDelete(event.conversations);
391
+ listener.onConversationInfoDelete(convsList);
385
392
  }
386
393
  );
387
394
  subscriptions.push(subscription);
@@ -411,12 +418,68 @@ class JuggleIM {
411
418
  * @returns {Promise<ConversationInfo[]>} 会话信息列表
412
419
  */
413
420
  static getConversationInfoList(option) {
414
- console.log("getConversationInfoList called with option:", option);
415
- return JMI.getConversationInfoList(
416
- option.count,
417
- option.timestamp,
418
- option.direction
419
- );
421
+ return new Promise((resolve, reject) => {
422
+ JMI.getConversationInfoList(
423
+ option.count,
424
+ option.timestamp,
425
+ option.direction
426
+ ).then(convs => {
427
+ convs?.forEach(async (conv) => {
428
+ if (conv.conversation?.conversationType === 1) {
429
+ const userInfo = await JMI.getUserInfo(conv.conversation?.conversationId);
430
+ conv.name = userInfo?.nickname;
431
+ conv.avatar = userInfo?.avatar;
432
+ conv.extra = userInfo?.extra;
433
+ } else if (conv.conversation?.conversationType === 2) {
434
+ const groupInfo = await JMI.getGroupInfo(conv.conversation?.conversationId);
435
+ conv.name = groupInfo?.groupName;
436
+ conv.avatar = groupInfo?.portrait;
437
+ conv.extra = groupInfo?.extra;
438
+ }
439
+ if (conv.lastMessage) {
440
+ const userInfo = await JMI.getUserInfo(conv.lastMessage.senderUserId);
441
+ conv.lastMessage.senderUserName = userInfo?.nickname;
442
+ conv.lastMessage.senderUserAvatar = userInfo?.avatar;
443
+ conv.lastMessage.senderUserExtra = userInfo?.extra;
444
+ }
445
+ });
446
+ resolve(convs || []);
447
+ }).catch(err => {
448
+ console.error(err);
449
+ reject(err);
450
+ });
451
+ });
452
+ }
453
+
454
+ static buildConversationInfoList(convs) {
455
+ convs?.forEach(async (conv) => {
456
+ if (conv.conversation?.conversationType === 1) {
457
+ const userInfo = await JMI.getUserInfo(conv.conversation?.conversationId);
458
+ conv.name = userInfo?.nickname;
459
+ conv.avatar = userInfo?.avatar;
460
+ conv.extra = userInfo?.extra;
461
+ } else if (conv.conversation?.conversationType === 2) {
462
+ const groupInfo = await JMI.getGroupInfo(conv.conversation?.conversationId);
463
+ conv.name = groupInfo?.groupName;
464
+ conv.avatar = groupInfo?.portrait;
465
+ conv.extra = groupInfo?.extra;
466
+ }
467
+ if (conv.lastMessage) {
468
+ const userInfo = await JMI.getUserInfo(conv.lastMessage.senderUserId);
469
+ conv.lastMessage.senderUserName = userInfo?.nickname;
470
+ conv.lastMessage.senderUserAvatar = userInfo?.avatar;
471
+ conv.lastMessage.senderUserExtra = userInfo?.extra;
472
+ }
473
+ });
474
+ return convs;
475
+ }
476
+
477
+ static async buildMessageInfo(message) {
478
+ const userInfo = await JMI.getUserInfo(message.senderUserId);
479
+ message.senderUserName = userInfo?.nickname;
480
+ message.senderUserAvatar = userInfo?.avatar;
481
+ message.senderUserExtra = userInfo?.extra;
482
+ return message;
420
483
  }
421
484
 
422
485
  /**
@@ -425,7 +488,61 @@ class JuggleIM {
425
488
  * @returns {Promise<object>} 会话信息
426
489
  */
427
490
  static getConversationInfo(conversation) {
428
- return JMI.getConversationInfo(conversation);
491
+ return new Promise((resolve, reject) => {
492
+ JMI.getConversationInfo(conversation).then(async conv => {
493
+ if (conv) {
494
+ if (conv.conversation?.conversationType === 1) {
495
+ const userInfo = await JMI.getUserInfo(conv.conversation?.conversationId);
496
+ conv.name = userInfo?.nickname;
497
+ conv.avatar = userInfo?.avatar;
498
+ conv.extra = userInfo?.extra;
499
+ } else if (conv.conversation?.conversationType === 2) {
500
+ const groupInfo = await JMI.getGroupInfo(conv.conversation?.conversationId);
501
+ conv.name = groupInfo?.groupName;
502
+ conv.avatar = groupInfo?.portrait;
503
+ conv.extra = groupInfo?.extra;
504
+ }
505
+ if (conv.lastMessage) {
506
+ const userInfo = await JMI.getUserInfo(conv.lastMessage.senderUserId);
507
+ conv.lastMessage.senderUserName = userInfo?.nickname;
508
+ conv.lastMessage.senderUserAvatar = userInfo?.avatar;
509
+ conv.lastMessage.senderUserExtra = userInfo?.extra;
510
+ }
511
+ }
512
+ resolve(conv);
513
+ }).catch(err => {
514
+ console.error(err);
515
+ reject(err);
516
+ });
517
+ });
518
+ }
519
+
520
+ /**
521
+ * 获取用户信息
522
+ * @param {string} userId - 用户ID
523
+ * @returns {Promise<UserInfo>} 用户信息
524
+ */
525
+ static getUserInfo(userId) {
526
+ return JMI.getUserInfo(userId);
527
+ }
528
+
529
+ /**
530
+ * 获取群组信息
531
+ * @param {string} groupId - 群组ID
532
+ * @returns {Promise<GroupInfo>} 群组信息
533
+ */
534
+ static getGroupInfo(groupId) {
535
+ return JMI.getGroupInfo(groupId);
536
+ }
537
+
538
+ /**
539
+ * 获取群成员信息
540
+ * @param {string} groupId - 群组ID
541
+ * @param {string} userId - 用户ID
542
+ * @returns {Promise<GroupMember>} 群成员信息
543
+ */
544
+ static getGroupMember(groupId, userId) {
545
+ return JMI.getGroupMember(groupId, userId);
429
546
  }
430
547
 
431
548
  /**
@@ -492,11 +609,18 @@ class JuggleIM {
492
609
  * @returns {Promise<boolean>} 清除结果
493
610
  */
494
611
  static clearUnreadCount(conversation) {
495
- if (Platform.OS === "android") {
496
- return JMI.clearUnreadCount(conversation);
497
- } else if (Platform.OS === "ios") {
498
- return JMI.clearUnreadCount(conversation);
499
- }
612
+ // 参数检查
613
+ return new Promise((resolve, reject) => {
614
+ if (!conversation || !conversation.conversationId || !conversation.conversationType) {
615
+ reject('error', '会话参数错误');
616
+ return;
617
+ }
618
+ if (Platform.OS === "android") {
619
+ JMI.clearUnreadCount(conversation).then(resolve).catch(reject);
620
+ } else if (Platform.OS === "ios") {
621
+ JMI.clearUnreadCount(conversation).then(resolve).catch(reject);
622
+ }
623
+ });
500
624
  }
501
625
 
502
626
  /**
@@ -551,7 +675,33 @@ class JuggleIM {
551
675
  * @returns {Promise<Array>} 置顶会话列表
552
676
  */
553
677
  static getTopConversationInfoList(count = 20, timestamp = 0, direction = 0) {
554
- return JMI.getTopConversationInfoList(count, timestamp, direction);
678
+ return new Promise((resolve, reject) => {
679
+ JMI.getTopConversationInfoList(count, timestamp, direction).then(convs => {
680
+ convs?.forEach(async (conv) => {
681
+ if (conv.conversation?.conversationType === 1) {
682
+ const userInfo = await JMI.getUserInfo(conv.conversation?.userId);
683
+ conv.name = userInfo?.nickname;
684
+ conv.avatar = userInfo?.avatar;
685
+ conv.extra = userInfo?.extra;
686
+ } else if (conv.conversation?.conversationType === 2) {
687
+ const groupInfo = await JMI.getGroupInfo(conv.conversation?.groupId);
688
+ conv.name = groupInfo?.groupName;
689
+ conv.avatar = groupInfo?.portrait;
690
+ conv.extra = groupInfo?.extra;
691
+ }
692
+ if (conv.lastMessage) {
693
+ const userInfo = await JMI.getUserInfo(conv.lastMessage.senderUserId);
694
+ conv.lastMessage.senderUserName = userInfo?.nickname;
695
+ conv.lastMessage.senderUserAvatar = userInfo?.avatar;
696
+ conv.lastMessage.senderUserExtra = userInfo?.extra;
697
+ }
698
+ });
699
+ resolve(convs || []);
700
+ }).catch(err => {
701
+ console.error(err);
702
+ reject(err);
703
+ });
704
+ });
555
705
  }
556
706
 
557
707
  /**
@@ -709,6 +859,10 @@ class JuggleIM {
709
859
 
710
860
  try {
711
861
  const localMsg = await JMI.sendImageMessage(message, messageId);
862
+ console.log("sendImageMessage localMsg:", localMsg);
863
+ if (localMsg.content?.local) {
864
+ localMsg.content.localPath = localMsg.content.local;
865
+ }
712
866
  return localMsg;
713
867
  } catch (error) {
714
868
  progressListener.remove();
@@ -822,6 +976,7 @@ class JuggleIM {
822
976
  "onMediaMessageSent",
823
977
  (event) => {
824
978
  if (event.messageId === messageId) {
979
+ console.log("onMediaMessageSent msg:", event);
825
980
  callback.onSuccess?.(event.message);
826
981
  progressListener.remove();
827
982
  successListener.remove();
@@ -858,9 +1013,7 @@ class JuggleIM {
858
1013
  );
859
1014
 
860
1015
  try {
861
- console.log("sendVoiceMessage message...:", message);
862
1016
  const localMsg = await JMI.sendVoiceMessage(message, messageId);
863
- console.log("sendVoiceMessage localMsg:", localMsg);
864
1017
  return localMsg;
865
1018
  } catch (error) {
866
1019
  progressListener.remove();
@@ -873,7 +1026,7 @@ class JuggleIM {
873
1026
 
874
1027
  /**
875
1028
  * 发送合并消息(构建 MergeMessage 并发送)
876
- * @param {MergedMessageContent} mergedMessage - 要合并转发的消息 ID 列表
1029
+ * @param {MergeMessageContent} mergedMessage - 要合并转发的消息 ID 列表
877
1030
  * @param {Conversation} conversation - 目标会话(同时作为 MergeMessage 中的 conversation 字段)
878
1031
  * @param {SendMessageCallback} callback - 回调对象,包含 onSuccess/onError
879
1032
  */
@@ -894,7 +1047,21 @@ class JuggleIM {
894
1047
  * @param {Object} options - 获取选项
895
1048
  */
896
1049
  static getMessageList(conversation, direction, options) {
897
- return JMI.getMessages(conversation, direction, options);
1050
+ return new Promise((resolve, reject) => {
1051
+ JMI.getMessages(conversation, direction, options).then(res => {
1052
+ const msgs = res?.messages;
1053
+ msgs?.forEach(async (msg) => {
1054
+ const userInfo = await JMI.getUserInfo(msg.senderUserId);
1055
+ msg.senderUserName = userInfo?.nickname;
1056
+ msg.senderUserAvatar = userInfo?.avatar;
1057
+ msg.senderUserExtra = userInfo?.extra;
1058
+ });
1059
+ resolve(res);
1060
+ }).catch(err => {
1061
+ console.error(err);
1062
+ reject(err);
1063
+ });
1064
+ });
898
1065
  }
899
1066
 
900
1067
  /**
@@ -979,6 +1146,51 @@ class JuggleIM {
979
1146
  static setMessageTop(messageId, conversation, isTop) {
980
1147
  return JMI.setMessageTop(messageId, conversation, isTop);
981
1148
  }
1149
+
1150
+ /**
1151
+ * 获取合并消息列表
1152
+ * @param {string} messageId - 合并消息ID
1153
+ * @returns {Promise<Message[]>} 消息列表
1154
+ */
1155
+ static getMergedMessageList(messageId) {
1156
+ return JMI.getMergedMessageList(messageId);
1157
+ }
1158
+
1159
+ /**
1160
+ * 从服务端获取用户信息
1161
+ * @param {string} userId - 用户ID
1162
+ * @returns {Promise<UserInfo>} 用户信息
1163
+ */
1164
+ static fetchUserInfo(userId) {
1165
+ return JMI.fetchUserInfo(userId);
1166
+ }
1167
+
1168
+ /**
1169
+ * 从服务端获取群组信息
1170
+ * @param {string} groupId - 群组ID
1171
+ * @returns {Promise<GroupInfo>} 群组信息
1172
+ */
1173
+ static fetchGroupInfo(groupId) {
1174
+ return JMI.fetchGroupInfo(groupId);
1175
+ }
1176
+
1177
+ /**
1178
+ * 批量获取用户信息
1179
+ * @param {Array<string>} userIdList - 用户ID列表
1180
+ * @returns {Promise<UserInfo[]>} 用户信息列表
1181
+ */
1182
+ static getUserInfoList(userIdList) {
1183
+ return JMI.getUserInfoList(userIdList);
1184
+ }
1185
+
1186
+ /**
1187
+ * 批量获取群组信息
1188
+ * @param {Array<string>} groupIdList - 群组ID列表
1189
+ * @returns {Promise<GroupInfo[]>} 群组信息列表
1190
+ */
1191
+ static getGroupInfoList(groupIdList) {
1192
+ return JMI.getGroupInfoList(groupIdList);
1193
+ }
982
1194
  }
983
1195
 
984
1196
  export * from './types';
package/src/types.d.ts CHANGED
@@ -68,7 +68,11 @@ export class RecallInfoMessageContent extends MessageContent {
68
68
  }
69
69
 
70
70
  /**
71
- * 合并消息内容
71
+ * 合并消息内容:jg:merge
72
+ * @property {string} title - 合并消息标题
73
+ * @property {Conversation} conversation - 会话对象
74
+ * @property {string[]} messageIdList - 消息ID列表
75
+ * @property {MergeMessagePreviewUnit[]} previewList - 预览列表
72
76
  */
73
77
  export class MergeMessageContent extends MessageContent {
74
78
  contentType: string;
@@ -101,6 +105,8 @@ export class MergeMessageContent extends MessageContent {
101
105
 
102
106
  /**
103
107
  * 合并消息预览单元
108
+ * @property {string} previewContent - 预览内容
109
+ * @property {UserInfo} sender - 发送者
104
110
  */
105
111
  export class MergeMessagePreviewUnit {
106
112
  constructor(previewContent?: string, sender?: UserInfo);
@@ -178,6 +184,9 @@ export class VoiceMessageContent extends MessageContent {
178
184
  * @property {number} direction - 消息方向: 1-发送, 2-接收
179
185
  * @property {boolean} isDelete - 是否已删除
180
186
  * @property {string} senderUserId - 发送者用户ID
187
+ * @property {string} senderUserName - 发送者用户昵称
188
+ * @property {string} senderUserAvatar - 发送者用户头像
189
+ * @property {object} senderUserExtra - 发送者用户扩展信息
181
190
  * @property {string} messageId - 消息ID
182
191
  * @property {boolean} hasRead - 是否已读
183
192
  * @property {number} timestamp - 消息时间戳
@@ -195,6 +204,9 @@ export interface Message {
195
204
  direction: number;
196
205
  isDelete: boolean;
197
206
  senderUserId: string;
207
+ senderUserName?: string;
208
+ senderUserAvatar?: string;
209
+ senderUserExtra?: { [key: string]: string };
198
210
  messageId: string;
199
211
  hasRead: boolean;
200
212
  timestamp: number;
@@ -221,11 +233,56 @@ export interface MessageResponse {
221
233
 
222
234
  /**
223
235
  * 用户信息
236
+ * @property {string} userId - 用户ID
237
+ * @property {string} nickname - 昵称
238
+ * @property {string} [userName] - 用户名
239
+ * @property {string} avatar - 头像
240
+ * @property {string} [portrait] - 头像 (同 avatar)
241
+ * @property {string | object} [extra] - 扩展信息
242
+ * @property {number} [updateTime] - 更新时间
243
+ * @property {number} [type] - 用户类型
224
244
  */
225
245
  export interface UserInfo {
226
246
  userId: string;
227
247
  nickname: string;
248
+ userName?: string;
228
249
  avatar: string;
250
+ portrait?: string;
251
+ extra?: string | object;
252
+ updateTime?: number;
253
+ type?: number;
254
+ }
255
+
256
+ /**
257
+ * 群组信息
258
+ * @property {string} groupId - 群组ID
259
+ * @property {string} groupName - 群组名称
260
+ * @property {string} portrait - 群组头像
261
+ * @property {object} [extra] - 扩展信息
262
+ * @property {number} [updatedTime] - 更新时间
263
+ */
264
+ export interface GroupInfo {
265
+ groupId: string;
266
+ groupName: string;
267
+ portrait: string;
268
+ extra?: { [key: string]: string };
269
+ updatedTime?: number;
270
+ }
271
+
272
+ /**
273
+ * 群成员信息
274
+ * @property {string} groupId - 群组ID
275
+ * @property {string} userId - 用户ID
276
+ * @property {string} groupDisplayName - 群昵称
277
+ * @property {object} [extra] - 扩展信息
278
+ * @property {number} [updatedTime] - 更新时间
279
+ */
280
+ export interface GroupMember {
281
+ groupId: string;
282
+ userId: string;
283
+ groupDisplayName: string;
284
+ extra?: { [key: string]: string };
285
+ updatedTime?: number;
229
286
  }
230
287
 
231
288
  export interface MessageReactionItem {
@@ -290,6 +347,22 @@ export interface MentionMsg {
290
347
  type: number;
291
348
  }
292
349
 
350
+ /**
351
+ * 会话信息
352
+ * @property {Conversation} conversation - 会话
353
+ * @property {number} unreadCount - 未读消息数
354
+ * @property {boolean} isTop - 是否置顶
355
+ * @property {boolean} isMute - 是否静音
356
+ * @property {Message} [lastMessage] - 最后一条消息
357
+ * @property {number} topTime - 置顶时间
358
+ * @property {number} sortTime - 排序时间
359
+ * @property {boolean} hasUnread - 是否有未读消息
360
+ * @property {string} draft - 草稿
361
+ * @property {ConversationMentionInfo} [mentionInfo] - 会话提及信息
362
+ * @property {string} [name] - 会话名称
363
+ * @property {string} [avatar] - 会话头像
364
+ * @property {object} [extra] - 会话"头像/名称"扩展信息
365
+ */
293
366
  export interface ConversationInfo {
294
367
  conversation: Conversation;
295
368
  unreadCount: number;
@@ -301,6 +374,9 @@ export interface ConversationInfo {
301
374
  hasUnread: boolean;
302
375
  draft: string;
303
376
  mentionInfo?: ConversationMentionInfo;
377
+ name?: string;
378
+ avatar?: string;
379
+ extra?: {};
304
380
  }
305
381
 
306
382
  /**
@@ -372,6 +448,22 @@ export interface SendMessageObject {
372
448
  }
373
449
  /**
374
450
  * 连接状态监听器回调函数
451
+ * @param {ConnectionStatus} status - 连接状态
452
+ * @param {number} code - 状态码
453
+ * 0: CONNECT_SUCCESS 链接成功
454
+ * 11000: CONNECT_ERROR 默认错误
455
+ * 11001: CONNECT_APPKEY_IS_REQUIRE 未传 Appkey
456
+ * 11002: CONNECT_TOKEN_NOT_EXISTS 未传 Token
457
+ * 11003: CONNECT_APPKEY_NOT_EXISTS Appkey 不存在
458
+ * 11004: CONNECT_TOKEN_ILLEGAL Token 不合法
459
+ * 11005: CONNECT_TOKEN_UNAUTHORIZED Token 未授权
460
+ * 11006: CONNECT_TOKEN_EXPIRE Token 已过期
461
+ * 11008: CONNECT_UNSUPPORT_PLATFORM 不支持的平台类型
462
+ * 11009: CONNECT_APP_BLOCKED App已封禁
463
+ * 11010: CONNECT_USER_BLOCKED 用户已封禁
464
+ * 11011: CONNECT_USER_KICKED 被踢下线
465
+ * 11012: CONNECT_USER_LOGOUT 注销下线
466
+ * @param {string} extra - 扩展信息
375
467
  */
376
468
  export type ConnectionStatusListener = (
377
469
  status: ConnectionStatus,