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
@@ -30,10 +30,15 @@ import com.juggle.im.model.UserInfo;
30
30
  import com.juggle.im.model.GroupMessageReadInfo;
31
31
  import com.juggle.im.model.MessageContent;
32
32
  import com.juggle.im.model.messages.*;
33
+ import com.juggle.im.model.MergeMessagePreviewUnit;
34
+ import com.juggle.im.model.PushData;
35
+ import com.juggle.im.model.MessageOptions;
33
36
  import com.juggle.im.JIM;
34
37
  import com.juggle.im.internal.logger.JLogConfig;
35
38
  import com.juggle.im.internal.logger.JLogLevel;
36
39
  import com.juggle.im.model.MessageContent.*;
40
+ import com.juggle.im.model.GroupInfo;
41
+ import com.juggle.im.model.GroupMember;
37
42
 
38
43
  import java.util.ArrayList;
39
44
  import java.util.HashMap;
@@ -494,7 +499,14 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
494
499
  byte[] bytes = content.encode();
495
500
  String str = new String(bytes, StandardCharsets.UTF_8);
496
501
  Log.d("JuggleIM", "convertMessageContentToMap: " + str);
497
- return RNTypeConverter.stringToWritableMap(str);
502
+ WritableMap map = RNTypeConverter.stringToWritableMap(str);
503
+ if (content instanceof ImageMessage) {
504
+ ImageMessage img = (ImageMessage) content;
505
+ map.putString("localPath", img.getLocalPath());
506
+ map.putString("thumbnailLocalPath", img.getThumbnailLocalPath());
507
+ map.putString("thumbnailUrl", img.getThumbnailUrl());
508
+ }
509
+ return map;
498
510
  }
499
511
 
500
512
  private MessageContent convertMapToMessageContent(ReadableMap map) {
@@ -525,6 +537,32 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
525
537
  voice.setLocalPath(map.getString("localPath"));
526
538
  voice.setDuration(map.getInt("duration"));
527
539
  return voice;
540
+ case "jg:merge":
541
+ String title = map.getString("title");
542
+ Conversation conversation = convertMapToConversation(map.getMap("conversation"));
543
+ ReadableArray messageIdArray = map.getArray("messageIdList");
544
+ List<String> messageIdList = new ArrayList<>();
545
+ if (messageIdArray != null) {
546
+ for (int i = 0; i < messageIdArray.size(); i++) {
547
+ messageIdList.add(messageIdArray.getString(i));
548
+ }
549
+ }
550
+
551
+ ReadableArray previewArray = map.getArray("previewList");
552
+ List<MergeMessagePreviewUnit> previewList = new ArrayList<>();
553
+ if (previewArray != null) {
554
+ for (int i = 0; i < previewArray.size(); i++) {
555
+ previewList.add(convertMapToMergeMessagePreviewUnit(previewArray.getMap(i)));
556
+ }
557
+ }
558
+ MergeMessage merge = new MergeMessage(title, conversation, messageIdList, previewList);
559
+ if (map.hasKey("containerMsgId")) {
560
+ merge.setContainerMsgId(map.getString("containerMsgId"));
561
+ }
562
+ if (map.hasKey("extra")) {
563
+ merge.setExtra(map.getString("extra"));
564
+ }
565
+ return merge;
528
566
  default:
529
567
  // 检查是否是自定义消息
530
568
  if (customMessageTypes.containsKey(contentType)) {
@@ -708,6 +746,53 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
708
746
  map.putString("userId", userInfo.getUserId());
709
747
  map.putString("nickname", userInfo.getUserName());
710
748
  map.putString("avatar", userInfo.getPortrait());
749
+ if (userInfo.getExtra() != null) {
750
+ WritableMap extra = new WritableNativeMap();
751
+ for (Map.Entry<String, String> entry : userInfo.getExtra().entrySet()) {
752
+ extra.putString(entry.getKey(), entry.getValue());
753
+ }
754
+ map.putMap("extra", extra);
755
+ }
756
+ map.putDouble("updatedTime", userInfo.getUpdatedTime());
757
+
758
+ return map;
759
+ }
760
+
761
+ /**
762
+ * 将群组信息转换为Map
763
+ */
764
+ private WritableMap convertGroupInfoToMap(GroupInfo groupInfo) {
765
+ WritableMap map = new WritableNativeMap();
766
+ map.putString("groupId", groupInfo.getGroupId());
767
+ map.putString("groupName", groupInfo.getGroupName());
768
+ map.putString("portrait", groupInfo.getPortrait());
769
+ if (groupInfo.getExtra() != null) {
770
+ WritableMap extra = new WritableNativeMap();
771
+ for (Map.Entry<String, String> entry : groupInfo.getExtra().entrySet()) {
772
+ extra.putString(entry.getKey(), entry.getValue());
773
+ }
774
+ map.putMap("extra", extra);
775
+ }
776
+ map.putDouble("updatedTime", groupInfo.getUpdatedTime());
777
+ return map;
778
+ }
779
+
780
+ /**
781
+ * 将群成员信息转换为Map
782
+ */
783
+ private WritableMap convertGroupMemberToMap(GroupMember groupMember) {
784
+ WritableMap map = new WritableNativeMap();
785
+ map.putString("groupId", groupMember.getGroupId());
786
+ map.putString("userId", groupMember.getUserId());
787
+ map.putString("groupDisplayName", groupMember.getGroupDisplayName());
788
+ if (groupMember.getExtra() != null) {
789
+ WritableMap extra = new WritableNativeMap();
790
+ for (Map.Entry<String, String> entry : groupMember.getExtra().entrySet()) {
791
+ extra.putString(entry.getKey(), entry.getValue());
792
+ }
793
+ map.putMap("extra", extra);
794
+ }
795
+ map.putDouble("updatedTime", groupMember.getUpdatedTime());
711
796
  return map;
712
797
  }
713
798
 
@@ -786,6 +871,45 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
786
871
  }
787
872
  }
788
873
 
874
+ /**
875
+ * 获取用户信息
876
+ */
877
+ @ReactMethod
878
+ public void getUserInfo(String userId, Promise promise) {
879
+ UserInfo userInfo = JIM.getInstance().getUserInfoManager().getUserInfo(userId);
880
+ if (userInfo != null) {
881
+ promise.resolve(convertUserInfoToMap(userInfo));
882
+ } else {
883
+ promise.resolve(null);
884
+ }
885
+ }
886
+
887
+ /**
888
+ * 获取群组信息
889
+ */
890
+ @ReactMethod
891
+ public void getGroupInfo(String groupId, Promise promise) {
892
+ GroupInfo groupInfo = JIM.getInstance().getUserInfoManager().getGroupInfo(groupId);
893
+ if (groupInfo != null) {
894
+ promise.resolve(convertGroupInfoToMap(groupInfo));
895
+ } else {
896
+ promise.resolve(null);
897
+ }
898
+ }
899
+
900
+ /**
901
+ * 获取群成员信息
902
+ */
903
+ @ReactMethod
904
+ public void getGroupMember(String groupId, String userId, Promise promise) {
905
+ GroupMember groupMember = JIM.getInstance().getUserInfoManager().getGroupMember(groupId, userId);
906
+ if (groupMember != null) {
907
+ promise.resolve(convertGroupMemberToMap(groupMember));
908
+ } else {
909
+ promise.resolve(null);
910
+ }
911
+ }
912
+
789
913
  /**
790
914
  * 获取单个会话信息
791
915
  */
@@ -1025,9 +1149,19 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
1025
1149
  public void sendMessage(ReadableMap messageMap, String messageId, Promise promise) {
1026
1150
  Message message = convertMapToMessage(messageMap);
1027
1151
  Log.d("JuggleIM", "sendMessage: " + messageId);
1152
+ PushData pushData = convertMapToPushData(messageMap);
1153
+
1154
+ MessageOptions options = new MessageOptions();
1155
+ options.setPushData(pushData);
1156
+ options.setMentionInfo(message.getMentionInfo());
1157
+ if (messageMap.hasKey("referredMessageId")) {
1158
+ options.setReferredMessageId(messageMap.getString("referredMessageId"));
1159
+ }
1160
+
1028
1161
  Message sendMsg = JIM.getInstance().getMessageManager().sendMessage(
1029
1162
  message.getContent(),
1030
1163
  message.getConversation(),
1164
+ options,
1031
1165
  new IMessageManager.ISendMessageCallback() {
1032
1166
  @Override
1033
1167
  public void onSuccess(Message sentMessage) {
@@ -1245,9 +1379,24 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
1245
1379
  imageMessage.setHeight(contentMap.getInt("height"));
1246
1380
  }
1247
1381
 
1382
+ MessageOptions options = new MessageOptions();
1383
+ PushData pushData = convertMapToPushData(messageMap);
1384
+ if (pushData != null) {
1385
+ options.setPushData(pushData);
1386
+ }
1387
+ ReadableMap mentionInfoMap = messageMap.getMap("mentionInfo");
1388
+ if (mentionInfoMap != null) {
1389
+ MessageMentionInfo mentionInfo = convertMapToMentionInfo(mentionInfoMap);
1390
+ options.setMentionInfo(mentionInfo);
1391
+ }
1392
+ if (messageMap.hasKey("referredMessageId")) {
1393
+ options.setReferredMessageId(messageMap.getString("referredMessageId"));
1394
+ }
1395
+
1248
1396
  Message message = JIM.getInstance().getMessageManager().sendMediaMessage(
1249
1397
  imageMessage,
1250
1398
  conversation,
1399
+ options,
1251
1400
  new IMessageManager.ISendMediaMessageCallback() {
1252
1401
  @Override
1253
1402
  public void onProgress(int progress, Message message) {
@@ -1320,10 +1469,24 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
1320
1469
  if (contentMap.hasKey("type")) {
1321
1470
  fileMessage.setType(contentMap.getString("type"));
1322
1471
  }
1472
+ MessageOptions options = new MessageOptions();
1473
+ PushData pushData = convertMapToPushData(messageMap);
1474
+ if (pushData != null) {
1475
+ options.setPushData(pushData);
1476
+ }
1477
+ ReadableMap mentionInfoMap = messageMap.getMap("mentionInfo");
1478
+ if (mentionInfoMap != null) {
1479
+ MessageMentionInfo mentionInfo = convertMapToMentionInfo(mentionInfoMap);
1480
+ options.setMentionInfo(mentionInfo);
1481
+ }
1482
+ if (messageMap.hasKey("referredMessageId")) {
1483
+ options.setReferredMessageId(messageMap.getString("referredMessageId"));
1484
+ }
1323
1485
 
1324
1486
  Message message = JIM.getInstance().getMessageManager().sendMediaMessage(
1325
1487
  fileMessage,
1326
1488
  conversation,
1489
+ options,
1327
1490
  new IMessageManager.ISendMediaMessageCallback() {
1328
1491
  @Override
1329
1492
  public void onProgress(int progress, Message message) {
@@ -1389,10 +1552,23 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
1389
1552
  if (contentMap.hasKey("duration")) {
1390
1553
  voiceMessage.setDuration(contentMap.getInt("duration"));
1391
1554
  }
1392
-
1555
+ MessageOptions options = new MessageOptions();
1556
+ PushData pushData = convertMapToPushData(messageMap);
1557
+ if (pushData != null) {
1558
+ options.setPushData(pushData);
1559
+ }
1560
+ ReadableMap mentionInfoMap = messageMap.getMap("mentionInfo");
1561
+ if (mentionInfoMap != null) {
1562
+ MessageMentionInfo mentionInfo = convertMapToMentionInfo(mentionInfoMap);
1563
+ options.setMentionInfo(mentionInfo);
1564
+ }
1565
+ if (messageMap.hasKey("referredMessageId")) {
1566
+ options.setReferredMessageId(messageMap.getString("referredMessageId"));
1567
+ }
1393
1568
  Message message = JIM.getInstance().getMessageManager().sendMediaMessage(
1394
1569
  voiceMessage,
1395
1570
  conversation,
1571
+ options,
1396
1572
  new IMessageManager.ISendMediaMessageCallback() {
1397
1573
  @Override
1398
1574
  public void onProgress(int progress, Message message) {
@@ -1500,9 +1676,25 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
1500
1676
  MessageMentionInfo mentionInfo = convertMapToMentionInfo(mentionInfoMap);
1501
1677
  message.setMentionInfo(mentionInfo);
1502
1678
  }
1679
+
1503
1680
  return message;
1504
1681
  }
1505
1682
 
1683
+ private PushData convertMapToPushData(ReadableMap map) {
1684
+ if (!map.hasKey("pushData")) {
1685
+ return null;
1686
+ }
1687
+ ReadableMap pushDataMap = map.getMap("pushData");
1688
+ PushData pushData = new PushData();
1689
+ if (pushDataMap.hasKey("content")) {
1690
+ pushData.setContent(pushDataMap.getString("content"));
1691
+ }
1692
+ if (pushDataMap.hasKey("extra")) {
1693
+ pushData.setExtra(pushDataMap.getString("extra"));
1694
+ }
1695
+ return pushData;
1696
+ }
1697
+
1506
1698
  private MessageMentionInfo convertMapToMentionInfo(ReadableMap mentionInfoMap) {
1507
1699
  MessageMentionInfo mentionInfo = new MessageMentionInfo();
1508
1700
  if (mentionInfoMap.hasKey("type")) {
@@ -1534,9 +1726,34 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
1534
1726
  if (userMap.hasKey("avatar")) {
1535
1727
  userInfo.setPortrait(userMap.getString("avatar"));
1536
1728
  }
1729
+ if (userMap.hasKey("extra")) {
1730
+ Map<String, String> extra = new HashMap<>();
1731
+ ReadableMap extraMap = userMap.getMap("extra");
1732
+ ReadableMapKeySetIterator iterator = extraMap.keySetIterator();
1733
+ while (iterator.hasNextKey()) {
1734
+ String key = iterator.nextKey();
1735
+ extra.put(key, extraMap.getString(key));
1736
+ }
1737
+ userInfo.setExtra(extra);
1738
+ }
1537
1739
  return userInfo;
1538
1740
  }
1539
1741
 
1742
+ private MergeMessagePreviewUnit convertMapToMergeMessagePreviewUnit(ReadableMap map) {
1743
+ String previewContent = "";
1744
+ if (map.hasKey("previewContent")) {
1745
+ previewContent = map.getString("previewContent");
1746
+ }
1747
+ UserInfo sender = new UserInfo();
1748
+ if (map.hasKey("sender")) {
1749
+ sender = convertMapToUserInfo(map.getMap("sender"));
1750
+ }
1751
+ MergeMessagePreviewUnit unit = new MergeMessagePreviewUnit();
1752
+ unit.setPreviewContent(previewContent);
1753
+ unit.setSender(sender);
1754
+ return unit;
1755
+ }
1756
+
1540
1757
  /**
1541
1758
  * 发送消息已读回执
1542
1759
  *
@@ -1633,4 +1850,116 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
1633
1850
  promise.reject(e);
1634
1851
  }
1635
1852
  }
1853
+
1854
+ /**
1855
+ * 获取合并消息列表
1856
+ *
1857
+ * @param messageId 合并消息ID
1858
+ * @param promise Promise对象
1859
+ */
1860
+ @ReactMethod
1861
+ public void getMergedMessageList(String messageId, Promise promise) {
1862
+ JIM.getInstance().getMessageManager().getMergedMessageList(messageId,
1863
+ new IMessageManager.IGetMessagesCallback() {
1864
+ @Override
1865
+ public void onSuccess(List<Message> list) {
1866
+ WritableArray array = new WritableNativeArray();
1867
+ for (Message msg : list) {
1868
+ array.pushMap(convertMessageToMap(msg));
1869
+ }
1870
+ promise.resolve(array);
1871
+ }
1872
+
1873
+ @Override
1874
+ public void onError(int i) {
1875
+ promise.reject(String.valueOf(i), "getMergedMessageList failed");
1876
+ }
1877
+ });
1878
+ }
1879
+
1880
+ /**
1881
+ * 从服务端获取用户信息
1882
+ *
1883
+ * @param userId 用户ID
1884
+ */
1885
+ @ReactMethod
1886
+ public void fetchUserInfo(String userId, Promise promise) {
1887
+ JIM.getInstance().getUserInfoManager().fetchUserInfo(userId, new JIMConst.IResultCallback<UserInfo>() {
1888
+ @Override
1889
+ public void onSuccess(UserInfo userInfo) {
1890
+ if (userInfo != null) {
1891
+ promise.resolve(convertUserInfoToMap(userInfo));
1892
+ } else {
1893
+ promise.resolve(null);
1894
+ }
1895
+ }
1896
+
1897
+ @Override
1898
+ public void onError(int i) {
1899
+ promise.reject(String.valueOf(i), "fetchUserInfo failed");
1900
+ }
1901
+ });
1902
+ }
1903
+
1904
+ /**
1905
+ * 从服务端获取群组信息
1906
+ *
1907
+ * @param groupId 群组ID
1908
+ */
1909
+ @ReactMethod
1910
+ public void fetchGroupInfo(String groupId, Promise promise) {
1911
+ JIM.getInstance().getUserInfoManager().fetchGroupInfo(groupId, new JIMConst.IResultCallback<GroupInfo>() {
1912
+ @Override
1913
+ public void onSuccess(GroupInfo groupInfo) {
1914
+ if (groupInfo != null) {
1915
+ promise.resolve(convertGroupInfoToMap(groupInfo));
1916
+ } else {
1917
+ promise.resolve(null);
1918
+ }
1919
+ }
1920
+
1921
+ @Override
1922
+ public void onError(int i) {
1923
+ promise.reject(String.valueOf(i), "fetchGroupInfo failed");
1924
+ }
1925
+ });
1926
+ }
1927
+
1928
+ /**
1929
+ * 批量获取用户信息
1930
+ *
1931
+ * @param userIdList 用户ID列表
1932
+ */
1933
+ @ReactMethod
1934
+ public void getUserInfoList(ReadableArray userIdList, Promise promise) {
1935
+ List<String> ids = new ArrayList<>();
1936
+ for (int i = 0; i < userIdList.size(); i++) {
1937
+ ids.add(userIdList.getString(i));
1938
+ }
1939
+ List<UserInfo> users = JIM.getInstance().getUserInfoManager().getUserInfoList(ids);
1940
+ WritableArray array = new WritableNativeArray();
1941
+ for (UserInfo user : users) {
1942
+ array.pushMap(convertUserInfoToMap(user));
1943
+ }
1944
+ promise.resolve(array);
1945
+ }
1946
+
1947
+ /**
1948
+ * 批量获取群组信息
1949
+ *
1950
+ * @param groupIdList 群组ID列表
1951
+ */
1952
+ @ReactMethod
1953
+ public void getGroupInfoList(ReadableArray groupIdList, Promise promise) {
1954
+ List<String> ids = new ArrayList<>();
1955
+ for (int i = 0; i < groupIdList.size(); i++) {
1956
+ ids.add(groupIdList.getString(i));
1957
+ }
1958
+ List<GroupInfo> groups = JIM.getInstance().getUserInfoManager().getGroupInfoList(ids);
1959
+ WritableArray array = new WritableNativeArray();
1960
+ for (GroupInfo group : groups) {
1961
+ array.pushMap(convertGroupInfoToMap(group));
1962
+ }
1963
+ promise.resolve(array);
1964
+ }
1636
1965
  }