@tencentcloud/sdk-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 (503) hide show
  1. package/index.js +1 -1
  2. package/index.js.map +1 -1
  3. package/package.json +2 -2
  4. package/resource/doc/{tuicallkit/android/faq.md → callkit/faq/android-faq.md} +75 -308
  5. package/resource/doc/{tuicallkit/faq/common/error_code.md → callkit/faq/common/error-code.md} +2 -2
  6. package/resource/doc/{tuicallkit/flutter/faq.md → callkit/faq/flutter-faq.md} +83 -315
  7. package/resource/doc/{tuicallkit/iOS/faq.md → callkit/faq/ios-faq.md} +76 -313
  8. package/resource/doc/{tuicallkit/react/faq.md → callkit/faq/web-faq.md} +78 -311
  9. package/resource/doc/callkit/preset/android/api.md +330 -0
  10. package/resource/doc/callkit/preset/android/integration.md +530 -0
  11. package/resource/doc/callkit/preset/flutter/api.md +401 -0
  12. package/resource/doc/{tuicallkit → callkit/preset}/flutter/integration.md +53 -273
  13. package/resource/doc/callkit/preset/ios/api.md +282 -0
  14. package/resource/doc/{tuicallkit/iOS → callkit/preset/ios}/integration.md +39 -120
  15. package/resource/doc/callkit/preset/react/api.md +600 -0
  16. package/resource/doc/{tuicallkit → callkit/preset}/react/integration.md +6 -6
  17. package/resource/doc/callkit/preset/vue/api.md +600 -0
  18. package/resource/doc/{tuicallkit → callkit/preset}/vue/integration.md +5 -5
  19. package/resource/doc/{chatuikit → chatkit}/android/faq.md +29 -37
  20. package/resource/doc/{chatuikit → chatkit}/android/features/theme.md +22 -166
  21. package/resource/doc/chatkit/android/integration.md +498 -0
  22. package/resource/doc/chatkit/faq/android_sdk/client-api.md +280 -0
  23. package/resource/doc/{chatuikit → chatkit}/faq/common/product.md +4 -17
  24. package/resource/doc/{chatuikit → chatkit}/faq/common/server.md +1 -2
  25. package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +183 -0
  26. package/resource/doc/{chatuikit → chatkit}/faq/flutter_sdk/faq.md +3 -3
  27. package/resource/doc/chatkit/faq/ios_sdk/client-api.md +279 -0
  28. package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/error_code.md +1 -1
  29. package/resource/doc/{chatuikit → chatkit}/faq/web_sdk/faq.md +4 -4
  30. package/resource/doc/{chatuikit → chatkit}/flutter/features/theme.md +22 -166
  31. package/resource/doc/{chatuikit → chatkit}/flutter/integration.md +20 -95
  32. package/resource/doc/{chatuikit/iOS → chatkit/ios}/faq.md +29 -37
  33. package/resource/doc/{chatuikit/iOS → chatkit/ios}/features/theme.md +27 -176
  34. package/resource/doc/{chatuikit/iOS → chatkit/ios}/integration.md +78 -280
  35. package/resource/doc/{chatuikit/vue → chatkit/react}/components/avatar.md +0 -1
  36. package/resource/doc/{chatuikit → chatkit}/react/components/chat-header.md +7 -12
  37. package/resource/doc/{chatuikit → chatkit}/react/components/chat-setting.md +10 -17
  38. package/resource/doc/{chatuikit → chatkit}/react/components/chat.md +1 -1
  39. package/resource/doc/{chatuikit → chatkit}/react/components/component-list.md +0 -1
  40. package/resource/doc/{chatuikit → chatkit}/react/components/contact-list.md +122 -703
  41. package/resource/doc/chatkit/react/components/conversation-actions.md +174 -0
  42. package/resource/doc/chatkit/react/components/conversation-list.md +333 -0
  43. package/resource/doc/chatkit/react/components/conversation-preview.md +116 -0
  44. package/resource/doc/chatkit/react/components/conversation-search.md +57 -0
  45. package/resource/doc/{chatuikit → chatkit}/react/components/message-input.md +36 -186
  46. package/resource/doc/{chatuikit → chatkit}/react/components/message-list.md +21 -113
  47. package/resource/doc/chatkit/react/components/search.md +282 -0
  48. package/resource/doc/{chatuikit → chatkit}/react/components/tuikit.md +5 -26
  49. package/resource/doc/{chatuikit → chatkit}/react/integration.md +37 -104
  50. package/resource/doc/{chatuikit/react → chatkit/vue}/components/avatar.md +0 -1
  51. package/resource/doc/{chatuikit → chatkit}/vue/components/chat-header.md +7 -13
  52. package/resource/doc/{chatuikit → chatkit}/vue/components/chat-setting.md +13 -18
  53. package/resource/doc/{chatuikit → chatkit}/vue/components/chat.md +1 -2
  54. package/resource/doc/{chatuikit → chatkit}/vue/components/component-list.md +0 -1
  55. package/resource/doc/chatkit/vue/components/contact-list.md +271 -0
  56. package/resource/doc/chatkit/vue/components/conversation-actions.md +228 -0
  57. package/resource/doc/{chatuikit → chatkit}/vue/components/conversation-list.md +42 -316
  58. package/resource/doc/chatkit/vue/components/conversation-preview.md +213 -0
  59. package/resource/doc/chatkit/vue/components/conversation-search.md +50 -0
  60. package/resource/doc/{chatuikit → chatkit}/vue/components/message-input.md +1 -23
  61. package/resource/doc/{chatuikit → chatkit}/vue/components/message-list.md +23 -134
  62. package/resource/doc/{chatuikit → chatkit}/vue/components/search.md +73 -640
  63. package/resource/doc/chatkit/vue/components/tuikit.md +45 -0
  64. package/resource/doc/{chatuikit → chatkit}/vue/components/userpicker.md +4 -4
  65. package/resource/doc/{chatuikit → chatkit}/vue/faq.md +1 -1
  66. package/resource/doc/{chatuikit → chatkit}/vue/integration.md +53 -121
  67. package/resource/doc/livekit/core-sdk/live/android/api-reference/AudioEffectStore.md +283 -0
  68. package/resource/doc/livekit/core-sdk/live/android/api-reference/BarrageStore.md +148 -0
  69. package/resource/doc/livekit/core-sdk/live/android/api-reference/BattleStore.md +316 -0
  70. package/resource/doc/livekit/core-sdk/live/android/api-reference/CameraView.md +57 -0
  71. package/resource/doc/livekit/core-sdk/live/android/api-reference/CoGuestStore.md +419 -0
  72. package/resource/doc/livekit/core-sdk/live/android/api-reference/CoHostStore.md +325 -0
  73. package/resource/doc/livekit/core-sdk/live/android/api-reference/DeviceStore.md +436 -0
  74. package/resource/doc/livekit/core-sdk/live/android/api-reference/GiftStore.md +165 -0
  75. package/resource/doc/livekit/core-sdk/live/android/api-reference/LikeStore.md +49 -0
  76. package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveAudienceStore.md +239 -0
  77. package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveCoreView.md +74 -0
  78. package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveSeatStore.md +417 -0
  79. package/resource/doc/livekit/core-sdk/live/android/api-reference/LoginStore.md +207 -0
  80. package/resource/doc/livekit/{live → core-sdk/live}/android/live-audience-list.md +17 -88
  81. package/resource/doc/livekit/{live → core-sdk/live}/android/live-audio-effect.md +34 -192
  82. package/resource/doc/livekit/{live → core-sdk/live}/android/live-barrage.md +26 -139
  83. package/resource/doc/livekit/{live → core-sdk/live}/android/live-base-beauty.md +16 -99
  84. package/resource/doc/livekit/{live → core-sdk/live}/android/live-co-guest-interaction.md +54 -161
  85. package/resource/doc/livekit/{live → core-sdk/live}/android/live-gift.md +75 -455
  86. package/resource/doc/livekit/{live → core-sdk/live}/android/live-host-interaction.md +91 -338
  87. package/resource/doc/livekit/{live → core-sdk/live}/android/live-integration.md +108 -492
  88. package/resource/doc/livekit/{live → core-sdk/live}/android/live-live-list.md +27 -165
  89. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/AudioEffectStore.md +279 -0
  90. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BarrageStore.md +158 -0
  91. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BaseBeautyStore.md +155 -0
  92. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BattleStore.md +304 -0
  93. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/CoGuestStore.md +394 -0
  94. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/CoHostStore.md +303 -0
  95. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/DeviceStore.md +410 -0
  96. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/GiftStore.md +160 -0
  97. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LikeStore.md +51 -0
  98. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveAudienceStore.md +231 -0
  99. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveCoreView.md +143 -0
  100. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveSeatStore.md +375 -0
  101. package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LoginStore.md +170 -0
  102. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audience-list.md +13 -91
  103. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-audio-effect.md +34 -177
  104. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-barrage.md +18 -102
  105. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-base-beauty.md +24 -164
  106. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-co-guest-interaction.md +56 -161
  107. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-gift.md +66 -460
  108. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-host-interaction.md +117 -364
  109. package/resource/doc/livekit/core-sdk/live/flutter/live-integration.md +687 -0
  110. package/resource/doc/livekit/{live → core-sdk/live}/flutter/live-live-list.md +22 -161
  111. package/resource/doc/livekit/core-sdk/live/ios/api-reference/AudioEffectStore.md +287 -0
  112. package/resource/doc/livekit/core-sdk/live/ios/api-reference/BarrageStore.md +165 -0
  113. package/resource/doc/livekit/core-sdk/live/ios/api-reference/BaseBeautyStore.md +143 -0
  114. package/resource/doc/livekit/core-sdk/live/ios/api-reference/BattleStore.md +298 -0
  115. package/resource/doc/livekit/core-sdk/live/ios/api-reference/CoGuestStore.md +349 -0
  116. package/resource/doc/livekit/core-sdk/live/ios/api-reference/CoHostStore.md +297 -0
  117. package/resource/doc/livekit/core-sdk/live/ios/api-reference/DeviceStore.md +471 -0
  118. package/resource/doc/livekit/core-sdk/live/ios/api-reference/GiftStore.md +179 -0
  119. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LikeStore.md +49 -0
  120. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveAudienceStore.md +238 -0
  121. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveCoreView.md +74 -0
  122. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveSeatStore.md +412 -0
  123. package/resource/doc/livekit/core-sdk/live/ios/api-reference/LoginStore.md +173 -0
  124. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audience-list.md +23 -96
  125. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-audio-effect.md +33 -195
  126. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-barrage.md +35 -150
  127. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-base-beauty.md +20 -105
  128. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-co-guest-interaction.md +35 -140
  129. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-gift.md +77 -457
  130. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-host-interaction.md +70 -317
  131. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-integration.md +90 -473
  132. package/resource/doc/livekit/{live → core-sdk/live}/ios/live-live-list.md +28 -163
  133. package/resource/doc/livekit/core-sdk/voice/android/voice-audience-list.md +264 -0
  134. package/resource/doc/livekit/core-sdk/voice/android/voice-audio-effect.md +226 -0
  135. package/resource/doc/livekit/core-sdk/voice/android/voice-barrage.md +456 -0
  136. package/resource/doc/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +539 -0
  137. package/resource/doc/livekit/core-sdk/voice/android/voice-gift.md +453 -0
  138. package/resource/doc/livekit/core-sdk/voice/android/voice-host-interaction.md +516 -0
  139. package/resource/doc/livekit/core-sdk/voice/android/voice-integration.md +509 -0
  140. package/resource/doc/livekit/core-sdk/voice/android/voice-room-list.md +365 -0
  141. package/resource/doc/livekit/core-sdk/voice/flutter/voice-audience-list.md +259 -0
  142. package/resource/doc/livekit/core-sdk/voice/flutter/voice-audio-effect.md +596 -0
  143. package/resource/doc/livekit/core-sdk/voice/flutter/voice-barrage.md +494 -0
  144. package/resource/doc/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +516 -0
  145. package/resource/doc/livekit/core-sdk/voice/flutter/voice-gift.md +418 -0
  146. package/resource/doc/livekit/core-sdk/voice/flutter/voice-integration.md +563 -0
  147. package/resource/doc/livekit/core-sdk/voice/flutter/voice-room-list.md +709 -0
  148. package/resource/doc/livekit/core-sdk/voice/ios/voice-audience-list.md +262 -0
  149. package/resource/doc/livekit/core-sdk/voice/ios/voice-audio-effect.md +211 -0
  150. package/resource/doc/livekit/core-sdk/voice/ios/voice-barrage.md +414 -0
  151. package/resource/doc/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +492 -0
  152. package/resource/doc/livekit/core-sdk/voice/ios/voice-gift.md +405 -0
  153. package/resource/doc/livekit/core-sdk/voice/ios/voice-host-interaction.md +611 -0
  154. package/resource/doc/livekit/core-sdk/voice/ios/voice-integration.md +478 -0
  155. package/resource/doc/livekit/core-sdk/voice/ios/voice-room-list.md +336 -0
  156. package/resource/doc/livekit/core-sdk/voice/uni-app/voice-audience-list.md +234 -0
  157. package/resource/doc/livekit/core-sdk/voice/uni-app/voice-audio-effect.md +218 -0
  158. package/resource/doc/livekit/core-sdk/voice/uni-app/voice-barrage.md +376 -0
  159. package/resource/doc/livekit/core-sdk/voice/uni-app/voice-co-guest-interaction.md +648 -0
  160. package/resource/doc/livekit/core-sdk/voice/uni-app/voice-gift.md +362 -0
  161. package/resource/doc/livekit/core-sdk/voice/uni-app/voice-integration.md +323 -0
  162. package/resource/doc/livekit/core-sdk/voice/uni-app/voice-room-list.md +470 -0
  163. package/resource/doc/livekit/faq/common/{error_code.md → error-code.md} +2 -3
  164. package/resource/doc/livekit/preset/live/vue/api-reference/index.md +780 -0
  165. package/resource/doc/livekit/preset/live/vue/components/barrage.md +291 -0
  166. package/resource/doc/livekit/{live → preset/live}/vue/components/co-guest-panel.md +9 -48
  167. package/resource/doc/livekit/{live → preset/live}/vue/components/live-audience-list.md +27 -145
  168. package/resource/doc/livekit/{live → preset/live}/vue/components/live-scene-panel.md +13 -76
  169. package/resource/doc/livekit/{live → preset/live}/vue/components/live-view.md +33 -224
  170. package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +211 -0
  171. package/resource/doc/livekit/preset/live/vue/faq.md +1 -0
  172. package/resource/doc/livekit/preset/live/vue/live-list-integration.md +244 -0
  173. package/resource/doc/livekit/preset/live/vue/live-player-desk-integration.md +301 -0
  174. package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +307 -0
  175. package/resource/doc/livekit/preset/live/vue/live-pusher-integration.md +754 -0
  176. package/resource/doc/roomkit/android/features/call-user-to-room.md +234 -0
  177. package/resource/doc/roomkit/android/features/room-participant-state.md +850 -0
  178. package/resource/doc/roomkit/android/features/room-state.md +358 -0
  179. package/resource/doc/roomkit/android/features/schedule-room.md +336 -0
  180. package/resource/doc/roomkit/android/integration.md +433 -0
  181. package/resource/doc/roomkit/{common/error_code.md → faq/common/error-code.md} +1 -1
  182. package/resource/doc/roomkit/flutter/features/call-user-to-room.md +228 -0
  183. package/resource/doc/roomkit/flutter/features/room-participant-state.md +796 -0
  184. package/resource/doc/roomkit/flutter/features/room-state.md +324 -0
  185. package/resource/doc/roomkit/flutter/features/schedule-room.md +324 -0
  186. package/resource/doc/roomkit/flutter/integration.md +405 -0
  187. package/resource/doc/roomkit/ios/features/call-user-to-room.md +226 -0
  188. package/resource/doc/roomkit/ios/features/room-participant-state.md +821 -0
  189. package/resource/doc/roomkit/ios/features/room-state.md +320 -0
  190. package/resource/doc/roomkit/ios/features/schedule-room.md +318 -0
  191. package/resource/doc/roomkit/ios/integration.md +384 -0
  192. package/resource/doc/roomkit/vue/faq.md +1 -0
  193. package/resource/doc/roomkit/vue/features/call-user-to-room.md +17 -53
  194. package/resource/doc/roomkit/vue/features/device-detection.md +30 -48
  195. package/resource/doc/roomkit/vue/features/device-state.md +24 -44
  196. package/resource/doc/roomkit/vue/features/free-beauty-panel.md +13 -36
  197. package/resource/doc/roomkit/vue/features/room-chat.md +31 -89
  198. package/resource/doc/roomkit/vue/features/room-participant-state.md +28 -50
  199. package/resource/doc/roomkit/vue/features/room-state.md +25 -36
  200. package/resource/doc/roomkit/vue/features/room-view.md +30 -127
  201. package/resource/doc/roomkit/vue/features/schedule-room.md +9 -40
  202. package/resource/doc/roomkit/vue/features/screen-share.md +22 -90
  203. package/resource/doc/roomkit/vue/features/virtual-background.md +13 -34
  204. package/resource/doc/roomkit/vue/integration.md +118 -282
  205. package/resource/doc/rtcengine/faq/common/userSig.md +17 -141
  206. package/resource/doc/rtcengine/faq/web/web.md +15 -22
  207. package/resource/doc/rtcengine/web/api.md +17 -21
  208. package/resource/doc/rtcengine/web/how_to_integrated_web_sdk.md +4 -10
  209. package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +4 -8
  210. package/resource/doc/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +3 -3
  211. package/resource/doc/rtcengine/web/plugin/21-advanced-auto-play-policy.md +2 -3
  212. package/resource/doc/rtcengine/web/plugin/22-advanced-audio-mixer.md +6 -6
  213. package/resource/doc/rtcengine/web/plugin/23-advanced-support-detection.md +2 -2
  214. package/resource/doc/rtcengine/web/plugin/24-advanced-network-quality.md +2 -4
  215. package/resource/doc/rtcengine/web/plugin/25-advanced-device-change.md +1 -2
  216. package/resource/doc/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +2 -6
  217. package/resource/doc/rtcengine/web/plugin/27-advanced-small-stream.md +13 -14
  218. package/resource/doc/rtcengine/web/plugin/28-advanced-beauty.md +10 -90
  219. package/resource/doc/rtcengine/web/plugin/31-advanced-plugins-overview.md +5 -8
  220. package/resource/doc/rtcengine/web/plugin/34-advanced-proxy.md +31 -35
  221. package/resource/doc/rtcengine/web/plugin/35-advanced-ai-denoiser.md +0 -2
  222. package/resource/doc/rtcengine/web/plugin/36-advanced-virtual-background.md +7 -49
  223. package/resource/doc/rtcengine/web/plugin/37-advanced-voice-changer.md +1 -1
  224. package/resource/doc/rtcengine/web/plugin/39-advanced-video-decoder.md +0 -3
  225. package/resource/doc/rtcengine/web/plugin/40-advanced-video-mixer.md +20 -20
  226. package/resource/doc/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +1 -1
  227. package/resource/doc/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +4 -4
  228. package/resource/doc/rtcengine/web/plugin/43-advanced-face-detection.md +3 -3
  229. package/resource/doc/trtc/C++/ITRTCCloud.md +718 -2847
  230. package/resource/doc/trtc/C++/ITRTCStatistics.md +53 -308
  231. package/resource/doc/trtc/C++/ITXAudioEffectManager.md +207 -1041
  232. package/resource/doc/trtc/C++/ITXDeviceManager.md +127 -768
  233. package/resource/doc/trtc/C++/TRTCCloudCallback.md +634 -2259
  234. package/resource/doc/trtc/C++/TRTCTypeDef.md +726 -3465
  235. package/resource/doc/trtc/C++/TXLiteAVCode.md +117 -916
  236. package/resource/doc/trtc/android/TRTCCloud.md +638 -2612
  237. package/resource/doc/trtc/android/TRTCCloudDef.md +769 -3697
  238. package/resource/doc/trtc/android/TRTCCloudListener.md +609 -2070
  239. package/resource/doc/trtc/android/TRTCStatistics.md +48 -278
  240. package/resource/doc/trtc/android/TXAudioEffectManager.md +207 -1049
  241. package/resource/doc/trtc/android/TXBeautyManager.md +127 -704
  242. package/resource/doc/trtc/android/TXDeviceManager.md +51 -318
  243. package/resource/doc/trtc/android/TXLiteAVCode.md +115 -900
  244. package/resource/doc/trtc/iOS/TRTCCloud.md +726 -2930
  245. package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +580 -2099
  246. package/resource/doc/trtc/iOS/TRTCStatistics.md +48 -278
  247. package/resource/doc/trtc/iOS/TXAudioEffectManager.md +179 -896
  248. package/resource/doc/trtc/iOS/TXBeautyManager.md +128 -710
  249. package/resource/doc/trtc/iOS/TXDeviceManager.md +129 -772
  250. package/resource/doc/trtc/iOS/TXLiteAVCode.md +117 -915
  251. package/resource/doc/trtc/iOS/TXLiveSDKTypeDef.md +747 -3559
  252. package/server.js +1 -5
  253. package/server.js.map +1 -1
  254. package/tools/call/get_callkit_api.js +32 -0
  255. package/tools/call/get_callkit_api.js.map +1 -0
  256. package/tools/call/get_native_call_uikit_integration.js +34 -0
  257. package/tools/call/get_native_call_uikit_integration.js.map +1 -0
  258. package/tools/call/{get-web-call-integration.js → get_web_call_uikit_integration.js} +13 -8
  259. package/tools/call/get_web_call_uikit_integration.js.map +1 -0
  260. package/tools/chat/get_native_chat_uikit_feature_detail.js +34 -0
  261. package/tools/chat/get_native_chat_uikit_feature_detail.js.map +1 -0
  262. package/tools/chat/get_native_chat_uikit_integration.js +45 -0
  263. package/tools/chat/get_native_chat_uikit_integration.js.map +1 -0
  264. package/tools/chat/get_web_chat_uikit_component_detail.js +34 -0
  265. package/tools/chat/get_web_chat_uikit_component_detail.js.map +1 -0
  266. package/tools/chat/get_web_chat_uikit_integration.js +45 -0
  267. package/tools/chat/get_web_chat_uikit_integration.js.map +1 -0
  268. package/tools/common/get_faq.js +265 -0
  269. package/tools/common/get_faq.js.map +1 -0
  270. package/tools/common/{get-usersig.js → get_usersig.js} +6 -3
  271. package/tools/common/get_usersig.js.map +1 -0
  272. package/tools/common/present_framework_choice.js +63 -0
  273. package/tools/common/present_framework_choice.js.map +1 -0
  274. package/tools/definitions/get_callkit_api_def.js +28 -0
  275. package/tools/definitions/get_callkit_api_def.js.map +1 -0
  276. package/tools/definitions/get_faq_def.js +18 -19
  277. package/tools/definitions/get_faq_def.js.map +1 -1
  278. package/tools/definitions/get_native_call_uikit_integration_def.js +15 -18
  279. package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
  280. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +31 -0
  281. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +1 -0
  282. package/tools/definitions/get_native_chat_uikit_integration_def.js +16 -19
  283. package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
  284. package/tools/definitions/get_native_livekit_core_features_def.js +33 -0
  285. package/tools/definitions/get_native_livekit_core_features_def.js.map +1 -0
  286. package/tools/definitions/get_native_livekit_core_integration_def.js +33 -0
  287. package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -0
  288. package/tools/definitions/get_native_trtc_sdk_docs_def.js +32 -0
  289. package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +1 -0
  290. package/tools/definitions/get_usersig_def.js +17 -24
  291. package/tools/definitions/get_usersig_def.js.map +1 -1
  292. package/tools/definitions/get_web_call_uikit_integration_def.js +15 -7
  293. package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
  294. package/tools/definitions/get_web_chat_uikit_component_detail_def.js +17 -49
  295. package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +1 -1
  296. package/tools/definitions/get_web_chat_uikit_integration_def.js +16 -19
  297. package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
  298. package/tools/definitions/get_web_live_uikit_integration_def.js +13 -18
  299. package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
  300. package/tools/definitions/get_web_livekit_api_def.js +27 -0
  301. package/tools/definitions/get_web_livekit_api_def.js.map +1 -0
  302. package/tools/definitions/get_web_livekit_component_detail_def.js +29 -0
  303. package/tools/definitions/get_web_livekit_component_detail_def.js.map +1 -0
  304. package/tools/definitions/get_web_room_uikit_integration_def.js +13 -30
  305. package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
  306. package/tools/definitions/get_web_roomkit_feature_detail_def.js +30 -0
  307. package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +1 -0
  308. package/tools/definitions/get_web_trtc_sdk_api_def.js +25 -0
  309. package/tools/definitions/get_web_trtc_sdk_api_def.js.map +1 -0
  310. package/tools/definitions/get_web_trtc_sdk_integration_def.js +25 -0
  311. package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +1 -0
  312. package/tools/definitions/get_web_trtc_sdk_plugin_def.js +25 -0
  313. package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +1 -0
  314. package/tools/definitions/present_framework_choice_def.js +23 -12
  315. package/tools/definitions/present_framework_choice_def.js.map +1 -1
  316. package/tools/index.js +47 -59
  317. package/tools/index.js.map +1 -1
  318. package/tools/live/get_native_livekit_core_features.js +65 -0
  319. package/tools/live/get_native_livekit_core_features.js.map +1 -0
  320. package/tools/live/get_native_livekit_core_integration.js +59 -0
  321. package/tools/live/get_native_livekit_core_integration.js.map +1 -0
  322. package/tools/live/get_web_live_uikit_integration.js +48 -0
  323. package/tools/live/get_web_live_uikit_integration.js.map +1 -0
  324. package/tools/live/get_web_livekit_api.js +32 -0
  325. package/tools/live/get_web_livekit_api.js.map +1 -0
  326. package/tools/live/get_web_livekit_component_detail.js +34 -0
  327. package/tools/live/get_web_livekit_component_detail.js.map +1 -0
  328. package/tools/room/{get-web-room-integration.js → get_web_room_uikit_integration.js} +13 -14
  329. package/tools/room/get_web_room_uikit_integration.js.map +1 -0
  330. package/tools/room/{get-web-room-feature-detail.js → get_web_roomkit_feature_detail.js} +30 -31
  331. package/tools/room/get_web_roomkit_feature_detail.js.map +1 -0
  332. package/tools/rtcengine/get_web_trtc_sdk_api.js +31 -0
  333. package/tools/rtcengine/get_web_trtc_sdk_api.js.map +1 -0
  334. package/tools/rtcengine/get_web_trtc_sdk_integration.js +31 -0
  335. package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +1 -0
  336. package/tools/rtcengine/get_web_trtc_sdk_plugin.js +31 -0
  337. package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +1 -0
  338. package/tools/trtc/get_native_trtc_sdk_docs.js +73 -0
  339. package/tools/trtc/get_native_trtc_sdk_docs.js.map +1 -0
  340. package/utils/generate-structured-result.js +61 -17
  341. package/utils/generate-structured-result.js.map +1 -1
  342. package/utils/report-cls-client.js +12 -1
  343. package/utils/report-cls-client.js.map +1 -1
  344. package/utils/report-es-client.js +1 -1
  345. package/resource/doc/chatuikit/android/integration.md +0 -612
  346. package/resource/doc/chatuikit/android/workflow.md +0 -0
  347. package/resource/doc/chatuikit/faq/android_sdk/client-api.md +0 -1376
  348. package/resource/doc/chatuikit/faq/flutter_sdk/client-api.md +0 -860
  349. package/resource/doc/chatuikit/faq/ios_sdk/client-api.md +0 -1371
  350. package/resource/doc/chatuikit/flutter/workflow.md +0 -816
  351. package/resource/doc/chatuikit/iOS/workflow.md +0 -0
  352. package/resource/doc/chatuikit/react/components/conversation-list.md +0 -765
  353. package/resource/doc/chatuikit/react/components/search.md +0 -885
  354. package/resource/doc/chatuikit/react/create-group.md +0 -22
  355. package/resource/doc/chatuikit/react/init.md +0 -25
  356. package/resource/doc/chatuikit/react/workflow.md +0 -254
  357. package/resource/doc/chatuikit/uniapp-app/faq.md +0 -0
  358. package/resource/doc/chatuikit/uniapp-app/integration.md +0 -619
  359. package/resource/doc/chatuikit/uniapp-app/workflow.md +0 -576
  360. package/resource/doc/chatuikit/vue/components/contact-list.md +0 -679
  361. package/resource/doc/chatuikit/vue/components/tuikit.md +0 -110
  362. package/resource/doc/chatuikit/vue/create-group.md +0 -26
  363. package/resource/doc/chatuikit/vue/init.md +0 -35
  364. package/resource/doc/chatuikit/vue/workflow.md +0 -395
  365. package/resource/doc/livekit/live/android/workflow.md +0 -322
  366. package/resource/doc/livekit/live/flutter/live-integration.md +0 -1029
  367. package/resource/doc/livekit/live/flutter/workflow.md +0 -353
  368. package/resource/doc/livekit/live/ios/workflow.md +0 -352
  369. package/resource/doc/livekit/live/vue/components/barrage.md +0 -615
  370. package/resource/doc/livekit/live/vue/components/stream-mixer.md +0 -442
  371. package/resource/doc/livekit/live/vue/faq.md +0 -0
  372. package/resource/doc/livekit/live/vue/live-list-integration.md +0 -195
  373. package/resource/doc/livekit/live/vue/live-player-desk-integration.md +0 -293
  374. package/resource/doc/livekit/live/vue/live-player-h5-integration.md +0 -381
  375. package/resource/doc/livekit/live/vue/live-pusher-integration.md +0 -598
  376. package/resource/doc/livekit/live/vue/states/live-state.md +0 -2656
  377. package/resource/doc/livekit/live/vue/workflow.md +0 -219
  378. package/resource/doc/native_live/android/V2TXLiveCode_api_android.md +0 -334
  379. package/resource/doc/native_live/android/V2TXLiveDef_api_android.md +0 -434
  380. package/resource/doc/native_live/android/V2TXLivePlayerObserver_api_android.md +0 -685
  381. package/resource/doc/native_live/android/V2TXLivePlayer_api_android.md +0 -712
  382. package/resource/doc/native_live/android/V2TXLivePremier_api_android.md +0 -284
  383. package/resource/doc/native_live/android/V2TXLivePusherObserver_api_android.md +0 -849
  384. package/resource/doc/native_live/android/V2TXLivePusher_api_android.md +0 -1046
  385. package/resource/doc/native_live/flutter/V2TXLiveCode_api_flutter.md +0 -460
  386. package/resource/doc/native_live/flutter/V2TXLiveDef_api_flutter.md +0 -558
  387. package/resource/doc/native_live/flutter/V2TXLivePlayerObserver_api_flutter.md +0 -879
  388. package/resource/doc/native_live/flutter/V2TXLivePlayer_api_flutter.md +0 -668
  389. package/resource/doc/native_live/flutter/V2TXLivePremier_api_flutter.md +0 -456
  390. package/resource/doc/native_live/flutter/V2TXLivePusherObserver_api_flutter.md +0 -332
  391. package/resource/doc/native_live/flutter/V2TXLivePusher_api_flutter.md +0 -748
  392. package/resource/doc/native_live/iOS/V2TXLiveCode_api_iOS.md +0 -328
  393. package/resource/doc/native_live/iOS/V2TXLiveDef_api_iOS.md +0 -505
  394. package/resource/doc/native_live/iOS/V2TXLivePlayerObserver_api_iOS.md +0 -507
  395. package/resource/doc/native_live/iOS/V2TXLivePlayer_api_iOS.md +0 -676
  396. package/resource/doc/native_live/iOS/V2TXLivePremier_api_iOS.md +0 -284
  397. package/resource/doc/native_live/iOS/V2TXLivePusherObserver_api_iOS.md +0 -820
  398. package/resource/doc/native_live/iOS/V2TXLivePusher_api_iOS.md +0 -1065
  399. package/resource/doc/roomkit/vue/features/workflow.md +0 -553
  400. package/resource/doc/roomkit/vue/workflow.md +0 -487
  401. package/resource/doc/tuicallkit/android/integration.md +0 -302
  402. package/resource/doc/tuicallkit/android/workflow.md +0 -0
  403. package/resource/doc/tuicallkit/faq/android_sdk/call-observer-api.md +0 -786
  404. package/resource/doc/tuicallkit/faq/android_sdk/callkit-api.md +0 -663
  405. package/resource/doc/tuicallkit/faq/flutter_sdk/call-define-api.md +0 -932
  406. package/resource/doc/tuicallkit/faq/flutter_sdk/call-observer-api.md +0 -926
  407. package/resource/doc/tuicallkit/faq/flutter_sdk/callkit-api.md +0 -452
  408. package/resource/doc/tuicallkit/faq/ios_sdk/call-observer-api.md +0 -779
  409. package/resource/doc/tuicallkit/faq/ios_sdk/callkit-api.md +0 -635
  410. package/resource/doc/tuicallkit/flutter/workflow.md +0 -331
  411. package/resource/doc/tuicallkit/react/api.md +0 -1512
  412. package/resource/doc/tuicallkit/vue/api.md +0 -1512
  413. package/resource/doc/tuicallkit/vue/faq.md +0 -986
  414. package/tools/call/get-native-call-integration.js +0 -43
  415. package/tools/call/get-native-call-integration.js.map +0 -1
  416. package/tools/call/get-web-call-api.js +0 -27
  417. package/tools/call/get-web-call-api.js.map +0 -1
  418. package/tools/call/get-web-call-integration.js.map +0 -1
  419. package/tools/chat/get-native-chat-feature-detail.js +0 -30
  420. package/tools/chat/get-native-chat-feature-detail.js.map +0 -1
  421. package/tools/chat/get-native-chat-integration.js +0 -45
  422. package/tools/chat/get-native-chat-integration.js.map +0 -1
  423. package/tools/chat/get-web-chat-component-detail.js +0 -31
  424. package/tools/chat/get-web-chat-component-detail.js.map +0 -1
  425. package/tools/chat/get-web-chat-integration.js +0 -45
  426. package/tools/chat/get-web-chat-integration.js.map +0 -1
  427. package/tools/chat/get-web-chat-uikit-init.js +0 -28
  428. package/tools/chat/get-web-chat-uikit-init.js.map +0 -1
  429. package/tools/chat/get-web-create-group-doc.js +0 -28
  430. package/tools/chat/get-web-create-group-doc.js.map +0 -1
  431. package/tools/common/get-faq.js +0 -91
  432. package/tools/common/get-faq.js.map +0 -1
  433. package/tools/common/get-usersig.js.map +0 -1
  434. package/tools/common/present-framework-choice.js +0 -16
  435. package/tools/common/present-framework-choice.js.map +0 -1
  436. package/tools/common/record-prompt.js +0 -55
  437. package/tools/common/record-prompt.js.map +0 -1
  438. package/tools/common/record-result.js +0 -60
  439. package/tools/common/record-result.js.map +0 -1
  440. package/tools/definitions/get_native_chat_feature_detail_def.js +0 -32
  441. package/tools/definitions/get_native_chat_feature_detail_def.js.map +0 -1
  442. package/tools/definitions/get_native_live_api_def.js +0 -22
  443. package/tools/definitions/get_native_live_api_def.js.map +0 -1
  444. package/tools/definitions/get_native_live_uikit_extra_features_def.js +0 -109
  445. package/tools/definitions/get_native_live_uikit_extra_features_def.js.map +0 -1
  446. package/tools/definitions/get_native_live_uikit_integration_def.js +0 -50
  447. package/tools/definitions/get_native_live_uikit_integration_def.js.map +0 -1
  448. package/tools/definitions/get_native_live_uikit_interaction_def.js +0 -115
  449. package/tools/definitions/get_native_live_uikit_interaction_def.js.map +0 -1
  450. package/tools/definitions/get_trtc_native_api_def.js +0 -17
  451. package/tools/definitions/get_trtc_native_api_def.js.map +0 -1
  452. package/tools/definitions/get_web_call_uikit_api_def.js +0 -23
  453. package/tools/definitions/get_web_call_uikit_api_def.js.map +0 -1
  454. package/tools/definitions/get_web_chat_uikit_init_def.js +0 -23
  455. package/tools/definitions/get_web_chat_uikit_init_def.js.map +0 -1
  456. package/tools/definitions/get_web_create_group_doc_def.js +0 -18
  457. package/tools/definitions/get_web_create_group_doc_def.js.map +0 -1
  458. package/tools/definitions/get_web_live_state_detail_def.js +0 -19
  459. package/tools/definitions/get_web_live_state_detail_def.js.map +0 -1
  460. package/tools/definitions/get_web_live_uikit_component_detail_def.js +0 -27
  461. package/tools/definitions/get_web_live_uikit_component_detail_def.js.map +0 -1
  462. package/tools/definitions/get_web_room_feature_detail_def.js +0 -95
  463. package/tools/definitions/get_web_room_feature_detail_def.js.map +0 -1
  464. package/tools/definitions/record_prompt_def.js +0 -53
  465. package/tools/definitions/record_prompt_def.js.map +0 -1
  466. package/tools/definitions/record_result_def.js +0 -30
  467. package/tools/definitions/record_result_def.js.map +0 -1
  468. package/tools/live/get-native-live-uikit-integration.js +0 -101
  469. package/tools/live/get-native-live-uikit-integration.js.map +0 -1
  470. package/tools/live/get-web-live-component-detail.js +0 -31
  471. package/tools/live/get-web-live-component-detail.js.map +0 -1
  472. package/tools/live/get-web-live-state-detail.js +0 -31
  473. package/tools/live/get-web-live-state-detail.js.map +0 -1
  474. package/tools/live/get-web-live-uikit-integration.js +0 -52
  475. package/tools/live/get-web-live-uikit-integration.js.map +0 -1
  476. package/tools/live/get_native_live_uikit_extra_features.js +0 -105
  477. package/tools/live/get_native_live_uikit_extra_features.js.map +0 -1
  478. package/tools/live/get_native_live_uikit_interaction.js +0 -101
  479. package/tools/live/get_native_live_uikit_interaction.js.map +0 -1
  480. package/tools/native_live/get-native-live-api.js +0 -31
  481. package/tools/native_live/get-native-live-api.js.map +0 -1
  482. package/tools/room/get-web-room-feature-detail.js.map +0 -1
  483. package/tools/room/get-web-room-integration.js.map +0 -1
  484. package/tools/rtcengine/get-rtcengine-web-sdk-integration.js +0 -28
  485. package/tools/rtcengine/get-rtcengine-web-sdk-integration.js.map +0 -1
  486. package/tools/rtcengine/get-trtc-sdk-faq.js +0 -32
  487. package/tools/rtcengine/get-trtc-sdk-faq.js.map +0 -1
  488. package/tools/rtcengine/get-trtc-web-sdk-api.js +0 -28
  489. package/tools/rtcengine/get-trtc-web-sdk-api.js.map +0 -1
  490. package/tools/rtcengine/get-trtc-web-sdk-faq.js +0 -30
  491. package/tools/rtcengine/get-trtc-web-sdk-faq.js.map +0 -1
  492. package/tools/rtcengine/get-trtc-web-sdk-integration.js +0 -29
  493. package/tools/rtcengine/get-trtc-web-sdk-integration.js.map +0 -1
  494. package/tools/rtcengine/get-trtc-web-sdk-plugin.js +0 -45
  495. package/tools/rtcengine/get-trtc-web-sdk-plugin.js.map +0 -1
  496. package/tools/trtc/get-trtc-native-api.js +0 -31
  497. package/tools/trtc/get-trtc-native-api.js.map +0 -1
  498. package/utils/handle-component-name.js +0 -33
  499. package/utils/handle-component-name.js.map +0 -1
  500. /package/resource/doc/{rtcengine/web → callkit/core-sdk}/.gitkeep +0 -0
  501. /package/resource/doc/{chatuikit → chatkit}/faq/common/server_error_code.md +0 -0
  502. /package/resource/doc/{chatuikit → chatkit}/flutter/faq.md +0 -0
  503. /package/resource/doc/{chatuikit → chatkit}/react/faq.md +0 -0
@@ -0,0 +1,563 @@
1
+ 本文档将帮助开发者使用 `AtomicXCore SDK` 的 `LiveListStore` 和 `LiveSeatStore` 快速构建一个包含主播开播和观众进房功能的语聊房 `App`。
2
+
3
+ ## 核心概念
4
+
5
+ 在开始集成之前,请先通过下表了解一下 `LiveSeatStore` 相关的几个核心概念:
6
+ | **核心概念** | **类型** | **核心职责与描述** |
7
+ | --- | --- | --- |
8
+ | [LiveSeatStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_seat_store/LiveSeatStore-class.html) | `class` | 麦位管理核心,负责管理房间内的所有麦位信息和麦位相关操作。<br>通过 `liveSeatState.seatList` 暴露实时的麦位列表数据流。 |
9
+ | [LiveSeatState](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_seat_store/LiveSeatState-class.html) | `class` | 代表麦位的当前状态。<br>- `seatList` 是一个 `ValueListenable<List<SeatInfo>>` 类型,存储了麦位列表的实时状态;<br>- `speakingUsers` 则代表当前正在说话的人和对应的音量。 |
10
+ | [SeatInfo](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_seat_store/SeatInfo-class.html) | `class` | 单个麦位的数据模型。`LiveSeatStore` 所推送的麦位列表(`seatList`)就是由多个 `SeatInfo` 对象组成的。关键字段:<br>- `index`(麦位的索引)。<br>- `isLocked`(麦位是否被锁定)。<br>- `userInfo`(麦位上的用户信息,如果麦位为空,此字段也为空对象)。 |
11
+ | [SeatUserInfo](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_seat_store/SeatUserInfo-class.html) | `class` | 麦上用户的详细数据模型。当一个用户成功上麦后,`SeatInfo` 中的 `userInfo` 字段就会被填充为此用户。关键字段:<br>- `userID`(用户的唯一 ID)<br>- `userName`(用户的昵称)<br>- `avatarURL`(用户的头像 URL)<br>- `microphoneStatus`(麦克风状态)<br>- `cameraStatus`(摄像头状态)。 |
12
+
13
+ ## 准备工作
14
+
15
+ ### 步骤1:开通服务
16
+
17
+ 请参见 开通服务,获取体验版或付费版 `SDK`。
18
+
19
+ ### 步骤2:在当前项目中导入 AtomicXCore
20
+ 1. **安装组件**:请在您的 `pubspec.yaml` 文件中添加 `atomic_x_core` 依赖,然后执行 `flutter pub get`。
21
+
22
+ ``` yaml
23
+ dependencies:
24
+ atomic_x_core: ^3.6.0
25
+ ```
26
+ 2. **配置工程权限:**Android 和 iOS 工程都需要配置权限。
27
+
28
+ 【Android】
29
+
30
+ 在 `android/app/src/main/AndroidManifest.xml` 文件中添加麦克风的使用权限说明。
31
+ ``` xml
32
+ <uses-permission android:name="android.permission.RECORD_AUDIO" />
33
+ ```
34
+
35
+ 【iOS】
36
+
37
+ 在应用 `ios` 目录的 **Podfile** 和 `ios/Runner` 目录的 `Info.plist` 文件中添加麦克风的使用权限说明。
38
+
39
+ **Podfile**
40
+ ``` ruby
41
+ post_install do |installer|
42
+ installer.pods_project.targets.each do |target|
43
+ flutter_additional_ios_build_settings(target)
44
+ target.build_configurations.each do |config|
45
+ config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
46
+ '$(inherited)',
47
+ 'PERMISSION_MICROPHONE=1',
48
+ ]
49
+ end
50
+ end
51
+ end
52
+ ```
53
+
54
+ **Info.plist**
55
+ ``` xml
56
+ <key>NSMicrophoneUsageDescription</key>
57
+ <string>TUILiveKit需要访问您的麦克风权限,开启后录制的视频才会有声音</string>
58
+ ```
59
+
60
+ ### 步骤3:实现登录逻辑
61
+
62
+ 在项目中调用 `LoginStore.shared.login` 完成登录,**这是使用 **`AtomicXCore`** 所有功能的关键前提**。
63
+
64
+ > **重要:**
65
+ >
66
+
67
+ > 推荐在您 App 自身的用户账户登录成功后,再调用 LoginStore.shared.login,以确保登录业务逻辑的清晰和一致。
68
+ >
69
+
70
+ ``` java
71
+ import 'package:flutter/material.dart';
72
+ import 'package:atomic_x_core/atomicxcore.dart';
73
+
74
+ // main.dart
75
+ void main() async {
76
+ WidgetsFlutterBinding.ensureInitialized();
77
+
78
+ // 登录
79
+ final result = await LoginStore.shared.login(
80
+ sdkAppID: 1400000001, // 替换为您的 sdkAppID
81
+ userID: "test_001", // 替换为您的 userID
82
+ userSig: "xxxxxxxxxxx", // 替换为您的 userSig
83
+ );
84
+
85
+ if (result.isSuccess) {
86
+ debugPrint("login success");
87
+ } else {
88
+ debugPrint("login failed code: ${result.code}, message: ${result.message}");
89
+ }
90
+
91
+ runApp(const MyApp());
92
+ }
93
+ ```
94
+
95
+ **登录接口参数说明:**
96
+ | **参数** | **类型** | **说明** |
97
+ | --- | --- | --- |
98
+ | `sdkAppID` | `int` | 从 [控制台](https://console.cloud.tencent.com/trtc) 获取,通常是以 `140` 或 `160` 开头的 10 位整数。 |
99
+ | `userID` | `String` | 当前用户的唯一 ID,仅包含英文字母、数字、连字符和下划线。为避免多端登录冲突,**请勿使用**`1`、`123`**等简单 ID**。 |
100
+ | `userSig` | `String` | 用于腾讯云鉴权的票据。请注意:<br>- 开发环境:您可以采用本地 `GenerateTestUserSig.genTestSig` 函数生成 userSig 或者通过 [UserSig 辅助工具](https://console.cloud.tencent.com/im/tool-usersig) 生成临时的 UserSig。<br>- 生产环境:为了防止密钥泄露,请务必采用服务端生成 UserSig 的方式。详细信息请参考 [服务端生成 UserSig](https://cloud.tencent.com/document/product/647/17275)。<br>更多信息请参见 [如何计算及使用 UserSig](https://cloud.tencent.com/document/product/647/17275)。 |
101
+
102
+ ## 构建基础语聊房应用
103
+
104
+ ### 步骤1:实现房主创建语聊房
105
+
106
+ 房主开播流程如下,您只需执行以下几步操作,即可快速搭建一个语聊房。
107
+
108
+ #### 1. 初始化麦位 Store
109
+
110
+ 在您的房主页面中,创建一个 `LiveSeatStore` 实例。您需要监听 `liveSeatStore.liveSeatState` 的变化,以实时获取麦位数据来渲染您的 `UI`。
111
+ ``` java
112
+ import 'package:flutter/material.dart';
113
+ import 'package:atomic_x_core/atomicxcore.dart';
114
+
115
+ // YourAnchorPage 代表您的房主页面
116
+ class YourAnchorPage extends StatefulWidget {
117
+ const YourAnchorPage({super.key});
118
+
119
+ @override
120
+ State<YourAnchorPage> createState() => _YourAnchorPageState();
121
+ }
122
+
123
+ class _YourAnchorPageState extends State<YourAnchorPage> {
124
+ final _liveListStore = LiveListStore.shared;
125
+ final _deviceStore = DeviceStore.shared;
126
+
127
+ // 使用 liveID 初始化 LiveSeatStore
128
+ final String _liveID = "test_voice_room_001";
129
+ late final LiveSeatStore _liveSeatStore;
130
+ late final VoidCallback _seatListListener = _onSeatListChanged;
131
+
132
+ @override
133
+ void initState() {
134
+ super.initState();
135
+ _liveSeatStore = LiveSeatStore.create(_liveID);
136
+
137
+ // 监听麦位列表变化
138
+ _observeSeatList();
139
+ }
140
+
141
+ void _observeSeatList() {
142
+ // 监听 liveSeatState.seatList 的变化,并更新您的麦位 UI
143
+ _liveSeatStore.liveSeatState.seatList.addListener(_seatListListener);
144
+ }
145
+
146
+ void _onSeatListChanged() {
147
+ // 在这里根据 seatInfoList 渲染您的麦位 UI
148
+ final seatInfoList = _liveSeatStore.liveSeatState.seatList.value;
149
+ debugPrint("Seat list updated: ${seatInfoList.length} seats");
150
+ setState(() {});
151
+ }
152
+
153
+ @override
154
+ void dispose() {
155
+ _liveSeatStore.liveSeatState.seatList.removeListener(_seatListListener);
156
+ super.dispose();
157
+ }
158
+
159
+ @override
160
+ Widget build(BuildContext context) {
161
+ // 假设您有自己的布局
162
+ return Container();
163
+ }
164
+ }
165
+ ```
166
+
167
+ #### 2. 打开麦克风
168
+
169
+ 通过调用 `DeviceStore` 的 `openLocalMicrophone` 接口打开麦克风,示例代码如下:
170
+ ``` java
171
+ class _YourAnchorPageState extends State<YourAnchorPage> {
172
+ // ... 其他代码 ...
173
+
174
+ void _openDevices() {
175
+ // 打开麦克风
176
+ DeviceStore.shared.openLocalMicrophone();
177
+ }
178
+ }
179
+ ```
180
+
181
+ #### 3. 开始语聊
182
+
183
+ 通过调用 `LiveListStore` 的 `createLive` 接口开始语聊房直播,完整示例代码如下:
184
+ ``` java
185
+ class _YourAnchorPageState extends State<YourAnchorPage> {
186
+ // ... 其他代码 ...
187
+ final String _liveID = "test_voice_room_001";
188
+
189
+ @override
190
+ void initState() {
191
+ super.initState();
192
+ // ... 其他代码 ...
193
+
194
+ // 开始语聊
195
+ _startLive();
196
+ }
197
+
198
+ Future<void> _startLive() async {
199
+ // 1. 准备 LiveInfo 对象
200
+ final liveInfo = LiveInfo(
201
+ // 2. 设置房间 id
202
+ liveID: '',
203
+ // 3. 设置房间名称
204
+ liveName: "test 语聊房",
205
+ // 4. 设置语聊房布局模板(传入 9 即代表有 9 个麦位)(启用麦位)
206
+ seatTemplate: AudioSalon(9),
207
+ // 5. 设置上麦模式,例如申请上麦
208
+ seatMode: TakeSeatMode.apply,
209
+ );
210
+
211
+ // 9. 调用 createLive 开始直播
212
+ final result = await _liveListStore.createLive(liveInfo);
213
+
214
+ if (result.isSuccess) {
215
+ debugPrint("Response startLive onSuccess");
216
+ // 房主创建成功后,默认会上麦,此时您可以调用 unmuteMicrophone
217
+ _liveSeatStore.unmuteMicrophone();
218
+ } else {
219
+ debugPrint("Response startLive onError: ${result.message}");
220
+ }
221
+ }
222
+ }
223
+ ```
224
+
225
+ **LiveInfo 参数说明:**
226
+ | **参数名** | **类型** | **属性** | **描述** |
227
+ | --- | --- | --- | --- |
228
+ | `liveID` | `String` | 必填 | 直播间的唯一标识符。 |
229
+ | `liveName` | `String` | 选填 | 直播间的标题。 |
230
+ | `notice` | `String` | 选填 | 直播间的公告信息。 |
231
+ | `isMessageDisable` | `bool` | 选填 | 是否禁言(`true`:是,`false`:否)。 |
232
+ | `isPublicVisible` | `bool` | 选填 | 是否公开可见(`true`:是,`false`:否)。 |
233
+ | `seatMode` | `TakeSeatMode` | 选填 | 上麦模式(`free`:自由上麦,`apply`:申请上麦)。 |
234
+ | `seatTemplate` | `SeatLayoutTemplate` | 必填 | 麦位布局模板。 |
235
+ | `coverURL` | `String` | 选填 | 直播间的封面图片地址。 |
236
+ | `backgroundURL` | `String` | 选填 | 直播间的背景图片地址。 |
237
+ | `categoryList` | `List<int>` | 选填 | 直播间的分类标签列表。 |
238
+ | `activityStatus` | `int` | 选填 | 直播活动状态。 |
239
+ | `isGiftEnabled` | `bool` | 选填 | 是否启用礼物功能(`true`:是,`false`:否)。 |
240
+
241
+ #### 4. 构建麦位 UI 界面
242
+
243
+ > **提示:**
244
+ >
245
+
246
+ > 麦位 `UI` 效果的业务代码,可参考 `TUILiveKit` 开源项目中的 [seat_grid_widget.dart](https://github.com/Tencent-RTC/TUIKit_Flutter/blob/main/live/livekit/lib/seat_grid_widget/seat_grid_widget.dart) 文件来了解完整的实现逻辑。
247
+ >
248
+
249
+ 通过 `LiveSeatStore` 实例,监听 `liveSeatState.seatList` 的变化,以实时获取麦位数据来渲染您的 UI。您可以在页面中(例如 `YourAnchorPage` 或 `YourAudiencePage`)通过以下方式监听数据:
250
+ ``` java
251
+ class _YourAnchorPageState extends State<YourAnchorPage> {
252
+ // ... 其他代码 ...
253
+ late final LiveSeatStore _liveSeatStore;
254
+ late final VoidCallback _seatListListener = _onSeatListChanged;
255
+
256
+ @override
257
+ void initState() {
258
+ super.initState();
259
+ _liveSeatStore = LiveSeatStore.create("your_live_id");
260
+ // ... 其他代码 ...
261
+
262
+ // 监听 seatList 变化
263
+ _observeSeatList();
264
+ }
265
+
266
+ void _observeSeatList() {
267
+ // 监听 liveSeatState.seatList 变化,并更新您的麦位 UI
268
+ _liveSeatStore.liveSeatState.seatList.addListener(_seatListListener);
269
+ }
270
+
271
+ void _onSeatListChanged() {
272
+ // seatInfoList 即为最新的麦位列表 (List<SeatInfo>)
273
+ final seatInfoList = _liveSeatStore.liveSeatState.seatList.value;
274
+ // 在这里根据 seatInfoList 渲染您的麦位 UI
275
+ debugPrint("Seat list updated: ${seatInfoList.length} seats");
276
+ setState(() {});
277
+ }
278
+
279
+ @override
280
+ void dispose() {
281
+ _liveSeatStore.liveSeatState.seatList.removeListener(_seatListListener);
282
+ super.dispose();
283
+ }
284
+
285
+ @override
286
+ Widget build(BuildContext context) {
287
+ return ValueListenableBuilder<List<SeatInfo>>(
288
+ valueListenable: _liveSeatStore.liveSeatState.seatList,
289
+ builder: (context, seatList, child) {
290
+ return GridView.builder(
291
+ gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
292
+ crossAxisCount: 4,
293
+ ),
294
+ itemCount: seatList.length,
295
+ itemBuilder: (context, index) {
296
+ final seat = seatList[index];
297
+ return _buildSeatItem(seat);
298
+ },
299
+ );
300
+ },
301
+ );
302
+ }
303
+
304
+ Widget _buildSeatItem(SeatInfo seat) {
305
+ // 构建单个麦位 UI
306
+ return Container();
307
+ }
308
+ }
309
+ ```
310
+
311
+ #### 5. 结束语聊
312
+
313
+ 语聊结束后,房主可以调用 `LiveListStore` 的 `endLive` 接口结束语聊,`SDK` 会处理停止推流和销毁房间的逻辑。
314
+ ``` java
315
+ class _YourAnchorPageState extends State<YourAnchorPage> {
316
+ // ... 其他代码 ...
317
+
318
+ // 结束语聊
319
+ Future<void> _stopLive() async {
320
+ final result = await _liveListStore.endLive();
321
+
322
+ if (result.isSuccess) {
323
+ debugPrint("endLive success");
324
+ } else {
325
+ debugPrint("endLive error: ${result.message}");
326
+ }
327
+ }
328
+ }
329
+ ```
330
+
331
+ ### 步骤2:实现观众进入语聊房
332
+
333
+ 观众进房流程如下,通过简单几步操作,即可实现观众进入语聊房。
334
+
335
+ #### 1. 初始化麦位 Store
336
+
337
+ 在您的观众页面中,创建 `LiveSeatStore` 实例,并监听 `liveSeatState.seatList` 的变化,以渲染麦位 `UI`。
338
+ ``` java
339
+ import 'package:flutter/material.dart';
340
+ import 'package:atomic_x_core/atomicxcore.dart';
341
+
342
+ // YourAudiencePage 代表您的观众页面
343
+ class YourAudiencePage extends StatefulWidget {
344
+ const YourAudiencePage({super.key});
345
+
346
+ @override
347
+ State<YourAudiencePage> createState() => _YourAudiencePageState();
348
+ }
349
+
350
+ class _YourAudiencePageState extends State<YourAudiencePage> {
351
+ final _liveListStore = LiveListStore.shared;
352
+
353
+ // 确保 liveID 与房主一致
354
+ final String _liveID = "test_voice_room_001";
355
+ late final LiveSeatStore _liveSeatStore;
356
+ late final VoidCallback _seatListListener = _onSeatListChanged;
357
+
358
+ @override
359
+ void initState() {
360
+ super.initState();
361
+ _liveSeatStore = LiveSeatStore.create(_liveID);
362
+
363
+ // 监听麦位列表变化
364
+ _observeSeatList();
365
+ }
366
+
367
+ void _observeSeatList() {
368
+ // 监听 liveSeatState.seatList 变化,并更新您的麦位 UI
369
+ _liveSeatStore.liveSeatState.seatList.addListener(_seatListListener);
370
+ }
371
+
372
+ void _onSeatListChanged() {
373
+ // 在这里根据 seatInfoList 渲染您的麦位 UI
374
+ final seatInfoList = _liveSeatStore.liveSeatState.seatList.value;
375
+ debugPrint("AudiencePage Seat list updated: ${seatInfoList.length} seats");
376
+ setState(() {});
377
+ }
378
+
379
+ @override
380
+ void dispose() {
381
+ _liveSeatStore.liveSeatState.seatList.removeListener(_seatListListener);
382
+ super.dispose();
383
+ }
384
+
385
+ @override
386
+ Widget build(BuildContext context) {
387
+ // 假设您有自己的布局
388
+ return Container();
389
+ }
390
+ }
391
+ ```
392
+
393
+ #### 2. 进入语聊房
394
+
395
+ 通过调用 `LiveListStore` 的 `joinLive` 接口加入语聊房,完整示例代码如下:
396
+ ``` java
397
+ class _YourAudiencePageState extends State<YourAudiencePage> {
398
+ // ... 其他代码 ...
399
+
400
+ @override
401
+ void initState() {
402
+ super.initState();
403
+ // ... 其他代码 ...
404
+
405
+ // 进入语聊房
406
+ _joinLive();
407
+ }
408
+
409
+ Future<void> _joinLive() async {
410
+ // 调用 joinLive 进入语聊房
411
+ final result = await _liveListStore.joinLive(_liveID);
412
+
413
+ if (result.isSuccess) {
414
+ debugPrint("joinLive success");
415
+ } else {
416
+ debugPrint("joinLive error: ${result.message}");
417
+ }
418
+ }
419
+ }
420
+ ```
421
+
422
+ #### 3. 构建麦位 UI 界面
423
+
424
+ 观众构建麦位 UI 界面的流程与主播完全一致,请参考构建麦位 UI 界面。
425
+
426
+ #### 4. 退出语聊房
427
+
428
+ 观众退出语聊房时,需要调用 `LiveListStore` 的 `leaveLive` 接口来退出。
429
+ ``` java
430
+ class _YourAudiencePageState extends State<YourAudiencePage> {
431
+ // ... 其他代码 ...
432
+
433
+ Future<void> _leaveLive() async {
434
+ final result = await _liveListStore.leaveLive();
435
+
436
+ if (result.isSuccess) {
437
+ debugPrint("leaveLive success");
438
+ } else {
439
+ debugPrint("leaveLive error: ${result.message}");
440
+ }
441
+ }
442
+ }
443
+ ```
444
+
445
+ ### 运行效果
446
+
447
+ 完成上述步骤后,即可完成一个最基础的语聊直播场景。您可以参考 丰富语聊房场景 来完善语聊场景。
448
+
449
+ ## 功能进阶
450
+
451
+ ### 实现麦上用户说话音浪
452
+
453
+ 在语聊房场景中,一个常见的需求是当麦上用户说话时,在其头像上显示一个波浪动画,以提示全房间用户"谁在说话",`LiveSeatStore` 提供了 `speakingUsers` 数据流,专门用于实现此功能。
454
+
455
+ #### 实现方式
456
+
457
+ > **提示:**
458
+ >
459
+
460
+ > 麦上用户说话时展示波浪动画效果,可参考 `TUILiveKit` 开源项目中的 [seat_grid_widget.dart](https://github.com/Tencent-RTC/TUIKit_Flutter/blob/main/live/livekit/lib/seat_grid_widget/seat_grid_widget.dart) 文件来了解完整的实现逻辑。
461
+ >
462
+
463
+ 在 `YourAnchorPage` 或 `YourAudiencePage` 中监听 `speakingUsers` 变化,并更新"正在说话"状态,代码示例如下:
464
+ ``` java
465
+ class _YourAnchorPageState extends State<YourAnchorPage> {
466
+ late final VoidCallback _speakingUsersListener = _onSpeakingUsersChanged;
467
+ // ... 其他代码 ...
468
+
469
+ @override
470
+ void initState() {
471
+ super.initState();
472
+ // ... 其他代码 ...
473
+
474
+ // 监听 speakingUsers 变化
475
+ _observeSpeakingUsersState();
476
+ }
477
+
478
+ void _observeSpeakingUsersState() {
479
+ // 监听 liveSeatState.speakingUsers 变化,并更新"正在说话"状态
480
+ _liveSeatStore.liveSeatState.speakingUsers.addListener(_speakingUsersListener);
481
+ }
482
+
483
+ void _onSpeakingUsersChanged() {
484
+ // 将 "正在说话" 的用户 ID 集合传递给 UI,更新 UI 状态
485
+ final speakingUserMap = _liveSeatStore.liveSeatState.speakingUsers.value;
486
+ debugPrint("Speaking users updated: ${speakingUserMap.length} users");
487
+ setState(() {});
488
+ }
489
+
490
+ @override
491
+ void dispose() {
492
+ _liveSeatStore.liveSeatState.speakingUsers.removeListener(_speakingUsersListener);
493
+ super.dispose();
494
+ }
495
+
496
+ @override
497
+ Widget build(BuildContext context) {
498
+ return ValueListenableBuilder<Map<String, int>>(
499
+ valueListenable: _liveSeatStore.liveSeatState.speakingUsers,
500
+ builder: (context, speakingUsers, child) {
501
+ // speakingUsers 是一个 Map,key 是 userID,value 是音量
502
+ return YourSpeakingIndicatorWidget(speakingUsers: speakingUsers);
503
+ },
504
+ );
505
+ }
506
+ }
507
+
508
+ // 示例:正在说话指示器组件
509
+ class YourSpeakingIndicatorWidget extends StatelessWidget {
510
+ final Map<String, int> speakingUsers;
511
+
512
+ const YourSpeakingIndicatorWidget({
513
+ super.key,
514
+ required this.speakingUsers,
515
+ });
516
+
517
+ @override
518
+ Widget build(BuildContext context) {
519
+ return Container();
520
+ }
521
+ }
522
+ ```
523
+
524
+ ## 丰富语聊房场景
525
+
526
+ 当您完成了基础的语聊房功能后,您可以参考以下功能指南来为语聊房添加丰富的互动玩法。
527
+ | **功能** | **功能介绍** | **功能 Stores** | **实现指南** |
528
+ | --- | --- | --- | --- |
529
+ | **实现听众上麦** | 听众申请上麦,与房主进行实时语音互动。 | [CoGuestStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_co_guest_store/CoGuestStore-class.html) | 观众上麦 |
530
+ | **添加弹幕聊天功能** | 房间内成员可以发送和接收实时文字消息。 | [BarrageStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_barrage_barrage_store/BarrageStore-class.html) | 实现弹幕功能 |
531
+ | **构建礼物赠送系统** | 观众可以向主播赠送虚拟礼物,增加互动和趣味性。 | [GiftStore](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/GiftStore-class.html) | 实现礼物功能 |
532
+
533
+ ## API 文档
534
+ | **Store/Component** | **功能描述** | **API 文档** |
535
+ | --- | --- | --- |
536
+ | **LiveListStore** | 直播间全生命周期管理:创建 / 加入 / 离开 / 销毁房间,查询房间列表,修改直播信息(名称、公告等),监听直播状态(例如被踢出、结束)。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_list_store/LiveListStore-class.html) |
537
+ | **LiveSeatStore** | 麦位管理核心:管理麦位列表、麦上用户状态、麦位相关操作(上麦、下麦、踢人、锁麦、开关麦克风/摄像头等),监听麦位事件。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_seat_store/LiveSeatStore-class.html) |
538
+ | **DeviceStore** | 音视频设备控制:麦克风(开关 / 音量)、摄像头(开关 / 切换 / 画质)、屏幕共享,设备状态实时监听。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_device_device_store/DeviceStore-class.html) |
539
+ | **CoGuestStore** | 观众连麦管理:连麦申请 / 邀请 / 同意 / 拒绝,连麦成员权限控制(麦克风 / 摄像头),状态同步。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_co_guest_store/CoGuestStore-class.html) |
540
+ | **CoHostStore** | 主播跨房连线:支持多布局模板(动态网格等),发起 / 接受 / 拒绝连线,连麦主播互动管理。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_co_host_store/CoHostStore-class.html) |
541
+ | **BattleStore** | 主播 PK 对战:发起 PK(配置时长 / 对手),管理 PK 状态(开始 / 结束),同步分数,监听对战结果。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_battle_store/BattleStore-class.html) |
542
+ | **GiftStore** | 礼物互动:获取礼物列表,发送 / 接收礼物,监听礼物事件(含发送者、礼物详情)。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_gift_gift_store/GiftStore-class.html) |
543
+ | **BarrageStore** | 弹幕功能:发送文本 / 自定义弹幕,维护弹幕列表,实时监听弹幕状态。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_barrage_barrage_store/BarrageStore-class.html) |
544
+ | **LikeStore** | 点赞互动:发送点赞,监听点赞事件,同步总点赞数。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_like_store/LikeStore-class.html) |
545
+ | **LiveAudienceStore** | 观众管理:获取实时观众列表(ID / 名称 / 头像),统计观众数量,监听观众进出事件。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_live_live_audience_store/LiveAudienceStore-class.html) |
546
+ | **AudioEffectStore** | 音频特效:变声(童声 / 男声)、混响(KTV 等)、耳返调节,实时切换特效。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_device_audio_effect_store/AudioEffectStore-class.html) |
547
+ | **BaseBeautyStore** | 基础美颜:调节磨皮 / 美白 / 红润(0-100 级),重置美颜状态,同步效果参数。 | [API 文档](https://tencent-rtc.github.io/TUIKit_Flutter/api_device_base_beauty_store/BaseBeautyStore-class.html) |
548
+
549
+ ## 常见问题
550
+
551
+ ### 听众进房后无声音
552
+ - **检查设备权限**:请确保 `App` 已在 `Info.plist`(iOS)或 `AndroidManifest.xml`(Android)中声明并获得了麦克风的系统使用权限。
553
+
554
+ - **检查房主端**:房主端是否正常调用 `DeviceStore.shared.openLocalMicrophone()` 打开了麦克风。
555
+
556
+ - **检查网络**:请检查设备网络连接是否正常。
557
+
558
+ ### 麦位列表未显示或更新
559
+ - **检查 Store 初始化**:请确保您在 `createLive` 或 `joinLive` 之前,已经使用相同的 `liveID` 正确创建了 `LiveSeatStore` 实例(`LiveSeatStore.create(liveID)`)。
560
+
561
+ - **检查数据监听**:请检查您是否正确使用了 `addListener` 来监听 `liveSeatStore.liveSeatState.seatList`,并确保在 `dispose` 中调用 `removeListener` 移除监听。
562
+
563
+ - **检查接口调用**:请确保 `createLive`(房主)或 `joinLive`(听众)接口已成功调用(在回调结果的 `isSuccess` 为 `true` 时确认)。