@tencent-rtc/mcp 1.4.7 → 1.6.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 (553) hide show
  1. package/cursor-setting.png +0 -0
  2. package/index.js +0 -1
  3. package/knowledge/bm25-cache.js +73 -0
  4. package/knowledge/bm25.js +147 -0
  5. package/knowledge/build-index.js +69 -0
  6. package/knowledge/chunker.js +167 -0
  7. package/knowledge/content-loader.js +39 -0
  8. package/knowledge/doc-url-resolver.js +142 -0
  9. package/knowledge/extractors.js +25 -0
  10. package/knowledge/path-meta.js +184 -0
  11. package/knowledge/search/exact-lookup.js +497 -0
  12. package/knowledge/search/filter-pool.js +104 -0
  13. package/knowledge/search/product-scope-intent.js +40 -0
  14. package/knowledge/search/requires-framework.js +81 -0
  15. package/knowledge/search/search-knowledge.js +229 -0
  16. package/mcp-server-prompt.png +0 -0
  17. package/package.json +1 -1
  18. package/resource/_schema/feature-aliases.yaml +10 -0
  19. package/resource/_schema/goal-tags.yaml +72 -0
  20. package/resource/_schema/products.yaml +19 -0
  21. package/resource/_schema/trtc-intents.yaml +27 -0
  22. package/resource/_schema/types.yaml +43 -0
  23. package/resource/index/component-slugs.json +1 -0
  24. package/resource/index/doc-source-urls.json +1 -0
  25. package/resource/index/manifest.json +1 -0
  26. package/resource/{doc → integration}/callkit/preset/android/integration.md +34 -28
  27. package/resource/integration/callkit/preset/flutter/integration.md +346 -0
  28. package/resource/integration/callkit/preset/ios/integration.md +408 -0
  29. package/resource/integration/callkit/preset/react/integration.md +362 -0
  30. package/resource/integration/callkit/preset/vue/integration.md +356 -0
  31. package/resource/integration/chat/preset/android/integration.md +500 -0
  32. package/resource/integration/chat/preset/flutter/integration.md +370 -0
  33. package/resource/integration/chat/preset/ios/integration.md +566 -0
  34. package/resource/integration/chat/preset/react/integration.md +490 -0
  35. package/resource/integration/chat/preset/vue/integration.md +504 -0
  36. package/resource/{doc → integration}/livekit/preset/live/vue/live-list-integration.md +26 -22
  37. package/resource/{doc → integration}/livekit/preset/live/vue/live-player-desk-integration.md +22 -18
  38. package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +309 -0
  39. package/resource/{doc → integration}/livekit/preset/live/vue/live-pusher-integration.md +47 -39
  40. package/resource/integration/roomkit/preset/vue/integration.md +562 -0
  41. package/resource/knowledge/callkit/core-sdk/android/answer-call.md +828 -0
  42. package/resource/knowledge/callkit/core-sdk/android/make-call.md +897 -0
  43. package/resource/knowledge/callkit/core-sdk/android/offline-push.md +363 -0
  44. package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +1111 -0
  45. package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +1132 -0
  46. package/resource/{doc → knowledge}/callkit/core-sdk/flutter/offline-push.md +174 -151
  47. package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +1084 -0
  48. package/resource/knowledge/callkit/core-sdk/ios/make-call.md +1252 -0
  49. package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +534 -0
  50. package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +953 -0
  51. package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +1061 -0
  52. package/resource/knowledge/callkit/faq/android.md +92 -0
  53. package/resource/{doc/callkit/faq/android-faq.md → knowledge/callkit/faq/common.md} +11 -12
  54. package/resource/knowledge/callkit/faq/error-code.md +67 -0
  55. package/resource/knowledge/callkit/faq/flutter.md +52 -0
  56. package/resource/knowledge/callkit/faq/ios.md +104 -0
  57. package/resource/knowledge/callkit/faq/web.md +74 -0
  58. package/resource/knowledge/callkit/preset/android/api.md +412 -0
  59. package/resource/knowledge/callkit/preset/flutter/api.md +22 -0
  60. package/resource/knowledge/callkit/preset/ios/api.md +234 -0
  61. package/resource/knowledge/callkit/preset/web/api.md +83 -0
  62. package/resource/knowledge/chat/preset/android/features/chat-setting.md +74 -0
  63. package/resource/knowledge/chat/preset/android/features/contact-list.md +43 -0
  64. package/resource/knowledge/chat/preset/android/features/conversation-list.md +117 -0
  65. package/resource/knowledge/chat/preset/android/features/language.md +136 -0
  66. package/resource/knowledge/chat/preset/android/features/message-input.md +57 -0
  67. package/resource/knowledge/chat/preset/android/features/message-list.md +142 -0
  68. package/resource/knowledge/chat/preset/android/features/search.md +64 -0
  69. package/resource/knowledge/chat/preset/android/features/theme.md +222 -0
  70. package/resource/knowledge/chat/preset/android-view/integration.md +300 -0
  71. package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +64 -0
  72. package/resource/knowledge/chat/preset/flutter/features/contact-list.md +40 -0
  73. package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +129 -0
  74. package/resource/knowledge/chat/preset/flutter/features/language.md +104 -0
  75. package/resource/knowledge/chat/preset/flutter/features/message-input.md +54 -0
  76. package/resource/knowledge/chat/preset/flutter/features/message-list.md +158 -0
  77. package/resource/knowledge/chat/preset/flutter/features/search.md +59 -0
  78. package/resource/knowledge/chat/preset/flutter/features/theme.md +261 -0
  79. package/resource/knowledge/chat/preset/ios/features/chat-setting.md +94 -0
  80. package/resource/knowledge/chat/preset/ios/features/contact-list.md +119 -0
  81. package/resource/knowledge/chat/preset/ios/features/conversation-list.md +134 -0
  82. package/resource/knowledge/chat/preset/ios/features/language.md +125 -0
  83. package/resource/knowledge/chat/preset/ios/features/message-input.md +69 -0
  84. package/resource/knowledge/chat/preset/ios/features/message-list.md +162 -0
  85. package/resource/knowledge/chat/preset/ios/features/search.md +93 -0
  86. package/resource/knowledge/chat/preset/ios/features/theme.md +270 -0
  87. package/resource/{doc/chatkit/ios → knowledge/chat/preset/ios-uikit}/integration.md +160 -158
  88. package/resource/knowledge/chat/preset/react/features/chat-setting.md +101 -0
  89. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/contact-list.md +43 -41
  90. package/resource/knowledge/chat/preset/react/features/conversation-actions.md +215 -0
  91. package/resource/knowledge/chat/preset/react/features/conversation-list.md +339 -0
  92. package/resource/knowledge/chat/preset/react/features/conversation-preview.md +101 -0
  93. package/resource/knowledge/chat/preset/react/features/conversation-search.md +61 -0
  94. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-input.md +117 -156
  95. package/resource/knowledge/chat/preset/react/features/message-list.md +297 -0
  96. package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/search.md +65 -59
  97. package/resource/knowledge/chat/preset/react/features/theme.md +93 -0
  98. package/resource/knowledge/chat/preset/vue/features/chat-header.md +331 -0
  99. package/resource/knowledge/chat/preset/vue/features/chat-setting.md +79 -0
  100. package/resource/knowledge/chat/preset/vue/features/contact-list.md +277 -0
  101. package/resource/knowledge/chat/preset/vue/features/conversation-actions.md +234 -0
  102. package/resource/knowledge/chat/preset/vue/features/conversation-list.md +331 -0
  103. package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +216 -0
  104. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-search.md +13 -13
  105. package/resource/knowledge/chat/preset/vue/features/message-input.md +551 -0
  106. package/resource/knowledge/chat/preset/vue/features/message-list.md +350 -0
  107. package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/search.md +79 -73
  108. package/resource/knowledge/chat/preset/vue/features/theme.md +136 -0
  109. package/resource/knowledge/chat/urls/error-code.md +17 -0
  110. package/resource/knowledge/chat/urls/product.md +43 -0
  111. package/resource/knowledge/chat/urls/restapi.md +204 -0
  112. package/resource/knowledge/chat/urls/sdk/android.md +80 -0
  113. package/resource/knowledge/chat/urls/sdk/flutter.md +71 -0
  114. package/resource/knowledge/chat/urls/sdk/ios.md +80 -0
  115. package/resource/knowledge/chat/urls/sdk/web.md +80 -0
  116. package/resource/knowledge/chat/urls/webhook.md +68 -0
  117. package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +286 -0
  118. package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +174 -0
  119. package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +329 -0
  120. package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +55 -0
  121. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +434 -0
  122. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +362 -0
  123. package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +466 -0
  124. package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +173 -0
  125. package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +51 -0
  126. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +291 -0
  127. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +78 -0
  128. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +488 -0
  129. package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +219 -0
  130. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +282 -0
  131. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +212 -0
  132. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +153 -0
  133. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +312 -0
  134. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +404 -0
  135. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +334 -0
  136. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +426 -0
  137. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +166 -0
  138. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +52 -0
  139. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +281 -0
  140. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +150 -0
  141. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +438 -0
  142. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +190 -0
  143. package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +291 -0
  144. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +192 -0
  145. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +146 -0
  146. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +309 -0
  147. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +370 -0
  148. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +339 -0
  149. package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +503 -0
  150. package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +188 -0
  151. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +51 -0
  152. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +289 -0
  153. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +78 -0
  154. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +487 -0
  155. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +183 -0
  156. package/resource/knowledge/livekit/core-sdk/api-reference/web/index.md +736 -0
  157. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audience-list.md +53 -47
  158. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audio-effect.md +28 -24
  159. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-barrage.md +22 -18
  160. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-base-beauty.md +17 -15
  161. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-co-guest-interaction.md +19 -18
  162. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-gift.md +102 -89
  163. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-host-interaction.md +41 -37
  164. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-integration.md +45 -43
  165. package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-live-list.md +23 -20
  166. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audience-list.md +41 -41
  167. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audio-effect.md +70 -69
  168. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-barrage.md +68 -71
  169. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-base-beauty.md +43 -47
  170. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-co-guest-interaction.md +59 -56
  171. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-gift.md +103 -105
  172. package/resource/knowledge/livekit/core-sdk/live/flutter/live-host-interaction.md +869 -0
  173. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-integration.md +84 -87
  174. package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-live-list.md +43 -40
  175. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audience-list.md +11 -10
  176. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audio-effect.md +28 -24
  177. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-barrage.md +22 -18
  178. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-base-beauty.md +15 -14
  179. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-co-guest-interaction.md +19 -18
  180. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-gift.md +54 -50
  181. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-host-interaction.md +41 -37
  182. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-integration.md +40 -40
  183. package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-live-list.md +19 -18
  184. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audience-list.md +53 -47
  185. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audio-effect.md +28 -24
  186. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-barrage.md +22 -18
  187. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +41 -33
  188. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-gift.md +94 -81
  189. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-host-interaction.md +35 -30
  190. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-integration.md +45 -42
  191. package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-room-list.md +23 -20
  192. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audience-list.md +260 -0
  193. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audio-effect.md +598 -0
  194. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-barrage.md +490 -0
  195. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +65 -59
  196. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-gift.md +424 -0
  197. package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-integration.md +69 -76
  198. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-room-list.md +726 -0
  199. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audience-list.md +11 -10
  200. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audio-effect.md +28 -24
  201. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-barrage.md +22 -18
  202. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +41 -33
  203. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-gift.md +54 -50
  204. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-host-interaction.md +35 -30
  205. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-integration.md +49 -46
  206. package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-room-list.md +19 -18
  207. package/resource/knowledge/livekit/faq/error-code.md +193 -0
  208. package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/barrage.md +56 -53
  209. package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-audience-list.md +22 -21
  210. package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-view.md +34 -32
  211. package/resource/knowledge/push/config/android.md +92 -0
  212. package/resource/knowledge/push/config/harmonyos.md +83 -0
  213. package/resource/knowledge/push/config/ios.md +254 -0
  214. package/resource/knowledge/push/config/react-native.md +254 -0
  215. package/resource/knowledge/push/config/unity.md +209 -0
  216. package/resource/knowledge/push/config/unreal-engine.md +194 -0
  217. package/resource/knowledge/push/integration/android.md +404 -0
  218. package/resource/knowledge/push/integration/flutter.md +465 -0
  219. package/resource/knowledge/push/integration/harmonyos.md +63 -0
  220. package/resource/knowledge/push/integration/ios.md +246 -0
  221. package/resource/knowledge/push/integration/react-native.md +366 -0
  222. package/resource/knowledge/push/integration/uni-app.md +208 -0
  223. package/resource/knowledge/push/integration/unity.md +389 -0
  224. package/resource/knowledge/push/integration/unreal-engine.md +390 -0
  225. package/resource/knowledge/push/overview/prepare.md +60 -0
  226. package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +241 -0
  227. package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +588 -0
  228. package/resource/knowledge/roomkit/core-sdk/android/room-state.md +364 -0
  229. package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +340 -0
  230. package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +230 -0
  231. package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +797 -0
  232. package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +325 -0
  233. package/resource/knowledge/roomkit/core-sdk/flutter/schedule-room.md +325 -0
  234. package/resource/knowledge/roomkit/core-sdk/ios/call-user-to-room.md +233 -0
  235. package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +569 -0
  236. package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +325 -0
  237. package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +322 -0
  238. package/resource/knowledge/roomkit/core-sdk/vue/call-user-to-room.md +221 -0
  239. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/device-detection.md +49 -48
  240. package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +461 -0
  241. package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +216 -0
  242. package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +370 -0
  243. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-participant-state.md +61 -60
  244. package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +280 -0
  245. package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-view.md +57 -56
  246. package/resource/knowledge/roomkit/core-sdk/vue/schedule-room.md +319 -0
  247. package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +267 -0
  248. package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +261 -0
  249. package/resource/knowledge/roomkit/preset/android/integration.md +396 -0
  250. package/resource/knowledge/roomkit/preset/flutter/integration.md +404 -0
  251. package/resource/knowledge/roomkit/preset/ios/integration.md +369 -0
  252. package/resource/knowledge/roomkit/preset/react/integration.md +576 -0
  253. package/resource/knowledge/rtcengine/web/how_to_run_web_sdk_demo.md +44 -0
  254. package/resource/{doc → knowledge}/rtcengine/web/plugin/21-advanced-auto-play-policy.md +8 -2
  255. package/resource/{doc → knowledge}/rtcengine/web/plugin/22-advanced-audio-mixer.md +19 -1
  256. package/resource/{doc → knowledge}/rtcengine/web/plugin/23-advanced-support-detection.md +1 -1
  257. package/resource/{doc → knowledge}/rtcengine/web/plugin/24-advanced-network-quality.md +8 -8
  258. package/resource/{doc → knowledge}/rtcengine/web/plugin/25-advanced-device-change.md +1 -1
  259. package/resource/{doc → knowledge}/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +6 -6
  260. package/resource/{doc → knowledge}/rtcengine/web/plugin/27-advanced-small-stream.md +3 -3
  261. package/resource/{doc → knowledge}/rtcengine/web/plugin/29-advanced-water-mark.md +18 -0
  262. package/resource/{doc → knowledge}/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -1
  263. package/resource/{doc → knowledge}/rtcengine/web/plugin/34-advanced-proxy.md +2 -2
  264. package/resource/{doc → knowledge}/rtcengine/web/plugin/35-advanced-ai-denoiser.md +1 -1
  265. package/resource/knowledge/trtc/android/TRTCCloud.md +1915 -0
  266. package/resource/knowledge/trtc/android/TRTCCloudDef.md +1029 -0
  267. package/resource/knowledge/trtc/android/TRTCCloudListener.md +1095 -0
  268. package/resource/knowledge/trtc/android/TRTCStatistics.md +68 -0
  269. package/resource/knowledge/trtc/android/TXAudioEffectManager.md +502 -0
  270. package/resource/knowledge/trtc/android/TXBeautyManager.md +415 -0
  271. package/resource/knowledge/trtc/android/TXDeviceManager.md +169 -0
  272. package/resource/knowledge/trtc/android/TXLiteAVCode.md +125 -0
  273. package/resource/knowledge/trtc/c++/ITRTCCloud.md +2069 -0
  274. package/resource/knowledge/trtc/c++/ITRTCStatistics.md +73 -0
  275. package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +502 -0
  276. package/resource/knowledge/trtc/c++/ITXDeviceManager.md +391 -0
  277. package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +1191 -0
  278. package/resource/knowledge/trtc/c++/TRTCTypeDef.md +931 -0
  279. package/resource/knowledge/trtc/c++/TXLiteAVCode.md +127 -0
  280. package/resource/knowledge/trtc/ios/TRTCCloud.md +2118 -0
  281. package/resource/knowledge/trtc/ios/TRTCCloudDef.md +975 -0
  282. package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +1131 -0
  283. package/resource/knowledge/trtc/ios/TRTCStatistics.md +68 -0
  284. package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +423 -0
  285. package/resource/knowledge/trtc/ios/TXBeautyManager.md +416 -0
  286. package/resource/knowledge/trtc/ios/TXDeviceManager.md +387 -0
  287. package/resource/knowledge/trtc/ios/TXLiteAVCode.md +127 -0
  288. package/server-config.js +0 -1
  289. package/server.js +35 -12
  290. package/streamable-http.js +0 -1
  291. package/tools/call/get_native_call_uikit_integration.js +2 -4
  292. package/tools/call/get_native_callkit_core_integration.js +2 -6
  293. package/tools/call/get_web_call_uikit_integration.js +2 -4
  294. package/tools/chat/get_native_chat_uikit_integration.js +2 -4
  295. package/tools/chat/get_web_chat_uikit_integration.js +2 -4
  296. package/tools/common/get_usersig.js +0 -1
  297. package/tools/common/present_framework_choice.js +19 -14
  298. package/tools/common/record_answer.js +19 -26
  299. package/tools/common/record_feedback.js +17 -31
  300. package/tools/common/search_trtc_knowledge.js +44 -0
  301. package/tools/definitions/get_native_call_uikit_integration_def.js +3 -2
  302. package/tools/definitions/get_native_callkit_core_integration_def.js +5 -4
  303. package/tools/definitions/get_native_chat_uikit_integration_def.js +5 -3
  304. package/tools/definitions/get_native_livekit_core_integration_def.js +6 -6
  305. package/tools/definitions/get_usersig_def.js +0 -1
  306. package/tools/definitions/get_web_call_uikit_integration_def.js +4 -3
  307. package/tools/definitions/get_web_chat_uikit_integration_def.js +2 -1
  308. package/tools/definitions/get_web_live_uikit_integration_def.js +5 -6
  309. package/tools/definitions/get_web_room_core_integration_def.js +49 -0
  310. package/tools/definitions/get_web_room_uikit_integration_def.js +5 -5
  311. package/tools/definitions/integration-boundary.js +5 -0
  312. package/tools/definitions/present_framework_choice_def.js +12 -11
  313. package/tools/definitions/record_answer_def.js +19 -18
  314. package/tools/definitions/record_feedback_def.js +14 -14
  315. package/tools/definitions/search_trtc_knowledge_def.js +39 -0
  316. package/tools/index.js +5 -37
  317. package/tools/live/get_native_livekit_core_integration.js +1 -4
  318. package/tools/live/get_web_live_uikit_integration.js +2 -5
  319. package/tools/room/get_web_room_core_integration.js +47 -0
  320. package/tools/room/get_web_room_uikit_integration.js +2 -4
  321. package/utils/generate-structured-result.js +24 -31
  322. package/utils/generate-usersig.js +0 -1
  323. package/utils/get-device-identifier.js +0 -1
  324. package/utils/get-doc-content.js +14 -9
  325. package/utils/http-get.js +0 -1
  326. package/utils/http-post.js +0 -1
  327. package/utils/report-cls-client.js +18 -21
  328. package/utils/report-es-client.js +1 -2
  329. package/index.js.map +0 -1
  330. package/resource/doc/callkit/core-sdk/.gitkeep +0 -0
  331. package/resource/doc/callkit/core-sdk/android/answer-call.md +0 -852
  332. package/resource/doc/callkit/core-sdk/android/make-call.md +0 -954
  333. package/resource/doc/callkit/core-sdk/android/offline-push.md +0 -361
  334. package/resource/doc/callkit/core-sdk/flutter/answer-call.md +0 -1160
  335. package/resource/doc/callkit/core-sdk/flutter/make-call.md +0 -1205
  336. package/resource/doc/callkit/core-sdk/ios/answer-call.md +0 -1090
  337. package/resource/doc/callkit/core-sdk/ios/make-call.md +0 -1248
  338. package/resource/doc/callkit/core-sdk/ios/offline-push.md +0 -485
  339. package/resource/doc/callkit/core-sdk/uni-app/answer-call.md +0 -950
  340. package/resource/doc/callkit/core-sdk/uni-app/make-call.md +0 -1052
  341. package/resource/doc/callkit/faq/common/error-code.md +0 -47
  342. package/resource/doc/callkit/faq/flutter-faq.md +0 -115
  343. package/resource/doc/callkit/faq/ios-faq.md +0 -115
  344. package/resource/doc/callkit/faq/web-faq.md +0 -36
  345. package/resource/doc/callkit/preset/android/api.md +0 -296
  346. package/resource/doc/callkit/preset/flutter/api.md +0 -410
  347. package/resource/doc/callkit/preset/flutter/integration.md +0 -164
  348. package/resource/doc/callkit/preset/ios/api.md +0 -80
  349. package/resource/doc/callkit/preset/ios/integration.md +0 -187
  350. package/resource/doc/callkit/preset/react/api.md +0 -501
  351. package/resource/doc/callkit/preset/react/integration.md +0 -86
  352. package/resource/doc/callkit/preset/vue/api.md +0 -501
  353. package/resource/doc/callkit/preset/vue/integration.md +0 -83
  354. package/resource/doc/chatkit/android/faq.md +0 -111
  355. package/resource/doc/chatkit/android/features/theme.md +0 -219
  356. package/resource/doc/chatkit/android/integration.md +0 -490
  357. package/resource/doc/chatkit/faq/android_sdk/client-api.md +0 -281
  358. package/resource/doc/chatkit/faq/common/product.md +0 -7
  359. package/resource/doc/chatkit/faq/common/server.md +0 -44
  360. package/resource/doc/chatkit/faq/common/server_error_code.md +0 -74
  361. package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +0 -199
  362. package/resource/doc/chatkit/faq/flutter_sdk/faq.md +0 -53
  363. package/resource/doc/chatkit/faq/ios_sdk/client-api.md +0 -235
  364. package/resource/doc/chatkit/faq/web_sdk/error_code.md +0 -47
  365. package/resource/doc/chatkit/faq/web_sdk/faq.md +0 -287
  366. package/resource/doc/chatkit/flutter/faq.md +0 -23
  367. package/resource/doc/chatkit/flutter/features/theme.md +0 -235
  368. package/resource/doc/chatkit/flutter/integration.md +0 -344
  369. package/resource/doc/chatkit/ios/faq.md +0 -111
  370. package/resource/doc/chatkit/ios/features/theme.md +0 -267
  371. package/resource/doc/chatkit/react/components/avatar.md +0 -104
  372. package/resource/doc/chatkit/react/components/chat-header.md +0 -148
  373. package/resource/doc/chatkit/react/components/chat-setting.md +0 -57
  374. package/resource/doc/chatkit/react/components/chat.md +0 -38
  375. package/resource/doc/chatkit/react/components/component-list.md +0 -37
  376. package/resource/doc/chatkit/react/components/conversation-actions.md +0 -174
  377. package/resource/doc/chatkit/react/components/conversation-list.md +0 -333
  378. package/resource/doc/chatkit/react/components/conversation-preview.md +0 -118
  379. package/resource/doc/chatkit/react/components/conversation-search.md +0 -60
  380. package/resource/doc/chatkit/react/components/message-list.md +0 -293
  381. package/resource/doc/chatkit/react/components/tuikit.md +0 -34
  382. package/resource/doc/chatkit/react/faq.md +0 -26
  383. package/resource/doc/chatkit/react/integration.md +0 -416
  384. package/resource/doc/chatkit/vue/components/avatar.md +0 -104
  385. package/resource/doc/chatkit/vue/components/chat-header.md +0 -148
  386. package/resource/doc/chatkit/vue/components/chat-setting.md +0 -62
  387. package/resource/doc/chatkit/vue/components/chat.md +0 -45
  388. package/resource/doc/chatkit/vue/components/component-list.md +0 -87
  389. package/resource/doc/chatkit/vue/components/contact-list.md +0 -271
  390. package/resource/doc/chatkit/vue/components/conversation-actions.md +0 -228
  391. package/resource/doc/chatkit/vue/components/conversation-list.md +0 -320
  392. package/resource/doc/chatkit/vue/components/conversation-preview.md +0 -213
  393. package/resource/doc/chatkit/vue/components/message-input.md +0 -1054
  394. package/resource/doc/chatkit/vue/components/message-list.md +0 -433
  395. package/resource/doc/chatkit/vue/components/tuikit.md +0 -31
  396. package/resource/doc/chatkit/vue/components/userpicker.md +0 -256
  397. package/resource/doc/chatkit/vue/faq.md +0 -36
  398. package/resource/doc/chatkit/vue/integration.md +0 -428
  399. package/resource/doc/livekit/core-sdk/live/flutter/live-host-interaction.md +0 -866
  400. package/resource/doc/livekit/faq/common/error-code.md +0 -88
  401. package/resource/doc/livekit/preset/live/vue/api-reference/index.md +0 -780
  402. package/resource/doc/livekit/preset/live/vue/components/co-guest-panel.md +0 -91
  403. package/resource/doc/livekit/preset/live/vue/components/live-scene-panel.md +0 -112
  404. package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +0 -215
  405. package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +0 -300
  406. package/resource/doc/roomkit/faq/common/error-code.md +0 -67
  407. package/resource/doc/roomkit/vue/features/call-user-to-room.md +0 -220
  408. package/resource/doc/roomkit/vue/features/device-state.md +0 -460
  409. package/resource/doc/roomkit/vue/features/free-beauty-panel.md +0 -215
  410. package/resource/doc/roomkit/vue/features/room-chat.md +0 -369
  411. package/resource/doc/roomkit/vue/features/room-state.md +0 -282
  412. package/resource/doc/roomkit/vue/features/schedule-room.md +0 -318
  413. package/resource/doc/roomkit/vue/features/screen-share.md +0 -265
  414. package/resource/doc/roomkit/vue/features/virtual-background.md +0 -271
  415. package/resource/doc/roomkit/vue/integration.md +0 -315
  416. package/resource/doc/rtcengine/faq/common/error_code.md +0 -1
  417. package/resource/doc/rtcengine/faq/web_sdk/.gitkeep +0 -0
  418. package/resource/doc/rtcengine/web/.gitkeep +0 -0
  419. package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +0 -59
  420. package/resource/doc/trtc/C++/ITRTCCloud.md +0 -1970
  421. package/resource/doc/trtc/C++/ITRTCStatistics.md +0 -70
  422. package/resource/doc/trtc/C++/ITXAudioEffectManager.md +0 -469
  423. package/resource/doc/trtc/C++/ITXDeviceManager.md +0 -387
  424. package/resource/doc/trtc/C++/TRTCCloudCallback.md +0 -1082
  425. package/resource/doc/trtc/C++/TRTCTypeDef.md +0 -925
  426. package/resource/doc/trtc/C++/TXLiteAVCode.md +0 -129
  427. package/resource/doc/trtc/android/TRTCCloud.md +0 -1815
  428. package/resource/doc/trtc/android/TRTCCloudDef.md +0 -992
  429. package/resource/doc/trtc/android/TRTCCloudListener.md +0 -1004
  430. package/resource/doc/trtc/android/TRTCStatistics.md +0 -65
  431. package/resource/doc/trtc/android/TXAudioEffectManager.md +0 -469
  432. package/resource/doc/trtc/android/TXBeautyManager.md +0 -402
  433. package/resource/doc/trtc/android/TXDeviceManager.md +0 -173
  434. package/resource/doc/trtc/android/TXLiteAVCode.md +0 -127
  435. package/resource/doc/trtc/iOS/TRTCCloud.md +0 -2028
  436. package/resource/doc/trtc/iOS/TRTCCloudDef.md +0 -958
  437. package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +0 -1046
  438. package/resource/doc/trtc/iOS/TRTCStatistics.md +0 -65
  439. package/resource/doc/trtc/iOS/TXAudioEffectManager.md +0 -397
  440. package/resource/doc/trtc/iOS/TXBeautyManager.md +0 -403
  441. package/resource/doc/trtc/iOS/TXDeviceManager.md +0 -381
  442. package/resource/doc/trtc/iOS/TXLiteAVCode.md +0 -130
  443. package/server-config.js.map +0 -1
  444. package/server.js.map +0 -1
  445. package/streamable-http.js.map +0 -1
  446. package/tools/call/get_callkit_api.js +0 -33
  447. package/tools/call/get_callkit_api.js.map +0 -1
  448. package/tools/call/get_native_call_uikit_integration.js.map +0 -1
  449. package/tools/call/get_native_callkit_core_integration.js.map +0 -1
  450. package/tools/call/get_web_call_uikit_integration.js.map +0 -1
  451. package/tools/chat/get_native_chat_uikit_feature_detail.js +0 -35
  452. package/tools/chat/get_native_chat_uikit_feature_detail.js.map +0 -1
  453. package/tools/chat/get_native_chat_uikit_integration.js.map +0 -1
  454. package/tools/chat/get_web_chat_uikit_component_detail.js +0 -35
  455. package/tools/chat/get_web_chat_uikit_component_detail.js.map +0 -1
  456. package/tools/chat/get_web_chat_uikit_integration.js.map +0 -1
  457. package/tools/common/get_faq.js +0 -266
  458. package/tools/common/get_faq.js.map +0 -1
  459. package/tools/common/get_usersig.js.map +0 -1
  460. package/tools/common/present_framework_choice.js.map +0 -1
  461. package/tools/common/record_answer.js.map +0 -1
  462. package/tools/common/record_feedback.js.map +0 -1
  463. package/tools/common/record_skill_session.js +0 -69
  464. package/tools/common/record_skill_session.js.map +0 -1
  465. package/tools/definitions/get_callkit_api_def.js +0 -29
  466. package/tools/definitions/get_callkit_api_def.js.map +0 -1
  467. package/tools/definitions/get_faq_def.js +0 -47
  468. package/tools/definitions/get_faq_def.js.map +0 -1
  469. package/tools/definitions/get_native_call_uikit_integration_def.js.map +0 -1
  470. package/tools/definitions/get_native_callkit_core_integration_def.js.map +0 -1
  471. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +0 -31
  472. package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +0 -1
  473. package/tools/definitions/get_native_chat_uikit_integration_def.js.map +0 -1
  474. package/tools/definitions/get_native_livekit_core_features_def.js +0 -34
  475. package/tools/definitions/get_native_livekit_core_features_def.js.map +0 -1
  476. package/tools/definitions/get_native_livekit_core_integration_def.js.map +0 -1
  477. package/tools/definitions/get_native_trtc_sdk_docs_def.js +0 -32
  478. package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +0 -1
  479. package/tools/definitions/get_usersig_def.js.map +0 -1
  480. package/tools/definitions/get_web_call_uikit_integration_def.js.map +0 -1
  481. package/tools/definitions/get_web_chat_uikit_component_detail_def.js +0 -31
  482. package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +0 -1
  483. package/tools/definitions/get_web_chat_uikit_integration_def.js.map +0 -1
  484. package/tools/definitions/get_web_live_uikit_integration_def.js.map +0 -1
  485. package/tools/definitions/get_web_livekit_api_def.js +0 -30
  486. package/tools/definitions/get_web_livekit_api_def.js.map +0 -1
  487. package/tools/definitions/get_web_livekit_component_detail_def.js +0 -32
  488. package/tools/definitions/get_web_livekit_component_detail_def.js.map +0 -1
  489. package/tools/definitions/get_web_room_uikit_integration_def.js.map +0 -1
  490. package/tools/definitions/get_web_roomkit_feature_detail_def.js +0 -31
  491. package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +0 -1
  492. package/tools/definitions/get_web_trtc_sdk_api_def.js +0 -27
  493. package/tools/definitions/get_web_trtc_sdk_api_def.js.map +0 -1
  494. package/tools/definitions/get_web_trtc_sdk_integration_def.js +0 -27
  495. package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +0 -1
  496. package/tools/definitions/get_web_trtc_sdk_plugin_def.js +0 -27
  497. package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +0 -1
  498. package/tools/definitions/present_framework_choice_def.js.map +0 -1
  499. package/tools/definitions/record_answer_def.js.map +0 -1
  500. package/tools/definitions/record_feedback_def.js.map +0 -1
  501. package/tools/definitions/record_skill_session_def.js +0 -31
  502. package/tools/definitions/record_skill_session_def.js.map +0 -1
  503. package/tools/index.js.map +0 -1
  504. package/tools/live/get_native_livekit_core_features.js +0 -68
  505. package/tools/live/get_native_livekit_core_features.js.map +0 -1
  506. package/tools/live/get_native_livekit_core_integration.js.map +0 -1
  507. package/tools/live/get_web_live_uikit_integration.js.map +0 -1
  508. package/tools/live/get_web_livekit_api.js +0 -33
  509. package/tools/live/get_web_livekit_api.js.map +0 -1
  510. package/tools/live/get_web_livekit_component_detail.js +0 -35
  511. package/tools/live/get_web_livekit_component_detail.js.map +0 -1
  512. package/tools/room/get_web_room_uikit_integration.js.map +0 -1
  513. package/tools/room/get_web_roomkit_feature_detail.js +0 -69
  514. package/tools/room/get_web_roomkit_feature_detail.js.map +0 -1
  515. package/tools/rtcengine/get_web_trtc_sdk_api.js +0 -32
  516. package/tools/rtcengine/get_web_trtc_sdk_api.js.map +0 -1
  517. package/tools/rtcengine/get_web_trtc_sdk_integration.js +0 -32
  518. package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +0 -1
  519. package/tools/rtcengine/get_web_trtc_sdk_plugin.js +0 -32
  520. package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +0 -1
  521. package/tools/trtc/get_native_trtc_sdk_docs.js +0 -74
  522. package/tools/trtc/get_native_trtc_sdk_docs.js.map +0 -1
  523. package/utils/build-session-directives.js +0 -120
  524. package/utils/build-session-directives.js.map +0 -1
  525. package/utils/generate-structured-result.js.map +0 -1
  526. package/utils/generate-usersig.js.map +0 -1
  527. package/utils/get-device-identifier.js.map +0 -1
  528. package/utils/get-doc-content.js.map +0 -1
  529. package/utils/handle-framework.js +0 -9
  530. package/utils/handle-framework.js.map +0 -1
  531. package/utils/handle-state-name.js +0 -29
  532. package/utils/handle-state-name.js.map +0 -1
  533. package/utils/http-get.js.map +0 -1
  534. package/utils/http-post.js.map +0 -1
  535. package/utils/report-cls-client.js.map +0 -1
  536. package/utils/report-es-client.js.map +0 -1
  537. package/utils/report-runtime-error-cls-client.js +0 -91
  538. package/utils/report-runtime-error-cls-client.js.map +0 -1
  539. /package/resource/{doc/livekit/preset/live/vue/faq.md → knowledge/push/config/donut.md} +0 -0
  540. /package/resource/{doc/roomkit/vue/faq.md → knowledge/push/integration/donut.md} +0 -0
  541. /package/resource/{doc → knowledge}/rtcengine/web/api.md +0 -0
  542. /package/resource/{doc/rtcengine/faq/web/web.md → knowledge/rtcengine/web/faq.md} +0 -0
  543. /package/resource/{doc → knowledge}/rtcengine/web/how_to_integrated_web_sdk.md +0 -0
  544. /package/resource/{doc → knowledge}/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +0 -0
  545. /package/resource/{doc → knowledge}/rtcengine/web/plugin/28-advanced-beauty.md +0 -0
  546. /package/resource/{doc → knowledge}/rtcengine/web/plugin/30-advanced-cross-room-link.md +0 -0
  547. /package/resource/{doc → knowledge}/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -0
  548. /package/resource/{doc → knowledge}/rtcengine/web/plugin/37-advanced-voice-changer.md +0 -0
  549. /package/resource/{doc → knowledge}/rtcengine/web/plugin/39-advanced-video-decoder.md +0 -0
  550. /package/resource/{doc → knowledge}/rtcengine/web/plugin/40-advanced-video-mixer.md +0 -0
  551. /package/resource/{doc → knowledge}/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +0 -0
  552. /package/resource/{doc → knowledge}/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +0 -0
  553. /package/resource/{doc → knowledge}/rtcengine/web/plugin/43-advanced-face-detection.md +0 -0
@@ -1,24 +1,24 @@
1
- This document will guide you on how to manage participants in a room. Atomicx provides an out-of-the-box list component `RoomParticipantList` for quick integration, and exposes the [useRoomParticipantState](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#module-RoomParticipantState) Hook to facilitate custom member control logic implementation.
1
+ This document guides you on how to manage participants in a room. Atomicx provides the ready-to-use list component `RoomParticipantList` for quick integration, and exposes the [useRoomParticipantState](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#module-RoomParticipantState) Hook to help you implement custom participant control logic.
2
2
 
3
- ## Feature Introduction
3
+ ## Feature Overview
4
4
 
5
- The member management module covers a complete set of capabilities for displaying user information and handling permissions in the room:
6
- - **Real-time List Display:** Dynamically presents nicknames, roles, audio/video status, and volume fluctuation of all members in the room.
5
+ The participant management module covers a full set of capabilities for displaying user information in a room and handling permissions:
6
+ - **Real-time list display:** Dynamically presents the nickname, role, audio/video status, and volume fluctuations of all participants in the room.
7
7
 
8
- - **Permission Control:** Supports room owner or administrator to perform management operations such as kicking out, muting all, and transferring ownership.
8
+ - **Permission control:** Supports the room owner or administrators performing management operations such as removing participants, muting all participants, and transferring the room owner role.
9
9
 
10
- - **Tiered Management:** Supports differentiated permission strategies for room owners, administrators, and regular members.
10
+ - **Tiered management:** Supports differentiated permission strategies for the room owner, administrators, and regular participants.
11
11
 
12
12
  ## Prerequisites
13
- - User has completed login authentication through [useLoginState](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#module-LoginState), please refer to Integration Overview.
13
+ - The user has completed login authentication via [useLoginState](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#module-LoginState). For details, refer to the Integration Overview.
14
14
 
15
- - User has entered the room through [useRoomState](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#module-RoomState), please refer to Room Management.
15
+ - The user has entered a room via [useRoomState](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#module-RoomState). For details, refer to Room Management.
16
16
 
17
- ## Integrating Member Management Component
17
+ ## Integrating the Participant Management Component
18
18
 
19
- If you need to quickly build a member list interface, it's recommended to directly use the `RoomParticipantList` component. `RoomParticipantList` is an out-of-the-box participant list component with built-in complete member management UI and interactions.
19
+ If you need to quickly build a participant list interface, we recommend using the `RoomParticipantList` component directly. `RoomParticipantList` is a ready-to-use participant list component with a complete built-in participant management UI and interactions.
20
20
 
21
- Example code for integrating `RoomParticipantList` component:
21
+ Example code for integrating the `RoomParticipantList` component:
22
22
  ``` typescript
23
23
  <template>
24
24
  <div class="room-page">
@@ -82,28 +82,28 @@ const { participantList } = useRoomParticipantState();
82
82
 
83
83
  > **Note:**
84
84
  >
85
- > - `RoomParticipantList` will automatically fill the height and width of its parent container, please ensure its parent container has explicit dimensions.
86
- > - When using the `RoomParticipantList` component, ensure global `UIKitProvider` is configured in `App.vue`, please refer to [Configure App.vue](https://cloud.tencent.com/document/product/647/81962#ce98ee15-b0cb-43af-81da-70f51231430e).
85
+ > - `RoomParticipantList` automatically fills the height and width of its parent container, so make sure its parent container has explicit dimensions.
86
+ > - When using the `RoomParticipantList` component, make sure to configure the global `UIKitProvider` in `App.vue`. For details, refer to [Configuring App.vue](https://cloud.tencent.com/document/product/647/81962#ce98ee15-b0cb-43af-81da-70f51231430e).
87
87
 
88
- ## Implementing Member Management Features
88
+ ## Implementing Participant Management Features
89
89
 
90
- If you need to customize member list UI or trigger management actions in specific business scenarios, please use [useRoomParticipantState](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#module-RoomParticipantState).
90
+ If you need to customize the participant list UI or trigger management actions in a specific business scenario, use [useRoomParticipantState](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#module-RoomParticipantState).
91
91
 
92
- ### Step 1: Get Member List
92
+ ### Step 1: Get the participant list
93
93
 
94
- Get reactive member data [participantList](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#participantList) through [getParticipantList](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#getParticipantList).
94
+ Use [getParticipantList](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#getParticipantList) to get the reactive participant data [participantList](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#participantList).
95
95
  ``` typescript
96
96
  import { useRoomState, useRoomParticipantState } from 'tuikit-atomicx-vue3/room';
97
97
 
98
98
  const { currentRoom } = useRoomState();
99
99
  const { participantList, participantListCursor, getParticipantList } = useRoomParticipantState();
100
100
 
101
- // Get room user list after successfully joining room
101
+ // Get the list of users in the room after successfully entering the room
102
102
  watch(() => currentRoom.value?.roomId, async () => {
103
103
  await getParticipantList();
104
104
  })
105
105
 
106
- // Load more users when scrolling to bottom of list
106
+ // Load more users when the list scrolls to the bottom
107
107
  const handleLoadMore = async () => {
108
108
  if (participantListCursor.value) {
109
109
  await getParticipantList({ cursor: participantListCursor.value });
@@ -114,12 +114,12 @@ const handleLoadMore = async () => {
114
114
  > **Note:**
115
115
  >
116
116
 
117
- > Data successfully fetched by `getParticipantList` interface will be automatically maintained in `participantList`, UI only needs to render data from `participantList`.
117
+ > The data successfully fetched by the `getParticipantList` interface is automatically maintained in `participantList`. The UI only needs to render the data in `participantList`.
118
118
  >
119
119
 
120
- ### Step 2: Render Participant Information
120
+ ### Step 2: Render participant information
121
121
 
122
- Developers can use [participantList](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#participantList) data to customize rendering of user information list.
122
+ Developers can use the [participantList](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#participantList) data to customize the rendering of the user information list.
123
123
  ``` typescript
124
124
  <template>
125
125
  <div class="participant-list">
@@ -141,7 +141,7 @@ Developers can use [participantList](https://web.sdk.qcloud.com/trtc/live/web/do
141
141
  :avatar-url="participant.avatarUrl"
142
142
  />
143
143
 
144
- <!-- User info -->
144
+ <!-- User information -->
145
145
  <div class="user-info">
146
146
  <div class="user-name">
147
147
  <span>{{ participant.userName }}</span>
@@ -150,13 +150,13 @@ Developers can use [participantList](https://web.sdk.qcloud.com/trtc/live/web/do
150
150
  v-if="participant.role === RoomParticipantRole.Owner"
151
151
  class="role-badge owner"
152
152
  >
153
- Owner
153
+ Room owner
154
154
  </span>
155
155
  <span
156
156
  v-else-if="participant.role === RoomParticipantRole.Admin"
157
157
  class="role-badge admin"
158
158
  >
159
- Admin
159
+ Administrator
160
160
  </span>
161
161
  </div>
162
162
  </div>
@@ -208,9 +208,9 @@ const handleRefresh = async () => {
208
208
  </style>
209
209
  ```
210
210
 
211
- ### Step 3: Set User Custom Information
211
+ ### Step 3: Set custom user information
212
212
 
213
- Developers can use the [updateParticipantMetaData](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#updateParticipantMetaData) interface to set custom data for users to **implement job titles**, **purchase status** and other capabilities. After updating, the `metaData` information will be maintained in the reactive data of the corresponding user in `participantList`.
213
+ Developers can use the [updateParticipantMetaData](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#updateParticipantMetaData) interface to set custom user data, used to **implement capabilities such as job title** and **purchase status**. After updating, the `metaData` information is maintained in the reactive data of the corresponding user in `participantList`.
214
214
  ``` typescript
215
215
  <template>
216
216
  <div v-for="participant in participantList" :key="participant.userId">
@@ -233,33 +233,33 @@ const {
233
233
  } = useRoomParticipantState();
234
234
 
235
235
  await updateParticipantMetaData({
236
- userId: '', // Specify user id
236
+ userId: '', // Specify the user id
237
237
  metaData: JSON.stringify({ level: 1 }), // Business custom information
238
238
  })
239
239
  </script>
240
240
  ```
241
241
 
242
- ### Step 4: Manage Member Roles
242
+ ### Step 4: Manage participant roles
243
243
 
244
- Room owner can change user role to administrator through [setAdmin](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#setAdmin) interface, and revoke user administrator status through [revokeAdmin](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#revokeAdmin) method.
244
+ The room owner can use the [setAdmin](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#setAdmin) interface to change a user's role to administrator, and use the [revokeAdmin](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#revokeAdmin) method to revoke a user's administrator role.
245
245
  ``` typescript
246
246
  const { setAdmin, revokeAdmin } = useRoomParticipantState();
247
247
 
248
- // Set regular user as administrator
248
+ // Set a regular user as an administrator
249
249
  await setAdmin({ userId });
250
250
 
251
- // Change administrator to regular user
251
+ // Set an administrator back to a regular user
252
252
  await revokeAdmin({ userId });
253
253
  ```
254
254
 
255
- ### Step 5: Manage Member Media Devices
255
+ ### Step 5: Manage participant media devices
256
256
 
257
- Room owner and administrators can remotely control other members' media devices through [closeParticipantDevice](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#closeParticipantDevice) interface to maintain a quiet and orderly meeting environment.
257
+ The room owner and administrators can use the [closeParticipantDevice](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#closeParticipantDevice) interface to remotely control other participants' media devices, in order to keep the meeting environment quiet and orderly.
258
258
  ``` typescript
259
259
  import { useRoomParticipantState, DeviceType } from 'tuikit-atomicx-vue3/room';
260
260
  const { closeParticipantDevice } = useRoomParticipantState();
261
261
 
262
- // Force close specified member's microphone
262
+ // Forcibly turn off the microphone of a specified participant
263
263
  async function handleCloseUserMicrophone(userId: string) {
264
264
  await closeParticipantDevice({
265
265
  userId,
@@ -267,7 +267,7 @@ async function handleCloseUserMicrophone(userId: string) {
267
267
  });
268
268
  }
269
269
 
270
- // Force close specified member's camera
270
+ // Forcibly turn off the camera of a specified participant
271
271
  async function handleCloseUserCamera(userId: string) {
272
272
  await closeParticipantDevice({
273
273
  userId,
@@ -276,16 +276,16 @@ async function handleCloseUserCamera(userId: string) {
276
276
  }
277
277
  ```
278
278
 
279
- ### Step 6: Enable Global State Management
279
+ ### Step 6: Enable global state management
280
280
 
281
- Room owner and administrators can enable room global state management through [disableAllDevices](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#disableAllDevices) and [disableAllMessages](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#disableAllMessages) interfaces.
281
+ The room owner and administrators can enable room-wide global state management via the [disableAllDevices](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#disableAllDevices) and [disableAllMessages](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#disableAllMessages) interfaces.
282
282
 
283
- #### **Disable media devices of all regular users in the room**
283
+ #### **Disable the media devices of all regular users in the room**
284
284
  ``` typescript
285
285
  import { useRoomParticipantState, DeviceType } from 'tuikit-atomicx-vue3/room';
286
286
  const { closeParticipantDevice } = useRoomParticipantState();
287
287
 
288
- // Force close all regular members' microphones
288
+ // Forcibly turn off the microphones of all regular participants
289
289
  async function handleDisableAllMicrophone() {
290
290
  await disableAllDevices({
291
291
  deviceType: DeviceType.Microphone,
@@ -293,7 +293,7 @@ async function handleDisableAllMicrophone() {
293
293
  });
294
294
  }
295
295
 
296
- // Remove microphone restriction for all
296
+ // Lift the microphone disable for all participants
297
297
  async function handleEnableAllMicrophone() {
298
298
  await disableAllDevices({
299
299
  deviceType: DeviceType.Microphone,
@@ -301,7 +301,7 @@ async function handleEnableAllMicrophone() {
301
301
  });
302
302
  }
303
303
 
304
- // Force close all regular members' cameras
304
+ // Forcibly turn off the cameras of all regular participants
305
305
  async function handleDisableAllCamera() {
306
306
  await disableAllDevices({
307
307
  deviceType: DeviceType.Camera,
@@ -309,7 +309,7 @@ async function handleDisableAllCamera() {
309
309
  });
310
310
  }
311
311
 
312
- // Remove camera restriction for all
312
+ // Lift the camera disable for all participants
313
313
  async function handleEnableAllCamera() {
314
314
  await disableAllDevices({
315
315
  deviceType: DeviceType.Camera,
@@ -323,7 +323,7 @@ async function handleEnableAllCamera() {
323
323
  import { useRoomParticipantState, DeviceType } from 'tuikit-atomicx-vue3/room';
324
324
  const { disableAllMessages } = useRoomParticipantState();
325
325
 
326
- // Force disable chat capability for all regular members
326
+ // Forcibly disable the chat capability of all regular participants
327
327
  async function handleDisableAllMessage() {
328
328
  await disableAllMessages({
329
329
  disable: true,
@@ -331,55 +331,56 @@ async function handleDisableAllMessage() {
331
331
  }
332
332
  ```
333
333
 
334
- ### **Step 7:** Monitor Member Speaking Status
334
+ ### **Step 7:** Monitor participant speaking status
335
335
 
336
- Through [speakingUsers](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#speakingUsers), you can get real-time information about users currently speaking in the room and their volume levels.
336
+ Using [speakingUsers](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#speakingUsers), you can obtain in real time the users who are currently speaking in the room and their volume levels.
337
337
  ``` typescript
338
338
  const { speakingUsers } = useRoomParticipantState();
339
339
 
340
- // Check if user is speaking
340
+ // Determine whether a user is currently speaking
341
341
  const isSpeaking = (userId: string) => speakingUsers.value.has(userId);
342
- // Get user real-time volume (0-100)
342
+ // Get a user's real-time volume (0-100)
343
343
  const getVolume = (userId: string) => speakingUsers.value.get(userId) || 0;
344
344
  ```
345
345
 
346
- ### Step 8: Kick Out Room Members
346
+ ### Step 8: Remove a participant from the room
347
347
 
348
- Room owner and administrators can remove users from the room through [kickParticipant](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#kickParticipant) interface.
348
+ The room owner and administrators can use the [kickParticipant](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#kickParticipant) interface to remove a user from the room.
349
349
  ``` typescript
350
350
  const { kickParticipant } = useRoomParticipantState();
351
351
 
352
- // Kick user out of room
352
+ // Remove a user from the room
353
353
  await kickParticipant({ userId });
354
354
  ```
355
355
 
356
- ### Step 9: Invite Others to Join Room
356
+ ### Step 9: Invite others to join the room
357
357
 
358
- In real business scenarios, you may need to initiate call invitations to users not yet in the room. Atomicx provides complete call system support, please see In-Meeting Call.
358
+ In actual business scenarios, you may need to send a call invitation to users who have not yet entered the room. Atomicx provides full support for a calling system. For details, refer to In-Meeting Calling.
359
359
 
360
360
  ## API Documentation
361
- | **State/Component** | **Feature Description** | **API Documentation** |
362
- | --- | --- | --- |
363
- | **useRoomParticipantState** | Contains user data in the room and user management interfaces. | [API Documentation](https://web.sdk.qcloud.com/trtc/live/web/doc/zh/index.html#module-RoomParticipantState) |
361
+
362
+ |**State/Component**|**Description**|**API Documentation**|
363
+ |---------|---------|---------|
364
+ |**useRoomParticipantState**|Contains the user data in the room and the user management interfaces.|[API Documentation](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#module-RoomParticipantState)|
364
365
 
365
366
  ## Development Recommendations
366
367
 
367
- **Permission Check:** In the UI layer, it's recommended to determine the current user's operation permissions through `participant.role`, hiding **kick out** or **mute** buttons for users without management permissions.
368
+ **Permission validation:** At the UI layer, we recommend using `participant.role` to determine the current user's operation permissions, and hiding the **Remove** or **Mute** buttons from users who do not have management permissions.
368
369
  ``` typescript
369
370
  <script setup>
370
371
  import { RoomParticipantRole } from 'tuikit-atomicx-vue3/room';
371
372
 
372
373
  const { localParticipant } = useRoomParticipantState();
373
374
 
374
- // Check if current user has admin permissions
375
+ // Determine whether the current user has management permissions
375
376
  const hasAdminPermission = computed(() => {
376
377
  return localParticipant.value.role === RoomParticipantRole.Owner ||
377
378
  localParticipant.value.role === RoomParticipantRole.Admin;
378
379
  });
379
380
  </script>
380
381
 
381
- // Use in template
382
+ // Use in the template
382
383
  <template>
383
- <button v-if="hasAdminPermission" @click="handleKick">Kick Out</button>
384
+ <button v-if="hasAdminPermission" @click="handleKick">Remove</button>
384
385
  <template>
385
386
  ```
@@ -0,0 +1,280 @@
1
+ This document provides a detailed guide on how to use Atomicx's [useRoomState](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#module-RoomState) to manage the full lifecycle of a room, including creating, joining, leaving, and ending a room, as well as handling key room state notifications. The following sequence diagram illustrates the main flow of a room from creation to destruction.
2
+
3
+ ## Feature Overview
4
+
5
+ [useRoomState](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#module-RoomState) is the core Hook responsible for room management in the Atomicx solution. It encapsulates the complex underlying signaling flow, allowing developers to drive room state through simple reactive data and method calls.
6
+ - **Create and join:** Create and join a room via the [createAndJoinRoom](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#createAndJoinRoom) method, or join an existing room via the [joinRoom](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#joinRoom) method.
7
+
8
+ - **Real-time state synchronization:** The `useRoomState` Hook internally maintains the [currentRoom](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#currentRoom) reactive data, automatically synchronizing information such as the room name, mode, and participant count.
9
+
10
+ - **Role-based exit mechanism:** Provides clear operation boundaries for different roles. A regular participant can use [leaveRoom](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#leaveRoom) to exit; while the room owner (host) has the [endRoom](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#endRoom) permission and can end the room and destroy its resources with one click.
11
+
12
+ ## **Prerequisites**
13
+
14
+ The user has completed login authentication via [useLoginState](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#module-LoginState). Please refer to Integration Overview.
15
+
16
+ ## Implementing Room Management
17
+
18
+ ### Step 1: Import useRoomState
19
+ ``` typescript
20
+ import { useRoomState } from 'tuikit-atomicx-vue3/room';
21
+
22
+ const {
23
+ createAndJoinRoom,
24
+ joinRoom,
25
+ leaveRoom,
26
+ endRoom,
27
+ currentRoom
28
+ } = useRoomState();
29
+ ```
30
+
31
+ ### Step 2: Create a Room
32
+
33
+ Create a room (room owner): Use [createAndJoinRoom](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#createAndJoinRoom). After a successful call, the user automatically gains room owner permissions.
34
+
35
+ > **Note:**
36
+ >
37
+
38
+ > It is recommended that the roomId specified when creating a room be generated and delivered by the business backend, to ensure the uniqueness and stability of the room ID across the entire application globally.
39
+ >
40
+
41
+ - **Example 1: A user creates a room**
42
+
43
+ ``` typescript
44
+ import { useRoomState } from 'tuikit-atomicx-vue3/room';
45
+ const { createAndJoinRoom } = useRoomState();
46
+
47
+ await createAndJoinRoom({
48
+ roomId: 'YOUR_ROOM_ID', // Specify the room ID, generated by the business backend
49
+ })
50
+ ```
51
+ - **Example 2: A user creates a room and specifies the room name**
52
+
53
+ ``` typescript
54
+ import { useRoomState } from 'tuikit-atomicx-vue3/room';
55
+ const { createAndJoinRoom } = useRoomState();
56
+
57
+ await createAndJoinRoom({
58
+ roomId: 'YOUR_ROOM_ID', // Specify the room ID, generated by the business backend
59
+ options: {
60
+ roomName: 'My Temporary Room'
61
+ }
62
+ })
63
+ ```
64
+ - **Example 3: A user creates a password-protected room**
65
+
66
+ ``` typescript
67
+ import { useRoomState } from 'tuikit-atomicx-vue3/room';
68
+ const { createAndJoinRoom } = useRoomState();
69
+
70
+ await createAndJoinRoom({
71
+ roomId: 'YOUR_ROOM_ID', // Specify the room ID, generated by the business backend
72
+ options: {
73
+ roomName: 'My Temporary Room',
74
+ password: '123456',
75
+ }
76
+ })
77
+ ```
78
+
79
+ > **Note:**
80
+ >
81
+
82
+ > When the creator calls [createAndJoinRoom](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#createAndJoinRoom), they automatically join the room without needing to enter the password.
83
+ >
84
+
85
+ - **Example 4: A user creates a room and configures member management settings**
86
+
87
+ ``` typescript
88
+ import { useRoomState } from 'tuikit-atomicx-vue3/room';
89
+ const { createAndJoinRoom } = useRoomState();
90
+
91
+ await createAndJoinRoom({
92
+ roomId: 'YOUR_ROOM_ID', // Specify the room ID, generated by the business backend
93
+ options: {
94
+ roomName: 'My Temporary Room',
95
+ password: '123456',
96
+ isAllMicrophoneDisabled: true, // Enable mute-all
97
+ isAllCameraDisabled: true, // Enable disable-all-cameras
98
+ isAllScreenShareDisabled: true, // Enable disable-all-screen-sharing
99
+ isAllMessageDisabled: true, // Enable disable-all-in-room-messages
100
+ }
101
+ })
102
+ ```
103
+
104
+ > **Note:**
105
+ >
106
+
107
+ > Member management configuration only applies to regular participants; the room owner and administrators are not restricted. If you need to modify the member management configuration after the room is created or manage individual member permissions separately, please refer to Member Management.
108
+ >
109
+
110
+ ### Step 3: A User Joins an Existing Room
111
+
112
+ A logged-in user can call [joinRoom](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#joinRoom) to join an existing room. Atomicx only supports a user joining one room at a time.
113
+ - **Example 1: A user joins a room**
114
+
115
+ ``` typescript
116
+ import { useRoomState } from 'tuikit-atomicx-vue3/room';
117
+ const { joinRoom } = useRoomState();
118
+
119
+ await joinRoom({
120
+ roomId: 'YOUR_ROOM_ID', // Specify the room ID, generated by the business backend
121
+ })
122
+ ```
123
+ - **Example 2: A user joins a password-protected room**
124
+
125
+ ``` typescript
126
+ import { useRoomState } from 'tuikit-atomicx-vue3/room';
127
+ const { joinRoom } = useRoomState();
128
+
129
+ await joinRoom({
130
+ roomId: 'YOUR_ROOM_ID', // Specify the room ID, generated by the business backend
131
+ password: '123456',
132
+ })
133
+ ```
134
+
135
+ ### Step 4: Update Room Information
136
+
137
+ The room owner can use [updateRoomInfo](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#updateRoomInfo) to update the room name and password after creating the room.
138
+ ``` typescript
139
+ import { useRoomState } from 'tuikit-atomicx-vue3/room';
140
+ const { updateRoomInfo } = useRoomState();
141
+
142
+ await updateRoomInfo({
143
+ roomId: 'YOUR_ROOM_ID', // Specify the room ID, generated by the business backend
144
+ options: {
145
+ roomName: 'New Room Name',
146
+ password: '234567',
147
+ },
148
+ })
149
+ ```
150
+
151
+ > **Note:**
152
+ >
153
+
154
+ > The room owner must be inside the room to call [updateRoomInfo](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#updateRoomInfo). If the room owner has already left the room, they need to rejoin before they can update the room information.
155
+ >
156
+
157
+ ### Step 5: Leave a Room
158
+
159
+ Both the room owner and regular users can call the [leaveRoom](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#leaveRoom) interface to leave a room. The prerequisite for using this interface is that the user has already joined the room via the [createAndJoinRoom](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#createAndJoinRoom) or [joinRoom](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#joinRoom) interface.
160
+ ``` typescript
161
+ import { useRoomState } from 'tuikit-atomicx-vue3/room';
162
+ const { leaveRoom } = useRoomState();
163
+
164
+ await leaveRoom();
165
+ ```
166
+
167
+ ### Step 6: Destroy a Room
168
+
169
+ Only the room owner can call the [endRoom](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#endRoom) interface to destroy a room. The prerequisite for using this interface is that the user has created the room via [createAndJoinRoom](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#createAndJoinRoom) or has already obtained the room owner identity.
170
+ ``` typescript
171
+ import { useRoomState } from 'tuikit-atomicx-vue3/room';
172
+ const { endRoom } = useRoomState();
173
+
174
+ await endRoom();
175
+ ```
176
+
177
+ > **Note:**
178
+ >
179
+ > - If the room owner leaves the room but does not call [endRoom](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#endRoom), the room will continue to exist until the automatic reclamation condition is met (no users for 6 consecutive hours).
180
+ > - The room owner can transfer the room owner identity to another user via the [transferOwner](https://web.sdk.qcloud.com/trtc/live/web/doc/en/index.html#transferOwner) interface.
181
+
182
+ ### Step 7: Handling Abnormal Exits
183
+
184
+ #### Handling the Room Destroyed Event
185
+
186
+ Regular users can listen to the `RoomEvent.onRoomEnded` event to handle the business interaction for when a room is destroyed.
187
+ ``` typescript
188
+ import { useRoomState, RoomEvent } from 'tuikit-atomicx-vue3/room';
189
+ import { TUIMessageBox } from '@tencentcloud/uikit-base-component-vue3';
190
+ const { subscribeEvent, unsubscribeEvent } = useRoomState();
191
+
192
+ function onRoomEnded() {
193
+ TUIMessageBox.alert({
194
+ title: 'Notice',
195
+ content: 'The room owner has dismissed the room',
196
+ });
197
+ }
198
+
199
+ // Listen to RoomEvent when the component is mounted
200
+ subscribeEvent(RoomEvent.onRoomEnded, onRoomEnded);
201
+ // Cancel the RoomEvent listener when the component is destroyed
202
+ unsubscribeEvent(RoomEvent.onRoomEnded, onRoomEnded);
203
+ ```
204
+
205
+ #### Handling the User Kicked Out Event
206
+
207
+ Regular users can listen to the `RoomParticipantEvent.onKickedFromRoom` event to handle the business interaction for when a user is kicked out of the room.
208
+ ``` typescript
209
+ import { useRoomParticipantState, RoomParticipantEvent, KickedOutOfRoomReason } from 'tuikit-atomicx-vue3/room';
210
+ import { TUIMessageBox } from '@tencentcloud/uikit-base-component-vue3';
211
+
212
+ const { subscribeEvent, unsubscribeEvent } = useRoomParticipantState();
213
+
214
+ function onKickedFromRoom({ reason }: { reason: KickedOutOfRoomReason; message: string }) {
215
+ let notice = '';
216
+ switch (reason) {
217
+ case KickedOutOfRoomReason.KickedByAdmin:
218
+ notice = 'You have been removed from the room by the room owner';
219
+ break;
220
+ case KickedOutOfRoomReason.ReplacedByAnotherDevice:
221
+ notice = 'Your account has logged in on another device';
222
+ break;
223
+ case KickedOutOfRoomReason.KickedByServer:
224
+ notice = 'You have been removed from the room by the server';
225
+ break;
226
+ case KickedOutOfRoomReason.ConnectionTimeout:
227
+ notice = 'Network connection timed out, exiting the room';
228
+ break;
229
+ case KickedOutOfRoomReason.InvalidStatusOnReconnect:
230
+ notice = 'The room has been dismissed or you were removed while offline';
231
+ break;
232
+ case KickedOutOfRoomReason.RoomLimitExceeded:
233
+ notice = 'The room has reached its participant limit and cannot be joined';
234
+ break;
235
+ default:
236
+ notice = 'You have been removed from the room';
237
+ break;
238
+ }
239
+ TUIMessageBox.alert({
240
+ title: 'Notice',
241
+ content: notice,
242
+ });
243
+ }
244
+
245
+ // Listen to RoomParticipantEvent when the component is mounted
246
+ subscribeEvent(RoomParticipantEvent.onKickedFromRoom, onKickedFromRoom);
247
+ // Cancel the RoomParticipantEvent listener when the component is destroyed
248
+ unsubscribeEvent(RoomParticipantEvent.onKickedFromRoom, onKickedFromRoom);
249
+ ```
250
+
251
+ ## Advanced Implementation
252
+
253
+ The current document describes quickly creating and immediately joining a room, which is suitable for instant multi-person audio/video communication scenarios.
254
+
255
+ However, in real-world business scenarios, we often need to plan ahead: set the room topic, schedule specific start and end times, and invite participants. Participants can receive a reminder before the multi-person audio/video room begins and join on time.
256
+
257
+ Atomicx provides complete scheduled room capabilities, including:
258
+ - **Schedule rooms:** Set the multi-person room time and participant list in advance.
259
+
260
+ - **Scheduled list**: View and manage all your upcoming multi-person rooms.
261
+
262
+ - **Join reminders:** Support automatic reminder logic before the start.
263
+
264
+ If you need to implement the more complex business logic for managing multi-person audio/video rooms described above, please refer to: Schedule Room.
265
+
266
+ ## FAQ
267
+
268
+ ### If there are no more users in a room but the room has not been dismissed, will the room exist indefinitely?
269
+
270
+ When there are no users entering a room for 6 consecutive hours, the backend will attempt to reclaim the room.
271
+
272
+ ### If there are no more users in a room but the room has not been dismissed, will it incur any cost?
273
+
274
+ A room that has no users but has not been dismissed only occupies the group count of your package; it does not incur minute consumption or additional cost.
275
+
276
+ ### Can a user join multiple rooms at the same time?
277
+
278
+ ### What is the maximum number of people that can join a room at the same time?
279
+
280
+ The maximum number of users in a room depends on your package. For details, see the [TUIRoomKit Package Description](https://cloud.tencent.com/document/product/647/104842#function).