juggleim-rnsdk 0.0.8

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 (196) hide show
  1. package/README.md +521 -0
  2. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  3. package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
  4. package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
  5. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  6. package/android/.gradle/8.9/executionHistory/executionHistory.lock +0 -0
  7. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  8. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  9. package/android/.gradle/8.9/gc.properties +0 -0
  10. package/android/.gradle/9.0-milestone-1/checksums/checksums.lock +0 -0
  11. package/android/.gradle/9.0-milestone-1/fileChanges/last-build.bin +0 -0
  12. package/android/.gradle/9.0-milestone-1/fileHashes/fileHashes.lock +0 -0
  13. package/android/.gradle/9.0-milestone-1/gc.properties +0 -0
  14. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  15. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  16. package/android/.gradle/config.properties +2 -0
  17. package/android/.gradle/vcs-1/gc.properties +0 -0
  18. package/android/.idea/AndroidProjectSystem.xml +6 -0
  19. package/android/.idea/caches/deviceStreaming.xml +981 -0
  20. package/android/.idea/gradle.xml +12 -0
  21. package/android/.idea/migrations.xml +10 -0
  22. package/android/.idea/misc.xml +10 -0
  23. package/android/.idea/runConfigurations.xml +17 -0
  24. package/android/.idea/vcs.xml +6 -0
  25. package/android/.settings/org.eclipse.buildship.core.prefs +2 -0
  26. package/android/build/.transforms/32937366d2d155289e73cba3894468b5/results.bin +1 -0
  27. package/android/build/.transforms/32937366d2d155289e73cba3894468b5/transformed/classes/classes_dex/classes.dex +0 -0
  28. package/android/build/.transforms/3836873630d52928fb1c95f4a42a08c2/results.bin +1 -0
  29. package/android/build/.transforms/3836873630d52928fb1c95f4a42a08c2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/BuildConfig.dex +0 -0
  30. package/android/build/.transforms/3836873630d52928fb1c95f4a42a08c2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager.dex +0 -0
  31. package/android/build/.transforms/3836873630d52928fb1c95f4a42a08c2/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMPackage.dex +0 -0
  32. package/android/build/.transforms/3836873630d52928fb1c95f4a42a08c2/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  33. package/android/build/.transforms/4ae221a259570a6033b0069041b5796d/results.bin +1 -0
  34. package/android/build/.transforms/4ae221a259570a6033b0069041b5796d/transformed/classes/classes_dex/classes.dex +0 -0
  35. package/android/build/.transforms/85a2c003bf85108f4351f2cf87e94301/results.bin +1 -0
  36. package/android/build/.transforms/85a2c003bf85108f4351f2cf87e94301/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/BuildConfig.dex +0 -0
  37. package/android/build/.transforms/85a2c003bf85108f4351f2cf87e94301/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$1.dex +0 -0
  38. package/android/build/.transforms/85a2c003bf85108f4351f2cf87e94301/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$2.dex +0 -0
  39. package/android/build/.transforms/85a2c003bf85108f4351f2cf87e94301/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager.dex +0 -0
  40. package/android/build/.transforms/85a2c003bf85108f4351f2cf87e94301/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMPackage.dex +0 -0
  41. package/android/build/.transforms/85a2c003bf85108f4351f2cf87e94301/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  42. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/results.bin +1 -0
  43. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/BuildConfig.dex +0 -0
  44. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/FileUtils.dex +0 -0
  45. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$1.dex +0 -0
  46. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$10.dex +0 -0
  47. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$11.dex +0 -0
  48. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$12.dex +0 -0
  49. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$13.dex +0 -0
  50. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$14.dex +0 -0
  51. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$15.dex +0 -0
  52. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$16.dex +0 -0
  53. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$17.dex +0 -0
  54. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$18.dex +0 -0
  55. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$2.dex +0 -0
  56. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$3.dex +0 -0
  57. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$4.dex +0 -0
  58. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$5.dex +0 -0
  59. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$6.dex +0 -0
  60. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$7.dex +0 -0
  61. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$8.dex +0 -0
  62. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$9.dex +0 -0
  63. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager.dex +0 -0
  64. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMPackage.dex +0 -0
  65. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/RNTypeConverter$1.dex +0 -0
  66. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/RNTypeConverter.dex +0 -0
  67. package/android/build/.transforms/9a2afda83c396e5ec45393e60e403432/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  68. package/android/build/.transforms/c196b8eedd9d5b3ab65791cf668fe454/results.bin +1 -0
  69. package/android/build/.transforms/c196b8eedd9d5b3ab65791cf668fe454/transformed/classes/classes_dex/classes.dex +0 -0
  70. package/android/build/generated/source/buildConfig/debug/com/juggleim/BuildConfig.java +10 -0
  71. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +9 -0
  72. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +18 -0
  73. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +7 -0
  74. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  75. package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +4 -0
  76. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  77. package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +1 -0
  78. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  79. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  80. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  81. package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
  82. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  83. package/android/build/intermediates/compile_symbol_list/debug/R.txt +1958 -0
  84. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
  85. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
  86. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  87. package/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +2 -0
  88. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  89. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  90. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  91. package/android/build/intermediates/javac/debug/classes/com/juggleim/BuildConfig.class +0 -0
  92. package/android/build/intermediates/javac/debug/classes/com/juggleim/FileUtils.class +0 -0
  93. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager$1.class +0 -0
  94. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager$10.class +0 -0
  95. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager$11.class +0 -0
  96. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager$12.class +0 -0
  97. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager$13.class +0 -0
  98. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager$14.class +0 -0
  99. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager$15.class +0 -0
  100. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager$16.class +0 -0
  101. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager$17.class +0 -0
  102. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager$18.class +0 -0
  103. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager$2.class +0 -0
  104. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager$3.class +0 -0
  105. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager$4.class +0 -0
  106. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager$5.class +0 -0
  107. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager$6.class +0 -0
  108. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager$7.class +0 -0
  109. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager$8.class +0 -0
  110. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager$9.class +0 -0
  111. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMManager.class +0 -0
  112. package/android/build/intermediates/javac/debug/classes/com/juggleim/JuggleIMPackage.class +0 -0
  113. package/android/build/intermediates/javac/debug/classes/com/juggleim/RNTypeConverter$1.class +0 -0
  114. package/android/build/intermediates/javac/debug/classes/com/juggleim/RNTypeConverter.class +0 -0
  115. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/BuildConfig.class +0 -0
  116. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/FileUtils.class +0 -0
  117. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$1.class +0 -0
  118. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$10.class +0 -0
  119. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$11.class +0 -0
  120. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$12.class +0 -0
  121. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$13.class +0 -0
  122. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$14.class +0 -0
  123. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$15.class +0 -0
  124. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$16.class +0 -0
  125. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$17.class +0 -0
  126. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$18.class +0 -0
  127. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$2.class +0 -0
  128. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$3.class +0 -0
  129. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$4.class +0 -0
  130. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$5.class +0 -0
  131. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$6.class +0 -0
  132. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$7.class +0 -0
  133. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$8.class +0 -0
  134. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$9.class +0 -0
  135. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager.class +0 -0
  136. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMPackage.class +0 -0
  137. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/RNTypeConverter$1.class +0 -0
  138. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/RNTypeConverter.class +0 -0
  139. package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +2 -0
  140. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +2 -0
  141. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +11 -0
  142. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +7 -0
  143. package/android/build/intermediates/merged_manifest/debug/AndroidManifest.xml +9 -0
  144. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +7 -0
  145. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  146. package/android/build/intermediates/navigation_json/debug/navigation.json +1 -0
  147. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  148. package/android/build/intermediates/packaged_manifests/debug/output-metadata.json +18 -0
  149. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/BuildConfig.class +0 -0
  150. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/FileUtils.class +0 -0
  151. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$1.class +0 -0
  152. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$10.class +0 -0
  153. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$11.class +0 -0
  154. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$12.class +0 -0
  155. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$13.class +0 -0
  156. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$14.class +0 -0
  157. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$15.class +0 -0
  158. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$16.class +0 -0
  159. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$17.class +0 -0
  160. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$18.class +0 -0
  161. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$2.class +0 -0
  162. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$3.class +0 -0
  163. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$4.class +0 -0
  164. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$5.class +0 -0
  165. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$6.class +0 -0
  166. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$7.class +0 -0
  167. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$8.class +0 -0
  168. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$9.class +0 -0
  169. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager.class +0 -0
  170. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMPackage.class +0 -0
  171. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/RNTypeConverter$1.class +0 -0
  172. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/RNTypeConverter.class +0 -0
  173. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  174. package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  175. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +1 -0
  176. package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +1450 -0
  177. package/android/build/outputs/logs/manifest-merger-debug-report.txt +17 -0
  178. package/android/build/reports/problems/problems-report.html +663 -0
  179. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$1.class.uniqueId3 +0 -0
  180. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$2.class.uniqueId0 +0 -0
  181. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager.class.uniqueId1 +0 -0
  182. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMPackage.class.uniqueId2 +0 -0
  183. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  184. package/android/build.gradle +48 -0
  185. package/android/local.properties +8 -0
  186. package/android/src/main/AndroidManifest.xml +3 -0
  187. package/android/src/main/java/com/juggleim/FileUtils.java +104 -0
  188. package/android/src/main/java/com/juggleim/JuggleIMManager.java +1220 -0
  189. package/android/src/main/java/com/juggleim/JuggleIMPackage.java +27 -0
  190. package/android/src/main/java/com/juggleim/RNTypeConverter.java +163 -0
  191. package/im-rn-sdk.podspec +20 -0
  192. package/ios/JuggleIMManager.h +9 -0
  193. package/ios/JuggleIMManager.m +1186 -0
  194. package/package.json +45 -0
  195. package/src/index.d.ts +691 -0
  196. package/src/index.js +854 -0
package/src/index.js ADDED
@@ -0,0 +1,854 @@
1
+ import { NativeModules, Platform, NativeEventEmitter } from "react-native";
2
+
3
+ const { JuggleIM: JMI } = NativeModules;
4
+ // 为避免警告,仅在Android平台传入JMI参数
5
+ const juggleIMEmitter = Platform.OS === 'android' ? new NativeEventEmitter(JMI) : new NativeEventEmitter();
6
+
7
+ /**
8
+ * Juggle IM React Native SDK
9
+ * @class JuggleIM
10
+ */
11
+ class JuggleIM {
12
+ /**
13
+ * 设置服务器地址列表
14
+ * @param {string[]} urls - 服务器地址列表
15
+ * @returns {void}
16
+ */
17
+ static setServerUrls(urls) {
18
+ JMI.setServerUrls(urls);
19
+ }
20
+
21
+ /**
22
+ * 初始化SDK
23
+ * @param {string} appKey - 应用唯一标识
24
+ * @returns {void}
25
+ */
26
+ static init(appKey) {
27
+ if (Platform.OS === "android") {
28
+ JMI.init(appKey);
29
+ } else if (Platform.OS === "ios") {
30
+ JMI.initWithAppKey(appKey);
31
+ }
32
+ }
33
+
34
+ /**
35
+ * 连接到服务器
36
+ * @param {string} token - 用户token
37
+ * @returns {void}
38
+ */
39
+ static connect(token) {
40
+ if (Platform.OS === "android") {
41
+ JMI.connect(token);
42
+ } else if (Platform.OS === "ios") {
43
+ JMI.connectWithToken(token);
44
+ }
45
+ }
46
+
47
+ /**
48
+ * 添加连接状态监听器
49
+ * @param {string} key - 监听器标识
50
+ * @param {function} listener - 监听器回调函数
51
+ * @returns {function} 返回取消监听的函数
52
+ */
53
+ static addConnectionStatusListener(key, listener) {
54
+ if (Platform.OS === "android") {
55
+ JMI.addConnectionStatusListener(key);
56
+ } else if (Platform.OS === "ios") {
57
+ JMI.addConnectionDelegate();
58
+ }
59
+
60
+ // 监听原生事件
61
+ const subscription = juggleIMEmitter.addListener(
62
+ "ConnectionStatusChanged",
63
+ (event) => {
64
+ if (Platform.OS === "android") {
65
+ if (event.key === key) {
66
+ listener(event.status, event.code, event.extra);
67
+ }
68
+ } else if (Platform.OS === "ios") {
69
+ listener(event.status, event.code, event.extra);
70
+ }
71
+ }
72
+ );
73
+
74
+ const dbOpenSubscription = juggleIMEmitter.addListener(
75
+ "DbDidOpen",
76
+ (event) => {
77
+ if (event.key === key) {
78
+ listener("dbOpen", 0, "");
79
+ }
80
+ }
81
+ );
82
+
83
+ const dbCloseSubscription = juggleIMEmitter.addListener(
84
+ "DbDidClose",
85
+ (event) => {
86
+ if (event.key === key) {
87
+ listener("dbClose", 0, "");
88
+ }
89
+ }
90
+ );
91
+
92
+ // 返回取消监听的函数
93
+ return () => {
94
+ subscription.remove();
95
+ dbOpenSubscription.remove();
96
+ dbCloseSubscription.remove();
97
+ };
98
+ }
99
+
100
+ /**
101
+ * 添加消息监听器
102
+ * @param {string} key - 监听器标识
103
+ * @param {object} listener - 监听器回调函数对象
104
+ * @returns {function} 返回取消监听的函数
105
+ */
106
+ static addMessageListener(key, listener) {
107
+ if (Platform.OS === "android") {
108
+ JMI.addMessageListener(key);
109
+ } else if (Platform.OS === "ios") {
110
+ JMI.addMessageDelegate();
111
+ }
112
+
113
+ const subscriptions = [];
114
+
115
+ // 消息接收监听
116
+ if (listener.onMessageReceive) {
117
+ const subscription = juggleIMEmitter.addListener(
118
+ "MessageReceived",
119
+ (event) => {
120
+ if (Platform.OS === "android" && event.key !== key) return;
121
+ listener.onMessageReceive(event.message);
122
+ }
123
+ );
124
+ subscriptions.push(subscription);
125
+ }
126
+
127
+ // 消息撤回监听
128
+ if (listener.onMessageRecall) {
129
+ const subscription = juggleIMEmitter.addListener(
130
+ "MessageRecalled",
131
+ (event) => {
132
+ if (Platform.OS === "android" && event.key !== key) return;
133
+ listener.onMessageRecall(event.message);
134
+ }
135
+ );
136
+ subscriptions.push(subscription);
137
+ }
138
+
139
+ // 消息修改监听
140
+ if (listener.onMessageUpdate) {
141
+ const subscription = juggleIMEmitter.addListener(
142
+ "MessageUpdated",
143
+ (event) => {
144
+ if (Platform.OS === "android" && event.key !== key) return;
145
+ listener.onMessageUpdate(event.message);
146
+ }
147
+ );
148
+ subscriptions.push(subscription);
149
+ }
150
+
151
+ // 消息删除监听
152
+ if (listener.onMessageDelete) {
153
+ const subscription = juggleIMEmitter.addListener(
154
+ "MessageDeleted",
155
+ (event) => {
156
+ if (Platform.OS === "android" && event.key !== key) return;
157
+ listener.onMessageDelete(event.conversation, event.clientMsgNos);
158
+ }
159
+ );
160
+ subscriptions.push(subscription);
161
+ }
162
+
163
+ // 消息清除监听
164
+ if (listener.onMessageClear) {
165
+ const subscription = juggleIMEmitter.addListener(
166
+ "MessageCleared",
167
+ (event) => {
168
+ if (Platform.OS === "android" && event.key !== key) return;
169
+ listener.onMessageClear(
170
+ event.conversation,
171
+ event.timestamp,
172
+ event.senderId
173
+ );
174
+ }
175
+ );
176
+ subscriptions.push(subscription);
177
+ }
178
+
179
+ // 消息回应添加监听
180
+ if (listener.onMessageReactionAdd) {
181
+ const subscription = juggleIMEmitter.addListener(
182
+ "MessageReactionAdded",
183
+ (event) => {
184
+ if (Platform.OS === "android" && event.key !== key) return;
185
+ listener.onMessageReactionAdd(event.conversation, event.reaction);
186
+ }
187
+ );
188
+ subscriptions.push(subscription);
189
+ }
190
+
191
+ // 消息回应删除监听
192
+ if (listener.onMessageReactionRemove) {
193
+ const subscription = juggleIMEmitter.addListener(
194
+ "MessageReactionRemoved",
195
+ (event) => {
196
+ if (Platform.OS === "android" && event.key !== key) return;
197
+ listener.onMessageReactionRemove(event.conversation, event.reaction);
198
+ }
199
+ );
200
+ subscriptions.push(subscription);
201
+ }
202
+
203
+ // 消息置顶监听
204
+ if (listener.onMessageSetTop) {
205
+ const subscription = juggleIMEmitter.addListener(
206
+ "MessageSetTop",
207
+ (event) => {
208
+ if (Platform.OS === "android" && event.key !== key) return;
209
+ listener.onMessageSetTop(event.message, event.operator, event.isTop);
210
+ }
211
+ );
212
+ subscriptions.push(subscription);
213
+ }
214
+
215
+ // 返回取消监听的函数
216
+ return () => {
217
+ subscriptions.forEach((subscription) => subscription.remove());
218
+ };
219
+ }
220
+
221
+ /**
222
+ * 添加消息阅读状态监听器
223
+ * @param {string} key - 监听器标识
224
+ * @param {object} listener - 监听器回调函数对象
225
+ * @returns {function} 返回取消监听的函数
226
+ */
227
+ static addMessageReadReceiptListener(key, listener) {
228
+ if (Platform.OS === "android") {
229
+ JMI.addMessageReadReceiptListener(key);
230
+ } else if (Platform.OS === "ios") {
231
+ JMI.addMessageReadReceiptDelegate();
232
+ }
233
+
234
+ const subscriptions = [];
235
+
236
+ // 单聊消息阅读监听
237
+ if (listener.onMessagesRead) {
238
+ const subscription = juggleIMEmitter.addListener(
239
+ "MessagesRead",
240
+ (event) => {
241
+ if (Platform.OS === "android" && event.key !== key) return;
242
+ listener.onMessagesRead(event.conversation, event.messageIds);
243
+ }
244
+ );
245
+ subscriptions.push(subscription);
246
+ }
247
+
248
+ // 群消息阅读监听
249
+ if (listener.onGroupMessagesRead) {
250
+ const subscription = juggleIMEmitter.addListener(
251
+ "GroupMessagesRead",
252
+ (event) => {
253
+ if (Platform.OS === "android" && event.key !== key) return;
254
+ listener.onGroupMessagesRead(event.conversation, event.messages);
255
+ }
256
+ );
257
+ subscriptions.push(subscription);
258
+ }
259
+
260
+ // 返回取消监听的函数
261
+ return () => {
262
+ subscriptions.forEach((subscription) => subscription.remove());
263
+ };
264
+ }
265
+
266
+ /**
267
+ * 添加消息销毁监听器
268
+ * @param {string} key - 监听器标识
269
+ * @param {object} listener - 监听器回调函数对象
270
+ * @returns {function} 返回取消监听的函数
271
+ */
272
+ static addMessageDestroyListener(key, listener) {
273
+ if (Platform.OS === "android") {
274
+ JMI.addMessageDestroyListener(key);
275
+ } else if (Platform.OS === "ios") {
276
+ JMI.addMessageDestroyDelegate();
277
+ }
278
+
279
+ const subscriptions = [];
280
+
281
+ // 消息销毁时间更新监听
282
+ if (listener.onMessageDestroyTimeUpdate) {
283
+ const subscription = juggleIMEmitter.addListener(
284
+ "MessageDestroyTimeUpdated",
285
+ (event) => {
286
+ if (Platform.OS === "android" && event.key !== key) return;
287
+ listener.onMessageDestroyTimeUpdate(
288
+ event.messageId,
289
+ event.conversation,
290
+ event.destroyTime
291
+ );
292
+ }
293
+ );
294
+ subscriptions.push(subscription);
295
+ }
296
+
297
+ // 返回取消监听的函数
298
+ return () => {
299
+ subscriptions.forEach((subscription) => subscription.remove());
300
+ };
301
+ }
302
+
303
+ /**
304
+ * 添加会话监听器
305
+ * @param {string} key - 监听器标识
306
+ * @param {object} listener - 监听器回调函数对象
307
+ * @returns {function} 返回取消监听的函数
308
+ */
309
+ static addConversationListener(key, listener) {
310
+ if (Platform.OS === "android") {
311
+ JMI.addConversationListener(key);
312
+ } else if (Platform.OS === "ios") {
313
+ JMI.addConversationDelegate();
314
+ }
315
+
316
+ const subscriptions = [];
317
+
318
+ // 会话新增监听
319
+ if (listener.onConversationInfoAdd) {
320
+ const subscription = juggleIMEmitter.addListener(
321
+ "ConversationInfoAdded",
322
+ (event) => {
323
+ if (Platform.OS === "android" && event.key !== key) return;
324
+ listener.onConversationInfoAdd(event.conversations);
325
+ }
326
+ );
327
+ subscriptions.push(subscription);
328
+ }
329
+
330
+ // 会话更新监听
331
+ if (listener.onConversationInfoUpdate) {
332
+ const subscription = juggleIMEmitter.addListener(
333
+ "ConversationInfoUpdated",
334
+ (event) => {
335
+ if (Platform.OS === "android" && event.key !== key) return;
336
+ listener.onConversationInfoUpdate(event.conversations);
337
+ }
338
+ );
339
+ subscriptions.push(subscription);
340
+ }
341
+
342
+ // 会话删除监听
343
+ if (listener.onConversationInfoDelete) {
344
+ const subscription = juggleIMEmitter.addListener(
345
+ "ConversationInfoDeleted",
346
+ (event) => {
347
+ if (Platform.OS === "android" && event.key !== key) return;
348
+ listener.onConversationInfoDelete(event.conversations);
349
+ }
350
+ );
351
+ subscriptions.push(subscription);
352
+ }
353
+
354
+ // 总未读数更新监听
355
+ if (listener.onTotalUnreadMessageCountUpdate) {
356
+ const subscription = juggleIMEmitter.addListener(
357
+ "TotalUnreadMessageCountUpdated",
358
+ (event) => {
359
+ if (Platform.OS === "android" && event.key !== key) return;
360
+ listener.onTotalUnreadMessageCountUpdate(event.count);
361
+ }
362
+ );
363
+ subscriptions.push(subscription);
364
+ }
365
+
366
+ // 返回取消监听的函数
367
+ return () => {
368
+ subscriptions.forEach((subscription) => subscription.remove());
369
+ };
370
+ }
371
+
372
+ /**
373
+ * 获取会话信息列表
374
+ * @param {object} option - 获取选项
375
+ * @returns {Promise<ConversationInfo[]>} 会话信息列表
376
+ */
377
+ static getConversationInfoList(option) {
378
+ console.log("getConversationInfoList called with option:", option);
379
+ return JMI.getConversationInfoList(
380
+ option.count,
381
+ option.timestamp,
382
+ option.direction
383
+ );
384
+ }
385
+
386
+ /**
387
+ * 获取单个会话信息
388
+ * @param {object} conversation - 会话对象
389
+ * @returns {Promise<object>} 会话信息
390
+ */
391
+ static getConversationInfo(conversation) {
392
+ return JMI.getConversationInfo(conversation);
393
+ }
394
+
395
+ /**
396
+ * 创建会话信息
397
+ * @param {object} conversation - 会话对象
398
+ * @returns {Promise<object>} 创建的会话信息
399
+ */
400
+ static createConversationInfo(conversation) {
401
+ return JMI.createConversationInfo(conversation);
402
+ }
403
+
404
+ /**
405
+ * 删除会话信息
406
+ * @param {object} conversation - 会话对象
407
+ * @returns {Promise<boolean>} 删除结果
408
+ */
409
+ static deleteConversationInfo(conversation) {
410
+ return JMI.deleteConversationInfo(conversation);
411
+ }
412
+
413
+ /**
414
+ * 设置会话免打扰状态
415
+ * @param {object} conversation - 会话对象
416
+ * @param {boolean} isMute - 是否免打扰
417
+ * @returns {Promise<boolean>} 设置结果
418
+ */
419
+ static setMute(conversation, isMute) {
420
+ return JMI.setMute(conversation, isMute);
421
+ }
422
+
423
+ /**
424
+ * 设置会话置顶状态
425
+ * @param {object} conversation - 会话对象
426
+ * @param {boolean} isTop - 是否置顶
427
+ * @returns {Promise<boolean>} 设置结果
428
+ */
429
+ static setTop(conversation, isTop) {
430
+ if (Platform.OS === "android") {
431
+ return JMI.setTop(conversation, isTop);
432
+ } else if (Platform.OS === "ios") {
433
+ return JMI.setTop(conversation, isTop);
434
+ }
435
+ }
436
+
437
+ /**
438
+ * 清除会话未读数
439
+ * @param {object} conversation - 会话对象
440
+ * @returns {Promise<boolean>} 清除结果
441
+ */
442
+ static clearUnreadCount(conversation) {
443
+ if (Platform.OS === "android") {
444
+ return JMI.clearUnreadCount(conversation);
445
+ } else if (Platform.OS === "ios") {
446
+ return JMI.clearUnreadCount(conversation);
447
+ }
448
+ }
449
+
450
+ /**
451
+ * 清除总未读数
452
+ * @returns {Promise<boolean>} 清除结果
453
+ */
454
+ static clearTotalUnreadCount() {
455
+ return JMI.clearTotalUnreadCount();
456
+ }
457
+
458
+ /**
459
+ * 获取总未读数
460
+ * @returns {Promise<number>} 总未读数
461
+ */
462
+ static getTotalUnreadCount() {
463
+ return JMI.getTotalUnreadCount();
464
+ }
465
+
466
+ /**
467
+ * 设置会话草稿
468
+ * @param {object} conversation - 会话对象
469
+ * @param {string} draft - 草稿内容
470
+ * @returns {Promise<boolean>} 设置结果
471
+ */
472
+ static setDraft(conversation, draft) {
473
+ return JMI.setDraft(conversation, draft);
474
+ }
475
+
476
+ /**
477
+ * 清除会话草稿
478
+ * @param {object} conversation - 会话对象
479
+ * @returns {Promise<boolean>} 清除结果
480
+ */
481
+ static clearDraft(conversation) {
482
+ return JMI.clearDraft(conversation);
483
+ }
484
+
485
+ /**
486
+ * 标记会话未读
487
+ * @param {object} conversation - 会话对象
488
+ * @returns {Promise<boolean>} 标记结果
489
+ */
490
+ static setUnread(conversation) {
491
+ return JMI.setUnread(conversation);
492
+ }
493
+
494
+ /**
495
+ * 获取置顶会话列表
496
+ * @param {number} count - 获取数量
497
+ * @param {number} timestamp - 时间戳
498
+ * @param {number} direction - 拉取方向
499
+ * @returns {Promise<Array>} 置顶会话列表
500
+ */
501
+ static getTopConversationInfoList(count = 20, timestamp = 0, direction = 0) {
502
+ return JMI.getTopConversationInfoList(count, timestamp, direction);
503
+ }
504
+
505
+ /**
506
+ * 获取指定类型未读数
507
+ * @param {Array<number>} conversationTypes - 会话类型数组
508
+ * @returns {Promise<number>} 未读数
509
+ */
510
+ static getUnreadCountWithTypes(conversationTypes) {
511
+ return JMI.getUnreadCountWithTypes(conversationTypes);
512
+ }
513
+
514
+ /**
515
+ * 向标签添加会话
516
+ * @param {Array} conversations - 会话数组
517
+ * @param {string} tagId - 标签ID
518
+ * @returns {Promise<boolean>} 添加结果
519
+ */
520
+ static addConversationsToTag(conversations, tagId) {
521
+ return JMI.addConversationsToTag(conversations, tagId);
522
+ }
523
+
524
+ /**
525
+ * 从标签移除会话
526
+ * @param {Array} conversations - 会话数组
527
+ * @param {string} tagId - 标签ID
528
+ * @returns {Promise<boolean>} 移除结果
529
+ */
530
+ static removeConversationsFromTag(conversations, tagId) {
531
+ return JMI.removeConversationsFromTag(conversations, tagId);
532
+ }
533
+
534
+ //message
535
+
536
+ /**
537
+ * 发送消息
538
+ * @param {SendMessageObject} message
539
+ * @param {import("im-rn-sdk").SendMessageCallback} callback - 回调对象
540
+ * @returns {import("im-rn-sdk").Message} - 消息对象
541
+ */
542
+ static async sendMessage(
543
+ message,
544
+ callback = {}
545
+ ) {
546
+ console.log("sendMessage message:", message);
547
+
548
+ // 生成唯一标识符以避免回调冲突
549
+ const messageId = Math.random().toString(36).substr(2, 9) + Date.now();
550
+
551
+ const successListener = juggleIMEmitter.addListener(
552
+ "onMessageSent",
553
+ (event) => {
554
+ if (event.messageId === messageId) {
555
+ callback.onSuccess?.(event.message);
556
+ successListener.remove();
557
+ errorListener.remove();
558
+ }
559
+ }
560
+ );
561
+
562
+ const errorListener = juggleIMEmitter.addListener(
563
+ "onMessageSentError",
564
+ (event) => {
565
+ if (event.messageId === messageId) {
566
+ callback.onError?.(event.message, event.errorCode || -1);
567
+ successListener.remove();
568
+ errorListener.remove();
569
+ }
570
+ }
571
+ );
572
+
573
+ try {
574
+ const localMsg = await JMI.sendMessage(message, messageId);
575
+ return localMsg;
576
+ } catch (error) {
577
+ callback.onError?.(null, -1);
578
+ successListener.remove();
579
+ errorListener.remove();
580
+ console.error("sendMessage error:", error);
581
+ }
582
+ }
583
+
584
+ /**
585
+ * 发送图片消息
586
+ * @param {Object} message - 图片消息内容
587
+ * @param {Object} callback - 回调对象
588
+ * @returns {Promise<Message>} - 消息对象
589
+ */
590
+ static async sendImageMessage(
591
+ message,
592
+ callback = {}
593
+ ) {
594
+ console.log("sendImageMessage message...:", message);
595
+
596
+ // 生成唯一标识符以避免回调冲突
597
+ const messageId = Math.random().toString(36).substr(2, 9) + Date.now();
598
+
599
+ const progressListener = juggleIMEmitter.addListener(
600
+ "onMediaMessageProgress",
601
+ (event) => {
602
+ console.log("onMediaMessageSent msg:", event);
603
+ if (event.messageId === messageId) {
604
+ callback.onProgress?.(event.progress, event.message);
605
+ }
606
+ }
607
+ );
608
+
609
+ const successListener = juggleIMEmitter.addListener(
610
+ "onMediaMessageSent",
611
+ (event) => {
612
+ console.log("onMediaMessageSent msg:", event);
613
+ if (event.messageId === messageId) {
614
+ callback.onSuccess?.(event.message);
615
+ progressListener.remove();
616
+ successListener.remove();
617
+ errorListener.remove();
618
+ cancelListener.remove();
619
+ }
620
+ }
621
+ );
622
+
623
+ const errorListener = juggleIMEmitter.addListener(
624
+ "onMediaMessageSentError",
625
+ (event) => {
626
+ if (event.messageId === messageId) {
627
+ callback.onError?.(event.message, event.errorCode || -1);
628
+ progressListener.remove();
629
+ successListener.remove();
630
+ errorListener.remove();
631
+ cancelListener.remove();
632
+ }
633
+ }
634
+ );
635
+
636
+ const cancelListener = juggleIMEmitter.addListener(
637
+ "onMediaMessageCancelled",
638
+ (event) => {
639
+ if (event.messageId === messageId) {
640
+ callback.onCancel?.(event.message);
641
+ progressListener.remove();
642
+ successListener.remove();
643
+ errorListener.remove();
644
+ cancelListener.remove();
645
+ }
646
+ }
647
+ );
648
+
649
+ try {
650
+ const localMsg = await JMI.sendImageMessage(message, messageId);
651
+ return localMsg;
652
+ } catch (error) {
653
+ progressListener.remove();
654
+ successListener.remove();
655
+ errorListener.remove();
656
+ cancelListener.remove();
657
+ console.error("sendImageMessage error:", error);
658
+ throw error;
659
+ }
660
+ }
661
+
662
+ /**
663
+ * 发送文件消息
664
+ * @param {Object} message - 文件消息内容
665
+ * @param {Object} callback - 回调对象
666
+ * @returns {Promise<Message>} - 消息对象
667
+ */
668
+ static async sendFileMessage(
669
+ message,
670
+ callback = {}
671
+ ) {
672
+ // 生成唯一标识符以避免回调冲突
673
+ const messageId = Math.random().toString(36).substr(2, 9) + Date.now();
674
+
675
+ // 添加监听器
676
+ const progressListener = juggleIMEmitter.addListener(
677
+ "onMediaMessageProgress",
678
+ (event) => {
679
+ if (event.messageId === messageId) {
680
+ callback.onProgress?.(event.progress, event.message);
681
+ }
682
+ }
683
+ );
684
+
685
+ const successListener = juggleIMEmitter.addListener(
686
+ "onMediaMessageSent",
687
+ (event) => {
688
+ if (event.messageId === messageId) {
689
+ callback.onSuccess?.(event.message);
690
+ progressListener.remove();
691
+ successListener.remove();
692
+ errorListener.remove();
693
+ cancelListener.remove();
694
+ }
695
+ }
696
+ );
697
+
698
+ const errorListener = juggleIMEmitter.addListener(
699
+ "onMediaMessageSentError",
700
+ (event) => {
701
+ if (event.messageId === messageId) {
702
+ callback.onError?.(event.message, event.errorCode || -1);
703
+ progressListener.remove();
704
+ successListener.remove();
705
+ errorListener.remove();
706
+ cancelListener.remove();
707
+ }
708
+ }
709
+ );
710
+
711
+ const cancelListener = juggleIMEmitter.addListener(
712
+ "onMediaMessageCancelled",
713
+ (event) => {
714
+ if (event.messageId === messageId) {
715
+ callback.onCancel?.(event.message);
716
+ progressListener.remove();
717
+ successListener.remove();
718
+ errorListener.remove();
719
+ cancelListener.remove();
720
+ }
721
+ }
722
+ );
723
+
724
+ try {
725
+ console.log("sendFileMessage message...:", message);
726
+ const localMsg = await JMI.sendFileMessage(message, messageId);
727
+ console.log("sendFileMessage localMsg:", localMsg);
728
+ return localMsg;
729
+ } catch (error) {
730
+ progressListener.remove();
731
+ successListener.remove();
732
+ errorListener.remove();
733
+ cancelListener.remove();
734
+ console.error("sendFileMessage error:", error);
735
+ throw error;
736
+ }
737
+ }
738
+
739
+ /**
740
+ * 发送语音消息
741
+ * @param {Object} message - 语音消息内容
742
+ * @param {Object} callback - 回调对象
743
+ * @returns {Promise<Message>} - 消息对象
744
+ */
745
+ static async sendVoiceMessage(
746
+ message,
747
+ callback = {}
748
+ ) {
749
+ // 生成唯一标识符以避免回调冲突
750
+ const messageId = Math.random().toString(36).substr(2, 9) + Date.now();
751
+
752
+ // 添加监听器
753
+ const progressListener = juggleIMEmitter.addListener(
754
+ "onMediaMessageProgress",
755
+ (event) => {
756
+ if (event.messageId === messageId) {
757
+ callback.onProgress?.(event.progress, event.message);
758
+ }
759
+ }
760
+ );
761
+
762
+ const successListener = juggleIMEmitter.addListener(
763
+ "onMediaMessageSent",
764
+ (event) => {
765
+ if (event.messageId === messageId) {
766
+ callback.onSuccess?.(event.message);
767
+ progressListener.remove();
768
+ successListener.remove();
769
+ errorListener.remove();
770
+ cancelListener.remove();
771
+ }
772
+ }
773
+ );
774
+
775
+ const errorListener = juggleIMEmitter.addListener(
776
+ "onMediaMessageSentError",
777
+ (event) => {
778
+ if (event.messageId === messageId) {
779
+ callback.onError?.(event.message, event.errorCode || -1);
780
+ progressListener.remove();
781
+ successListener.remove();
782
+ errorListener.remove();
783
+ cancelListener.remove();
784
+ }
785
+ }
786
+ );
787
+
788
+ const cancelListener = juggleIMEmitter.addListener(
789
+ "onMediaMessageCancelled",
790
+ (event) => {
791
+ if (event.messageId === messageId) {
792
+ callback.onCancel?.(event.message);
793
+ progressListener.remove();
794
+ successListener.remove();
795
+ errorListener.remove();
796
+ cancelListener.remove();
797
+ }
798
+ }
799
+ );
800
+
801
+ try {
802
+ console.log("sendVoiceMessage message...:", message);
803
+ const localMsg = await JMI.sendVoiceMessage(message, messageId);
804
+ console.log("sendVoiceMessage localMsg:", localMsg);
805
+ return localMsg;
806
+ } catch (error) {
807
+ progressListener.remove();
808
+ successListener.remove();
809
+ errorListener.remove();
810
+ cancelListener.remove();
811
+ console.error("sendVoiceMessage error:", error);
812
+ throw error;
813
+ }
814
+ }
815
+
816
+ /**
817
+ * 获取历史消息
818
+ * @param {Object} conversation - 会话对象
819
+ * @param {number} direction - 拉取方向
820
+ * @param {Object} options - 获取选项
821
+ */
822
+ static getMessageList(conversation, direction, options) {
823
+ return JMI.getMessages(conversation, direction, options);
824
+ }
825
+
826
+ /**
827
+ * 撤回消息
828
+ * @param {Object} message - 消息对象
829
+ * @param {Object} extras - kv 扩展信息
830
+ */
831
+ static recallMessage(message, extras = {}) {
832
+ return JMI.recallMessage(message, extras, callback);
833
+ }
834
+
835
+ /**
836
+ * 添加消息反应
837
+ * @param {Object} message - 消息对象
838
+ * @param {string} reactionId - 反应ID
839
+ */
840
+ static addMessageReaction(message, reactionId) {
841
+ JMI.addMessageReaction(message, reactionId);
842
+ }
843
+
844
+ /**
845
+ * 移除消息反应
846
+ * @param {Object} message - 消息对象
847
+ * @param {string} reactionId - 反应ID
848
+ */
849
+ static removeMessageReaction(message, reactionId) {
850
+ JMI.removeMessageReaction(message, reactionId, callback);
851
+ }
852
+ }
853
+
854
+ export default JuggleIM;