@tencentcloud/sdk-mcp 1.6.4 → 1.6.5

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 (299) hide show
  1. package/knowledge/build-index.js +1 -1
  2. package/knowledge/chunker.js +81 -52
  3. package/knowledge/path-meta.js +181 -21
  4. package/knowledge/search/exact-lookup.js +166 -0
  5. package/knowledge/search/filter-pool.js +73 -19
  6. package/knowledge/search/product-scope-intent.js +2 -2
  7. package/knowledge/search/requires-framework.js +1 -1
  8. package/knowledge/search/search-knowledge.js +234 -57
  9. package/package.json +1 -1
  10. package/resource/_schema/feature-aliases.yaml +1 -0
  11. package/resource/integration/callkit/preset/android/integration.md +3 -5
  12. package/resource/integration/callkit/preset/flutter/integration.md +2 -3
  13. package/resource/integration/callkit/preset/ios/integration.md +2 -5
  14. package/resource/integration/callkit/preset/react/integration.md +12 -26
  15. package/resource/integration/callkit/preset/vue/integration.md +17 -33
  16. package/resource/integration/chat/preset/android/integration.md +44 -14
  17. package/resource/integration/chat/preset/flutter/integration.md +54 -13
  18. package/resource/integration/chat/preset/ios/integration.md +42 -6
  19. package/resource/integration/chat/preset/react/integration.md +30 -28
  20. package/resource/integration/chat/preset/uni-app/integration.md +101 -40
  21. package/resource/integration/chat/preset/vue/integration.md +62 -28
  22. package/resource/integration/livekit/preset/live/android/live-audience-integration.md +133 -0
  23. package/resource/integration/livekit/preset/live/android/live-host-integration.md +225 -0
  24. package/resource/integration/livekit/preset/live/android/live-list-integration.md +278 -0
  25. package/resource/integration/livekit/preset/live/android/prepare-integration.md +271 -0
  26. package/resource/integration/livekit/preset/live/ios/live-audience-integration.md +207 -0
  27. package/resource/integration/livekit/preset/live/ios/live-host-integration.md +358 -0
  28. package/resource/integration/livekit/preset/live/ios/live-list-integration.md +246 -0
  29. package/resource/integration/livekit/preset/live/ios/prepare-integration.md +218 -0
  30. package/resource/integration/livekit/preset/live/vue/live-list-integration.md +4 -7
  31. package/resource/integration/livekit/preset/live/vue/live-player-desk-integration.md +5 -12
  32. package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +4 -11
  33. package/resource/integration/livekit/preset/live/vue/live-pusher-integration.md +250 -482
  34. package/resource/integration/roomkit/preset/vue/integration.md +399 -106
  35. package/resource/knowledge/callkit/best-practice/web/callengine-invitation.md +80 -0
  36. package/resource/knowledge/callkit/best-practice/web/callengine-log-control.md +20 -0
  37. package/resource/knowledge/callkit/best-practice/web/callkit-call-vs-calls.md +116 -0
  38. package/resource/knowledge/callkit/core-sdk/android/answer-call.md +11 -15
  39. package/resource/knowledge/callkit/core-sdk/android/make-call.md +10 -13
  40. package/resource/knowledge/callkit/core-sdk/android/offline-push.md +2 -4
  41. package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +10 -17
  42. package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +11 -17
  43. package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +11 -20
  44. package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +10 -15
  45. package/resource/knowledge/callkit/core-sdk/ios/make-call.md +9 -14
  46. package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +12 -18
  47. package/resource/knowledge/callkit/core-sdk/miniprogram/call-engine.md +390 -0
  48. package/resource/knowledge/callkit/core-sdk/miniprogram/call-event.md +317 -0
  49. package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +16 -22
  50. package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +17 -23
  51. package/resource/knowledge/callkit/core-sdk/web/call-engine.md +39 -0
  52. package/resource/knowledge/callkit/core-sdk/web/call-event.md +341 -0
  53. package/resource/knowledge/callkit/core-sdk/web/callengine-api-overview.md +39 -0
  54. package/resource/knowledge/callkit/faq/android.md +1 -5
  55. package/resource/knowledge/callkit/faq/common.md +10 -12
  56. package/resource/knowledge/callkit/faq/ios.md +5 -7
  57. package/resource/knowledge/callkit/faq/uniapp-app.md +7 -7
  58. package/resource/knowledge/callkit/faq/uniapp-miniprogram.md +9 -12
  59. package/resource/knowledge/callkit/faq/web.md +2 -12
  60. package/resource/knowledge/callkit/preset/android/api.md +5 -8
  61. package/resource/knowledge/callkit/preset/ios/api.md +4 -6
  62. package/resource/knowledge/callkit/preset/miniprogram/api.md +295 -0
  63. package/resource/knowledge/callkit/preset/react/api.md +622 -0
  64. package/resource/knowledge/callkit/preset/react/uikit-api-reference.md +475 -0
  65. package/resource/knowledge/callkit/preset/vue/api.md +622 -0
  66. package/resource/knowledge/callkit/preset/vue/uikit-api-reference.md +587 -0
  67. package/resource/knowledge/callkit/preset/web/api.md +1 -1
  68. package/resource/knowledge/chat/best-practice/web/image-message-url-handling.md +16 -0
  69. package/resource/knowledge/chat/preset/android/features/chat-setting.md +1 -1
  70. package/resource/knowledge/chat/preset/android/features/conversation-list.md +0 -1
  71. package/resource/knowledge/chat/preset/android/features/language.md +2 -4
  72. package/resource/knowledge/chat/preset/android/features/message-input.md +1 -1
  73. package/resource/knowledge/chat/preset/android/features/message-list.md +1 -2
  74. package/resource/knowledge/chat/preset/android/features/search.md +0 -1
  75. package/resource/knowledge/chat/preset/android/features/theme.md +1 -1
  76. package/resource/knowledge/chat/preset/android-view/integration.md +35 -10
  77. package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +0 -1
  78. package/resource/knowledge/chat/preset/flutter/features/language.md +1 -1
  79. package/resource/knowledge/chat/preset/flutter/features/message-list.md +0 -1
  80. package/resource/knowledge/chat/preset/flutter/features/search.md +4 -5
  81. package/resource/knowledge/chat/preset/flutter/features/theme.md +1 -1
  82. package/resource/knowledge/chat/preset/ios/features/chat-setting.md +1 -1
  83. package/resource/knowledge/chat/preset/ios/features/conversation-list.md +0 -1
  84. package/resource/knowledge/chat/preset/ios/features/language.md +2 -5
  85. package/resource/knowledge/chat/preset/ios/features/message-list.md +0 -1
  86. package/resource/knowledge/chat/preset/ios/features/search.md +0 -1
  87. package/resource/knowledge/chat/preset/ios/features/theme.md +1 -1
  88. package/resource/knowledge/chat/preset/ios-uikit/integration.md +57 -166
  89. package/resource/knowledge/chat/preset/react/features/chat-setting.md +0 -1
  90. package/resource/knowledge/chat/preset/react/features/conversation-actions.md +3 -3
  91. package/resource/knowledge/chat/preset/react/features/conversation-list.md +3 -3
  92. package/resource/knowledge/chat/preset/react/features/conversation-preview.md +1 -1
  93. package/resource/knowledge/chat/preset/react/features/message-input.md +2 -3
  94. package/resource/knowledge/chat/preset/react/features/search.md +0 -1
  95. package/resource/knowledge/chat/preset/vue/features/chat-header.md +1 -1
  96. package/resource/knowledge/chat/preset/vue/features/chat-setting.md +3 -4
  97. package/resource/knowledge/chat/preset/vue/features/conversation-list.md +4 -4
  98. package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +1 -1
  99. package/resource/knowledge/chat/preset/vue/features/message-input.md +2 -2
  100. package/resource/knowledge/chat/preset/vue/features/message-list.md +2 -2
  101. package/resource/knowledge/chat/preset/vue/features/search.md +0 -1
  102. package/resource/knowledge/chat/preset/vue/features/theme.md +4 -4
  103. package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +0 -7
  104. package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +2 -5
  105. package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +12 -15
  106. package/resource/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +0 -1
  107. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +0 -5
  108. package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +0 -3
  109. package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +0 -2
  110. package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +2 -4
  111. package/resource/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +0 -2
  112. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +0 -2
  113. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +0 -1
  114. package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +2 -4
  115. package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +1 -3
  116. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +0 -7
  117. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +3 -6
  118. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +0 -1
  119. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +12 -15
  120. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +0 -5
  121. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +0 -3
  122. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +0 -2
  123. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +2 -4
  124. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +0 -2
  125. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +0 -2
  126. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +0 -1
  127. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +2 -4
  128. package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +1 -3
  129. package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +0 -7
  130. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +2 -5
  131. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +0 -1
  132. package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +3 -6
  133. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +0 -5
  134. package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +0 -3
  135. package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +0 -2
  136. package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +2 -4
  137. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +0 -2
  138. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +0 -2
  139. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +0 -1
  140. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +2 -4
  141. package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +1 -3
  142. package/resource/knowledge/livekit/core-sdk/api-reference/vue/capability-matrix.md +82 -0
  143. package/resource/knowledge/livekit/core-sdk/{voice/android/voice-audio-effect.md → features/android/audio-effect.md} +2 -4
  144. package/resource/knowledge/livekit/core-sdk/{live/android/live-barrage.md → features/android/barrage.md} +1 -1
  145. package/resource/knowledge/livekit/core-sdk/{live/android/live-base-beauty.md → features/android/base-beauty.md} +1 -1
  146. package/resource/knowledge/livekit/core-sdk/{voice/android/voice-gift.md → features/android/gift.md} +2 -3
  147. package/resource/knowledge/livekit/core-sdk/{live/android/live-live-list.md → features/android/live-list.md} +1 -1
  148. package/resource/knowledge/livekit/core-sdk/{live/flutter/live-audio-effect.md → features/flutter/audio-effect.md} +0 -2
  149. package/resource/knowledge/livekit/core-sdk/{voice/flutter/voice-barrage.md → features/flutter/barrage.md} +3 -3
  150. package/resource/knowledge/livekit/core-sdk/{voice/flutter/voice-gift.md → features/flutter/gift.md} +2 -2
  151. package/resource/knowledge/livekit/core-sdk/{voice/flutter/voice-room-list.md → features/flutter/live-list.md} +1 -1
  152. package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-audience-list.md → features/ios/audience-list.md} +1 -1
  153. package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-audio-effect.md → features/ios/audio-effect.md} +1 -3
  154. package/resource/knowledge/livekit/core-sdk/{voice/ios/voice-barrage.md → features/ios/barrage.md} +2 -2
  155. package/resource/knowledge/livekit/core-sdk/{live/ios/live-base-beauty.md → features/ios/base-beauty.md} +1 -1
  156. package/resource/knowledge/livekit/core-sdk/{live/ios/live-gift.md → features/ios/gift.md} +8 -9
  157. package/resource/knowledge/livekit/core-sdk/{live/ios/live-live-list.md → features/ios/live-list.md} +2 -2
  158. package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-audio-effect.md → features/uni-app/audio-effect.md} +2 -3
  159. package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-barrage.md → features/uni-app/barrage.md} +2 -2
  160. package/resource/knowledge/livekit/core-sdk/features/uni-app/base-beauty.md +145 -0
  161. package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-gift.md → features/uni-app/gift.md} +6 -7
  162. package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-room-list.md → features/uni-app/live-list.md} +1 -1
  163. package/resource/knowledge/livekit/core-sdk/live/android/{live-co-guest-interaction.md → co-guest-interaction.md} +2 -3
  164. package/resource/knowledge/livekit/core-sdk/live/android/{live-host-interaction.md → host-interaction.md} +2 -4
  165. package/resource/knowledge/livekit/core-sdk/live/android/{live-integration.md → integration.md} +6 -9
  166. package/resource/knowledge/livekit/core-sdk/live/flutter/{live-host-interaction.md → host-interaction.md} +1 -3
  167. package/resource/knowledge/livekit/core-sdk/live/flutter/{live-integration.md → integration.md} +1 -6
  168. package/resource/knowledge/livekit/core-sdk/live/ios/{live-co-guest-interaction.md → co-guest-interaction.md} +2 -3
  169. package/resource/knowledge/livekit/core-sdk/live/ios/{live-host-interaction.md → host-interaction.md} +3 -5
  170. package/resource/knowledge/livekit/core-sdk/live/ios/{live-integration.md → integration.md} +7 -10
  171. package/resource/knowledge/livekit/core-sdk/live/uni-app/co-guest-interaction.md +561 -0
  172. package/resource/knowledge/livekit/core-sdk/live/uni-app/host-interaction.md +323 -0
  173. package/resource/knowledge/livekit/core-sdk/live/uni-app/integration.md +312 -0
  174. package/resource/knowledge/livekit/core-sdk/voice/android/{voice-co-guest-interaction.md → co-guest-interaction.md} +3 -3
  175. package/resource/knowledge/livekit/core-sdk/voice/android/{voice-host-interaction.md → host-interaction.md} +2 -4
  176. package/resource/knowledge/livekit/core-sdk/voice/android/{voice-integration.md → integration.md} +11 -14
  177. package/resource/knowledge/livekit/core-sdk/voice/flutter/{voice-co-guest-interaction.md → co-guest-interaction.md} +0 -1
  178. package/resource/knowledge/livekit/core-sdk/voice/flutter/{voice-integration.md → integration.md} +1 -4
  179. package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-co-guest-interaction.md → co-guest-interaction.md} +3 -3
  180. package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-host-interaction.md → host-interaction.md} +2 -4
  181. package/resource/knowledge/livekit/core-sdk/voice/ios/{voice-integration.md → integration.md} +7 -10
  182. package/resource/knowledge/livekit/core-sdk/voice/uni-app/{voice-co-guest-interaction.md → co-guest-interaction.md} +6 -6
  183. package/resource/knowledge/livekit/core-sdk/voice/uni-app/{voice-integration.md → integration.md} +6 -7
  184. package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +2 -3
  185. package/resource/knowledge/livekit/preset/live/vue/features/live-audience-list.md +1 -1
  186. package/resource/knowledge/livekit/preset/live/vue/features/live-view.md +1 -1
  187. package/resource/knowledge/push/api-reference/android.md +337 -0
  188. package/resource/knowledge/push/api-reference/donut.md +190 -0
  189. package/resource/knowledge/push/api-reference/flutter.md +176 -0
  190. package/resource/knowledge/push/api-reference/harmonyos.md +140 -0
  191. package/resource/knowledge/push/api-reference/ios.md +537 -0
  192. package/resource/knowledge/push/api-reference/react-native.md +154 -0
  193. package/resource/knowledge/push/api-reference/uni-app.md +148 -0
  194. package/resource/knowledge/push/api-reference/unity.md +119 -0
  195. package/resource/knowledge/push/api-reference/unreal-engine.md +123 -0
  196. package/resource/knowledge/push/config/android/fcm.md +1 -8
  197. package/resource/knowledge/push/config/android/honor.md +3 -7
  198. package/resource/knowledge/push/config/android/huawei.md +0 -5
  199. package/resource/knowledge/push/config/android/meizu.md +0 -5
  200. package/resource/knowledge/push/config/android/oppo.md +0 -4
  201. package/resource/knowledge/push/config/android/vivo.md +0 -4
  202. package/resource/knowledge/push/config/android/xiaomi.md +0 -2
  203. package/resource/knowledge/push/config/donut.md +33 -46
  204. package/resource/knowledge/push/config/harmonyos.md +6 -9
  205. package/resource/knowledge/push/config/ios.md +2 -9
  206. package/resource/knowledge/push/config/react-native.md +17 -25
  207. package/resource/knowledge/push/config/unity.md +16 -24
  208. package/resource/knowledge/push/config/unreal-engine.md +16 -24
  209. package/resource/knowledge/push/integration/android.md +21 -21
  210. package/resource/knowledge/push/integration/donut.md +24 -34
  211. package/resource/knowledge/push/integration/flutter.md +12 -1
  212. package/resource/knowledge/push/integration/harmonyos.md +2 -1
  213. package/resource/knowledge/push/integration/ios.md +16 -10
  214. package/resource/knowledge/push/integration/react-native.md +10 -14
  215. package/resource/knowledge/push/integration/uni-app.md +10 -6
  216. package/resource/knowledge/push/integration/unity.md +19 -22
  217. package/resource/knowledge/push/integration/unreal-engine.md +7 -9
  218. package/resource/knowledge/push/overview/prepare.md +2 -2
  219. package/resource/knowledge/roomkit/core-sdk/android/capability-matrix.md +46 -0
  220. package/resource/knowledge/roomkit/core-sdk/android/unsupported-features.md +82 -0
  221. package/resource/knowledge/roomkit/core-sdk/flutter/capability-matrix.md +46 -0
  222. package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +1 -1
  223. package/resource/knowledge/roomkit/core-sdk/flutter/unsupported-features.md +82 -0
  224. package/resource/knowledge/roomkit/core-sdk/ios/capability-matrix.md +46 -0
  225. package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +1 -1
  226. package/resource/knowledge/roomkit/core-sdk/ios/unsupported-features.md +82 -0
  227. package/resource/knowledge/roomkit/core-sdk/vue/call-user-to-room.md +1 -1
  228. package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +0 -4
  229. package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +2 -5
  230. package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +0 -3
  231. package/resource/knowledge/roomkit/core-sdk/vue/room-participant-state.md +0 -2
  232. package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +2 -6
  233. package/resource/knowledge/roomkit/core-sdk/vue/room-view.md +0 -1
  234. package/resource/knowledge/roomkit/core-sdk/vue/schedule-room.md +1 -1
  235. package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +2 -4
  236. package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +2 -3
  237. package/resource/knowledge/roomkit/preset/android/integration.md +14 -16
  238. package/resource/knowledge/roomkit/preset/flutter/integration.md +9 -17
  239. package/resource/knowledge/roomkit/preset/ios/integration.md +9 -17
  240. package/resource/knowledge/roomkit/preset/react/integration.md +0 -4
  241. package/resource/knowledge/trtc/android/TRTCCloud.md +97 -180
  242. package/resource/knowledge/trtc/android/TRTCCloudDef.md +20 -20
  243. package/resource/knowledge/trtc/android/TRTCCloudListener.md +43 -77
  244. package/resource/knowledge/trtc/android/TRTCStatistics.md +1 -1
  245. package/resource/knowledge/trtc/android/TXAudioEffectManager.md +4 -24
  246. package/resource/knowledge/trtc/android/TXDeviceManager.md +2 -2
  247. package/resource/knowledge/trtc/android/TXLiteAVCode.md +1 -1
  248. package/resource/knowledge/trtc/c++/ITRTCCloud.md +96 -189
  249. package/resource/knowledge/trtc/c++/ITRTCStatistics.md +1 -1
  250. package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +1 -21
  251. package/resource/knowledge/trtc/c++/ITXDeviceManager.md +4 -6
  252. package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +42 -76
  253. package/resource/knowledge/trtc/c++/TRTCTypeDef.md +18 -19
  254. package/resource/knowledge/trtc/c++/TXLiteAVCode.md +1 -1
  255. package/resource/knowledge/trtc/ios/TRTCCloud.md +95 -181
  256. package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +43 -78
  257. package/resource/knowledge/trtc/ios/TRTCStatistics.md +1 -1
  258. package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +1 -20
  259. package/resource/knowledge/trtc/ios/TXDeviceManager.md +4 -6
  260. package/resource/knowledge/trtc/ios/TXLiteAVCode.md +1 -1
  261. package/resource/knowledge/trtc/ios/TXLiveSDKTypeDef.md +20 -20
  262. package/server.js +2 -2
  263. package/tools/common/finalize_answer.js +1 -1
  264. package/tools/common/present_framework_choice.js +2 -2
  265. package/tools/common/search_trtc_knowledge.js +3 -3
  266. package/tools/common/submit_feedback.js +1 -1
  267. package/tools/definitions/get_native_live_uikit_integration_def.js +60 -0
  268. package/tools/definitions/get_native_livekit_core_integration_def.js +1 -1
  269. package/tools/definitions/present_framework_choice_def.js +2 -2
  270. package/tools/definitions/search_trtc_knowledge_def.js +5 -5
  271. package/tools/index.js +2 -0
  272. package/tools/live/get_native_live_uikit_integration.js +69 -0
  273. package/tools/live/get_native_livekit_core_integration.js +6 -6
  274. package/utils/report-cls-client.js +1 -1
  275. package/utils/report-es-client.js +1 -1
  276. package/resource/index/component-slugs.json +0 -1
  277. package/resource/index/doc-source-urls.json +0 -1
  278. package/resource/index/manifest.json +0 -1
  279. package/resource/knowledge/livekit/core-sdk/live/android/live-audio-effect.md +0 -229
  280. package/resource/knowledge/livekit/core-sdk/live/android/live-gift.md +0 -459
  281. package/resource/knowledge/livekit/core-sdk/live/flutter/live-barrage.md +0 -506
  282. package/resource/knowledge/livekit/core-sdk/live/flutter/live-gift.md +0 -427
  283. package/resource/knowledge/livekit/core-sdk/live/flutter/live-live-list.md +0 -726
  284. package/resource/knowledge/livekit/core-sdk/live/ios/live-audience-list.md +0 -265
  285. package/resource/knowledge/livekit/core-sdk/live/ios/live-audio-effect.md +0 -214
  286. package/resource/knowledge/livekit/core-sdk/live/ios/live-barrage.md +0 -427
  287. package/resource/knowledge/livekit/core-sdk/voice/android/voice-audience-list.md +0 -272
  288. package/resource/knowledge/livekit/core-sdk/voice/android/voice-barrage.md +0 -486
  289. package/resource/knowledge/livekit/core-sdk/voice/android/voice-room-list.md +0 -523
  290. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audience-list.md +0 -262
  291. package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audio-effect.md +0 -600
  292. package/resource/knowledge/livekit/core-sdk/voice/ios/voice-gift.md +0 -411
  293. package/resource/knowledge/livekit/core-sdk/voice/ios/voice-room-list.md +0 -404
  294. /package/resource/knowledge/livekit/core-sdk/api-reference/{web → vue}/index.md +0 -0
  295. /package/resource/knowledge/livekit/core-sdk/{live/android/live-audience-list.md → features/android/audience-list.md} +0 -0
  296. /package/resource/knowledge/livekit/core-sdk/{live/flutter/live-audience-list.md → features/flutter/audience-list.md} +0 -0
  297. /package/resource/knowledge/livekit/core-sdk/{live/flutter/live-base-beauty.md → features/flutter/base-beauty.md} +0 -0
  298. /package/resource/knowledge/livekit/core-sdk/{voice/uni-app/voice-audience-list.md → features/uni-app/audience-list.md} +0 -0
  299. /package/resource/knowledge/livekit/core-sdk/live/flutter/{live-co-guest-interaction.md → co-guest-interaction.md} +0 -0
@@ -1,106 +1,440 @@
1
- TUIRoomKit 是腾讯云推出的音视频房间 UI 应用。本次升级引入了全新的原子化组件接入方案,开发者可以灵活组合这些原子化组件,以构建个性化的音视频房间界面。
1
+ 本文档介绍如何在 Vue 3 业务项目中集成 TUIRoomKit,快速获得开箱即用的多人音视频会议能力。
2
2
 
3
- > 推荐使用更高效的 AI 集成助手
4
- >
3
+ <style>
4
+ .vsdk-survey-card * {
5
+ box-sizing: border-box;
6
+ }
5
7
 
6
- > 我们为您提供了全新的 AI 集成方式,只需要描述您的需求,即可自动生成集成代码,大幅提升开发效率。
7
- >
8
+ .vsdk-survey-card {
9
+ position: relative;
10
+ display: flex;
11
+ align-items: center;
12
+ justify-content: space-between;
13
+ gap: 20px;
14
+ padding: 18px 22px;
15
+ margin: 16px 0;
16
+ border-radius: 14px;
17
+ overflow: hidden;
18
+ background: linear-gradient(180deg, #FFFFFF 0%, #F8FBFF 100%);
19
+ border: 1px solid #D7E8FF;
20
+ box-shadow: 0 4px 16px rgba(0,110,255,.05);
21
+ transition: all .25s ease;
22
+ }
8
23
 
9
- > 点击这里,立即体验 AI 集成
10
- >
24
+ .vsdk-survey-card::before{
25
+ content:"";
26
+ position:absolute;
27
+ right:-60px;
28
+ top:-60px;
29
+ width:180px;
30
+ height:180px;
31
+ background:radial-gradient(circle,
32
+ rgba(0,110,255,.16) 0%,
33
+ rgba(0,110,255,.08) 45%,
34
+ transparent 75%);
35
+ pointer-events:none;
36
+ }
37
+
38
+ .vsdk-survey-card::after{
39
+ content:"";
40
+ position:absolute;
41
+ left:-40px;
42
+ bottom:-60px;
43
+ width:120px;
44
+ height:120px;
45
+ background:radial-gradient(circle,
46
+ rgba(76,169,255,.08),
47
+ transparent 70%);
48
+ pointer-events:none;
49
+ }
50
+
51
+ .vsdk-survey-card:hover{
52
+ border-color:#006EFF;
53
+ box-shadow:
54
+ 0 10px 28px rgba(0,110,255,.10),
55
+ 0 0 36px rgba(0,110,255,.08);
56
+ transform:translateY(-2px);
57
+ }
58
+
59
+ .vsdk-card-left{
60
+ display:flex;
61
+ align-items:center;
62
+ gap:14px;
63
+ flex:1;
64
+ min-width:0;
65
+ position:relative;
66
+ z-index:1;
67
+ }
68
+
69
+ .vsdk-ico{
70
+ width:46px;
71
+ height:46px;
72
+ flex:0 0 46px;
73
+ border-radius:12px;
74
+ background:linear-gradient(180deg,#EDF5FF,#DCEBFF);
75
+ display:flex;
76
+ align-items:center;
77
+ justify-content:center;
78
+ font-size:22px;
79
+ box-shadow:
80
+ inset 0 1px 0 rgba(255,255,255,.8),
81
+ 0 6px 18px rgba(0,110,255,.12);
82
+ }
83
+
84
+ .vsdk-text{
85
+ min-width:0;
86
+ }
87
+
88
+ .vsdk-title{
89
+ display:flex;
90
+ align-items:center;
91
+ gap:8px;
92
+ flex-wrap:wrap;
93
+ font-size:18px;
94
+ font-weight:600;
95
+ color:#1F2329;
96
+ line-height:1.4;
97
+ }
98
+
99
+ .vsdk-badge{
100
+ padding:2px 8px;
101
+ border-radius:999px;
102
+ background:#EAF3FF;
103
+ color:#006EFF;
104
+ font-size:11px;
105
+ font-weight:600;
106
+ }
11
107
 
12
- 本文档介绍如何将 TUIRoomKit 集成到现有的 Vue3 项目中,同时介绍如何对 TUIRoomKit 的样式、布局及功能进行自定义修改。
13
- - 桌面端多人会议
108
+ .vsdk-desc{
109
+ margin-top:6px;
110
+ font-size:13px;
111
+ line-height:1.7;
112
+ color:#4E5969;
113
+ }
114
+
115
+ .vsdk-card-right{
116
+ flex-shrink:0;
117
+ position:relative;
118
+ z-index:1;
119
+ }
120
+
121
+ .vsdk-cta{
122
+ display:inline-flex;
123
+ align-items:center;
124
+ justify-content:center;
125
+ min-width:112px;
126
+ height:40px;
127
+ padding:0 22px;
128
+ border-radius:8px;
129
+ background:#006EFF;
130
+ color:#FFFFFF;
131
+ text-decoration:none;
132
+ font-size:14px;
133
+ font-weight:600;
134
+ box-shadow:0 8px 20px rgba(0,110,255,.25);
135
+ transition:all .2s ease;
136
+ }
137
+
138
+ .vsdk-cta:hover{
139
+ background:#0052D9;
140
+ box-shadow:0 10px 24px rgba(0,110,255,.35);
141
+ }
142
+
143
+ @media (max-width:768px){
144
+
145
+ .vsdk-survey-card{
146
+ flex-direction:column;
147
+ align-items:flex-start;
148
+ }
14
149
 
15
- - H5 多人会议
150
+ .vsdk-card-left{
151
+ width:100%;
152
+ align-items:flex-start;
153
+ }
154
+
155
+ .vsdk-title{
156
+ font-size:16px;
157
+ }
158
+
159
+ .vsdk-desc{
160
+ font-size:12px;
161
+ }
162
+
163
+ .vsdk-card-right{
164
+ width:100%;
165
+ margin-top:14px;
166
+ }
167
+
168
+ .vsdk-cta{
169
+ width:100%;
170
+ }
171
+
172
+ }
173
+ </style>
174
+
175
+ <div class="vsdk-survey-card">
176
+
177
+ <div class="vsdk-card-left">
178
+
179
+ <div class="vsdk-ico">💡</div>
180
+
181
+ <div class="vsdk-text">
182
+
183
+ <div class="vsdk-title">
184
+ 缺少您想要的功能?
185
+ <span class="vsdk-badge">优先内测</span>
186
+ </div>
187
+
188
+ <div class="vsdk-desc">
189
+ 如果您在使用视频会议 SDK 时遇到过问题,或希望支持新的能力,欢迎与我们分享。<br />
190
+ 您的反馈将帮助我们持续优化产品,并优先邀请有相关需求的用户参与新功能内测。
191
+ </div>
192
+
193
+ </div>
194
+
195
+ </div>
196
+
197
+ <div class="vsdk-card-right">
198
+ <a class="vsdk-cta" href="https://wj.qq.com/s2/27306813/b61d/" target="_blank">
199
+ 填写问卷
200
+ </a>
201
+ </div>
202
+
203
+ </div>
16
204
 
17
205
  ## 前提条件
18
206
 
19
207
  ### 开通服务
20
208
 
21
209
  请参考 [开通服务](https://cloud.tencent.com/document/product/647/104842) 领取 TUIRoomKit 体验版或开通 TUIRoomKit 正式版,并在 [应用管理](https://console.cloud.tencent.com/trtc) 页面获取以下信息:
22
- - SDKAppID: 应用标识,腾讯云基于 `SDKAppID` 完成计费统计。
210
+ - **SDKAppID:** 应用标识,腾讯云基于 `SDKAppID` 完成计费统计。
23
211
 
24
- - SDKSecretKey: 应用密钥,用于初始化配置文件的密钥信息。
212
+ - **SDKSecretKey:** 应用密钥,用于本地调试时生成 UserSig。
25
213
 
26
214
  ### 环境准备
27
- - Node.js: ≥ 18.19.1 (推荐使用官方 LTS 版本)。
215
+ - **Node.js:** ≥ 18.19.1 (推荐使用官方 LTS 版本)。
216
+
217
+ - **浏览器:**推荐使用最新版 Chrome,或其他支持 [WebRTC API](https://cloud.tencent.com/document/product/647/17249#.E6.94.AF.E6.8C.81.E7.9A.84.E5.B9.B3.E5.8F.B0) 的浏览器。
28
218
 
29
- - Vue: ≥ 3.4.21。
219
+ - **媒体设备:**建议配备摄像头、麦克风和扬声器。缺少相应设备时仍可入会,但对应音视频能力不可用。
30
220
 
31
- - 现代浏览器:支持 [WebRTC APIs](https://cloud.tencent.com/document/product/647/17249#.E6.94.AF.E6.8C.81.E7.9A.84.E5.B9.B3.E5.8F.B0) 的现代浏览器。
221
+ ### 准备 Vue3 项目
32
222
 
33
- - 设备:摄像头、麦克风、扬声器。
223
+ 若您尚未创建 Vue 3 项目,可先执行以下命令初始化;若已有 Vue 3 项目,可跳过本节。
224
+ ``` bash
225
+ # 创建名为 roomkit-demo 的 Vue3 + TypeScript 项目
226
+ npm create vite@5 roomkit-demo -- --template vue-ts
227
+ # 进入项目目录
228
+ cd roomkit-demo
229
+ # 安装基础依赖
230
+ npm install
231
+ ```
34
232
 
35
233
  ## 快速接入
36
234
 
37
- ### 步骤1:安装项目依赖
235
+ 完成前提条件后,按以下步骤在 Vue 3 项目中快速完成 TUIRoomKit 接入,并体验会中能力。
236
+
237
+ ### 步骤1:安装 SDK 依赖
38
238
 
39
239
  在您的业务项目中安装以下依赖。
40
240
 
41
241
  【npm】
42
242
  ``` bash
43
- npm install @tencentcloud/roomkit-web-vue3@5 tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/universal-api
243
+ npm install @tencentcloud/roomkit-web-vue3 tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/universal-api
44
244
  ```
45
245
 
46
246
  【pnpm】
47
247
  ``` bash
48
- pnpm install @tencentcloud/roomkit-web-vue3@5 tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/universal-api
248
+ pnpm install @tencentcloud/roomkit-web-vue3 tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/universal-api
49
249
  ```
50
250
 
51
251
  【yarn】
52
252
  ``` bash
53
- yarn add @tencentcloud/roomkit-web-vue3@5 tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/universal-api
253
+ yarn add @tencentcloud/roomkit-web-vue3 tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/universal-api
54
254
  ```
55
255
 
56
- ### 步骤2:引用 TUIRoomKit 组件
256
+ ### 步骤2:集成会中界面
257
+
258
+ 将以下示例代码复制至 `src/App.vue`,并根据控制台信息替换 `SDKAppID` 与 `SDKSecretKey`。
259
+
260
+ > **注意**:
261
+ >
262
+ > 快速接入示例采用客户端生成 UserSig 的方式,**仅可用于本地开发调试**。正式环境请改为由业务服务端生成 UserSig,详见 [正式运行阶段如何计算 UserSig](https://cloud.tencent.com/document/product/647/17275#formal)。
263
+ >
264
+
57
265
  ``` typescript
58
266
  <template>
59
267
  <UIKitProvider theme="light" language="zh-CN">
60
- <ConferenceMainView v-if="isPC"></ConferenceMainView>
61
- <ConferenceMainViewH5 v-else></ConferenceMainViewH5>
268
+ <ConferenceMainView v-if="inRoom && isPC" />
269
+ <ConferenceMainViewH5 v-else-if="inRoom" />
270
+ <div v-else class="entry">
271
+ <TUIInput v-model="entry.userId" placeholder="请输入用户 ID" />
272
+ <TUIInput v-model="entry.userName" placeholder="请输入昵称" />
273
+ <TUIInput v-model="entry.roomId" placeholder="如 123456" />
274
+ <TUIButton type="primary" :disabled="!entry.userId || !entry.roomId" @click="handleEnterRoom">进入会议</TUIButton>
275
+ </div>
62
276
  </UIKitProvider>
63
277
  </template>
64
278
 
65
279
  <script setup lang="ts">
66
- import { ref } from 'vue';
67
- import { UIKitProvider } from '@tencentcloud/uikit-base-component-vue3';
68
- import { ConferenceMainView, ConferenceMainViewH5 } from '@tencentcloud/roomkit-web-vue3';
280
+ import { ref, onMounted, onUnmounted } from 'vue';
281
+ import { UIKitProvider, TUIInput, TUIButton, TUIToast } from '@tencentcloud/uikit-base-component-vue3';
282
+ import { conference, ConferenceMainView, ConferenceMainViewH5, RoomEvent, genTestUserSig } from '@tencentcloud/roomkit-web-vue3';
69
283
  import { getPlatform } from '@tencentcloud/universal-api';
70
284
 
71
- const isPC = ref(getPlatform() === 'pc');
285
+ const SDKAppID = 0; // 替换为您在开通服务阶段获取的 SDKAppID
286
+ const SDKSecretKey = ''; // 替换为您在开通服务阶段获取的 SDKSecretKey
287
+
288
+ const isPC = getPlatform() === 'pc';
289
+ const inRoom = ref(false);
290
+ const stored = JSON.parse(sessionStorage.getItem('tuiRoom-entry') || '{}');
291
+ const entry = ref({ userId: stored.userId || '', userName: stored.userName || '', roomId: stored.roomId || '' });
292
+
293
+ const handleEnterRoom = async () => {
294
+ sessionStorage.setItem('tuiRoom-entry', JSON.stringify(entry.value));
295
+ if (!SDKAppID || !SDKSecretKey) {
296
+ TUIToast.warning({ message: '请先在代码中配置 SDKAppID 和 SDKSecretKey' });
297
+ return;
298
+ }
299
+ try {
300
+ const { userSig } = genTestUserSig({ userId: entry.value.userId, sdkAppId: SDKAppID, secretKey: SDKSecretKey });
301
+ await conference.login({ sdkAppId: SDKAppID, userId: entry.value.userId, userSig });
302
+ await conference.setSelfInfo({ userName: entry.value.userName, avatarUrl: '' });
303
+ await conference.createAndJoinRoom({ roomId: entry.value.roomId, options: { roomName: `${entry.value.userName || entry.value.userId} 的会议` } });
304
+ inRoom.value = true;
305
+ } catch (error) {
306
+ console.error('进入会议失败:', error);
307
+ }
308
+ };
309
+
310
+ const handleLeave = () => { inRoom.value = false; };
311
+
312
+ onMounted(() => {
313
+ conference.on(RoomEvent.ROOM_LEAVE, handleLeave);
314
+ conference.on(RoomEvent.ROOM_DISMISS, handleLeave);
315
+ });
316
+
317
+ onUnmounted(() => {
318
+ conference.off(RoomEvent.ROOM_LEAVE, handleLeave);
319
+ conference.off(RoomEvent.ROOM_DISMISS, handleLeave);
320
+ });
72
321
  </script>
322
+
323
+ <style>
324
+ html, body, #app { width: 100%; height: 100%; max-width: 100%; max-height: 100%; margin: 0; padding: 0; }
325
+ .entry { display: flex; flex-direction: column; gap: 12px; align-items: center; justify-content: center; height: 100vh; width: 260px; margin: 0 auto; }
326
+ </style>
327
+ ```
328
+
329
+ ### 步骤3:启动并验证
330
+
331
+ 【npm】
332
+ ``` bash
333
+ npm run dev
334
+ ```
335
+
336
+ 【pnpm】
337
+ ``` bash
338
+ pnpm run dev
339
+ ```
340
+
341
+ 【yarn】
342
+ ``` bash
343
+ yarn run dev
344
+ ```
345
+
346
+ 启动成功后,在浏览器访问本地调试地址(通常为 `http://localhost:5173`),填写用户 ID 与房间号,点击 **进入会议**,即可进入 TUIRoomKit 会中界面。
347
+
348
+ **验证多人会议:**建议打开两个浏览器标签页,分别模拟不同用户进入同一房间,验证音视频互通与会中功能。操作步骤如下:
349
+
350
+ **步骤1:**打开两个浏览器标签页,分别填写用户 ID `userA`、`userB` 及相同房间号 `room_123456`,点击 **进入会议**。`userA` 先进入时将自动创建房间并成为房主;`userB` 后进入时将作为参会者加入。
351
+ | 测试用户 A | 测试用户 B |
352
+ | --- | --- |
353
+ | | |
354
+
355
+ **步骤2:** 测试用户均进入会中界面后,可在成员列表中互相看到对方;开启摄像头、麦克风,确认能否看到彼此的画面并听到声音。
356
+ | 测试用户 A | 测试用户 B |
357
+ | --- | --- |
358
+ | | |
359
+
360
+ **步骤3:** 您还可以体验屏幕共享、聊天、成员管理等会中能力,确认多人场景下的基础功能正常。
361
+
362
+ ## 接入详解
363
+
364
+ 快速接入章节以一体化示例帮助您完成首次进房体验。若需将会议能力集成至实际业务,可按会议流程分步集成。本节依次介绍 SDK 依赖安装、TUIRoomKit 组件引用、登录鉴权、创建与加入会议、离开会议、监听会议状态等核心能力的用法。
365
+
366
+ > **推荐使用更高效的 AI 集成助手**
367
+ >
368
+ > 我们为您提供 AI 集成助手:描述业务需求即可自动生成集成代码;接入过程中遇到问题,也可向 AI 咨询答疑。点击这里,立即体验 AI 集成
369
+ >
370
+
371
+ ### 步骤1:安装 SDK 依赖
372
+
373
+ 在您的业务项目中安装 TUIRoomKit 及配套依赖包。
374
+
375
+ 【npm】
376
+ ``` bash
377
+ npm install @tencentcloud/roomkit-web-vue3 tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/universal-api
73
378
  ```
74
379
 
380
+ 【pnpm】
381
+ ``` bash
382
+ pnpm install @tencentcloud/roomkit-web-vue3 tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/universal-api
383
+ ```
384
+
385
+ 【yarn】
386
+ ``` bash
387
+ yarn add @tencentcloud/roomkit-web-vue3 tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 @tencentcloud/universal-api
388
+ ```
389
+
390
+ ### 步骤2:引用 TUIRoomKit 组件
391
+
392
+ TUIRoomKit 提供 Web 桌面端与 H5 移动端两套会中完整界面组件,均从 `@tencentcloud/roomkit-web-vue3` 导出。根据终端类型按需引用:
393
+ - `ConferenceMainView`:面向 Web 桌面端,提供九宫格 / 侧边栏 / 顶部栏等视频布局,内置摄像头、麦克风、屏幕共享、成员管理、聊天、邀请入会等完整会中能力。
394
+
395
+ - `ConferenceMainViewH5`:面向 H5 移动端,采用移动端专属布局与交互,支持摄像头、麦克风、成员列表、聊天等核心会中能力,适配手机浏览器场景。
396
+
397
+ 组件须包裹在 `UIKitProvider` 内,并通过 `getPlatform()` 区分 Web 与 H5 终端后按需渲染:
398
+
399
+ ``` typescript
400
+ <template>
401
+ <UIKitProvider theme="light" language="zh-CN">
402
+ <ConferenceMainView v-if="isPC"></ConferenceMainView>
403
+ <ConferenceMainViewH5 v-else></ConferenceMainViewH5>
404
+ </UIKitProvider>
405
+ </template>
406
+
407
+ <script setup lang="ts">
408
+ import { ref } from 'vue';
409
+ import { UIKitProvider } from '@tencentcloud/uikit-base-component-vue3';
410
+ import { ConferenceMainView, ConferenceMainViewH5 } from '@tencentcloud/roomkit-web-vue3';
411
+ import { getPlatform } from '@tencentcloud/universal-api';
412
+
413
+ const isPC = ref(getPlatform() === 'pc');
414
+ </script>
415
+ ```
416
+
75
417
  ### 步骤3:登录
76
418
 
77
- 登录是使用 TUIRoomKit 一切功能的基础。通常建议在您的业务系统完成鉴权(用户登录您的 Web 页面)后,立即调用 **conference.login **方法登录 TUIRoomKit。调用 `conference.login` 完成鉴权后,建议同步调用 `conference.setSelfInfo` 来设置当前用户的展示昵称和头像,这些信息将在随后的参会者视频区域和成员列表中展示。
419
+ 本节介绍 TUIRoomKit 登录的最佳实践。推荐在用户完成业务侧 Web 登录鉴权后,由业务服务端签发 UserSig 并下发至客户端,再依次调用 `conference.login` 与 `conference.setSelfInfo`,完成 TUIRoomKit 鉴权并配置会中展示信息。
78
420
 
79
421
  > **注意**:
80
422
  >
81
-
82
- > 在配置代码中,请务必填入生成的 UserSig。在正式的生产环境中,建议在您的服务端生成 UserSig,在需要 UserSig 时由您的客户端向业务服务器发起请求获取动态 UserSig 来进行鉴权。详见 [正式运行阶段如何计算 UserSig](https://cloud.tencent.com/document/product/647/17275#formal)。
423
+ > UserSig 是 TUIRoomKit 登录的核心凭证。**生产环境**必须由业务服务端生成 UserSig,客户端在需要时向业务服务器请求获取,切勿在客户端硬编码 SDKSecretKey。**本地开发调试**时,可使用 `@tencentcloud/roomkit-web-vue3` 提供的 `genTestUserSig` 生成临时 UserSig,仅用于本地验证,不可用于生产环境。详见 [正式运行阶段如何计算 UserSig](https://cloud.tencent.com/document/product/647/17275#formal)。
83
424
  >
84
425
 
85
426
  ``` typescript
86
427
  import { onMounted } from 'vue';
87
428
  import { conference } from '@tencentcloud/roomkit-web-vue3';
88
429
 
89
- // 注意:以下参数请替换为您真实的业务数据和控制台获取的 SDKAppID
90
- const SDKAppID = 0;
91
- const userId = 'your_user_id';
92
- const userSig = 'your_dynamic_user_sig';
93
- const userName = '用户展示昵称';
430
+ const SDKAppID = 0; // 控制台获取的 SDKAppID
431
+ const userId = 'your_user_id'; // 业务侧用户唯一标识
432
+ const userSig = 'your_user_sig'; // 由业务服务端签发并下发
433
+ const userName = 'your_user_name';
94
434
 
95
435
  onMounted(async () => {
96
436
  try {
97
- // 1. 执行 SDK 登录
98
- await conference.login({
99
- sdkAppId: SDKAppID,
100
- userId,
101
- userSig,
102
- });
103
- // 2. (可选)设置个人信息
437
+ await conference.login({ sdkAppId: SDKAppID, userId, userSig });
104
438
  await conference.setSelfInfo({
105
439
  userName,
106
440
  avatarUrl: 'https://your-avatar-url.com/image.png',
@@ -111,9 +445,9 @@ onMounted(async () => {
111
445
  });
112
446
  ```
113
447
 
114
- #### 接入问题:登录与进房分属不同路由页面如何监听登录成功的状态?
448
+ #### 登录与进房分属不同路由时,如何监听登录状态?
115
449
 
116
- 当登录页面与进房页面是两个独立路由时,进房页面加载时 `conference.login` 登录逻辑可能尚未执行。推荐通过 `watch` 监听 `loginUserInfo.value?.userId`,该字段非空即视为 TUIRoomKit 登录成功。
450
+ 若登录页与进房页为独立路由,进房页加载时 `conference.login` 可能尚未执行完毕。可通过 `watch` 监听 `loginUserInfo.value?.userId`:该字段非空时表示 TUIRoomKit 已完成登录,再执行进房逻辑。
117
451
  ``` typescript
118
452
  import { watch } from 'vue';
119
453
  import { useLoginState } from 'tuikit-atomicx-vue3/room';
@@ -130,7 +464,7 @@ watch(() => loginUserInfo.value?.userId, async (userId) => {
130
464
 
131
465
  ### 步骤4:创建会议
132
466
 
133
- 创建会议所需要的**房间号(roomId)**是会议的核心标识,**由您的业务系统自行生成与维护(需保证全局唯一)**。请根据您的实际业务场景,选择适合的创建房间的方式:
467
+ 创建会议所需的**房间号(roomId)**是会议的核心标识,**由您的业务系统自行生成并维护(需保证全局唯一)**。请根据实际业务场景,选择以下创建方式:
134
468
 
135
469
  #### 场景一:客户端发起快速会议
136
470
 
@@ -212,7 +546,7 @@ POST /v4/room_engine_http_srv/create_room
212
546
 
213
547
  **适用场景:**房间已经被发起人或服务端明确创建,参会人收到了发起人分享的房间号或者会议邀请链接。
214
548
 
215
- **实现方式:**参会人输入房间号或客户端通过邀请链接解析出 `roomId` 后,仅需调用 `conference.joinRoom` 即可加入房间。
549
+ **实现方式:**参会人输入房间号,或通过邀请链接解析出 `roomId` 后,调用 `conference.joinRoom` 加入会议。
216
550
  ``` typescript
217
551
  import { conference } from '@tencentcloud/roomkit-web-vue3';
218
552
 
@@ -227,7 +561,7 @@ const joinExistingMeeting = async (sharedRoomId: string) => {
227
561
 
228
562
  **适用场景:**适用于已通过“客户端预约”或“服务端创建”的会议。用户可进入“会议列表”页面,查看自己预定或受邀参与的会议,并快速点击加入。
229
563
 
230
- **实现方式:**通过 `useRoomState` 提供的 `getScheduledRoomList` 接口拉取当前用户的预约会议列表,并将其渲染至界面。当用户点击对应会议时,获取该项预约记录对应的 `roomId` 并调用 `conference.joinRoom` 即可完成进房操作。
564
+ **实现方式:**通过 `useRoomState` 提供的 `getScheduledRoomList` 接口拉取当前用户的预约会议列表并渲染至界面;用户点击目标会议后,获取对应 `roomId` 并调用 `conference.joinRoom` 进房。
231
565
  ``` typescript
232
566
  <template>
233
567
  <div>
@@ -310,15 +644,14 @@ const enterDualMeeting = async (bizOrderId: string) => {
310
644
 
311
645
  > **说明:**
312
646
  >
313
-
314
- > `conference.createAndJoinRoom` 接口内部封装了“不存在则创建(成为房主),已存在则加入(成为普通参会者)”的逻辑,完美解决高并发下的状态冲突问题。
647
+ > `conference.createAndJoinRoom` 内部封装了“房间不存在则创建并成为房主,已存在则加入并成为参会者”的逻辑,适用于双方对等发起的进房场景。
315
648
  >
316
649
 
317
650
  ### 步骤6:离开与解散房间
318
651
 
319
- TUIRoomKit 已在界面上内置了离开和解散房间的功能,用户可直接点击界面上的**「离开房间」**或**「解散房间」**按钮完成操作。
652
+ TUIRoomKit 已在界面上内置离开与解散房间功能,用户可直接点击 **离开房间** 或 **解散房间** 完成操作。
320
653
 
321
- 如果您需要在客户端通过代码主动触发离开或解散,可调用以下接口。
654
+ 如需在业务代码中主动触发离开或解散,可调用以下接口。
322
655
 
323
656
  #### 场景一:主动离开房间
324
657
 
@@ -331,7 +664,6 @@ await conference.leaveRoom();
331
664
 
332
665
  > **说明**:
333
666
  >
334
-
335
667
  > 房主离开房间或关闭网页,不会自动解散房间,其他参会成员可继续正常使用 TUIRoomKit 能力,系统会在会议结束时间后 6 小时、且房间内人数为 0 时自动回收房间资源。
336
668
  >
337
669
 
@@ -346,15 +678,14 @@ await conference.endRoom();
346
678
 
347
679
  > **注意**:
348
680
  >
349
-
350
681
  > `endRoom()` 必须由房主在成功进入房间后才能调用。非房主身份或在尚未进入房间的状态下调用会报错。
351
682
  >
352
683
 
353
684
  ### 步骤7:监听房间状态
354
685
 
355
- 在真实的音视频会议场景中,房间状态可能会因为各种不可控因素发生变化(例如:房主主动解散了会议、账号在其他设备登录、或者网络异常导致进房失败)。
686
+ 在音视频会议场景中,房间状态可能因房主解散、账号在其他设备登录或网络异常等原因发生变化。
356
687
 
357
- TUIRoomKit 内部会自动处理底层音视频资源的销毁和 UI 提示,但界面的路由跳转必须由您的业务层来接管。因此,强烈建议您在会议组件挂载(onMounted)时注册状态监听,并在组件卸载(onUnmounted)时及时销毁监听。
688
+ TUIRoomKit 会自动处理底层音视频资源释放与界面提示,但页面路由跳转需由业务层接管。建议您在会议组件 `onMounted` 时注册状态监听,并在 `onUnmounted` 时移除监听。
358
689
  ``` typescript
359
690
  <template>
360
691
  <ConferenceMainView></ConferenceMainView>
@@ -396,32 +727,13 @@ onUnmounted(() => {
396
727
  |`RoomEvent.KICKED_OFFLINE`|同一账号在其他设备登录,当前设备被强制下线|跳转登录页|
397
728
  |`RoomEvent.USER_SIG_EXPIRED`|UserSig 已过期|跳转登录页|
398
729
 
399
- ## 启动项目
400
-
401
- 【npm】
402
- ``` bash
403
- npm run dev
404
- ```
405
-
406
- 【pnpm】
407
- ``` bash
408
- pnpm run dev
409
- ```
410
-
411
- 【yarn】
412
- ``` bash
413
- yarn run dev
414
- ```
415
-
416
- 启动成功后,请在浏览器中打开调试地址(通常为 http://localhost:5173)访问应用。您将看到如下所示的会议界面:
417
-
418
730
  ## 下一步
419
731
 
420
732
  在完成基础集成后,您可以根据业务需求进一步定制 UI 界面。
421
733
 
422
734
  ### 配置主题及语言
423
735
 
424
- 通过配置` App.vue` 中 `UIKitProvider` 的入参,修改主题及语言的默认值。更多自定义主题及语言请参考 UI 自定义 > 主题及语言。
736
+ 通过配置 `App.vue` 中 `UIKitProvider` 的入参,修改主题及语言的默认值。更多自定义主题及语言请参考 UI 自定义 > 主题及语言。
425
737
  | <code>UIKitProvider</code> 参数 | 可选值 | 默认值 |
426
738
  | --- | --- | --- |
427
739
  | theme | "light" \\| "dark" | "light" |
@@ -429,11 +741,14 @@ yarn run dev
429
741
 
430
742
  ``` typescript
431
743
  <UIKitProvider theme="light" language="zh-CN">
432
- <router-view />
744
+ <ConferenceMainView v-if="stage === 'room' && isPC" />
745
+ <ConferenceMainViewH5 v-else-if="stage === 'room'" />
433
746
  </UIKitProvider>
434
747
 
435
748
  <script setup lang="ts">
436
749
  import { UIKitProvider } from '@tencentcloud/uikit-base-component-vue3';
750
+ import { ConferenceMainView, ConferenceMainViewH5 } from '@tencentcloud/roomkit-web-vue3';
751
+ </script>
437
752
  ```
438
753
 
439
754
  ### 配置用户联系人列表
@@ -477,7 +792,7 @@ TUIRoomKit 默认内置以下视频流挂件,如您需要自定义视频流挂
477
792
 
478
793
  ### 创建房间的用户(房主)关闭网页或异常退出后,会议会立即结束吗?
479
794
 
480
- 不会。 当房主关闭浏览器或因网络异常离开页面时,并不会导致会议立即解散。会议将持续运行,其他在房成员仍可正常进行会议互动。
795
+ 不会。房主关闭浏览器或因网络异常离开页面时,会议不会立即解散,其他在房成员仍可继续会议。
481
796
 
482
797
  为节省资源,建议在会议实际结束时,通过以下任一方式主动销毁房间:
483
798
  - 界面操作:房主点击 TUIRoomKit 界面上的「解散房间」按钮;
@@ -490,15 +805,15 @@ TUIRoomKit 默认内置以下视频流挂件,如您需要自定义视频流挂
490
805
 
491
806
  ### 多个设备能否使用同一个 userId 同时加入同一场会议?
492
807
 
493
- 不支持。 TUIRoomKit 不允许同一 userId 在多个设备上同时进入同一房间。
808
+ 不支持。TUIRoomKit 不允许同一 userId 在多个设备上同时进入同一房间。
494
809
  - 互踢机制:若后到的设备使用相同 userId 尝试进房,先前已在房内的设备会被强制下线(踢出)。
495
810
 
496
811
  - 解决方案:如需实现多端(如手机、PC)同时加入会议,请确保为每个设备分配唯一的 userId。
497
812
 
498
813
  ### 在本地开发时使用正常,但部署到线上环境后无法正常采集用户的摄像头或麦克风设备?
499
- - 原因分析:浏览器出于安全和隐私保护的考虑,对音视频设备(麦克风、摄像头)的采集有着严格限制。只有在安全环境下,采集操作才会被允许。安全环境协议包括:https://、localhost、file:// 等。HTTP 协议被视为不安全,浏览器会默认禁止访问媒体设备。
814
+ - **原因:**浏览器出于安全与隐私考虑,仅允许在安全环境(`https://`、`localhost`、`file://` 等)下采集摄像头、麦克风。HTTP 协议下浏览器会默认禁止访问媒体设备。
500
815
 
501
- - 解决方案:若您在本地(localhost)测试一切正常,但部署后出现采集失败,请立即检查您的网页是否部署在 HTTP 协议上。必须使用 HTTPS 协议部署您的网页,并确保具备有效的安全证书。
816
+ - **解决方案:**若本地(`localhost`)测试正常但部署后采集失败,请检查页面是否使用 HTTPS 协议部署,并确保证书有效。
502
817
 
503
818
  - 相关资源:更多关于 URL 域名及协议的限制详情,请参见 [URL 域名及协议限制说明](https://cloud.tencent.com/document/product/647/17249#URL-.E5.9F.9F.E5.90.8D.E5.8D.8F.E8.AE.AE.E9.99.90.E5.88.B6)。
504
819
 
@@ -514,38 +829,16 @@ TUIRoomKit 默认内置以下视频流挂件,如您需要自定义视频流挂
514
829
 
515
830
  ### 是否支持设置内网代理?
516
831
 
517
- 支持。请参考如下指引设置内网代理参数。更多内网代理信息请参考 [应对防火墙受限](https://web.sdk.qcloud.com/trtc/webrtc/doc/zh-cn/tutorial-34-advanced-proxy.html)。
518
- ``` typescript
519
- // 请在进房前设置内网代理参数
520
- import TUIRoomEngine from '@tencentcloud/tuiroom-engine-js';
521
- import { useRoomEngine } from 'tuikit-atomicx-vue3/room';
522
- const { roomEngine } = useRoomEngine();
523
-
524
- TUIRoomEngine.once('ready', () => {
525
- const trtcCloud = roomEngine.instance?.getTRTCCloud();
526
- trtcCloud.callExperimentalAPI(JSON.stringify({
527
- api: 'setNetworkProxy',
528
- params: {
529
- websocketProxy: "wss://proxy.example.com/ws/",
530
- turnServer: [{
531
- url: '14.3.3.3:3478',
532
- username: 'turn',
533
- credential: 'turn',
534
- }],
535
- iceTransportPolicy: 'relay',
536
- },
537
- }));
538
- });
539
- ```
832
+ 支持。更多内网代理信息请参考 内网代理(Web)。
540
833
 
541
834
  ### 是否可以直接修改 TUIRoomKit 的底层源码?
542
835
 
543
- TUIRoomKit 已经为您提供了极其丰富的 UI 自定义能力,包括 自定义主题及语言、界面微调、自定义视频布局及挂件、水印配置等,能够满足绝大部分业务的个性化视觉与交互需求。
836
+ TUIRoomKit 已提供丰富的 UI 自定义能力,包括 主题及语言、界面微调、视频布局及挂件、水印配置 等,可满足大多数业务的个性化需求。
544
837
 
545
838
  我们非常不推荐您进行源码导出。导出源码意味着您的项目将脱离 TUIRoomKit 的常规 npm 版本升级路径。您不仅需要自行承担后续极高的代码维护成本,也将无法直接通过更新版本来享受我们后续推出的新功能和底层音视频引擎的性能优化。
546
- - 推荐方案:请优先查阅 UI 自定义类文档探索标准自定义方案。
839
+ - **推荐方案:**优先查阅 UI 自定义系列文档,使用标准自定义接口。
547
840
 
548
- 如果您已经充分评估了上述高昂的维护风险,且业务确实存在极特殊的、必须破坏底层结构的深度定制需求,可按照以下步骤导出源码:
841
+ 若您已充分评估维护风险,且业务存在必须修改底层结构的深度定制需求,可按以下步骤导出源码:
549
842
 
550
843
  【Vue3】
551
844
  1. 执行源码导出脚本,默认拷贝路径为 `./src/components/RoomKit`