juggleim-rnsdk 0.0.23 → 0.1.4

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 (150) hide show
  1. package/README.md +3 -17
  2. package/android/build/.transforms/42b8ab7e96b9440b0e91d2ecba5f579c/results.bin +1 -0
  3. package/android/build/.transforms/42b8ab7e96b9440b0e91d2ecba5f579c/transformed/classes/classes_dex/classes.dex +0 -0
  4. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/results.bin +1 -0
  5. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/BuildConfig.dex +0 -0
  6. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/FileUtils.dex +0 -0
  7. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/GenericCustomMessage.dex +0 -0
  8. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$1.dex +0 -0
  9. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$10.dex +0 -0
  10. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$11.dex +0 -0
  11. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$12.dex +0 -0
  12. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$13.dex +0 -0
  13. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$14.dex +0 -0
  14. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$15.dex +0 -0
  15. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$16.dex +0 -0
  16. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$17.dex +0 -0
  17. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$18.dex +0 -0
  18. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$19.dex +0 -0
  19. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$2.dex +0 -0
  20. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$20.dex +0 -0
  21. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$21.dex +0 -0
  22. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$22.dex +0 -0
  23. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$3.dex +0 -0
  24. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$4.dex +0 -0
  25. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$5.dex +0 -0
  26. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$6.dex +0 -0
  27. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$7.dex +0 -0
  28. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$8.dex +0 -0
  29. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$9.dex +0 -0
  30. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager.dex +0 -0
  31. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMPackage.dex +0 -0
  32. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/RNTypeConverter$1.dex +0 -0
  33. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/RNTypeConverter.dex +0 -0
  34. package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  35. package/android/build/.transforms/b0801d69fde866e333b2668f7818fd8c/transformed/classes/classes_dex/classes.dex +0 -0
  36. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/GenericCustomMessage.dex +0 -0
  37. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$1.dex +0 -0
  38. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$10.dex +0 -0
  39. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$11.dex +0 -0
  40. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$12.dex +0 -0
  41. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$13.dex +0 -0
  42. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$14.dex +0 -0
  43. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$15.dex +0 -0
  44. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$16.dex +0 -0
  45. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$17.dex +0 -0
  46. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$18.dex +0 -0
  47. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$19.dex +0 -0
  48. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$2.dex +0 -0
  49. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$20.dex +0 -0
  50. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$21.dex +0 -0
  51. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$22.dex +0 -0
  52. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$3.dex +0 -0
  53. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$4.dex +0 -0
  54. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$5.dex +0 -0
  55. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$6.dex +0 -0
  56. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$7.dex +0 -0
  57. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$8.dex +0 -0
  58. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$9.dex +0 -0
  59. package/android/build/.transforms/b4ca33bd6785fb4810b9572ca7ad5980/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager.dex +0 -0
  60. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  61. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -1
  62. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +1 -1
  63. package/android/build/intermediates/incremental/mergeDebugAssets/merger.xml +1 -1
  64. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +1 -1
  65. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +1 -1
  66. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/GenericCustomMessage.class +0 -0
  67. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$1.class +0 -0
  68. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$10.class +0 -0
  69. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$11.class +0 -0
  70. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$12.class +0 -0
  71. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$13.class +0 -0
  72. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$14.class +0 -0
  73. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$15.class +0 -0
  74. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$16.class +0 -0
  75. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$17.class +0 -0
  76. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$18.class +0 -0
  77. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$19.class +0 -0
  78. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$2.class +0 -0
  79. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$20.class +0 -0
  80. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$21.class +0 -0
  81. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$22.class +0 -0
  82. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$3.class +0 -0
  83. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$4.class +0 -0
  84. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$5.class +0 -0
  85. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$6.class +0 -0
  86. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$7.class +0 -0
  87. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$8.class +0 -0
  88. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$9.class +0 -0
  89. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager.class +0 -0
  90. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/GenericCustomMessage.class +0 -0
  91. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$1.class +0 -0
  92. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$10.class +0 -0
  93. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$11.class +0 -0
  94. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$12.class +0 -0
  95. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$13.class +0 -0
  96. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$14.class +0 -0
  97. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$15.class +0 -0
  98. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$16.class +0 -0
  99. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$17.class +0 -0
  100. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$18.class +0 -0
  101. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$19.class +0 -0
  102. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$2.class +0 -0
  103. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$20.class +0 -0
  104. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$21.class +0 -0
  105. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$22.class +0 -0
  106. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$3.class +0 -0
  107. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$4.class +0 -0
  108. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$5.class +0 -0
  109. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$6.class +0 -0
  110. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$7.class +0 -0
  111. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$8.class +0 -0
  112. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$9.class +0 -0
  113. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager.class +0 -0
  114. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  115. package/android/build/outputs/logs/manifest-merger-debug-report.txt +10 -10
  116. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$1.class.uniqueId17 → JuggleIMManager$1.class.uniqueId23} +0 -0
  117. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$10.class.uniqueId10 → JuggleIMManager$10.class.uniqueId0} +0 -0
  118. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$11.class.uniqueId6 → JuggleIMManager$11.class.uniqueId4} +0 -0
  119. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$12.class.uniqueId1 → JuggleIMManager$12.class.uniqueId20} +0 -0
  120. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$13.class.uniqueId21 → JuggleIMManager$13.class.uniqueId16} +0 -0
  121. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$14.class.uniqueId14 → JuggleIMManager$14.class.uniqueId7} +0 -0
  122. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$15.class.uniqueId15 → JuggleIMManager$15.class.uniqueId13} +0 -0
  123. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$16.class.uniqueId19 → JuggleIMManager$16.class.uniqueId1} +0 -0
  124. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$17.class.uniqueId23 → JuggleIMManager$17.class.uniqueId22} +0 -0
  125. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$18.class.uniqueId0 → JuggleIMManager$18.class.uniqueId19} +0 -0
  126. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$19.class.uniqueId11 → JuggleIMManager$19.class.uniqueId17} +0 -0
  127. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$2.class.uniqueId13 → JuggleIMManager$2.class.uniqueId8} +0 -0
  128. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$20.class.uniqueId9 → JuggleIMManager$20.class.uniqueId12} +0 -0
  129. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$21.class.uniqueId4 → JuggleIMManager$21.class.uniqueId3} +0 -0
  130. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$22.class.uniqueId14 +0 -0
  131. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$3.class.uniqueId3 → JuggleIMManager$3.class.uniqueId10} +0 -0
  132. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$4.class.uniqueId20 → JuggleIMManager$4.class.uniqueId18} +0 -0
  133. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$5.class.uniqueId18 → JuggleIMManager$5.class.uniqueId21} +0 -0
  134. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$6.class.uniqueId16 → JuggleIMManager$6.class.uniqueId2} +0 -0
  135. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$7.class.uniqueId12 → JuggleIMManager$7.class.uniqueId11} +0 -0
  136. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$8.class.uniqueId5 → JuggleIMManager$8.class.uniqueId9} +0 -0
  137. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMManager$9.class.uniqueId2 → JuggleIMManager$9.class.uniqueId15} +0 -0
  138. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager.class.uniqueId5 +0 -0
  139. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  140. package/android/src/main/java/com/juggleim/GenericCustomMessage.java +45 -0
  141. package/android/src/main/java/com/juggleim/JuggleIMManager.java +241 -9
  142. package/ios/GenericCustomMessage.h +24 -0
  143. package/ios/GenericCustomMessage.m +29 -0
  144. package/ios/JuggleIMManager.m +102 -1
  145. package/package.json +1 -1
  146. package/src/index.d.ts +79 -7
  147. package/src/index.js +52 -37
  148. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$22.class.uniqueId22 +0 -0
  149. package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager.class.uniqueId7 +0 -0
  150. /package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/{JuggleIMPackage.class.uniqueId8 → JuggleIMPackage.class.uniqueId6} +0 -0
@@ -36,8 +36,14 @@ import com.juggle.im.internal.logger.JLogLevel;
36
36
 
37
37
  import java.util.ArrayList;
38
38
  import java.util.HashMap;
39
+ import java.util.Iterator;
39
40
  import java.util.List;
40
41
  import java.util.Map;
42
+ import java.nio.charset.StandardCharsets;
43
+
44
+ import org.json.JSONObject;
45
+ import org.json.JSONArray;
46
+ import org.json.JSONException;
41
47
 
42
48
  import javax.annotation.Nonnull;
43
49
 
@@ -50,6 +56,9 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
50
56
  private Map<String, IMessageManager.IMessageListener> messageListeners = new HashMap<>();
51
57
  private Map<String, IMessageManager.IMessageReadReceiptListener> readReceiptListeners = new HashMap<>();
52
58
  private Map<String, IConversationManager.IConversationListener> conversationListeners = new HashMap<>();
59
+
60
+ // 自定义消息类型注册表
61
+ private Map<String, String> customMessageTypes = new HashMap<>();
53
62
 
54
63
  public JuggleIMManager(@Nonnull ReactApplicationContext reactContext) {
55
64
  super(reactContext);
@@ -98,6 +107,22 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
98
107
  logBuilder.setLogConsoleLevel(JLogLevel.JLogLevelVerbose);
99
108
  builder.setJLogConfig(new JLogConfig(logBuilder));
100
109
  JIM.getInstance().init(getCurrentActivity(), appKey, builder.build());
110
+ JIM.getInstance().getMessageManager().registerContentType(GenericCustomMessage.class);
111
+ }
112
+
113
+ /**
114
+ * 注册自定义消息类型
115
+ *
116
+ * @param contentType 消息类型标识符
117
+ */
118
+ @ReactMethod
119
+ public void registerCustomMessageType(String contentType) {
120
+ if (contentType == null || contentType.isEmpty() || contentType.startsWith("jg:")) {
121
+ Log.e("JuggleIM", "contentType 不能以 'jg:' 开头");
122
+ return;
123
+ }
124
+ customMessageTypes.put(contentType, contentType);
125
+ Log.d("JuggleIM", "注册自定义消息类型: " + contentType);
101
126
  }
102
127
 
103
128
  /**
@@ -416,6 +441,8 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
416
441
 
417
442
  // 添加是否已读
418
443
  map.putBoolean("hasRead", message.isHasRead());
444
+ map.putBoolean("isEdit", message.isEdit());
445
+ map.putBoolean("isDeleted", message.isDeleted());
419
446
 
420
447
  // 添加群消息阅读信息
421
448
  if (message.getGroupMessageReadInfo() != null) {
@@ -459,10 +486,13 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
459
486
  */
460
487
  private WritableMap convertMessageContentToMap(MessageContent content) {
461
488
  WritableMap map = new WritableNativeMap();
462
- map.putString("contentType", content.getContentType());
463
- if (content.getContentType().equals("jg:text")) {
489
+ String contentType = content.getContentType();
490
+ Log.d("JuggleIM", "contentType: " + contentType);
491
+ map.putString("contentType", contentType);
492
+
493
+ if (contentType.equals("jg:text")) {
464
494
  map.putString("content", ((TextMessage) content).getContent());
465
- } else if (content.getContentType().equals("jg:img")) {
495
+ } else if (contentType.equals("jg:img")) {
466
496
  ImageMessage img = (ImageMessage) content;
467
497
  map.putString("url", img.getUrl());
468
498
  map.putString("localPath", img.getLocalPath());
@@ -470,21 +500,36 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
470
500
  map.putString("thumbnailUrl", img.getThumbnailUrl());
471
501
  map.putInt("width", img.getWidth());
472
502
  map.putInt("height", img.getHeight());
473
- } else if (content.getContentType().equals("jg:file")) {
503
+ } else if (contentType.equals("jg:file")) {
474
504
  FileMessage file = (FileMessage) content;
475
505
  map.putString("url", file.getUrl());
476
506
  map.putString("type", file.getType());
477
507
  map.putString("name", file.getName());
478
508
  map.putDouble("size", file.getSize());
479
- } else if (content.getContentType().equals("jg:voice")) {
509
+ } else if (contentType.equals("jg:voice")) {
480
510
  VoiceMessage voice = (VoiceMessage) content;
481
511
  map.putString("url", voice.getUrl());
482
512
  map.putString("localPath", voice.getLocalPath());
483
513
  map.putInt("duration", voice.getDuration());
514
+ } else if (contentType.equals("jgrn:custom")) {
515
+ GenericCustomMessage genericCustomMessage = (GenericCustomMessage) content;
516
+ byte[] data = genericCustomMessage.encode();
517
+ if (data != null) {
518
+ try {
519
+ String jsonStr = new String(data, StandardCharsets.UTF_8);
520
+ JSONObject jsonObject = new JSONObject(jsonStr);
521
+ map = convertJSONToWritableMap(jsonObject);
522
+ } catch (JSONException e) {
523
+ Log.e("JuggleIM", "解析自定义消息失败: " + e.getMessage());
524
+ }
525
+ } else {
526
+ Log.e("JuggleIM", "No data for contentType: " + contentType);
527
+ }
484
528
  } else {
485
- Log.e("JuggleIM", "Unknown contentType: " + content.getContentType());
529
+ Log.e("JuggleIM", "Unknown contentType: " + contentType);
486
530
  return RNTypeConverter.toWritableMap(content);
487
531
  }
532
+ Log.d("JuggleIM", "convertMessageContentToMap: " + map.getString("contentType"));
488
533
 
489
534
  return map;
490
535
  }
@@ -518,11 +563,160 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
518
563
  voice.setDuration(map.getInt("duration"));
519
564
  return voice;
520
565
  default:
566
+ // 检查是否是自定义消息
567
+ if (customMessageTypes.containsKey(contentType)) {
568
+ return createCustomMessage(map);
569
+ }
521
570
  Log.e("JuggleIM", "contentType: " + contentType);
522
571
  return RNTypeConverter.fromReadableMap(map, MessageContent.class);
523
572
  }
524
573
  }
525
574
 
575
+ /**
576
+ * 创建自定义消息对象
577
+ */
578
+ private MessageContent createCustomMessage(ReadableMap map) {
579
+ try {
580
+ // 将 ReadableMap 转换为 JSON
581
+ JSONObject jsonObject = convertReadableMapToJSON(map);
582
+ String jsonStr = jsonObject.toString();
583
+
584
+ // 创建通用自定义消息对象
585
+ GenericCustomMessage customMsg = new GenericCustomMessage();
586
+ customMsg.setData(jsonStr.getBytes(StandardCharsets.UTF_8));
587
+
588
+ return customMsg;
589
+ } catch (JSONException e) {
590
+ Log.e("JuggleIM", "创建自定义消息失败: " + e.getMessage());
591
+ return null;
592
+ }
593
+ }
594
+
595
+ /**
596
+ * 将 ReadableMap 转换为 JSONObject
597
+ */
598
+ private JSONObject convertReadableMapToJSON(ReadableMap map) throws JSONException {
599
+ JSONObject jsonObject = new JSONObject();
600
+ ReadableMapKeySetIterator iterator = map.keySetIterator();
601
+
602
+ while (iterator.hasNextKey()) {
603
+ String key = iterator.nextKey();
604
+ switch (map.getType(key)) {
605
+ case Null:
606
+ jsonObject.put(key, JSONObject.NULL);
607
+ break;
608
+ case Boolean:
609
+ jsonObject.put(key, map.getBoolean(key));
610
+ break;
611
+ case Number:
612
+ jsonObject.put(key, map.getDouble(key));
613
+ break;
614
+ case String:
615
+ jsonObject.put(key, map.getString(key));
616
+ break;
617
+ case Map:
618
+ jsonObject.put(key, convertReadableMapToJSON(map.getMap(key)));
619
+ break;
620
+ case Array:
621
+ jsonObject.put(key, convertReadableArrayToJSONArray(map.getArray(key)));
622
+ break;
623
+ }
624
+ }
625
+
626
+ return jsonObject;
627
+ }
628
+
629
+ /**
630
+ * 将 ReadableArray 转换为 JSONArray
631
+ */
632
+ private JSONArray convertReadableArrayToJSONArray(ReadableArray array) throws JSONException {
633
+ JSONArray jsonArray = new JSONArray();
634
+
635
+ for (int i = 0; i < array.size(); i++) {
636
+ switch (array.getType(i)) {
637
+ case Null:
638
+ jsonArray.put(JSONObject.NULL);
639
+ break;
640
+ case Boolean:
641
+ jsonArray.put(array.getBoolean(i));
642
+ break;
643
+ case Number:
644
+ jsonArray.put(array.getDouble(i));
645
+ break;
646
+ case String:
647
+ jsonArray.put(array.getString(i));
648
+ break;
649
+ case Map:
650
+ jsonArray.put(convertReadableMapToJSON(array.getMap(i)));
651
+ break;
652
+ case Array:
653
+ jsonArray.put(convertReadableArrayToJSONArray(array.getArray(i)));
654
+ break;
655
+ }
656
+ }
657
+
658
+ return jsonArray;
659
+ }
660
+
661
+ /**
662
+ * 将 JSONObject 转换为 WritableMap
663
+ */
664
+ private WritableMap convertJSONToWritableMap(JSONObject jsonObject) throws JSONException {
665
+ WritableMap map = new WritableNativeMap();
666
+
667
+ Iterator<String> iterator = jsonObject.keys();
668
+ while (iterator.hasNext()) {
669
+ String key = iterator.next();
670
+ Object value = jsonObject.get(key);
671
+ if (value instanceof JSONObject) {
672
+ map.putMap(key, convertJSONToWritableMap((JSONObject) value));
673
+ } else if (value instanceof JSONArray) {
674
+ map.putArray(key, convertJSONArrayToWritableArray((JSONArray) value));
675
+ } else if (value instanceof Boolean) {
676
+ map.putBoolean(key, (Boolean) value);
677
+ } else if (value instanceof Integer) {
678
+ map.putInt(key, (Integer) value);
679
+ } else if (value instanceof Double) {
680
+ map.putDouble(key, (Double) value);
681
+ } else if (value instanceof String) {
682
+ map.putString(key, (String) value);
683
+ } else if (value == JSONObject.NULL) {
684
+ map.putNull(key);
685
+ }
686
+ }
687
+
688
+ return map;
689
+ }
690
+
691
+ /**
692
+ * 将 JSONArray 转换为 WritableArray
693
+ */
694
+ private WritableArray convertJSONArrayToWritableArray(JSONArray jsonArray) throws JSONException {
695
+ WritableArray array = new WritableNativeArray();
696
+
697
+ for (int i = 0; i < jsonArray.length(); i++) {
698
+ Object value = jsonArray.get(i);
699
+
700
+ if (value instanceof JSONObject) {
701
+ array.pushMap(convertJSONToWritableMap((JSONObject) value));
702
+ } else if (value instanceof JSONArray) {
703
+ array.pushArray(convertJSONArrayToWritableArray((JSONArray) value));
704
+ } else if (value instanceof Boolean) {
705
+ array.pushBoolean((Boolean) value);
706
+ } else if (value instanceof Integer) {
707
+ array.pushInt((Integer) value);
708
+ } else if (value instanceof Double) {
709
+ array.pushDouble((Double) value);
710
+ } else if (value instanceof String) {
711
+ array.pushString((String) value);
712
+ } else if (value == JSONObject.NULL) {
713
+ array.pushNull();
714
+ }
715
+ }
716
+
717
+ return array;
718
+ }
719
+
526
720
  /**
527
721
  * 将消息回应转换为Map
528
722
  */
@@ -768,6 +962,9 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
768
962
  * 将 ConversationInfo 转换为 WritableMap
769
963
  */
770
964
  private WritableMap convertConversationInfoToMap(ConversationInfo info) {
965
+ if (info == null) {
966
+ return null;
967
+ }
771
968
  WritableMap map = new WritableNativeMap();
772
969
  map.putMap("conversation", convertConversationToMap(info.getConversation()));
773
970
  map.putInt("unreadCount", info.getUnreadCount());
@@ -793,13 +990,18 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
793
990
  * 将 MentionInfo 转换为 WritableMap
794
991
  */
795
992
  private WritableMap convertMentionInfoToMap(MessageMentionInfo mentionInfo) {
993
+ if (mentionInfo == null) {
994
+ return null;
995
+ }
796
996
  WritableMap map = new WritableNativeMap();
797
997
  WritableArray userMap = new WritableNativeArray();
798
998
  map.putInt("type", mentionInfo.getType().getValue());
799
- for (UserInfo userInfo : mentionInfo.getTargetUsers()) {
800
- userMap.pushMap(convertUserInfoToMap(userInfo));
999
+ if (mentionInfo.getTargetUsers() != null) {
1000
+ for (UserInfo userInfo : mentionInfo.getTargetUsers()) {
1001
+ userMap.pushMap(convertUserInfoToMap(userInfo));
1002
+ }
1003
+ map.putArray("targetUsers", userMap);
801
1004
  }
802
- map.putArray("targetUsers", userMap);
803
1005
  return map;
804
1006
  }
805
1007
 
@@ -1352,6 +1554,36 @@ public class JuggleIMManager extends ReactContextBaseJavaModule {
1352
1554
  }
1353
1555
  }
1354
1556
 
1557
+ /**
1558
+ * 更新消息
1559
+ * @param messageId 消息ID
1560
+ * @param contentMap 新的消息内容
1561
+ * @param conversationMap 会话对象
1562
+ * @param promise Promise对象
1563
+ */
1564
+ @ReactMethod
1565
+ public void updateMessage(String messageId, ReadableMap contentMap, ReadableMap conversationMap, Promise promise) {
1566
+ try {
1567
+ MessageContent content = convertMapToMessageContent(contentMap);
1568
+ Conversation conversation = convertMapToConversation(conversationMap);
1569
+
1570
+ JIM.getInstance().getMessageManager().updateMessage(messageId, content, conversation, new IMessageManager.IMessageCallback() {
1571
+ @Override
1572
+ public void onSuccess(Message message) {
1573
+ promise.resolve(convertMessageToMap(message));
1574
+ }
1575
+
1576
+ @Override
1577
+ public void onError(int errorCode) {
1578
+ promise.reject("error", "Error code: " + errorCode);
1579
+ }
1580
+ });
1581
+ } catch (Exception e) {
1582
+ e.printStackTrace();
1583
+ promise.reject(e);
1584
+ }
1585
+ }
1586
+
1355
1587
  /**
1356
1588
  * 设置消息置顶
1357
1589
  * @param messageId 消息ID
@@ -0,0 +1,24 @@
1
+ #import <JuggleIM/JuggleIM.h>
2
+
3
+ /**
4
+ * 通用自定义消息类
5
+ * 用于承载 RN 层自定义消息的 JSON 数据
6
+ */
7
+ @interface GenericCustomMessage : JMessageContent
8
+
9
+ /**
10
+ * 消息数据
11
+ */
12
+ @property(nonatomic, strong) NSData *data;
13
+
14
+ /**
15
+ * 设置消息数据
16
+ */
17
+ - (void)setData:(NSData *)data;
18
+
19
+ /**
20
+ * 获取消息数据
21
+ */
22
+ - (NSData *)getData;
23
+
24
+ @end
@@ -0,0 +1,29 @@
1
+ #import "GenericCustomMessage.h"
2
+
3
+ @implementation GenericCustomMessage
4
+
5
+ + (NSString *)contentType {
6
+ return @"jgrn:custom";
7
+ }
8
+
9
+ - (NSData *)encode {
10
+ return self.data;
11
+ }
12
+
13
+ - (void)decode:(NSData *)data {
14
+ self.data = data;
15
+ }
16
+
17
+ - (void)setData:(NSData *)data {
18
+ _data = data;
19
+ }
20
+
21
+ - (NSData *)getData {
22
+ return _data;
23
+ }
24
+
25
+ - (NSString *)conversationDigest {
26
+ return @"[自定义消息]";
27
+ }
28
+
29
+ @end
@@ -1,4 +1,5 @@
1
1
  #import "JuggleIMManager.h"
2
+ #import "GenericCustomMessage.h"
2
3
  #import <JuggleIM/JuggleIM.h>
3
4
  #import <React/RCTEventEmitter.h>
4
5
 
@@ -9,10 +10,20 @@
9
10
  JMessageReadReceiptDelegate,
10
11
  JMessageDestroyDelegate, JConversationDelegate>
11
12
 
13
+ // 自定义消息类型注册表
14
+ @property(nonatomic, strong) NSMutableDictionary *customMessageTypes;
15
+
12
16
  @end
13
17
 
14
18
  @implementation JuggleIMManager
15
19
 
20
+ - (instancetype)init {
21
+ if (self = [super init]) {
22
+ _customMessageTypes = [NSMutableDictionary dictionary];
23
+ }
24
+ return self;
25
+ }
26
+
16
27
  RCT_EXPORT_MODULE(JuggleIM);
17
28
 
18
29
  RCT_EXPORT_METHOD(setServerUrls : (NSArray *)urls) {
@@ -22,6 +33,19 @@ RCT_EXPORT_METHOD(setServerUrls : (NSArray *)urls) {
22
33
  RCT_EXPORT_METHOD(initWithAppKey : (NSString *)appKey) {
23
34
  [[JIM shared] initWithAppKey:appKey];
24
35
  [JIM.shared setConsoleLogLevel:JLogLevelVerbose];
36
+ [JIM.shared.messageManager registerContentType:[GenericCustomMessage class]];
37
+ }
38
+
39
+ /**
40
+ * 注册自定义消息类型
41
+ */
42
+ RCT_EXPORT_METHOD(registerCustomMessageType : (NSString *)contentType) {
43
+ if ([contentType hasPrefix:@"jg:"]) {
44
+ NSLog(@"contentType 不能以 'jg:' 开头");
45
+ return;
46
+ }
47
+ self.customMessageTypes[contentType] = contentType;
48
+ NSLog(@"注册自定义消息类型: %@", contentType);
25
49
  }
26
50
 
27
51
  RCT_EXPORT_METHOD(connectWithToken : (NSString *)token) {
@@ -372,6 +396,8 @@ RCT_EXPORT_METHOD(addConversationDelegate) {
372
396
 
373
397
  // 添加是否已读
374
398
  dict[@"hasRead"] = @(message.hasRead);
399
+ dict[@"isEdit"] = @(message.isEdit);
400
+ dict[@"isDeleted"] = @(message.isDeleted);
375
401
 
376
402
  // 添加群消息阅读信息
377
403
  if (message.groupReadInfo) {
@@ -419,7 +445,8 @@ RCT_EXPORT_METHOD(addConversationDelegate) {
419
445
  */
420
446
  - (NSDictionary *)convertMessageContentToDictionary:(JMessageContent *)content {
421
447
  NSMutableDictionary *dict = [NSMutableDictionary dictionary];
422
- dict[@"contentType"] = [[content class] contentType] ?: @"";
448
+ NSString *contentType = [[content class] contentType];
449
+ dict[@"contentType"] = contentType ?: @"";
423
450
 
424
451
  if ([content isKindOfClass:[JTextMessage class]]) {
425
452
  JTextMessage *textMsg = (JTextMessage *)content;
@@ -447,6 +474,23 @@ RCT_EXPORT_METHOD(addConversationDelegate) {
447
474
  dict[@"localPath"] = voiceMsg.localPath ?: @"";
448
475
  dict[@"duration"] = @(voiceMsg.duration);
449
476
  dict[@"extra"] = voiceMsg.extra ?: @"";
477
+ } else if ([contentType isEqualToString:@"jgrn:custom"]) {
478
+ // 处理自定义消息:解析 JSON 数据
479
+ GenericCustomMessage *customMsg = (GenericCustomMessage *)content;
480
+ NSData *data = [customMsg encode];
481
+ if (data) {
482
+ NSError *error = nil;
483
+ NSDictionary *jsonDict = [NSJSONSerialization JSONObjectWithData:data
484
+ options:0
485
+ error:&error];
486
+ if (!error && jsonDict) {
487
+ dict = [jsonDict mutableCopy];
488
+ } else {
489
+ NSLog(@"解析自定义消息失败: %@", error.localizedDescription);
490
+ }
491
+ }
492
+ } else {
493
+ NSLog(@"Unknown contentType: %@", contentType);
450
494
  }
451
495
 
452
496
  return dict;
@@ -1291,6 +1335,9 @@ RCT_EXPORT_METHOD(removeMessageReaction : (
1291
1335
  voice.localPath = messageDict[@"localPath"];
1292
1336
  voice.duration = [messageDict[@"duration"] integerValue];
1293
1337
  return voice;
1338
+ } else if (self.customMessageTypes[contentType]) {
1339
+ // 处理自定义消息:将字典转换为 JSON 数据
1340
+ return [self createCustomMessageFromDict:messageDict];
1294
1341
  }
1295
1342
 
1296
1343
  return nil;
@@ -1406,6 +1453,32 @@ RCT_EXPORT_METHOD(removeMessageReaction : (
1406
1453
  return userInfo;
1407
1454
  }
1408
1455
 
1456
+ /**
1457
+ * 创建自定义消息对象
1458
+ */
1459
+ - (JMessageContent *)createCustomMessageFromDict:(NSDictionary *)dict {
1460
+ @try {
1461
+ // 将字典转换为 JSON 数据
1462
+ NSError *error = nil;
1463
+ NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict
1464
+ options:0
1465
+ error:&error];
1466
+ if (error || !jsonData) {
1467
+ NSLog(@"创建自定义消息失败: %@", error.localizedDescription);
1468
+ return nil;
1469
+ }
1470
+
1471
+ // 创建通用自定义消息对象
1472
+ GenericCustomMessage *customMsg = [[GenericCustomMessage alloc] init];
1473
+ [customMsg setData:jsonData];
1474
+
1475
+ return customMsg;
1476
+ } @catch (NSException *exception) {
1477
+ NSLog(@"创建自定义消息异常: %@", exception.reason);
1478
+ return nil;
1479
+ }
1480
+ }
1481
+
1409
1482
  /**
1410
1483
  * 发送消息已读回执
1411
1484
  */
@@ -1427,6 +1500,34 @@ RCT_EXPORT_METHOD(
1427
1500
  }];
1428
1501
  }
1429
1502
 
1503
+ /**
1504
+ * 更新消息
1505
+ */
1506
+ RCT_EXPORT_METHOD(updateMessage : (NSString *)messageId content : (
1507
+ NSDictionary *)contentMap conversation : (NSDictionary *)
1508
+ conversationMap resolver : (RCTPromiseResolveBlock)
1509
+ resolve rejecter : (RCTPromiseRejectBlock)reject) {
1510
+ @try {
1511
+ JMessageContent *content = [self convertDictToMessageContent:contentMap];
1512
+ JConversation *conversation =
1513
+ [self convertDictionaryToConversation:conversationMap];
1514
+
1515
+ [JIM.shared.messageManager updateMessage:content
1516
+ messageId:messageId
1517
+ inConversation:conversation
1518
+ success:^(JMessage *message) {
1519
+ resolve([self convertMessageToDictionary:message]);
1520
+ }
1521
+ error:^(JErrorCode code) {
1522
+ reject(@"error",
1523
+ [NSString stringWithFormat:@"Error code: %ld", (long)code],
1524
+ nil);
1525
+ }];
1526
+ } @catch (NSException *exception) {
1527
+ reject(@"UPDATE_MESSAGE_ERROR", exception.reason, nil);
1528
+ }
1529
+ }
1530
+
1430
1531
  /**
1431
1532
  * 设置消息置顶
1432
1533
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "juggleim-rnsdk",
3
- "version": "0.0.23",
3
+ "version": "0.1.4",
4
4
  "description": "React Native wrapper for Juggle IM SDK",
5
5
  "main": "src/index.js",
6
6
  "types": "src/index.d.ts",