@tencent-rtc/mcp 1.3.8 → 1.4.0

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 (429) hide show
  1. package/package.json +2 -2
  2. package/resource/doc/{tuicallkit/iOS/faq.md → callkit/faq/android-faq.md} +10 -22
  3. package/resource/doc/{tuicallkit/android/faq.md → callkit/faq/flutter-faq.md} +10 -22
  4. package/resource/doc/{tuicallkit/flutter/faq.md → callkit/faq/ios-faq.md} +10 -22
  5. package/resource/doc/callkit/preset/android/api.md +296 -0
  6. package/resource/doc/callkit/preset/android/integration.md +430 -0
  7. package/resource/doc/callkit/preset/flutter/api.md +410 -0
  8. package/resource/doc/{tuicallkit → callkit/preset}/flutter/integration.md +35 -97
  9. package/resource/doc/callkit/preset/ios/api.md +80 -0
  10. package/resource/doc/{tuicallkit/iOS → callkit/preset/ios}/integration.md +37 -118
  11. package/resource/doc/callkit/preset/react/api.md +501 -0
  12. package/resource/doc/{tuicallkit → callkit/preset}/react/integration.md +5 -20
  13. package/resource/doc/callkit/preset/vue/api.md +501 -0
  14. package/resource/doc/{tuicallkit → callkit/preset}/vue/integration.md +4 -19
  15. package/resource/doc/{chatuikit → chatkit}/android/faq.md +29 -38
  16. package/resource/doc/{chatuikit → chatkit}/android/features/theme.md +22 -166
  17. package/resource/doc/chatkit/android/integration.md +490 -0
  18. package/resource/doc/chatkit/faq/android_sdk/client-api.md +281 -0
  19. package/resource/doc/{chatuikit → chatkit}/faq/common/product.md +0 -1
  20. package/resource/doc/{chatuikit → chatkit}/faq/common/server.md +1 -1
  21. package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +199 -0
  22. package/resource/doc/{chatuikit → chatkit}/faq/flutter_sdk/faq.md +3 -3
  23. package/resource/doc/chatkit/faq/ios_sdk/client-api.md +235 -0
  24. package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/faq.md +3 -3
  25. package/resource/doc/{chatuikit → chatkit}/flutter/features/theme.md +22 -166
  26. package/resource/doc/{chatuikit → chatkit}/flutter/integration.md +19 -88
  27. package/resource/doc/{chatuikit/iOS → chatkit/ios}/faq.md +29 -38
  28. package/resource/doc/{chatuikit/iOS → chatkit/ios}/features/theme.md +27 -176
  29. package/resource/doc/{chatuikit/iOS → chatkit/ios}/integration.md +47 -165
  30. package/resource/doc/{chatuikit → chatkit}/react/components/avatar.md +0 -33
  31. package/resource/doc/{chatuikit → chatkit}/react/components/chat-header.md +8 -49
  32. package/resource/doc/{chatuikit → chatkit}/react/components/chat-setting.md +6 -35
  33. package/resource/doc/{chatuikit → chatkit}/react/components/chat.md +0 -6
  34. package/resource/doc/{chatuikit → chatkit}/react/components/component-list.md +0 -11
  35. package/resource/doc/{chatuikit → chatkit}/react/components/contact-list.md +96 -502
  36. package/resource/doc/chatkit/react/components/conversation-actions.md +174 -0
  37. package/resource/doc/chatkit/react/components/conversation-list.md +333 -0
  38. package/resource/doc/chatkit/react/components/conversation-preview.md +118 -0
  39. package/resource/doc/chatkit/react/components/conversation-search.md +60 -0
  40. package/resource/doc/{chatuikit → chatkit}/react/components/message-input.md +36 -337
  41. package/resource/doc/{chatuikit → chatkit}/react/components/message-list.md +20 -212
  42. package/resource/doc/chatkit/react/components/search.md +243 -0
  43. package/resource/doc/{chatuikit → chatkit}/react/components/tuikit.md +1 -47
  44. package/resource/doc/{chatuikit → chatkit}/react/integration.md +21 -81
  45. package/resource/doc/{chatuikit → chatkit}/vue/components/avatar.md +0 -33
  46. package/resource/doc/{chatuikit → chatkit}/vue/components/chat-header.md +7 -48
  47. package/resource/doc/{chatuikit → chatkit}/vue/components/chat-setting.md +3 -5
  48. package/resource/doc/{chatuikit → chatkit}/vue/components/chat.md +0 -5
  49. package/resource/doc/{chatuikit → chatkit}/vue/components/component-list.md +0 -15
  50. package/resource/doc/chatkit/vue/components/contact-list.md +271 -0
  51. package/resource/doc/chatkit/vue/components/conversation-actions.md +228 -0
  52. package/resource/doc/{chatuikit → chatkit}/vue/components/conversation-list.md +42 -492
  53. package/resource/doc/chatkit/vue/components/conversation-preview.md +213 -0
  54. package/resource/doc/chatkit/vue/components/conversation-search.md +50 -0
  55. package/resource/doc/{chatuikit → chatkit}/vue/components/message-input.md +2 -223
  56. package/resource/doc/{chatuikit → chatkit}/vue/components/message-list.md +23 -252
  57. package/resource/doc/{chatuikit → chatkit}/vue/components/search.md +73 -640
  58. package/resource/doc/{chatuikit → chatkit}/vue/components/tuikit.md +7 -21
  59. package/resource/doc/{chatuikit → chatkit}/vue/components/userpicker.md +3 -62
  60. package/resource/doc/{chatuikit → chatkit}/vue/faq.md +1 -1
  61. package/resource/doc/{chatuikit → chatkit}/vue/integration.md +22 -23
  62. package/resource/doc/livekit/{live → core-sdk/live}/android/live-audience-list.md +18 -89
  63. package/resource/doc/livekit/{live → core-sdk/live}/android/live-audio-effect.md +34 -192
  64. package/resource/doc/livekit/{live → core-sdk/live}/android/live-barrage.md +28 -141
  65. package/resource/doc/livekit/{live → core-sdk/live}/android/live-base-beauty.md +20 -112
  66. package/resource/doc/livekit/{live → core-sdk/live}/android/live-co-guest-interaction.md +59 -193
  67. package/resource/doc/livekit/{live → core-sdk/live}/android/live-gift.md +75 -455
  68. package/resource/doc/livekit/{live → core-sdk/live}/android/live-host-interaction.md +94 -344
  69. package/resource/doc/livekit/{live → core-sdk/live}/android/live-integration.md +107 -515
  70. package/resource/doc/livekit/{live → core-sdk/live}/android/live-live-list.md +33 -173
  71. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audience-list.md +14 -93
  72. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audio-effect.md +34 -179
  73. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-barrage.md +19 -107
  74. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-base-beauty.md +24 -166
  75. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-co-guest-interaction.md +56 -163
  76. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-gift.md +69 -443
  77. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-host-interaction.md +117 -364
  78. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-integration.md +107 -492
  79. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-live-list.md +23 -165
  80. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audience-list.md +35 -111
  81. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audio-effect.md +35 -193
  82. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-barrage.md +31 -144
  83. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-base-beauty.md +24 -116
  84. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-co-guest-interaction.md +37 -171
  85. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-gift.md +79 -459
  86. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-host-interaction.md +69 -320
  87. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-integration.md +85 -502
  88. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-live-list.md +32 -169
  89. package/resource/doc/livekit/core-sdk/voice/android/voice-audience-list.md +263 -0
  90. package/resource/doc/livekit/core-sdk/voice/android/voice-audio-effect.md +222 -0
  91. package/resource/doc/livekit/core-sdk/voice/android/voice-barrage.md +452 -0
  92. package/resource/doc/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +536 -0
  93. package/resource/doc/livekit/core-sdk/voice/android/voice-gift.md +442 -0
  94. package/resource/doc/livekit/core-sdk/voice/android/voice-host-interaction.md +489 -0
  95. package/resource/doc/livekit/core-sdk/voice/android/voice-integration.md +574 -0
  96. package/resource/doc/livekit/core-sdk/voice/android/voice-room-list.md +435 -0
  97. package/resource/doc/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +516 -0
  98. package/resource/doc/livekit/core-sdk/voice/flutter/voice-integration.md +576 -0
  99. package/resource/doc/livekit/core-sdk/voice/ios/voice-audience-list.md +263 -0
  100. package/resource/doc/livekit/core-sdk/voice/ios/voice-audio-effect.md +212 -0
  101. package/resource/doc/livekit/core-sdk/voice/ios/voice-barrage.md +404 -0
  102. package/resource/doc/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +499 -0
  103. package/resource/doc/livekit/core-sdk/voice/ios/voice-gift.md +403 -0
  104. package/resource/doc/livekit/core-sdk/voice/ios/voice-host-interaction.md +552 -0
  105. package/resource/doc/livekit/core-sdk/voice/ios/voice-integration.md +514 -0
  106. package/resource/doc/livekit/core-sdk/voice/ios/voice-room-list.md +348 -0
  107. package/resource/doc/livekit/faq/common/{error_code.md → error-code.md} +2 -2
  108. package/resource/doc/livekit/preset/live/vue/api-reference/index.md +780 -0
  109. package/resource/doc/livekit/preset/live/vue/components/barrage.md +291 -0
  110. package/resource/doc/livekit/{live → preset/live}/vue/components/co-guest-panel.md +10 -49
  111. package/resource/doc/livekit/{live → preset/live}/vue/components/live-audience-list.md +26 -144
  112. package/resource/doc/livekit/{live → preset/live}/vue/components/live-scene-panel.md +12 -75
  113. package/resource/doc/livekit/{live → preset/live}/vue/components/live-view.md +36 -227
  114. package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +215 -0
  115. package/resource/doc/livekit/preset/live/vue/faq.md +1 -0
  116. package/resource/doc/livekit/preset/live/vue/live-list-integration.md +241 -0
  117. package/resource/doc/livekit/preset/live/vue/live-player-desk-integration.md +299 -0
  118. package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +300 -0
  119. package/resource/doc/livekit/preset/live/vue/live-pusher-integration.md +743 -0
  120. package/resource/doc/roomkit/vue/faq.md +1 -0
  121. package/resource/doc/roomkit/vue/features/call-user-to-room.md +17 -53
  122. package/resource/doc/roomkit/vue/features/device-detection.md +30 -48
  123. package/resource/doc/roomkit/vue/features/device-state.md +24 -44
  124. package/resource/doc/roomkit/vue/features/free-beauty-panel.md +13 -36
  125. package/resource/doc/roomkit/vue/features/room-chat.md +31 -89
  126. package/resource/doc/roomkit/vue/features/room-participant-state.md +28 -50
  127. package/resource/doc/roomkit/vue/features/room-state.md +25 -34
  128. package/resource/doc/roomkit/vue/features/room-view.md +30 -125
  129. package/resource/doc/roomkit/vue/features/schedule-room.md +9 -40
  130. package/resource/doc/roomkit/vue/features/screen-share.md +22 -90
  131. package/resource/doc/roomkit/vue/features/virtual-background.md +13 -29
  132. package/resource/doc/roomkit/vue/integration.md +173 -337
  133. package/resource/doc/rtcengine/faq/common/error_code.md +1 -0
  134. package/resource/doc/rtcengine/faq/web/web.md +14 -24
  135. package/resource/doc/rtcengine/web/api.md +1 -3
  136. package/resource/doc/rtcengine/web/how_to_integrated_web_sdk.md +3 -10
  137. package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +1 -5
  138. package/resource/doc/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +1 -2
  139. package/resource/doc/rtcengine/web/plugin/21-advanced-auto-play-policy.md +2 -4
  140. package/resource/doc/rtcengine/web/plugin/23-advanced-support-detection.md +3 -5
  141. package/resource/doc/rtcengine/web/plugin/24-advanced-network-quality.md +1 -7
  142. package/resource/doc/rtcengine/web/plugin/25-advanced-device-change.md +0 -2
  143. package/resource/doc/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +4 -8
  144. package/resource/doc/rtcengine/web/plugin/27-advanced-small-stream.md +11 -11
  145. package/resource/doc/rtcengine/web/plugin/28-advanced-beauty.md +12 -88
  146. package/resource/doc/rtcengine/web/plugin/31-advanced-plugins-overview.md +5 -5
  147. package/resource/doc/rtcengine/web/plugin/34-advanced-proxy.md +30 -37
  148. package/resource/doc/rtcengine/web/plugin/36-advanced-virtual-background.md +13 -90
  149. package/resource/doc/rtcengine/web/plugin/37-advanced-voice-changer.md +1 -2
  150. package/resource/doc/rtcengine/web/plugin/39-advanced-video-decoder.md +1 -2
  151. package/resource/doc/rtcengine/web/plugin/40-advanced-video-mixer.md +19 -19
  152. package/resource/doc/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +1 -1
  153. package/resource/doc/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +4 -5
  154. package/resource/doc/rtcengine/web/plugin/43-advanced-face-detection.md +3 -3
  155. package/resource/doc/trtc/C++/ITRTCCloud.md +686 -2835
  156. package/resource/doc/trtc/C++/ITRTCStatistics.md +53 -308
  157. package/resource/doc/trtc/C++/ITXAudioEffectManager.md +202 -1022
  158. package/resource/doc/trtc/C++/ITXDeviceManager.md +126 -767
  159. package/resource/doc/trtc/C++/TRTCCloudCallback.md +579 -2147
  160. package/resource/doc/trtc/C++/TRTCTypeDef.md +703 -3378
  161. package/resource/doc/trtc/C++/TXLiteAVCode.md +116 -908
  162. package/resource/doc/trtc/android/TRTCCloud.md +606 -2573
  163. package/resource/doc/trtc/android/TRTCCloudDef.md +752 -3640
  164. package/resource/doc/trtc/android/TRTCCloudListener.md +581 -2008
  165. package/resource/doc/trtc/android/TRTCStatistics.md +48 -278
  166. package/resource/doc/trtc/android/TXAudioEffectManager.md +202 -1022
  167. package/resource/doc/trtc/android/TXBeautyManager.md +127 -704
  168. package/resource/doc/trtc/android/TXDeviceManager.md +51 -318
  169. package/resource/doc/trtc/android/TXLiteAVCode.md +114 -892
  170. package/resource/doc/trtc/iOS/TRTCCloud.md +694 -2904
  171. package/resource/doc/trtc/iOS/TRTCCloudDef.md +726 -3498
  172. package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +543 -2028
  173. package/resource/doc/trtc/iOS/TRTCStatistics.md +48 -278
  174. package/resource/doc/trtc/iOS/TXAudioEffectManager.md +174 -877
  175. package/resource/doc/trtc/iOS/TXBeautyManager.md +128 -710
  176. package/resource/doc/trtc/iOS/TXDeviceManager.md +129 -772
  177. package/resource/doc/trtc/iOS/TXLiteAVCode.md +117 -915
  178. package/server.js +1 -5
  179. package/server.js.map +1 -1
  180. package/tools/call/get_callkit_api.js +32 -0
  181. package/tools/call/get_callkit_api.js.map +1 -0
  182. package/tools/call/get_native_call_uikit_integration.js +34 -0
  183. package/tools/call/get_native_call_uikit_integration.js.map +1 -0
  184. package/tools/call/{get-web-call-integration.js → get_web_call_uikit_integration.js} +13 -8
  185. package/tools/call/get_web_call_uikit_integration.js.map +1 -0
  186. package/tools/chat/get_native_chat_uikit_feature_detail.js +34 -0
  187. package/tools/chat/get_native_chat_uikit_feature_detail.js.map +1 -0
  188. package/tools/chat/get_native_chat_uikit_integration.js +45 -0
  189. package/tools/chat/get_native_chat_uikit_integration.js.map +1 -0
  190. package/tools/chat/get_web_chat_uikit_component_detail.js +34 -0
  191. package/tools/chat/get_web_chat_uikit_component_detail.js.map +1 -0
  192. package/tools/chat/get_web_chat_uikit_integration.js +45 -0
  193. package/tools/chat/get_web_chat_uikit_integration.js.map +1 -0
  194. package/tools/common/get_faq.js +265 -0
  195. package/tools/common/get_faq.js.map +1 -0
  196. package/tools/common/{get-usersig.js → get_usersig.js} +6 -3
  197. package/tools/common/get_usersig.js.map +1 -0
  198. package/tools/common/present_framework_choice.js +63 -0
  199. package/tools/common/present_framework_choice.js.map +1 -0
  200. package/tools/definitions/get_callkit_api_def.js +29 -0
  201. package/tools/definitions/get_callkit_api_def.js.map +1 -0
  202. package/tools/definitions/get_faq_def.js +17 -18
  203. package/tools/definitions/get_faq_def.js.map +1 -1
  204. package/tools/definitions/get_native_call_uikit_integration_def.js +15 -18
  205. package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
  206. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +31 -0
  207. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +1 -0
  208. package/tools/definitions/get_native_chat_uikit_integration_def.js +16 -19
  209. package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
  210. package/tools/definitions/get_native_livekit_core_features_def.js +34 -0
  211. package/tools/definitions/get_native_livekit_core_features_def.js.map +1 -0
  212. package/tools/definitions/get_native_livekit_core_integration_def.js +34 -0
  213. package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -0
  214. package/tools/definitions/get_native_trtc_sdk_docs_def.js +32 -0
  215. package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +1 -0
  216. package/tools/definitions/get_usersig_def.js +17 -22
  217. package/tools/definitions/get_usersig_def.js.map +1 -1
  218. package/tools/definitions/get_web_call_uikit_integration_def.js +15 -7
  219. package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
  220. package/tools/definitions/get_web_chat_uikit_component_detail_def.js +17 -49
  221. package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +1 -1
  222. package/tools/definitions/get_web_chat_uikit_integration_def.js +16 -19
  223. package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
  224. package/tools/definitions/get_web_live_uikit_integration_def.js +15 -18
  225. package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
  226. package/tools/definitions/get_web_livekit_api_def.js +30 -0
  227. package/tools/definitions/get_web_livekit_api_def.js.map +1 -0
  228. package/tools/definitions/get_web_livekit_component_detail_def.js +32 -0
  229. package/tools/definitions/get_web_livekit_component_detail_def.js.map +1 -0
  230. package/tools/definitions/get_web_room_uikit_integration_def.js +15 -30
  231. package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
  232. package/tools/definitions/get_web_roomkit_feature_detail_def.js +31 -0
  233. package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +1 -0
  234. package/tools/definitions/get_web_trtc_sdk_api_def.js +27 -0
  235. package/tools/definitions/get_web_trtc_sdk_api_def.js.map +1 -0
  236. package/tools/definitions/get_web_trtc_sdk_integration_def.js +27 -0
  237. package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +1 -0
  238. package/tools/definitions/get_web_trtc_sdk_plugin_def.js +27 -0
  239. package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +1 -0
  240. package/tools/definitions/present_framework_choice_def.js +24 -12
  241. package/tools/definitions/present_framework_choice_def.js.map +1 -1
  242. package/tools/index.js +47 -59
  243. package/tools/index.js.map +1 -1
  244. package/tools/live/get_native_livekit_core_features.js +65 -0
  245. package/tools/live/get_native_livekit_core_features.js.map +1 -0
  246. package/tools/live/get_native_livekit_core_integration.js +59 -0
  247. package/tools/live/get_native_livekit_core_integration.js.map +1 -0
  248. package/tools/live/get_web_live_uikit_integration.js +48 -0
  249. package/tools/live/get_web_live_uikit_integration.js.map +1 -0
  250. package/tools/live/get_web_livekit_api.js +32 -0
  251. package/tools/live/get_web_livekit_api.js.map +1 -0
  252. package/tools/live/get_web_livekit_component_detail.js +34 -0
  253. package/tools/live/get_web_livekit_component_detail.js.map +1 -0
  254. package/tools/room/{get-web-room-integration.js → get_web_room_uikit_integration.js} +13 -14
  255. package/tools/room/get_web_room_uikit_integration.js.map +1 -0
  256. package/tools/room/{get-web-room-feature-detail.js → get_web_roomkit_feature_detail.js} +30 -31
  257. package/tools/room/get_web_roomkit_feature_detail.js.map +1 -0
  258. package/tools/rtcengine/get_web_trtc_sdk_api.js +31 -0
  259. package/tools/rtcengine/get_web_trtc_sdk_api.js.map +1 -0
  260. package/tools/rtcengine/get_web_trtc_sdk_integration.js +31 -0
  261. package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +1 -0
  262. package/tools/rtcengine/get_web_trtc_sdk_plugin.js +31 -0
  263. package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +1 -0
  264. package/tools/trtc/get_native_trtc_sdk_docs.js +73 -0
  265. package/tools/trtc/get_native_trtc_sdk_docs.js.map +1 -0
  266. package/utils/generate-structured-result.js +61 -17
  267. package/utils/generate-structured-result.js.map +1 -1
  268. package/utils/report-cls-client.js +12 -1
  269. package/utils/report-cls-client.js.map +1 -1
  270. package/utils/report-es-client.js +2 -2
  271. package/resource/doc/chatuikit/android/integration.md +0 -287
  272. package/resource/doc/chatuikit/faq/android_sdk/client-api.md +0 -1371
  273. package/resource/doc/chatuikit/faq/flutter_sdk/client-api.md +0 -932
  274. package/resource/doc/chatuikit/faq/ios_sdk/client-api.md +0 -1119
  275. package/resource/doc/chatuikit/flutter/workflow.md +0 -941
  276. package/resource/doc/chatuikit/iOS/workflow.md +0 -0
  277. package/resource/doc/chatuikit/react/components/conversation-list.md +0 -1017
  278. package/resource/doc/chatuikit/react/components/search.md +0 -745
  279. package/resource/doc/chatuikit/react/create-group.md +0 -23
  280. package/resource/doc/chatuikit/react/init.md +0 -26
  281. package/resource/doc/chatuikit/react/workflow.md +0 -258
  282. package/resource/doc/chatuikit/vue/components/contact-list.md +0 -679
  283. package/resource/doc/chatuikit/vue/create-group.md +0 -25
  284. package/resource/doc/chatuikit/vue/init.md +0 -40
  285. package/resource/doc/chatuikit/vue/workflow.md +0 -395
  286. package/resource/doc/livekit/live/android/workflow.md +0 -320
  287. package/resource/doc/livekit/live/flutter/workflow.md +0 -353
  288. package/resource/doc/livekit/live/ios/workflow.md +0 -454
  289. package/resource/doc/livekit/live/vue/components/barrage.md +0 -616
  290. package/resource/doc/livekit/live/vue/components/stream-mixer.md +0 -446
  291. package/resource/doc/livekit/live/vue/faq.md +0 -0
  292. package/resource/doc/livekit/live/vue/live-list-integration.md +0 -200
  293. package/resource/doc/livekit/live/vue/live-player-desk-integration.md +0 -269
  294. package/resource/doc/livekit/live/vue/live-player-h5-integration.md +0 -269
  295. package/resource/doc/livekit/live/vue/live-pusher-integration.md +0 -595
  296. package/resource/doc/livekit/live/vue/states/live-state.md +0 -3591
  297. package/resource/doc/livekit/live/vue/workflow.md +0 -218
  298. package/resource/doc/native_live/android/V2TXLiveCode_api_android.md +0 -312
  299. package/resource/doc/native_live/android/V2TXLiveDef_api_android.md +0 -430
  300. package/resource/doc/native_live/android/V2TXLivePlayerObserver_api_android.md +0 -679
  301. package/resource/doc/native_live/android/V2TXLivePlayer_api_android.md +0 -671
  302. package/resource/doc/native_live/android/V2TXLivePremier_api_android.md +0 -271
  303. package/resource/doc/native_live/android/V2TXLivePusherObserver_api_android.md +0 -849
  304. package/resource/doc/native_live/android/V2TXLivePusher_api_android.md +0 -1046
  305. package/resource/doc/native_live/flutter/V2TXLiveCode_api_flutter.md +0 -460
  306. package/resource/doc/native_live/flutter/V2TXLiveDef_api_flutter.md +0 -558
  307. package/resource/doc/native_live/flutter/V2TXLivePlayerObserver_api_flutter.md +0 -865
  308. package/resource/doc/native_live/flutter/V2TXLivePlayer_api_flutter.md +0 -657
  309. package/resource/doc/native_live/flutter/V2TXLivePremier_api_flutter.md +0 -437
  310. package/resource/doc/native_live/flutter/V2TXLivePusherObserver_api_flutter.md +0 -335
  311. package/resource/doc/native_live/flutter/V2TXLivePusher_api_flutter.md +0 -748
  312. package/resource/doc/native_live/iOS/V2TXLiveCode_api_iOS.md +0 -327
  313. package/resource/doc/native_live/iOS/V2TXLiveDef_api_iOS.md +0 -507
  314. package/resource/doc/native_live/iOS/V2TXLivePlayerObserver_api_iOS.md +0 -507
  315. package/resource/doc/native_live/iOS/V2TXLivePlayer_api_iOS.md +0 -659
  316. package/resource/doc/native_live/iOS/V2TXLivePremier_api_iOS.md +0 -284
  317. package/resource/doc/native_live/iOS/V2TXLivePusherObserver_api_iOS.md +0 -814
  318. package/resource/doc/native_live/iOS/V2TXLivePusher_api_iOS.md +0 -1000
  319. package/resource/doc/roomkit/vue/features/workflow.md +0 -553
  320. package/resource/doc/roomkit/vue/workflow.md +0 -487
  321. package/resource/doc/tuicallkit/android/integration.md +0 -286
  322. package/resource/doc/tuicallkit/android/workflow.md +0 -0
  323. package/resource/doc/tuicallkit/faq/android_sdk/call-observer-api.md +0 -784
  324. package/resource/doc/tuicallkit/faq/android_sdk/callkit-api.md +0 -610
  325. package/resource/doc/tuicallkit/faq/flutter_sdk/call-define-api.md +0 -938
  326. package/resource/doc/tuicallkit/faq/flutter_sdk/call-observer-api.md +0 -897
  327. package/resource/doc/tuicallkit/faq/flutter_sdk/callkit-api.md +0 -469
  328. package/resource/doc/tuicallkit/faq/ios_sdk/call-observer-api.md +0 -781
  329. package/resource/doc/tuicallkit/faq/ios_sdk/callkit-api.md +0 -398
  330. package/resource/doc/tuicallkit/flutter/workflow.md +0 -331
  331. package/resource/doc/tuicallkit/react/api.md +0 -1404
  332. package/resource/doc/tuicallkit/vue/api.md +0 -1406
  333. package/resource/doc/tuicallkit/vue/faq.md +0 -36
  334. package/tools/call/get-native-call-integration.js +0 -43
  335. package/tools/call/get-native-call-integration.js.map +0 -1
  336. package/tools/call/get-web-call-api.js +0 -27
  337. package/tools/call/get-web-call-api.js.map +0 -1
  338. package/tools/call/get-web-call-integration.js.map +0 -1
  339. package/tools/chat/get-native-chat-feature-detail.js +0 -30
  340. package/tools/chat/get-native-chat-feature-detail.js.map +0 -1
  341. package/tools/chat/get-native-chat-integration.js +0 -45
  342. package/tools/chat/get-native-chat-integration.js.map +0 -1
  343. package/tools/chat/get-web-chat-component-detail.js +0 -31
  344. package/tools/chat/get-web-chat-component-detail.js.map +0 -1
  345. package/tools/chat/get-web-chat-integration.js +0 -45
  346. package/tools/chat/get-web-chat-integration.js.map +0 -1
  347. package/tools/chat/get-web-chat-uikit-init.js +0 -28
  348. package/tools/chat/get-web-chat-uikit-init.js.map +0 -1
  349. package/tools/chat/get-web-create-group-doc.js +0 -28
  350. package/tools/chat/get-web-create-group-doc.js.map +0 -1
  351. package/tools/common/get-faq.js +0 -91
  352. package/tools/common/get-faq.js.map +0 -1
  353. package/tools/common/get-usersig.js.map +0 -1
  354. package/tools/common/present-framework-choice.js +0 -16
  355. package/tools/common/present-framework-choice.js.map +0 -1
  356. package/tools/common/record-prompt.js +0 -55
  357. package/tools/common/record-prompt.js.map +0 -1
  358. package/tools/common/record-result.js +0 -60
  359. package/tools/common/record-result.js.map +0 -1
  360. package/tools/definitions/get_native_chat_feature_detail_def.js +0 -32
  361. package/tools/definitions/get_native_chat_feature_detail_def.js.map +0 -1
  362. package/tools/definitions/get_native_live_api_def.js +0 -23
  363. package/tools/definitions/get_native_live_api_def.js.map +0 -1
  364. package/tools/definitions/get_native_live_uikit_extra_features_def.js +0 -87
  365. package/tools/definitions/get_native_live_uikit_extra_features_def.js.map +0 -1
  366. package/tools/definitions/get_native_live_uikit_integration_def.js +0 -49
  367. package/tools/definitions/get_native_live_uikit_integration_def.js.map +0 -1
  368. package/tools/definitions/get_native_live_uikit_interaction_def.js +0 -74
  369. package/tools/definitions/get_native_live_uikit_interaction_def.js.map +0 -1
  370. package/tools/definitions/get_trtc_native_api_def.js +0 -16
  371. package/tools/definitions/get_trtc_native_api_def.js.map +0 -1
  372. package/tools/definitions/get_web_call_uikit_api_def.js +0 -23
  373. package/tools/definitions/get_web_call_uikit_api_def.js.map +0 -1
  374. package/tools/definitions/get_web_chat_uikit_init_def.js +0 -23
  375. package/tools/definitions/get_web_chat_uikit_init_def.js.map +0 -1
  376. package/tools/definitions/get_web_create_group_doc_def.js +0 -18
  377. package/tools/definitions/get_web_create_group_doc_def.js.map +0 -1
  378. package/tools/definitions/get_web_live_state_detail_def.js +0 -19
  379. package/tools/definitions/get_web_live_state_detail_def.js.map +0 -1
  380. package/tools/definitions/get_web_live_uikit_component_detail_def.js +0 -27
  381. package/tools/definitions/get_web_live_uikit_component_detail_def.js.map +0 -1
  382. package/tools/definitions/get_web_room_feature_detail_def.js +0 -95
  383. package/tools/definitions/get_web_room_feature_detail_def.js.map +0 -1
  384. package/tools/definitions/get_web_room_state_detail_def.js +0 -19
  385. package/tools/definitions/get_web_room_state_detail_def.js.map +0 -1
  386. package/tools/definitions/record_prompt_def.js +0 -53
  387. package/tools/definitions/record_prompt_def.js.map +0 -1
  388. package/tools/definitions/record_result_def.js +0 -30
  389. package/tools/definitions/record_result_def.js.map +0 -1
  390. package/tools/live/get-native-live-uikit-integration.js +0 -101
  391. package/tools/live/get-native-live-uikit-integration.js.map +0 -1
  392. package/tools/live/get-web-live-component-detail.js +0 -31
  393. package/tools/live/get-web-live-component-detail.js.map +0 -1
  394. package/tools/live/get-web-live-state-detail.js +0 -31
  395. package/tools/live/get-web-live-state-detail.js.map +0 -1
  396. package/tools/live/get-web-live-uikit-integration.js +0 -52
  397. package/tools/live/get-web-live-uikit-integration.js.map +0 -1
  398. package/tools/live/get_native_live_uikit_extra_features.js +0 -105
  399. package/tools/live/get_native_live_uikit_extra_features.js.map +0 -1
  400. package/tools/live/get_native_live_uikit_interaction.js +0 -101
  401. package/tools/live/get_native_live_uikit_interaction.js.map +0 -1
  402. package/tools/native_live/get-native-live-api.js +0 -31
  403. package/tools/native_live/get-native-live-api.js.map +0 -1
  404. package/tools/room/get-web-room-feature-detail.js.map +0 -1
  405. package/tools/room/get-web-room-integration.js.map +0 -1
  406. package/tools/rtcengine/get-rtcengine-web-sdk-integration.js +0 -28
  407. package/tools/rtcengine/get-rtcengine-web-sdk-integration.js.map +0 -1
  408. package/tools/rtcengine/get-trtc-sdk-faq.js +0 -32
  409. package/tools/rtcengine/get-trtc-sdk-faq.js.map +0 -1
  410. package/tools/rtcengine/get-trtc-web-sdk-api.js +0 -28
  411. package/tools/rtcengine/get-trtc-web-sdk-api.js.map +0 -1
  412. package/tools/rtcengine/get-trtc-web-sdk-faq.js +0 -30
  413. package/tools/rtcengine/get-trtc-web-sdk-faq.js.map +0 -1
  414. package/tools/rtcengine/get-trtc-web-sdk-integration.js +0 -29
  415. package/tools/rtcengine/get-trtc-web-sdk-integration.js.map +0 -1
  416. package/tools/rtcengine/get-trtc-web-sdk-plugin.js +0 -45
  417. package/tools/rtcengine/get-trtc-web-sdk-plugin.js.map +0 -1
  418. package/tools/trtc/get-trtc-native-api.js +0 -31
  419. package/tools/trtc/get-trtc-native-api.js.map +0 -1
  420. package/utils/handle-component-name.js +0 -33
  421. package/utils/handle-component-name.js.map +0 -1
  422. /package/resource/doc/{chatuikit/android/workflow.md → callkit/core-sdk/.gitkeep} +0 -0
  423. /package/resource/doc/{tuicallkit/faq/common/error_code.md → callkit/faq/common/error-code.md} +0 -0
  424. /package/resource/doc/{tuicallkit/react/faq.md → callkit/faq/web-faq.md} +0 -0
  425. /package/resource/doc/{chatuikit → chatkit}/faq/common/server_error_code.md +0 -0
  426. /package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/error_code.md +0 -0
  427. /package/resource/doc/{chatuikit → chatkit}/flutter/faq.md +0 -0
  428. /package/resource/doc/{chatuikit → chatkit}/react/faq.md +0 -0
  429. /package/resource/doc/roomkit/faq/common/{error_code.md → error-code.md} +0 -0
@@ -0,0 +1,490 @@
1
+ TUIKit Compose is a Jetpack Compose component library based on Tencent Cloud IM SDK, providing complete solutions for instant messaging features such as chat, conversation list, and contact management. This document describes how to manually integrate these components and implement core functionality.
2
+
3
+ ## Key Concepts
4
+
5
+ TUIKit Compose provides a complete set of instant messaging UI components, depending on the AtomicXCore data layer below and capable of building various functional Pages above.
6
+ - Page Layer: Complete functional pages encapsulated based on TUIKit Compose components: ChatPage, ContactsPage, ConversationsPage, which you can use directly.
7
+
8
+ - TUIKit Compose (UI Component Layer): Jetpack Compose components built on AtomicXCore, which you can embed into your existing App pages.
9
+
10
+ - AtomicXCore (Data Layer): Provides data management and business logic, including various Stores and Managers.
11
+
12
+ ## Prerequisites
13
+ - Android Studio Ladybug | 2024.2.1 and above
14
+
15
+ - Android 5.0 and above system version
16
+
17
+ - Gradle 8.9 and above
18
+
19
+ - Android Gradle Plugin 8.6 and above
20
+
21
+ - JDK 17 and above
22
+
23
+ - Kotlin 1.9.0 and above
24
+
25
+ - A valid Tencent Cloud account and Chat application. You can refer to [Enable Service](https://trtc.io/document/45907?product=chat&menulabel=uikit&platform=android) to get the following information from the console:
26
+
27
+ - SDKAppID: The ID of the Chat application obtained from the console, which is the unique identifier of the application
28
+
29
+ - SDKSecretKey: The secret key of the application
30
+
31
+ > **Note:**
32
+ >
33
+ > - This project currently only supports manual integration and does not support integration through package managers like Maven.
34
+ > - To ensure a stable build environment, please strictly follow the official compatibility requirements for configuration:
35
+ > - For compatibility between Gradle, Android Gradle Plugin, JDK and Android Studio, please refer to the Android official documentation: [Version Notes](https://developer.android.com/build/releases/gradle-plugin#updating-gradle).
36
+ > - For version correspondence between Kotlin, Android Gradle Plugin and Gradle, please refer to the Kotlin official documentation: [Kotlin-Gradle Plugin Compatibility](https://kotlinlang.org/docs/gradle-configure-project.html#apply-the-plugin).
37
+
38
+ > We recommend that you choose a version combination that fully matches your project requirements according to the above guidelines.
39
+ >
40
+
41
+ ## Integrate and Import Components
42
+
43
+ ### Download Source Code
44
+ 1. Download [TUIKit Compose](https://github.com/Tencent-RTC/TUIKit_android_compose) source code from GitHub:
45
+
46
+ ``` bash
47
+ git clone https://github.com/Tencent-RTC/TUIKit_Android_Compose.git
48
+ ```
49
+
50
+ Project directory structure description:
51
+
52
+ ``` bash
53
+ atomic-x/
54
+ ├── src/main/
55
+ │ ├── java/io/trtc/tuikit/atomicx/ # UI component source code (required integration)
56
+ │ ├── messagelist/ # Message list component
57
+ │ ├── messageinput/ # Message input component
58
+ │ ├── conversationlist/ # Conversation list component
59
+ │ ├── contactlist/ # Contact list component
60
+ │ ├── basecomponent/ # Base components
61
+ │ └── ... # Other UI components
62
+ │ # Resource files (required integration)
63
+ │ ├── res/ # Common resources
64
+ │ ├── res-message-list/ # Message list component resources
65
+ │ ├── res-message-input/ # Message input component resources
66
+ │ ├── res-conversation-list/ # Conversation list component resources
67
+ │ └── ... # Other component resources
68
+ chat/
69
+ ├── uikit/src/main/java/io/trtc/tuikit/chat/pages # Page components (reference implementation)
70
+ │ ├── ChatPage.kt
71
+ │ ├── ContactsPage.kt
72
+ │ └── ConversationsPage.kt
73
+ └── demo/ # Sample application (optional reference)
74
+ ```
75
+
76
+ ### Integrate Components
77
+ 1. Copy the component directory completely to your Android project, as shown in the figure below, where ComposeDemo is the sample project and TUIKit_Android_Compose is the component source code downloaded from GitHub:
78
+
79
+ 2. Add TUIKit Compose components in your settings.gradle.kts/settings.gradle file:
80
+
81
+ > **Note:**
82
+ >
83
+
84
+ > TUIKit_Android_Compose can be placed anywhere, as long as the relative path is correctly set in settings.gradle.
85
+ >
86
+
87
+ 【Kotlin DSL (Recommended)】
88
+ ``` java
89
+ // settings.gradle.kts
90
+ include(":atomicx")
91
+ project(":atomicx").projectDir = file("../TUIKit_Android_Compose/atomic-x")
92
+ ```
93
+
94
+ 【Groovy DSL】
95
+ ``` java
96
+ // settings.gradle
97
+ include ':atomicx'
98
+ project(':atomicx').projectDir = new File(settingsDir, '../TUIKit_Android_Compose/atomic-x')
99
+ ```
100
+
101
+ 3. Add the following dependencies in the build.gradle.kts/build.gradle of the app module:
102
+
103
+ 【Kotlin DSL (Recommended)】
104
+ ``` java
105
+ // app/build.gradle.kts
106
+ dependencies {
107
+ implementation(project(":atomicx"))
108
+ }
109
+ ```
110
+
111
+ 【Groovy DSL】
112
+ ``` java
113
+ // app/build.gradle
114
+ dependencies {
115
+ api project(':atomicx')
116
+ }
117
+ ```
118
+
119
+ > **Note:**
120
+ >
121
+ > - When using the local integration solution, if you need to upgrade, you need to get the latest component code from GitHub and overwrite the TUIKit Compose directory in your local project.
122
+ > - When there are conflicts between private modifications and remote changes, manual merging and conflict resolution are required.
123
+
124
+ ### Configure Project
125
+ 1. Find the AndroidManifest.xml file in the app directory, add `tools:replace="android:allowBackup"` in the `application` node to override the settings in the component and use your own settings.
126
+
127
+ ``` java
128
+ // app/src/main/AndroidManifest.xml
129
+ <application
130
+ android:name=".BaseApplication"
131
+ android:allowBackup="false"
132
+ android:icon="@drawable/app_ic_launcher"
133
+ android:label="@string/app_name"
134
+ android:largeHeap="true"
135
+ android:theme="@style/AppTheme"
136
+ tools:replace="android:allowBackup">
137
+ ```
138
+ 2. Configure dependencies.
139
+
140
+ Add the following dependencies in your project's gradle/libs.versions.toml file:
141
+
142
+ ``` python
143
+ # gradle/libs.versions.toml
144
+ [versions]
145
+ agp = "8.13.0"
146
+ kotlin = "2.0.21"
147
+ coreKtx = "1.10.1"
148
+ junit = "4.13.2"
149
+ junitVersion = "1.1.5"
150
+ espressoCore = "3.5.1"
151
+ appcompat = "1.7.1"
152
+ material = "1.13.0"
153
+ runner = "1.0.2"
154
+ espressoCoreVersion = "3.0.2"
155
+ appcompatV7 = "28.0.0"
156
+
157
+ tuicore = "8.6.7021"
158
+ lifecycleRuntimeKtx = "2.8.7"
159
+ ui = "1.8.0"
160
+ foundation = "1.8.0"
161
+ composeBom = "2024.09.00"
162
+ activityCompose = "1.10.1"
163
+ activity = "1.8.0"
164
+ constraintlayout = "2.2.1"
165
+
166
+ [libraries]
167
+ androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
168
+ junit = { group = "junit", name = "junit", version.ref = "junit" }
169
+ androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
170
+ androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
171
+ androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
172
+ material = { group = "com.google.android.material", name = "material", version.ref = "material" }
173
+ runner = { group = "com.android.support.test", name = "runner", version.ref = "runner" }
174
+ espresso-core = { group = "com.android.support.test.espresso", name = "espresso-core", version.ref = "espressoCoreVersion" }
175
+ appcompat-v7 = { group = "com.android.support", name = "appcompat-v7", version.ref = "appcompatV7" }
176
+
177
+ androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "lifecycleRuntimeKtx" }
178
+ androidx-compose-bom = { group = "androidx.compose", name = "compose-bom", version.ref = "composeBom" }
179
+ androidx-compose-foundation = { group = "androidx.compose.foundation", name = "foundation", version.ref = "foundation" }
180
+ androidx-compose-ui = { group = "androidx.compose.ui", name = "ui", version.ref = "ui" }
181
+ androidx-compose-ui-graphics = { group = "androidx.compose.ui", name = "ui-graphics" }
182
+ androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
183
+ androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" }
184
+ androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
185
+ androidx-lifecycle-runtime-ktx = { group = "androidx.lifecycle", name = "lifecycle-runtime-ktx", version.ref = "lifecycleRuntimeKtx" }
186
+ androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
187
+ androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
188
+ tuicore = { module = "com.tencent.liteav.tuikit:tuicore", version.ref = "tuicore" }
189
+ com-tencent-mmkv = { group = "com.tencent", name = "mmkv", version = "1.3.14" }
190
+
191
+ [plugins]
192
+ android-application = { id = "com.android.application", version.ref = "agp" }
193
+ kotlin-android = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
194
+ android-library = { id = "com.android.library", version.ref = "agp" }
195
+
196
+ kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
197
+ ```
198
+ 3. Enable Compose support.
199
+
200
+ Add the following configuration in the build.gradle.kts/build.gradle of the app module:
201
+
202
+ 【Kotlin DSL (Recommended)】
203
+ ``` java
204
+ // app/build.gradle.kts
205
+ plugins {
206
+ // Add Compose plugin
207
+ alias(libs.plugins.kotlin.compose)
208
+ }
209
+ android {
210
+ // Enable Compose
211
+ buildFeatures {
212
+ compose = true
213
+ }
214
+ }
215
+ ```
216
+
217
+ 【Groovy DSL】
218
+ ``` java
219
+ // app/build.gradle
220
+ plugins {
221
+ // Add Compose plugin
222
+ id libs.plugins.kotlin.compose.get().pluginId
223
+ }
224
+ android {
225
+ // Enable Compose
226
+ buildFeatures {
227
+ compose true
228
+ }
229
+ }
230
+ ```
231
+
232
+ 4. Configure obfuscation rules.
233
+
234
+ Add the following obfuscation rules to your app/proguard-rules.pro file:
235
+
236
+ ``` java
237
+ -keep class com.tencent.** { *; }
238
+ ```
239
+ 5. Click **File > Sync Project with Gradle Files** in Android Studio to integrate components.
240
+
241
+ ## Integration Steps
242
+
243
+ ### Step 1: Configure User Authentication
244
+
245
+ Get UserSig based on UserID in [Chat Console](https://console.trtc.io/usersig) for subsequent user authentication during login.
246
+
247
+ ### Step 2: User Login
248
+
249
+ You can only use the component functions normally after login authentication. You can call the login interface and pass in the SDKAPPID and userSig obtained above for login authentication:
250
+ ``` swift
251
+ // User login
252
+ LoginStore.shared.login(context, SDKAPPID, userID, userSig,
253
+ object : CompletionHandler {
254
+ override fun onSuccess() {
255
+ // Login successful, can navigate to chat or conversation page
256
+ }
257
+ override fun onFailure(code: Int, desc: String) {
258
+ // Login failed, can show error dialog
259
+ }
260
+ })
261
+ ```
262
+
263
+ > **Note:**
264
+ >
265
+
266
+ > In a formal production environment, it is recommended to generate UserSig on your server side. When UserSig is needed, your App should send a request to the business server to get dynamic UserSig for authentication. For details, see [Server-side UserSig Generation](https://console.trtc.io/usersig).
267
+ >
268
+
269
+ ### Step 3: Build Conversation List Interface
270
+
271
+ You can build a conversation list page based on the ConversationList component in TUIKit Compose. The built-in functions of ConversationList are:
272
+ - Display user's conversation list, including single chat and group chat conversations
273
+
274
+ - Support user operations on individual conversations: pin, delete, clear conversation messages, etc.
275
+
276
+ You can integrate ConversationList directly into existing App pages, or build a complete new conversation list page. One assembled UI effect is shown in the figure below:
277
+
278
+ To encapsulate ConversationList as a conversation list page, you can refer to the implementation in the `chat/uikit/src/main/java/io/trtc/tuikit/chat/pages/ConversationsPage.kt` file. `ConversationsPage` mainly does the following:
279
+
280
+ 1. Added headerView above ConversationList.
281
+
282
+ 2. Pass click conversation list cell events.
283
+
284
+ The core sample code is shown below:
285
+
286
+ ``` swift
287
+ @Composable
288
+ fun ConversationsPage(
289
+ onConversationClick: (ConversationInfo) -> Unit = {},
290
+ editContent: @Composable () -> Unit = {},
291
+ ) {
292
+ val colors = LocalTheme.current.colors
293
+ Column(
294
+ modifier = Modifier
295
+ .fillMaxSize()
296
+ .background(Colors.Transparent)
297
+ ) {
298
+
299
+ PageHeader(stringResource(R.string.chat_uikit_chat)) {
300
+ editContent()
301
+ }
302
+
303
+ Box(modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center) {
304
+ ConversationList(modifier = Modifier.navigationBarsPadding(), onConversationClick = onConversationClick)
305
+ }
306
+ }
307
+ }
308
+ ```
309
+
310
+ ### Step 4: Build Chat Interface
311
+
312
+ You can build a chat page based on the MessageList and MessageInput components in TUIKit Compose.
313
+
314
+ The built-in functions of MessageList are:
315
+ - Display single chat or group chat message lists.
316
+
317
+ - Support operations on individual messages: view large images of image messages, play video or voice messages, copy text messages, recall messages, delete messages, etc.
318
+
319
+ The built-in functions of MessageInput are:
320
+
321
+ - Support users to compose and send various types of messages: text, emoji, images, voice, video, files, etc.
322
+
323
+ You can integrate MessageList and MessageInput directly into existing App pages, or build a complete new chat page. One assembled UI effect is shown in the figure below:
324
+
325
+ To assemble MessageList and MessageInput into a chat page, you can refer to the implementation in the `chat/uikit/src/main/java/io/trtc/tuikit/chat/pages/ChatPage.kt` file. `ChatPage` mainly does the following:
326
+
327
+ 1. Added headerView at the top to display the conversation name.
328
+
329
+ 2. Vertically concatenated MessageList and MessageInput according to mobile user habits.
330
+
331
+ The core sample code is shown below:
332
+
333
+ ``` swift
334
+ @Composable
335
+ fun ChatPage(
336
+ conversationID: String,
337
+ locateMessage: MessageInfo? = null,
338
+ onUserClick: (String) -> Unit,
339
+ onChatHeaderClick: (String) -> Unit,
340
+ onBackClick: () -> Unit,
341
+ ) {
342
+ ...
343
+
344
+ val avatarUrl = conversationState.value?.avatarURL
345
+ val displayName = conversationState.value?.title
346
+ val colors = LocalTheme.current.colors
347
+ Scaffold(
348
+ modifier = Modifier
349
+ .background(color = colors.bgColorOperate)
350
+ .fillMaxSize()
351
+ .wrapContentHeight(), topBar = {
352
+ Box(
353
+ modifier = Modifier
354
+ .background(color = colors.bgColorOperate)
355
+ .fillMaxWidth()
356
+ .statusBarsPadding()
357
+ ) {
358
+ ChatHeader(
359
+ avatarUrl = avatarUrl,
360
+ name = displayName ?: "",
361
+ onBackClick = onBackClick,
362
+ onAvatarClick = {
363
+ onChatHeaderClick(conversationID)
364
+ }
365
+ )
366
+ }
367
+ },
368
+ bottomBar = {
369
+ Box(
370
+ modifier = Modifier
371
+ .fillMaxWidth()
372
+ .background(color = colors.bgColorOperate)
373
+ ) {
374
+ MessageInput(modifier = Modifier.navigationBarsPadding(), conversationID = conversationID)
375
+ }
376
+
377
+ }) { padding ->
378
+ Box(
379
+ modifier = Modifier
380
+ .padding(padding)
381
+ ) {
382
+ MessageList(conversationID = conversationID, locateMessage = locateMessage) {
383
+ onUserClick(it)
384
+ }
385
+ }
386
+ }
387
+ }
388
+ ```
389
+
390
+ ### Step 5: Build Contact Interface
391
+
392
+ You can build a contact page based on the ContactList component in TUIKit Compose. The built-in functions of ContactList are:
393
+ - View friend request list.
394
+
395
+ - View joined group list.
396
+
397
+ - Handle group invitations and applications.
398
+
399
+ - Manage blacklist.
400
+
401
+ - View friends.
402
+
403
+ You can integrate ContactList directly into existing Apps, or build a complete new contact list page. One assembled UI effect is shown in the figure below:
404
+
405
+ To encapsulate ContactList as a contact list page, you can refer to the implementation in the `chat/uikit/src/main/java/io/trtc/tuikit/chat/pages/ContactsPage.kt` file. `ContactsPage` mainly does the following:
406
+
407
+ 1. Added headerView above ContactList.
408
+
409
+ 2. Pass click contact list cell events.
410
+
411
+ The core sample code is shown below:
412
+
413
+ ``` swift
414
+ @Composable
415
+ fun ContactsPage(
416
+ onContactClick: (ContactInfo) -> Unit = {},
417
+ onGroupClick: (ContactInfo) -> Unit = {},
418
+ editContent: @Composable () -> Unit = {},
419
+ ) {
420
+
421
+ val colors = LocalTheme.current.colors
422
+ Column(
423
+ modifier = Modifier
424
+ .fillMaxSize()
425
+ .background(Colors.Transparent)
426
+ ) {
427
+ PageHeader(stringResource(R.string.chat_uikit_contacts)) {
428
+ editContent()
429
+ }
430
+
431
+ Box(
432
+ modifier = Modifier
433
+ .fillMaxSize()
434
+ .navigationBarsPadding(), contentAlignment = Alignment.Center
435
+ ) {
436
+ ContactList(onGroupClick = onGroupClick, onContactClick = onContactClick)
437
+ }
438
+ }
439
+ }
440
+ ```
441
+
442
+ ### Step 6: Improve Navigation Logic Between Interfaces
443
+
444
+ ConversationsPage, ChatPage, and ContactsPage expose some user click events. You can customize events to implement interactions between pages:
445
+ | Page | Callback | Suggested Navigation Logic |
446
+ | --- | --- | --- |
447
+ | **ConversationsPage** | `onConversationClick: (ConversationInfo) -> Unit` | Triggered when clicking a conversation in the conversation list, suggest navigating to chat page (ChatPage). |
448
+ | **ContactsPage** | `onContactClick: (ContactInfo) -> Unit` | Triggered when clicking a contact cell, suggest navigating to user info page (C2CChatSetting). |
449
+ | `onGroupClick: (ContactInfo) -> Unit` | Triggered when clicking a group cell, suggest navigating to group chat page (ChatPage). | |
450
+ | **ChatPage** | `onUserClick: (String) -> Unit` | Triggered when clicking user avatar or nickname in messages, suggest navigating to user info page (C2CChatSetting). |
451
+ | `onChatHeaderClick: (String) -> Unit` | Triggered when clicking avatar in navigation bar, suggest navigating to user info page (C2CChatSetting) or group chat info page (GroupChatSetting) | |
452
+ | `onBackClick: () -> Unit` | Triggered when clicking back button, suggest returning to previous page. | |
453
+
454
+ **chat/demo/app/src/main/java/io/trtc/tuikit/chat/MainActivity.kt** and **chat/demo/app/src/main/java/io/trtc/tuikit/chat/chat/ChatActivity.kt** serve as the glue layer for the above Pages, implementing callback events for each Page. The core sample code is as follows:
455
+ ``` java
456
+ // chat/demo/app/src/main/java/io/trtc/tuikit/chat/MainActivity.kt
457
+
458
+ // Click conversation list cell to navigate
459
+ ConversationsPage(onConversationClick = {
460
+ activity?.startActivity(
461
+ Intent(activity, ChatActivity::class.java).apply {
462
+ putExtra("conversationID", it.conversationID)
463
+ }
464
+ )
465
+ })
466
+
467
+ // Click contact page to navigate
468
+ ContactsPage(onGroupClick = {
469
+ ChatSettingActivity.start(context, "", it.contactID, true)
470
+ }, onContactClick = {
471
+ ChatSettingActivity.start(context, it.contactID, "", true)
472
+ })
473
+ ```
474
+ ``` java
475
+ // chat/demo/app/src/main/java/io/trtc/tuikit/chat/chat/ChatActivity.kt
476
+
477
+ // Click chat page to navigate
478
+ ChatPage(
479
+ conversationID = conversationID,
480
+ locateMessage = message,
481
+ onUserClick = {
482
+ handleChatSettingNavigation(it)
483
+ }, onChatHeaderClick = {
484
+ val userID = getUserID(conversationID)
485
+ val groupID = getGroupID(conversationID)
486
+ handleChatSettingNavigation(userID, groupID)
487
+ }, onBackClick = { finish() })
488
+ ```
489
+
490
+ You can refer to the above callback descriptions and reference code to implement interaction logic between Pages.