@tencentcloud/sdk-mcp 1.4.7 → 1.6.0-beta.1
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.
- package/index.js +0 -1
- package/knowledge/bm25-cache.js +73 -0
- package/knowledge/bm25.js +147 -0
- package/knowledge/build-index.js +65 -0
- package/knowledge/chunker.js +167 -0
- package/knowledge/content-loader.js +44 -0
- package/knowledge/extractors.js +25 -0
- package/knowledge/path-meta.js +175 -0
- package/knowledge/search/exact-lookup.js +330 -0
- package/knowledge/search/filter-pool.js +86 -0
- package/knowledge/search/requires-framework.js +72 -0
- package/knowledge/search/search-knowledge.js +226 -0
- package/package.json +9 -9
- package/resource/_schema/feature-aliases.yaml +10 -0
- package/resource/_schema/goal-tags.yaml +72 -0
- package/resource/_schema/products.yaml +16 -0
- package/resource/_schema/trtc-intents.yaml +27 -0
- package/resource/_schema/types.yaml +44 -0
- package/resource/index/component-slugs.json +1 -0
- package/resource/index/manifest.json +1 -0
- package/resource/{doc → integration}/callkit/preset/android/integration.md +32 -28
- package/resource/{doc → integration}/callkit/preset/flutter/integration.md +109 -54
- package/resource/integration/callkit/preset/ios/integration.md +411 -0
- package/resource/integration/callkit/preset/react/integration.md +499 -0
- package/resource/integration/callkit/preset/vue/integration.md +768 -0
- package/resource/{doc/chatkit → integration/chat/preset}/android/integration.md +11 -11
- package/resource/{doc/chatkit → integration/chat/preset}/flutter/integration.md +59 -37
- package/resource/integration/chat/preset/ios/integration.md +568 -0
- package/resource/{doc/chatkit → integration/chat/preset}/react/integration.md +127 -95
- package/resource/integration/chat/preset/uni-app/integration.md +494 -0
- package/resource/{doc/chatkit → integration/chat/preset}/vue/integration.md +163 -143
- package/resource/{doc → integration}/livekit/preset/live/vue/live-list-integration.md +15 -15
- package/resource/{doc → integration}/livekit/preset/live/vue/live-player-desk-integration.md +25 -13
- package/resource/{doc → integration}/livekit/preset/live/vue/live-player-h5-integration.md +15 -9
- package/resource/{doc → integration}/livekit/preset/live/vue/live-pusher-integration.md +31 -26
- package/resource/integration/roomkit/preset/vue/integration.md +571 -0
- package/resource/knowledge/callkit/core-sdk/android/answer-call.md +852 -0
- package/resource/knowledge/callkit/core-sdk/android/make-call.md +929 -0
- package/resource/knowledge/callkit/core-sdk/android/offline-push.md +364 -0
- package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +1150 -0
- package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +1216 -0
- package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +412 -0
- package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +1191 -0
- package/resource/knowledge/callkit/core-sdk/ios/make-call.md +1292 -0
- package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +537 -0
- package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +953 -0
- package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +1061 -0
- package/resource/knowledge/callkit/faq/android.md +168 -0
- package/resource/knowledge/callkit/faq/common.md +180 -0
- package/resource/knowledge/callkit/faq/flutter.md +52 -0
- package/resource/knowledge/callkit/faq/ios.md +116 -0
- package/resource/knowledge/callkit/faq/uniapp-app.md +89 -0
- package/resource/knowledge/callkit/faq/uniapp-miniprogram.md +217 -0
- package/resource/knowledge/callkit/faq/web.md +363 -0
- package/resource/knowledge/callkit/preset/android/api.md +413 -0
- package/resource/knowledge/callkit/preset/flutter/api.md +22 -0
- package/resource/knowledge/callkit/preset/ios/api.md +256 -0
- package/resource/knowledge/callkit/preset/web/api.md +79 -0
- package/resource/knowledge/chat/preset/android/features/chat-setting.md +72 -0
- package/resource/knowledge/chat/preset/android/features/contact-list.md +41 -0
- package/resource/knowledge/chat/preset/android/features/conversation-list.md +123 -0
- package/resource/knowledge/chat/preset/android/features/language.md +142 -0
- package/resource/knowledge/chat/preset/android/features/message-input.md +57 -0
- package/resource/knowledge/chat/preset/android/features/message-list.md +142 -0
- package/resource/knowledge/chat/preset/android/features/search.md +64 -0
- package/resource/{doc/chatkit → knowledge/chat/preset}/android/features/theme.md +21 -18
- package/resource/knowledge/chat/preset/android-view/integration.md +448 -0
- package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +62 -0
- package/resource/knowledge/chat/preset/flutter/features/contact-list.md +40 -0
- package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +129 -0
- package/resource/knowledge/chat/preset/flutter/features/language.md +104 -0
- package/resource/knowledge/chat/preset/flutter/features/message-input.md +54 -0
- package/resource/knowledge/chat/preset/flutter/features/message-list.md +163 -0
- package/resource/knowledge/chat/preset/flutter/features/search.md +59 -0
- package/resource/{doc/chatkit → knowledge/chat/preset}/flutter/features/theme.md +47 -19
- package/resource/knowledge/chat/preset/ios/features/chat-setting.md +92 -0
- package/resource/knowledge/chat/preset/ios/features/contact-list.md +119 -0
- package/resource/knowledge/chat/preset/ios/features/conversation-list.md +134 -0
- package/resource/knowledge/chat/preset/ios/features/language.md +105 -0
- package/resource/knowledge/chat/preset/ios/features/message-input.md +69 -0
- package/resource/knowledge/chat/preset/ios/features/message-list.md +164 -0
- package/resource/knowledge/chat/preset/ios/features/search.md +94 -0
- package/resource/{doc/chatkit → knowledge/chat/preset}/ios/features/theme.md +54 -51
- package/resource/{doc/chatkit/ios → knowledge/chat/preset/ios-uikit}/integration.md +157 -94
- package/resource/knowledge/chat/preset/react/features/chat-setting.md +123 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/contact-list.md +256 -104
- package/resource/knowledge/chat/preset/react/features/conversation-actions.md +217 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/conversation-list.md +86 -79
- package/resource/knowledge/chat/preset/react/features/conversation-preview.md +99 -0
- package/resource/knowledge/chat/preset/react/features/conversation-search.md +58 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-input.md +30 -83
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-list.md +22 -25
- package/resource/knowledge/chat/preset/react/features/search.md +531 -0
- package/resource/knowledge/chat/preset/react/features/theme.md +16 -0
- package/resource/knowledge/chat/preset/vue/features/chat-header.md +331 -0
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/chat-setting.md +0 -4
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/contact-list.md +59 -53
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-actions.md +49 -43
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-list.md +61 -49
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-preview.md +43 -40
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-search.md +1 -1
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/message-input.md +128 -105
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/message-list.md +108 -195
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/search.md +74 -68
- package/resource/knowledge/chat/preset/vue/features/theme.md +136 -0
- package/resource/knowledge/chat/urls/error-code.md +16 -0
- package/resource/knowledge/chat/urls/product.md +61 -0
- package/resource/knowledge/chat/urls/restapi.md +226 -0
- package/resource/knowledge/chat/urls/sdk/android.md +84 -0
- package/resource/knowledge/chat/urls/sdk/flutter.md +73 -0
- package/resource/knowledge/chat/urls/sdk/ios.md +84 -0
- package/resource/knowledge/chat/urls/sdk/web.md +88 -0
- package/resource/knowledge/chat/urls/webhook.md +73 -0
- package/resource/{doc/livekit/core-sdk/live/android/api-reference → knowledge/livekit/core-sdk/api-reference/android}/AudioEffectStore.md +79 -76
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BarrageStore.md +174 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/BattleStore.md +329 -0
- package/resource/{doc/livekit/core-sdk/live/android/api-reference → knowledge/livekit/core-sdk/api-reference/android}/CameraView.md +7 -6
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoGuestStore.md +434 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/CoHostStore.md +362 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/DeviceStore.md +466 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/GiftStore.md +173 -0
- package/resource/{doc/livekit/core-sdk/live/android/api-reference → knowledge/livekit/core-sdk/api-reference/android}/LikeStore.md +12 -10
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveAudienceStore.md +291 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveCoreView.md +78 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LiveSeatStore.md +439 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +221 -0
- package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/AudioEffectStore.md +79 -76
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +212 -0
- package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/BaseBeautyStore.md +43 -45
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BattleStore.md +312 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoGuestStore.md +404 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/CoHostStore.md +334 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/DeviceStore.md +420 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +166 -0
- package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/LikeStore.md +12 -11
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +281 -0
- package/resource/{doc/livekit/core-sdk/live/flutter/api-reference → knowledge/livekit/core-sdk/api-reference/flutter}/LiveCoreView.md +49 -42
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +397 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +183 -0
- package/resource/{doc/livekit/core-sdk/live/ios/api-reference → knowledge/livekit/core-sdk/api-reference/ios}/AudioEffectStore.md +79 -75
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BarrageStore.md +192 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BaseBeautyStore.md +146 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/BattleStore.md +309 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoGuestStore.md +370 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/CoHostStore.md +339 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/DeviceStore.md +503 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/GiftStore.md +188 -0
- package/resource/{doc/livekit/core-sdk/live/ios/api-reference → knowledge/livekit/core-sdk/api-reference/ios}/LikeStore.md +12 -10
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveAudienceStore.md +289 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveCoreView.md +78 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LiveSeatStore.md +434 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +187 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/web/index.md +780 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audience-list.md +59 -51
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audio-effect.md +37 -34
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-barrage.md +68 -38
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-base-beauty.md +18 -15
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-co-guest-interaction.md +17 -17
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-gift.md +86 -80
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-host-interaction.md +53 -49
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-integration.md +47 -45
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-live-list.md +26 -22
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audience-list.md +16 -13
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-barrage.md +33 -21
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-base-beauty.md +29 -25
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-co-guest-interaction.md +21 -20
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-gift.md +78 -69
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-host-interaction.md +47 -43
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-integration.md +48 -45
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-live-list.md +27 -23
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audience-list.md +15 -12
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audio-effect.md +39 -36
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-barrage.md +42 -29
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-base-beauty.md +19 -16
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-co-guest-interaction.md +20 -19
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-gift.md +55 -49
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-host-interaction.md +50 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-integration.md +48 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-live-list.md +26 -22
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audience-list.md +59 -51
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audio-effect.md +41 -38
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-barrage.md +67 -37
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +53 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-gift.md +86 -80
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-host-interaction.md +45 -40
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-integration.md +43 -42
- package/resource/knowledge/livekit/core-sdk/voice/android/voice-room-list.md +523 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-audience-list.md +16 -13
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-audio-effect.md +54 -50
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-barrage.md +33 -21
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +34 -28
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-gift.md +73 -64
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-integration.md +46 -43
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-room-list.md +165 -148
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audience-list.md +19 -16
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audio-effect.md +40 -37
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-barrage.md +41 -28
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +54 -47
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-gift.md +52 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-host-interaction.md +55 -50
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-integration.md +47 -45
- package/resource/knowledge/livekit/core-sdk/voice/ios/voice-room-list.md +404 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-audience-list.md +40 -57
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-audio-effect.md +38 -49
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-barrage.md +53 -53
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-co-guest-interaction.md +106 -116
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-gift.md +49 -59
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-integration.md +52 -45
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/uni-app/voice-room-list.md +38 -46
- package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +915 -0
- package/resource/knowledge/livekit/preset/live/vue/features/live-audience-list.md +179 -0
- package/resource/knowledge/livekit/preset/live/vue/features/live-view.md +419 -0
- package/resource/knowledge/push/config/android/fcm.md +133 -0
- package/resource/knowledge/push/config/android/honor.md +111 -0
- package/resource/knowledge/push/config/android/huawei.md +106 -0
- package/resource/knowledge/push/config/android/meizu.md +121 -0
- package/resource/knowledge/push/config/android/oppo.md +108 -0
- package/resource/knowledge/push/config/android/vivo.md +101 -0
- package/resource/knowledge/push/config/android/xiaomi.md +99 -0
- package/resource/knowledge/push/integration/android.md +1028 -0
- package/resource/knowledge/push/integration/donut.md +271 -0
- package/resource/knowledge/push/integration/flutter.md +363 -0
- package/resource/knowledge/push/integration/harmonyos.md +72 -0
- package/resource/knowledge/push/integration/ios.md +705 -0
- package/resource/knowledge/push/integration/react-native.md +337 -0
- package/resource/knowledge/push/integration/uni-app.md +461 -0
- package/resource/knowledge/push/integration/unity.md +357 -0
- package/resource/knowledge/push/integration/unreal-engine.md +353 -0
- package/resource/knowledge/push/overview/prepare.md +30 -0
- package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/call-user-to-room.md +22 -20
- package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/room-participant-state.md +22 -193
- package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/room-state.md +33 -32
- package/resource/{doc/roomkit/android/features → knowledge/roomkit/core-sdk/android}/schedule-room.md +30 -29
- package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +230 -0
- package/resource/{doc/roomkit/flutter/features → knowledge/roomkit/core-sdk/flutter}/room-participant-state.md +22 -21
- package/resource/{doc/roomkit/flutter/features → knowledge/roomkit/core-sdk/flutter}/room-state.md +29 -28
- package/resource/{doc/roomkit/flutter/features → knowledge/roomkit/core-sdk/flutter}/schedule-room.md +17 -16
- package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/call-user-to-room.md +22 -20
- package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/room-participant-state.md +49 -218
- package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/room-state.md +37 -37
- package/resource/{doc/roomkit/ios/features → knowledge/roomkit/core-sdk/ios}/schedule-room.md +28 -28
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/call-user-to-room.md +122 -7
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/device-detection.md +318 -3
- package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +1504 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/free-beauty-panel.md +4 -3
- package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +709 -0
- package/resource/knowledge/roomkit/core-sdk/vue/room-participant-state.md +1105 -0
- package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +635 -0
- package/resource/knowledge/roomkit/core-sdk/vue/room-view.md +529 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/schedule-room.md +256 -13
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/screen-share.md +218 -25
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/virtual-background.md +4 -3
- package/resource/{doc/roomkit → knowledge/roomkit/preset}/android/integration.md +50 -64
- package/resource/{doc/roomkit → knowledge/roomkit/preset}/flutter/integration.md +34 -31
- package/resource/{doc/roomkit → knowledge/roomkit/preset}/ios/integration.md +45 -53
- package/resource/knowledge/roomkit/preset/react/integration.md +571 -0
- package/resource/{doc → knowledge}/rtcengine/web/how_to_run_web_sdk_demo.md +31 -15
- package/resource/{doc → knowledge}/rtcengine/web/plugin/21-advanced-auto-play-policy.md +9 -3
- package/resource/{doc → knowledge}/rtcengine/web/plugin/22-advanced-audio-mixer.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/23-advanced-support-detection.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/24-advanced-network-quality.md +6 -6
- package/resource/{doc → knowledge}/rtcengine/web/plugin/25-advanced-device-change.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +4 -4
- package/resource/{doc → knowledge}/rtcengine/web/plugin/27-advanced-small-stream.md +4 -4
- package/resource/{doc → knowledge}/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -1
- package/resource/{doc → knowledge}/trtc/android/TRTCCloud.md +547 -495
- package/resource/{doc → knowledge}/trtc/android/TRTCCloudDef.md +434 -403
- package/resource/{doc → knowledge}/trtc/android/TRTCCloudListener.md +394 -348
- package/resource/{doc → knowledge}/trtc/android/TRTCStatistics.md +17 -15
- package/resource/{doc → knowledge}/trtc/android/TXAudioEffectManager.md +227 -197
- package/resource/knowledge/trtc/android/TXBeautyManager.md +415 -0
- package/resource/{doc → knowledge}/trtc/android/TXDeviceManager.md +70 -63
- package/resource/{doc → knowledge}/trtc/android/TXLiteAVCode.md +19 -17
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/ITRTCCloud.md +599 -544
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/ITRTCStatistics.md +17 -15
- package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +502 -0
- package/resource/knowledge/trtc/c++/ITXDeviceManager.md +403 -0
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/TRTCCloudCallback.md +439 -387
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/TRTCTypeDef.md +417 -387
- package/resource/{doc/trtc/C++ → knowledge/trtc/c++}/TXLiteAVCode.md +19 -17
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TRTCCloud.md +619 -559
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TRTCCloudDelegate.md +409 -360
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TRTCStatistics.md +17 -15
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TXAudioEffectManager.md +187 -164
- package/resource/knowledge/trtc/ios/TXBeautyManager.md +416 -0
- package/resource/knowledge/trtc/ios/TXDeviceManager.md +399 -0
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TXLiteAVCode.md +19 -17
- package/resource/{doc/trtc/iOS → knowledge/trtc/ios}/TXLiveSDKTypeDef.md +422 -396
- package/server-config.js +0 -1
- package/server.js +22 -12
- package/streamable-http.js +0 -1
- package/tools/call/get_native_call_uikit_integration.js +2 -4
- package/tools/call/get_native_callkit_core_integration.js +2 -6
- package/tools/call/get_web_call_uikit_integration.js +2 -4
- package/tools/chat/get_native_chat_uikit_integration.js +2 -4
- package/tools/chat/get_web_chat_uikit_integration.js +2 -4
- package/tools/common/get_usersig.js +0 -1
- package/tools/common/present_framework_choice.js +9 -4
- package/tools/common/record_answer.js +19 -26
- package/tools/common/record_feedback.js +17 -31
- package/tools/common/search_trtc_knowledge.js +44 -0
- package/tools/definitions/get_native_call_uikit_integration_def.js +2 -1
- package/tools/definitions/get_native_callkit_core_integration_def.js +2 -1
- package/tools/definitions/get_native_chat_uikit_integration_def.js +3 -2
- package/tools/definitions/get_native_livekit_core_integration_def.js +2 -1
- package/tools/definitions/get_usersig_def.js +0 -1
- package/tools/definitions/get_web_call_uikit_integration_def.js +2 -1
- package/tools/definitions/get_web_chat_uikit_integration_def.js +2 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js +4 -3
- package/tools/definitions/get_web_room_core_integration_def.js +46 -0
- package/tools/definitions/get_web_room_uikit_integration_def.js +3 -1
- package/tools/definitions/integration-boundary.js +5 -0
- package/tools/definitions/present_framework_choice_def.js +11 -10
- package/tools/definitions/record_answer_def.js +6 -5
- package/tools/definitions/record_feedback_def.js +4 -3
- package/tools/definitions/search_trtc_knowledge_def.js +69 -0
- package/tools/index.js +5 -37
- package/tools/live/get_native_livekit_core_integration.js +1 -4
- package/tools/live/get_web_live_uikit_integration.js +2 -5
- package/tools/room/get_web_room_core_integration.js +47 -0
- package/tools/room/get_web_room_uikit_integration.js +2 -4
- package/utils/generate-structured-result.js +4 -11
- package/utils/generate-usersig.js +0 -1
- package/utils/get-device-identifier.js +0 -1
- package/utils/get-doc-content.js +14 -9
- package/utils/http-get.js +0 -1
- package/utils/http-post.js +0 -1
- package/utils/report-cls-client.js +22 -21
- package/utils/report-es-client.js +1 -2
- package/utils/report-runtime-error-cls-client.js +0 -1
- package/index.js.map +0 -1
- package/resource/doc/callkit/core-sdk/.gitkeep +0 -0
- package/resource/doc/callkit/core-sdk/android/answer-call.md +0 -942
- package/resource/doc/callkit/core-sdk/android/make-call.md +0 -876
- package/resource/doc/callkit/core-sdk/android/offline-push.md +0 -368
- package/resource/doc/callkit/core-sdk/flutter/answer-call.md +0 -1132
- package/resource/doc/callkit/core-sdk/flutter/make-call.md +0 -1206
- package/resource/doc/callkit/core-sdk/flutter/offline-push.md +0 -357
- package/resource/doc/callkit/core-sdk/ios/answer-call.md +0 -1009
- package/resource/doc/callkit/core-sdk/ios/make-call.md +0 -1154
- package/resource/doc/callkit/core-sdk/ios/offline-push.md +0 -470
- package/resource/doc/callkit/core-sdk/uni-app/answer-call.md +0 -1146
- package/resource/doc/callkit/core-sdk/uni-app/make-call.md +0 -1267
- package/resource/doc/callkit/faq/android-faq.md +0 -767
- package/resource/doc/callkit/faq/flutter-faq.md +0 -749
- package/resource/doc/callkit/faq/ios-faq.md +0 -759
- package/resource/doc/callkit/faq/web-faq.md +0 -753
- package/resource/doc/callkit/preset/android/api.md +0 -330
- package/resource/doc/callkit/preset/flutter/api.md +0 -401
- package/resource/doc/callkit/preset/ios/api.md +0 -282
- package/resource/doc/callkit/preset/ios/integration.md +0 -188
- package/resource/doc/callkit/preset/react/api.md +0 -600
- package/resource/doc/callkit/preset/react/integration.md +0 -86
- package/resource/doc/callkit/preset/vue/api.md +0 -600
- package/resource/doc/callkit/preset/vue/integration.md +0 -83
- package/resource/doc/chatkit/android/faq.md +0 -109
- package/resource/doc/chatkit/faq/android_sdk/client-api.md +0 -280
- package/resource/doc/chatkit/faq/common/product.md +0 -82
- package/resource/doc/chatkit/faq/common/server.md +0 -53
- package/resource/doc/chatkit/faq/common/server_error_code.md +0 -74
- package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +0 -183
- package/resource/doc/chatkit/faq/flutter_sdk/faq.md +0 -54
- package/resource/doc/chatkit/faq/ios_sdk/client-api.md +0 -279
- package/resource/doc/chatkit/faq/web_sdk/error_code.md +0 -47
- package/resource/doc/chatkit/faq/web_sdk/faq.md +0 -292
- package/resource/doc/chatkit/flutter/faq.md +0 -22
- package/resource/doc/chatkit/ios/faq.md +0 -109
- package/resource/doc/chatkit/react/components/avatar.md +0 -104
- package/resource/doc/chatkit/react/components/chat-header.md +0 -148
- package/resource/doc/chatkit/react/components/chat-setting.md +0 -117
- package/resource/doc/chatkit/react/components/chat.md +0 -38
- package/resource/doc/chatkit/react/components/component-list.md +0 -35
- package/resource/doc/chatkit/react/components/conversation-actions.md +0 -174
- package/resource/doc/chatkit/react/components/conversation-preview.md +0 -116
- package/resource/doc/chatkit/react/components/conversation-search.md +0 -57
- package/resource/doc/chatkit/react/components/search.md +0 -282
- package/resource/doc/chatkit/react/components/tuikit.md +0 -43
- package/resource/doc/chatkit/react/faq.md +0 -26
- package/resource/doc/chatkit/vue/components/avatar.md +0 -104
- package/resource/doc/chatkit/vue/components/chat-header.md +0 -149
- package/resource/doc/chatkit/vue/components/chat.md +0 -42
- package/resource/doc/chatkit/vue/components/component-list.md +0 -89
- package/resource/doc/chatkit/vue/components/tuikit.md +0 -45
- package/resource/doc/chatkit/vue/components/userpicker.md +0 -256
- package/resource/doc/chatkit/vue/faq.md +0 -35
- package/resource/doc/livekit/core-sdk/live/android/api-reference/BarrageStore.md +0 -148
- package/resource/doc/livekit/core-sdk/live/android/api-reference/BattleStore.md +0 -316
- package/resource/doc/livekit/core-sdk/live/android/api-reference/CoGuestStore.md +0 -419
- package/resource/doc/livekit/core-sdk/live/android/api-reference/CoHostStore.md +0 -325
- package/resource/doc/livekit/core-sdk/live/android/api-reference/DeviceStore.md +0 -436
- package/resource/doc/livekit/core-sdk/live/android/api-reference/GiftStore.md +0 -165
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveAudienceStore.md +0 -239
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveCoreView.md +0 -74
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LiveSeatStore.md +0 -417
- package/resource/doc/livekit/core-sdk/live/android/api-reference/LoginStore.md +0 -207
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BarrageStore.md +0 -158
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/BattleStore.md +0 -304
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/CoGuestStore.md +0 -394
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/CoHostStore.md +0 -303
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/DeviceStore.md +0 -410
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/GiftStore.md +0 -160
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveAudienceStore.md +0 -231
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LiveSeatStore.md +0 -375
- package/resource/doc/livekit/core-sdk/live/flutter/api-reference/LoginStore.md +0 -170
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/BarrageStore.md +0 -165
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/BaseBeautyStore.md +0 -143
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/BattleStore.md +0 -298
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/CoGuestStore.md +0 -349
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/CoHostStore.md +0 -297
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/DeviceStore.md +0 -471
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/GiftStore.md +0 -179
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveAudienceStore.md +0 -238
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveCoreView.md +0 -74
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LiveSeatStore.md +0 -412
- package/resource/doc/livekit/core-sdk/live/ios/api-reference/LoginStore.md +0 -173
- package/resource/doc/livekit/core-sdk/voice/android/voice-room-list.md +0 -365
- package/resource/doc/livekit/core-sdk/voice/ios/voice-room-list.md +0 -336
- package/resource/doc/livekit/preset/live/vue/api-reference/index.md +0 -780
- package/resource/doc/livekit/preset/live/vue/components/barrage.md +0 -291
- package/resource/doc/livekit/preset/live/vue/components/co-guest-panel.md +0 -88
- package/resource/doc/livekit/preset/live/vue/components/live-audience-list.md +0 -164
- package/resource/doc/livekit/preset/live/vue/components/live-scene-panel.md +0 -130
- package/resource/doc/livekit/preset/live/vue/components/live-view.md +0 -203
- package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +0 -211
- package/resource/doc/livekit/preset/live/vue/faq.md +0 -1
- package/resource/doc/roomkit/faq/common/error-code.md +0 -67
- package/resource/doc/roomkit/flutter/features/call-user-to-room.md +0 -228
- package/resource/doc/roomkit/vue/faq.md +0 -1
- package/resource/doc/roomkit/vue/features/device-state.md +0 -460
- package/resource/doc/roomkit/vue/features/room-chat.md +0 -369
- package/resource/doc/roomkit/vue/features/room-participant-state.md +0 -385
- package/resource/doc/roomkit/vue/features/room-state.md +0 -280
- package/resource/doc/roomkit/vue/features/room-view.md +0 -241
- package/resource/doc/roomkit/vue/integration.md +0 -315
- package/resource/doc/rtcengine/faq/web_sdk/.gitkeep +0 -0
- package/resource/doc/trtc/C++/ITXAudioEffectManager.md +0 -472
- package/resource/doc/trtc/C++/ITXDeviceManager.md +0 -388
- package/resource/doc/trtc/android/TXBeautyManager.md +0 -403
- package/resource/doc/trtc/iOS/TXBeautyManager.md +0 -404
- package/resource/doc/trtc/iOS/TXDeviceManager.md +0 -382
- package/server-config.js.map +0 -1
- package/server.js.map +0 -1
- package/streamable-http.js.map +0 -1
- package/tools/call/get_callkit_api.js +0 -33
- package/tools/call/get_callkit_api.js.map +0 -1
- package/tools/call/get_native_call_uikit_integration.js.map +0 -1
- package/tools/call/get_native_callkit_core_integration.js.map +0 -1
- package/tools/call/get_web_call_uikit_integration.js.map +0 -1
- package/tools/chat/get_native_chat_uikit_feature_detail.js +0 -35
- package/tools/chat/get_native_chat_uikit_feature_detail.js.map +0 -1
- package/tools/chat/get_native_chat_uikit_integration.js.map +0 -1
- package/tools/chat/get_web_chat_uikit_component_detail.js +0 -35
- package/tools/chat/get_web_chat_uikit_component_detail.js.map +0 -1
- package/tools/chat/get_web_chat_uikit_integration.js.map +0 -1
- package/tools/common/get_faq.js +0 -266
- package/tools/common/get_faq.js.map +0 -1
- package/tools/common/get_usersig.js.map +0 -1
- package/tools/common/present_framework_choice.js.map +0 -1
- package/tools/common/record_answer.js.map +0 -1
- package/tools/common/record_feedback.js.map +0 -1
- package/tools/common/record_skill_session.js +0 -69
- package/tools/common/record_skill_session.js.map +0 -1
- package/tools/definitions/get_callkit_api_def.js +0 -28
- package/tools/definitions/get_callkit_api_def.js.map +0 -1
- package/tools/definitions/get_faq_def.js +0 -40
- package/tools/definitions/get_faq_def.js.map +0 -1
- package/tools/definitions/get_native_call_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_native_callkit_core_integration_def.js.map +0 -1
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js +0 -31
- package/tools/definitions/get_native_chat_uikit_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_native_chat_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_native_livekit_core_features_def.js +0 -33
- package/tools/definitions/get_native_livekit_core_features_def.js.map +0 -1
- package/tools/definitions/get_native_livekit_core_integration_def.js.map +0 -1
- package/tools/definitions/get_native_trtc_sdk_docs_def.js +0 -32
- package/tools/definitions/get_native_trtc_sdk_docs_def.js.map +0 -1
- package/tools/definitions/get_usersig_def.js.map +0 -1
- package/tools/definitions/get_web_call_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js +0 -31
- package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_chat_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_livekit_api_def.js +0 -27
- package/tools/definitions/get_web_livekit_api_def.js.map +0 -1
- package/tools/definitions/get_web_livekit_component_detail_def.js +0 -29
- package/tools/definitions/get_web_livekit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_room_uikit_integration_def.js.map +0 -1
- package/tools/definitions/get_web_roomkit_feature_detail_def.js +0 -30
- package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_api_def.js +0 -25
- package/tools/definitions/get_web_trtc_sdk_api_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_integration_def.js +0 -25
- package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js +0 -25
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js.map +0 -1
- package/tools/definitions/present_framework_choice_def.js.map +0 -1
- package/tools/definitions/record_answer_def.js.map +0 -1
- package/tools/definitions/record_feedback_def.js.map +0 -1
- package/tools/definitions/record_skill_session_def.js +0 -31
- package/tools/definitions/record_skill_session_def.js.map +0 -1
- package/tools/index.js.map +0 -1
- package/tools/live/get_native_livekit_core_features.js +0 -68
- package/tools/live/get_native_livekit_core_features.js.map +0 -1
- package/tools/live/get_native_livekit_core_integration.js.map +0 -1
- package/tools/live/get_web_live_uikit_integration.js.map +0 -1
- package/tools/live/get_web_livekit_api.js +0 -33
- package/tools/live/get_web_livekit_api.js.map +0 -1
- package/tools/live/get_web_livekit_component_detail.js +0 -35
- package/tools/live/get_web_livekit_component_detail.js.map +0 -1
- package/tools/room/get_web_room_uikit_integration.js.map +0 -1
- package/tools/room/get_web_roomkit_feature_detail.js +0 -69
- package/tools/room/get_web_roomkit_feature_detail.js.map +0 -1
- package/tools/rtcengine/get_web_trtc_sdk_api.js +0 -32
- package/tools/rtcengine/get_web_trtc_sdk_api.js.map +0 -1
- package/tools/rtcengine/get_web_trtc_sdk_integration.js +0 -32
- package/tools/rtcengine/get_web_trtc_sdk_integration.js.map +0 -1
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js +0 -32
- package/tools/rtcengine/get_web_trtc_sdk_plugin.js.map +0 -1
- package/tools/trtc/get_native_trtc_sdk_docs.js +0 -74
- package/tools/trtc/get_native_trtc_sdk_docs.js.map +0 -1
- package/utils/build-session-directives.js +0 -122
- package/utils/build-session-directives.js.map +0 -1
- package/utils/generate-structured-result.js.map +0 -1
- package/utils/generate-usersig.js.map +0 -1
- package/utils/get-device-identifier.js.map +0 -1
- package/utils/get-doc-content.js.map +0 -1
- package/utils/handle-framework.js +0 -9
- package/utils/handle-framework.js.map +0 -1
- package/utils/handle-state-name.js +0 -29
- package/utils/handle-state-name.js.map +0 -1
- package/utils/http-get.js.map +0 -1
- package/utils/http-post.js.map +0 -1
- package/utils/report-cls-client.js.map +0 -1
- package/utils/report-es-client.js.map +0 -1
- package/utils/report-runtime-error-cls-client.js.map +0 -1
- /package/resource/{doc/callkit/faq/common → knowledge/callkit/faq}/error-code.md +0 -0
- /package/resource/{doc/livekit/faq/common → knowledge/livekit/faq}/error-code.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/api.md +0 -0
- /package/resource/{doc/rtcengine/faq/web/web.md → knowledge/rtcengine/web/faq.md} +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/how_to_integrated_web_sdk.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/28-advanced-beauty.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/29-advanced-water-mark.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/30-advanced-cross-room-link.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/34-advanced-proxy.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/35-advanced-ai-denoiser.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/36-advanced-virtual-background.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/37-advanced-voice-changer.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/38-advanced-basic-beauty.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/39-advanced-video-decoder.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/40-advanced-video-mixer.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +0 -0
- /package/resource/{doc → knowledge}/rtcengine/web/plugin/43-advanced-face-detection.md +0 -0
- /package/resource/{doc/rtcengine/faq/common → knowledge/share}/userSig.md +0 -0
|
@@ -0,0 +1,571 @@
|
|
|
1
|
+
TUIRoomKit 是腾讯云推出的音视频房间 UI 应用。本次升级引入了全新的原子化组件接入方案,开发者可以灵活组合这些原子化组件,以构建个性化的音视频房间界面。
|
|
2
|
+
|
|
3
|
+
本文档介绍如何将 TUIRoomKit 集成到现有的 React 项目中,同时介绍如何对 TUIRoomKit 的样式、布局及功能进行自定义修改。
|
|
4
|
+
|
|
5
|
+
## 前提条件
|
|
6
|
+
|
|
7
|
+
### 开通服务
|
|
8
|
+
|
|
9
|
+
请参考 [开通服务](https://cloud.tencent.com/document/product/647/104842) 领取 TUIRoomKit 体验版或开通 TUIRoomKit 正式版,并在 [应用管理](https://console.cloud.tencent.com/trtc) 页面获取以下信息:
|
|
10
|
+
- SDKAppID: 应用标识,腾讯云基于 `SDKAppID` 完成计费统计。
|
|
11
|
+
|
|
12
|
+
- SDKSecretKey: 应用密钥,用于初始化配置文件的密钥信息。
|
|
13
|
+
|
|
14
|
+
### 环境准备
|
|
15
|
+
- Node.js: ≥ 18.19.1 (推荐使用官方 LTS 版本)。
|
|
16
|
+
|
|
17
|
+
- React: ≥ 18.2.0。
|
|
18
|
+
|
|
19
|
+
- 现代浏览器:支持 [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) 的现代浏览器。
|
|
20
|
+
|
|
21
|
+
- 设备:摄像头、麦克风、扬声器。
|
|
22
|
+
|
|
23
|
+
## 快速接入
|
|
24
|
+
|
|
25
|
+
### 步骤1:安装项目依赖
|
|
26
|
+
|
|
27
|
+
在您的业务项目中安装以下依赖。
|
|
28
|
+
|
|
29
|
+
【npm】
|
|
30
|
+
``` bash
|
|
31
|
+
npm install @tencentcloud/roomkit-web-react tuikit-atomicx-react @tencentcloud/uikit-base-component-react @tencentcloud/universal-api
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
【pnpm】
|
|
35
|
+
``` bash
|
|
36
|
+
pnpm install @tencentcloud/roomkit-web-react tuikit-atomicx-react @tencentcloud/uikit-base-component-react @tencentcloud/universal-api
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
【yarn】
|
|
40
|
+
``` bash
|
|
41
|
+
yarn add @tencentcloud/roomkit-web-react tuikit-atomicx-react @tencentcloud/uikit-base-component-react @tencentcloud/universal-api
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
### 步骤2:引用 TUIRoomKit 组件
|
|
45
|
+
``` typescript
|
|
46
|
+
import { UIKitProvider } from '@tencentcloud/uikit-base-component-react';
|
|
47
|
+
import { ConferenceMainView } from '@tencentcloud/roomkit-web-react';
|
|
48
|
+
|
|
49
|
+
export default function App() {
|
|
50
|
+
return (
|
|
51
|
+
<UIKitProvider theme="light" language="zh-CN">
|
|
52
|
+
<ConferenceMainView />
|
|
53
|
+
</UIKitProvider>
|
|
54
|
+
);
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 步骤3:登录
|
|
59
|
+
|
|
60
|
+
登录是使用 TUIRoomKit 一切功能的基础。通常建议在您的业务系统完成鉴权(用户登录您的 Web 页面)后,立即调用 **conference.login** 方法登录 TUIRoomKit。调用 `conference.login` 完成鉴权后,建议同步调用 `conference.setSelfInfo` 来设置当前用户的展示昵称和头像,这些信息将在随后的参会者视频区域和成员列表中展示。
|
|
61
|
+
|
|
62
|
+
> **注意**:
|
|
63
|
+
>
|
|
64
|
+
|
|
65
|
+
> 在配置代码中,请务必填入生成的 UserSig。在正式的生产环境中,建议在您的服务端生成 UserSig,在需要 UserSig 时由您的客户端向业务服务器发起请求获取动态 UserSig 来进行鉴权。详见 [正式运行阶段如何计算 UserSig](https://cloud.tencent.com/document/product/647/17275#formal)。
|
|
66
|
+
>
|
|
67
|
+
|
|
68
|
+
``` typescript
|
|
69
|
+
import { useEffect } from 'react';
|
|
70
|
+
import { conference } from '@tencentcloud/roomkit-web-react';
|
|
71
|
+
|
|
72
|
+
// 注意:以下参数请替换为您真实的业务数据和控制台获取的 SDKAppID
|
|
73
|
+
const SDKAppID = 0;
|
|
74
|
+
const userId = 'your_user_id';
|
|
75
|
+
const userSig = 'your_dynamic_user_sig';
|
|
76
|
+
const userName = '用户展示昵称';
|
|
77
|
+
|
|
78
|
+
function LoginComponent() {
|
|
79
|
+
useEffect(() => {
|
|
80
|
+
const init = async () => {
|
|
81
|
+
try {
|
|
82
|
+
// 1. 执行 SDK 登录
|
|
83
|
+
await conference.login({
|
|
84
|
+
sdkAppId: SDKAppID,
|
|
85
|
+
userId,
|
|
86
|
+
userSig,
|
|
87
|
+
});
|
|
88
|
+
// 2. (可选)设置个人信息
|
|
89
|
+
await conference.setSelfInfo({
|
|
90
|
+
userName,
|
|
91
|
+
avatarUrl: 'https://your-avatar-url.com/image.png',
|
|
92
|
+
});
|
|
93
|
+
} catch (error) {
|
|
94
|
+
console.error('TUIRoomKit 登录失败:', error);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
init();
|
|
98
|
+
}, []);
|
|
99
|
+
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
#### 接入问题:登录与进房分属不同路由页面如何监听登录成功的状态?
|
|
105
|
+
|
|
106
|
+
当登录页面与进房页面是两个独立路由时,进房页面加载时 `conference.login` 登录逻辑可能尚未执行。推荐通过 `useEffect` 监听 `loginUserInfo?.userId`,该字段非空即视为 TUIRoomKit 登录成功。
|
|
107
|
+
``` typescript
|
|
108
|
+
import { useEffect } from 'react';
|
|
109
|
+
import { useLoginState } from 'tuikit-atomicx-react/room';
|
|
110
|
+
import { conference } from '@tencentcloud/roomkit-web-react';
|
|
111
|
+
|
|
112
|
+
function RoomPage() {
|
|
113
|
+
const { loginUserInfo } = useLoginState();
|
|
114
|
+
|
|
115
|
+
useEffect(() => {
|
|
116
|
+
if (loginUserInfo?.userId) {
|
|
117
|
+
conference.createAndJoinRoom({ roomId: '123456' });
|
|
118
|
+
}
|
|
119
|
+
}, [loginUserInfo?.userId]);
|
|
120
|
+
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### 步骤4:创建会议
|
|
126
|
+
|
|
127
|
+
创建会议所需要的**房间号(roomId)**是会议的核心标识,**由您的业务系统自行生成与维护(需保证全局唯一)**。请根据您的实际业务场景,选择适合的创建房间的方式:
|
|
128
|
+
|
|
129
|
+
#### 场景一:客户端发起快速会议
|
|
130
|
+
|
|
131
|
+
**适用场景:**用户在客户端点击"快速会议",需要立即创建房间并加入(如临时沟通、IM 聊天内发起会议)。
|
|
132
|
+
|
|
133
|
+
**实现方式:**由客户端生成或向业务后台申请一个唯一的房间号,随后由发起人调用 `conference.createAndJoinRoom` 创建并直接进入该房间。
|
|
134
|
+
``` typescript
|
|
135
|
+
import { conference } from '@tencentcloud/roomkit-web-react';
|
|
136
|
+
|
|
137
|
+
const startQuickMeeting = async () => {
|
|
138
|
+
// 1. 客户端生成一个唯一的 roomId
|
|
139
|
+
const myRoomId = `room_${Date.now()}`;
|
|
140
|
+
|
|
141
|
+
// 2. 建房并直接加入
|
|
142
|
+
await conference.createAndJoinRoom({
|
|
143
|
+
roomId: myRoomId,
|
|
144
|
+
options: {
|
|
145
|
+
roomName: '我的快速会议',
|
|
146
|
+
},
|
|
147
|
+
});
|
|
148
|
+
};
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
#### 场景二:客户端预约会议
|
|
152
|
+
|
|
153
|
+
**适用场景:**适用于需要在未来特定时间召开的会议(如团队周会、线上培训等)。用户可在客户端提前设定会议标题、时间及受邀参会成员。
|
|
154
|
+
|
|
155
|
+
**实现方式**:由客户端生成或向业务后台申请一个唯一的房间号,并配合会议时间等参数调用 `scheduleRoom` 接口提交预定。预定成功后,会议信息将同步至参与者的会议列表中。更多客户端预订会议能力请参考 无 UI 集成 > 预订房间。
|
|
156
|
+
``` typescript
|
|
157
|
+
import { useRoomState } from 'tuikit-atomicx-react/room';
|
|
158
|
+
|
|
159
|
+
function ScheduleDemo() {
|
|
160
|
+
const { scheduleRoom } = useRoomState();
|
|
161
|
+
|
|
162
|
+
const createSchedule = async () => {
|
|
163
|
+
try {
|
|
164
|
+
// roomId 限制:字符串类型,必传参数,建议由业务后台生成保证 roomId 唯一性。
|
|
165
|
+
const roomId = '123456';
|
|
166
|
+
|
|
167
|
+
// 注意:时间戳单位必须为 **秒** (Date.getTime() 获取的是毫秒,需除以 1000)
|
|
168
|
+
const startTime = Math.floor(new Date().getTime() / 1000) + 3600; // 1小时后开始
|
|
169
|
+
const duration = 1800; // 30分钟
|
|
170
|
+
|
|
171
|
+
const options = {
|
|
172
|
+
roomName: '产品需求评审会',
|
|
173
|
+
scheduleStartTime: startTime, // 单位:秒
|
|
174
|
+
scheduleEndTime: startTime + duration, // 单位:秒
|
|
175
|
+
scheduleAttendees: ['userA', 'userB'], // 邀请参会成员ID列表
|
|
176
|
+
password: '123', // 可选:设置入会密码
|
|
177
|
+
};
|
|
178
|
+
|
|
179
|
+
await scheduleRoom({ roomId, options });
|
|
180
|
+
} catch (error) {
|
|
181
|
+
console.error('预定失败', error);
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
return <button onClick={createSchedule}>预约会议</button>;
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
#### 场景三:服务端创建会议
|
|
190
|
+
|
|
191
|
+
**适用场景:**政务、医疗、大型企业 OA 等强管控场景。
|
|
192
|
+
|
|
193
|
+
**实现方式:**会议的创建动作完全由您的业务服务端发起,调用腾讯云的 [服务端 REST API 创建房间](https://cloud.tencent.com/document/product/647/104446)。
|
|
194
|
+
``` bash
|
|
195
|
+
POST /v4/room_engine_http_srv/create_room
|
|
196
|
+
{
|
|
197
|
+
"roomId": "your-room-id",
|
|
198
|
+
"roomName": "会议名称",
|
|
199
|
+
"startTime": 1710000000,
|
|
200
|
+
"endTime": 1710003600,
|
|
201
|
+
"invitees": ["userId1", "userId2"]
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### 步骤5:加入会议
|
|
206
|
+
|
|
207
|
+
参会成员加入房间时,请根据业务情况选择适合的加入房间的方式。
|
|
208
|
+
|
|
209
|
+
#### 场景一:房间已存在,已知 roomId 直接加入
|
|
210
|
+
|
|
211
|
+
**适用场景:**房间已经被发起人或服务端明确创建,参会人收到了发起人分享的房间号或者会议邀请链接。
|
|
212
|
+
|
|
213
|
+
**实现方式:**参会人输入房间号或客户端通过邀请链接解析出 `roomId` 后,仅需调用 `conference.joinRoom` 即可加入房间。
|
|
214
|
+
``` typescript
|
|
215
|
+
import { conference } from '@tencentcloud/roomkit-web-react';
|
|
216
|
+
|
|
217
|
+
const joinExistingMeeting = async (sharedRoomId: string) => {
|
|
218
|
+
await conference.joinRoom({
|
|
219
|
+
roomId: sharedRoomId,
|
|
220
|
+
});
|
|
221
|
+
};
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
#### 场景二:从房间列表加入会议
|
|
225
|
+
|
|
226
|
+
**适用场景:**适用于已通过"客户端预约"或"服务端创建"的会议。用户可进入"会议列表"页面,查看自己预定或受邀参与的会议,并快速点击加入。
|
|
227
|
+
|
|
228
|
+
**实现方式:**通过 `useRoomState` 提供的 `getScheduledRoomList` 接口拉取当前用户的预约会议列表,并将其渲染至界面。当用户点击对应会议时,获取该项预约记录对应的 `roomId` 并调用 `conference.joinRoom` 即可完成进房操作。
|
|
229
|
+
``` typescript
|
|
230
|
+
import { useState, useEffect } from 'react';
|
|
231
|
+
import { conference } from '@tencentcloud/roomkit-web-react';
|
|
232
|
+
import { useRoomState, useLoginState } from 'tuikit-atomicx-react/room';
|
|
233
|
+
|
|
234
|
+
interface RoomInfo {
|
|
235
|
+
roomId: string;
|
|
236
|
+
roomName?: string;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
export default function ScheduledRoomList() {
|
|
240
|
+
const { getScheduledRoomList } = useRoomState();
|
|
241
|
+
const { loginUserInfo } = useLoginState();
|
|
242
|
+
const [roomList, setRoomList] = useState<RoomInfo[]>([]);
|
|
243
|
+
|
|
244
|
+
// 1. 监听登录状态,确保鉴权就绪后再拉取会议列表
|
|
245
|
+
useEffect(() => {
|
|
246
|
+
if (!loginUserInfo?.userId) return;
|
|
247
|
+
getScheduledRoomList({ cursor: '' })
|
|
248
|
+
.then(({ scheduledRoomList }) => setRoomList(scheduledRoomList || []))
|
|
249
|
+
.catch((error) => console.error('获取预约会议列表失败:', error));
|
|
250
|
+
}, [loginUserInfo?.userId]);
|
|
251
|
+
|
|
252
|
+
// 2. 点击加入房间
|
|
253
|
+
const handleJoinRoom = async (roomId: string) => {
|
|
254
|
+
try {
|
|
255
|
+
await conference.joinRoom({ roomId });
|
|
256
|
+
} catch (error) {
|
|
257
|
+
console.error(`加入会议失败 (${roomId}):`, error);
|
|
258
|
+
}
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
return (
|
|
262
|
+
<div>
|
|
263
|
+
<h3>我的预约会议</h3>
|
|
264
|
+
{roomList.length > 0 ? (
|
|
265
|
+
<ul style={{ padding: 0, listStyle: 'none' }}>
|
|
266
|
+
{roomList.map((room) => (
|
|
267
|
+
<li key={room.roomId} style={{ display: 'flex', justifyContent: 'space-between', padding: '10px', borderBottom: '1px solid #eee' }}>
|
|
268
|
+
<div style={{ display: 'flex', flexDirection: 'column', fontSize: '14px', color: '#666' }}>
|
|
269
|
+
<b style={{ fontSize: '16px', color: '#333' }}>{room.roomName || '未命名会议'}</b>
|
|
270
|
+
<span>房间号: {room.roomId}</span>
|
|
271
|
+
</div>
|
|
272
|
+
<button
|
|
273
|
+
onClick={() => handleJoinRoom(room.roomId)}
|
|
274
|
+
style={{ background: '#006eff', color: '#fff', border: 'none', padding: '6px 12px', borderRadius: '4px', cursor: 'pointer' }}
|
|
275
|
+
>
|
|
276
|
+
加入会议
|
|
277
|
+
</button>
|
|
278
|
+
</li>
|
|
279
|
+
))}
|
|
280
|
+
</ul>
|
|
281
|
+
) : (
|
|
282
|
+
<div>暂无待参加的预约会议</div>
|
|
283
|
+
)}
|
|
284
|
+
</div>
|
|
285
|
+
);
|
|
286
|
+
}
|
|
287
|
+
```
|
|
288
|
+
|
|
289
|
+
#### 场景三:不确定房间是否已存在,需要直接进入
|
|
290
|
+
|
|
291
|
+
**适用场景:**双向对等发起的场景(如在线问诊、1v1 视频客服)。无法预先确定房间是否已创建。
|
|
292
|
+
|
|
293
|
+
**实现方式:**双方统一使用共知的业务单据号(如订单号)作为 `roomId`,并统一调用 `conference.createAndJoinRoom` 加入房间。
|
|
294
|
+
``` typescript
|
|
295
|
+
import { conference } from '@tencentcloud/roomkit-web-react';
|
|
296
|
+
|
|
297
|
+
const enterDualMeeting = async (bizOrderId: string) => {
|
|
298
|
+
// 双方无需判断房间是否已经创建 SDK 内部自动处理建房与进房逻辑
|
|
299
|
+
await conference.createAndJoinRoom({
|
|
300
|
+
roomId: bizOrderId,
|
|
301
|
+
options: {
|
|
302
|
+
roomName: `业务沟通:${bizOrderId}`,
|
|
303
|
+
},
|
|
304
|
+
});
|
|
305
|
+
};
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
> **说明:**
|
|
309
|
+
>
|
|
310
|
+
|
|
311
|
+
> `conference.createAndJoinRoom` 接口内部封装了"不存在则创建(成为房主),已存在则加入(成为普通参会者)"的逻辑,完美解决高并发下的状态冲突问题。
|
|
312
|
+
>
|
|
313
|
+
|
|
314
|
+
### 步骤6:离开与解散房间
|
|
315
|
+
|
|
316
|
+
TUIRoomKit 已在界面上内置了离开和解散房间的功能,用户可直接点击界面上的**「离开房间」**或**「解散房间」**按钮完成操作。
|
|
317
|
+
|
|
318
|
+
如果您需要在客户端通过代码主动触发离开或解散,可调用以下接口。
|
|
319
|
+
|
|
320
|
+
#### 场景一:主动离开房间
|
|
321
|
+
|
|
322
|
+
参与者和房主均可调用 `leaveRoom()` 离开会议,调用后不影响其他成员,房间继续存在。
|
|
323
|
+
``` typescript
|
|
324
|
+
import { conference } from '@tencentcloud/roomkit-web-react';
|
|
325
|
+
|
|
326
|
+
await conference.leaveRoom();
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
> **说明**:
|
|
330
|
+
>
|
|
331
|
+
|
|
332
|
+
> 房主离开房间或关闭网页,不会自动解散房间,其他参会成员可继续正常使用 TUIRoomKit 能力,系统会在会议结束时间后 6 小时、且房间内人数为 0 时自动回收房间资源。
|
|
333
|
+
>
|
|
334
|
+
|
|
335
|
+
#### 场景二:主动解散房间
|
|
336
|
+
|
|
337
|
+
房主调用 `endRoom()` 后,房间内所有成员均会收到房间已解散的通知。
|
|
338
|
+
``` typescript
|
|
339
|
+
import { conference } from '@tencentcloud/roomkit-web-react';
|
|
340
|
+
|
|
341
|
+
await conference.endRoom();
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
> **注意**:
|
|
345
|
+
>
|
|
346
|
+
|
|
347
|
+
> `endRoom()` 必须由房主在成功进入房间后才能调用。非房主身份或在尚未进入房间的状态下调用会报错。
|
|
348
|
+
>
|
|
349
|
+
|
|
350
|
+
### 步骤7:监听房间状态
|
|
351
|
+
|
|
352
|
+
在真实的音视频会议场景中,房间状态可能会因为各种不可控因素发生变化(例如:房主主动解散了会议、账号在其他设备登录、或者网络异常导致进房失败)。
|
|
353
|
+
|
|
354
|
+
TUIRoomKit 内部会自动处理底层音视频资源的销毁和 UI 提示,但界面的路由跳转必须由您的业务层来接管。因此,强烈建议您在会议组件挂载时注册状态监听,并在组件卸载时及时销毁监听。
|
|
355
|
+
``` typescript
|
|
356
|
+
import { useEffect } from 'react';
|
|
357
|
+
import { ConferenceMainView, conference, RoomEvent } from '@tencentcloud/roomkit-web-react';
|
|
358
|
+
|
|
359
|
+
export default function MeetingRoom() {
|
|
360
|
+
useEffect(() => {
|
|
361
|
+
const backToHome = () => {};
|
|
362
|
+
const backToLogin = () => {};
|
|
363
|
+
|
|
364
|
+
conference.on(RoomEvent.ROOM_DISMISS, backToHome);
|
|
365
|
+
conference.on(RoomEvent.ROOM_LEAVE, backToHome);
|
|
366
|
+
conference.on(RoomEvent.ROOM_ERROR, backToHome);
|
|
367
|
+
conference.on(RoomEvent.KICKED_OUT, backToHome);
|
|
368
|
+
conference.on(RoomEvent.KICKED_OFFLINE, backToLogin);
|
|
369
|
+
conference.on(RoomEvent.USER_SIG_EXPIRED, backToLogin);
|
|
370
|
+
|
|
371
|
+
return () => {
|
|
372
|
+
conference.off(RoomEvent.ROOM_DISMISS, backToHome);
|
|
373
|
+
conference.off(RoomEvent.ROOM_LEAVE, backToHome);
|
|
374
|
+
conference.off(RoomEvent.ROOM_ERROR, backToHome);
|
|
375
|
+
conference.off(RoomEvent.KICKED_OUT, backToHome);
|
|
376
|
+
conference.off(RoomEvent.KICKED_OFFLINE, backToLogin);
|
|
377
|
+
conference.off(RoomEvent.USER_SIG_EXPIRED, backToLogin);
|
|
378
|
+
};
|
|
379
|
+
}, []);
|
|
380
|
+
|
|
381
|
+
return <ConferenceMainView />;
|
|
382
|
+
}
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
|事件|触发时机|推荐处理|
|
|
386
|
+
|---------|---------|---------|
|
|
387
|
+
|`RoomEvent.ROOM_DISMISS`|房间被解散,对所有成员触发|返回首页或会议列表|
|
|
388
|
+
|`RoomEvent.ROOM_LEAVE`|用户点击 TUIRoomKit 界面上的「离开」按钮|返回首页或会议列表|
|
|
389
|
+
|`RoomEvent.ROOM_ERROR`|进房失败或房间内发生未处理的错误|返回首页或会议列表|
|
|
390
|
+
|`RoomEvent.KICKED_OUT`|被房主踢出房间|返回首页或会议列表|
|
|
391
|
+
|`RoomEvent.KICKED_OFFLINE`|同一账号在其他设备登录,当前设备被强制下线|跳转登录页|
|
|
392
|
+
|`RoomEvent.USER_SIG_EXPIRED`|UserSig 已过期|跳转登录页|
|
|
393
|
+
|
|
394
|
+
## 启动项目
|
|
395
|
+
|
|
396
|
+
【npm】
|
|
397
|
+
``` bash
|
|
398
|
+
npm run dev
|
|
399
|
+
```
|
|
400
|
+
|
|
401
|
+
【pnpm】
|
|
402
|
+
``` bash
|
|
403
|
+
pnpm run dev
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
【yarn】
|
|
407
|
+
``` bash
|
|
408
|
+
yarn run dev
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
启动成功后,请在浏览器中打开调试地址(通常为 http://localhost:5173)访问应用。您将看到如下所示的会议界面:
|
|
412
|
+
|
|
413
|
+
## 下一步
|
|
414
|
+
|
|
415
|
+
在完成基础集成后,您可以根据业务需求进一步定制 UI 界面。
|
|
416
|
+
|
|
417
|
+
### 配置主题及语言
|
|
418
|
+
|
|
419
|
+
通过配置 `App.tsx` 中 `UIKitProvider` 的入参,修改主题及语言的默认值。更多自定义主题及语言请参考 UI 自定义 > 主题及语言。
|
|
420
|
+
| <code>UIKitProvider</code> 参数 | 可选值 | 默认值 |
|
|
421
|
+
| --- | --- | --- |
|
|
422
|
+
| theme | "light" \\| "dark" | "light" |
|
|
423
|
+
| language | "zh-CN" \\| "en-US" | "en-US" |
|
|
424
|
+
|
|
425
|
+
``` typescript
|
|
426
|
+
import { UIKitProvider } from '@tencentcloud/uikit-base-component-react';
|
|
427
|
+
|
|
428
|
+
export default function App() {
|
|
429
|
+
return (
|
|
430
|
+
<UIKitProvider theme="light" language="zh-CN">
|
|
431
|
+
{/* 路由或页面内容 */}
|
|
432
|
+
</UIKitProvider>
|
|
433
|
+
);
|
|
434
|
+
}
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
### 配置用户联系人列表
|
|
438
|
+
|
|
439
|
+
TUIRoomKit 内置的邀请参会和预定会议选人组件,底层默认依赖腾讯云 IM 的用户关系链(好友列表)。如果您希望在这些组件中展示您企业内部的组织架构或好友列表,请先通过服务端 REST API 将您的业务联系人同步至腾讯云 IM 系统中:
|
|
440
|
+
1. 使用 [账号管理 > 导入多个账号](https://cloud.tencent.com/document/product/269/4919) REST API 接口批量导入用户账号。
|
|
441
|
+
|
|
442
|
+
2. 使用 [好友管理 > 导入好友](https://cloud.tencent.com/document/product/269/8301) REST API 接口批量导入用户关系链。
|
|
443
|
+
|
|
444
|
+
### 修改房间分享链接
|
|
445
|
+
|
|
446
|
+
TUIRoomKit 默认使用当前页面地址作为房间分享链接。
|
|
447
|
+
|
|
448
|
+
如您需要修改链接地址,可调用 `conference.setFeatureConfig` 更新分享链接。
|
|
449
|
+
``` typescript
|
|
450
|
+
import { conference } from '@tencentcloud/roomkit-web-react';
|
|
451
|
+
|
|
452
|
+
// 在 conference.createAndJoinRoom / conference.joinRoom 成功之后立即调用,确保 roomId 已知
|
|
453
|
+
const roomId = '123456';
|
|
454
|
+
conference.setFeatureConfig({
|
|
455
|
+
shareLink: `https://your-domain.com/room?roomId=${roomId}`,
|
|
456
|
+
});
|
|
457
|
+
```
|
|
458
|
+
|
|
459
|
+
### 设置视频布局及挂件
|
|
460
|
+
|
|
461
|
+
TUIRoomKit 目前支持九宫格、侧边栏及顶部栏三种流布局,默认为九宫格布局,开发者可调用 `conference.setFeatureConfig` 修改默认视频布局。
|
|
462
|
+
``` typescript
|
|
463
|
+
import { RoomLayoutTemplate } from 'tuikit-atomicx-react/room';
|
|
464
|
+
import { conference } from '@tencentcloud/roomkit-web-react';
|
|
465
|
+
|
|
466
|
+
// 方案一:修改默认视频流布局为侧边栏布局
|
|
467
|
+
conference.setFeatureConfig({ layoutTemplate: RoomLayoutTemplate.SidebarLayout });
|
|
468
|
+
|
|
469
|
+
// 方案二:修改默认视频流布局为顶部栏布局
|
|
470
|
+
conference.setFeatureConfig({ layoutTemplate: RoomLayoutTemplate.CinemaLayout });
|
|
471
|
+
```
|
|
472
|
+
|
|
473
|
+
TUIRoomKit 默认内置以下视频流挂件,如您需要自定义视频流挂件,请参考 UI 自定义 > 视频布局及挂件 。
|
|
474
|
+
|
|
475
|
+
## 常见问题
|
|
476
|
+
|
|
477
|
+
### 创建房间的用户(房主)关闭网页或异常退出后,会议会立即结束吗?
|
|
478
|
+
|
|
479
|
+
不会。 当房主关闭浏览器或因网络异常离开页面时,并不会导致会议立即解散。会议将持续运行,其他在房成员仍可正常进行会议互动。
|
|
480
|
+
|
|
481
|
+
为节省资源,建议在会议实际结束时,通过以下任一方式主动销毁房间:
|
|
482
|
+
- 界面操作:房主点击 TUIRoomKit 界面上的「解散房间」按钮;
|
|
483
|
+
|
|
484
|
+
- 客户端 API:调用 `conference.endRoom()` 方法;
|
|
485
|
+
|
|
486
|
+
- 服务端 API:通过 REST API 进行远程销毁。
|
|
487
|
+
|
|
488
|
+
注意:若未主动解散,系统会在会议结束时间后 6 小时,且房间内人数为 0 时自动回收资源。
|
|
489
|
+
|
|
490
|
+
### 多个设备能否使用同一个 userId 同时加入同一场会议?
|
|
491
|
+
|
|
492
|
+
不支持。 TUIRoomKit 不允许同一 userId 在多个设备上同时进入同一房间。
|
|
493
|
+
- 互踢机制:若后到的设备使用相同 userId 尝试进房,先前已在房内的设备会被强制下线(踢出)。
|
|
494
|
+
|
|
495
|
+
- 解决方案:如需实现多端(如手机、PC)同时加入会议,请确保为每个设备分配唯一的 userId。
|
|
496
|
+
|
|
497
|
+
### 在本地开发时使用正常,但部署到线上环境后无法正常采集用户的摄像头或麦克风设备?
|
|
498
|
+
- 原因分析:浏览器出于安全和隐私保护的考虑,对音视频设备(麦克风、摄像头)的采集有着严格限制。只有在安全环境下,采集操作才会被允许。安全环境协议包括:https://、localhost、file:// 等。HTTP 协议被视为不安全,浏览器会默认禁止访问媒体设备。
|
|
499
|
+
|
|
500
|
+
- 解决方案:若您在本地(localhost)测试一切正常,但部署后出现采集失败,请立即检查您的网页是否部署在 HTTP 协议上。必须使用 HTTPS 协议部署您的网页,并确保具备有效的安全证书。
|
|
501
|
+
|
|
502
|
+
- 相关资源:更多关于 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)。
|
|
503
|
+
|
|
504
|
+
### 是否支持使用 iframe 集成?
|
|
505
|
+
|
|
506
|
+
支持。使用 iframe 集成 TUIRoomKit 时, 需要在 iframe 标签中配置 allow 属性以授予必要的浏览器权限(麦克风、摄像头、屏幕共享、全屏等),示例如下:
|
|
507
|
+
``` typescript
|
|
508
|
+
// 开启麦克风、摄像头、屏幕分享、全屏权限
|
|
509
|
+
<iframe src="https://your-domain.com/index.html" allow="microphone; camera; display-capture; display; fullscreen;">
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
更多信息可参考 内嵌页面 (iframe)。
|
|
513
|
+
|
|
514
|
+
### 是否支持设置内网代理?
|
|
515
|
+
|
|
516
|
+
支持。请参考如下指引设置内网代理参数。更多内网代理信息请参考 [应对防火墙受限](https://web.sdk.qcloud.com/trtc/webrtc/doc/zh-cn/tutorial-34-advanced-proxy.html)。
|
|
517
|
+
``` typescript
|
|
518
|
+
// 请在进房前设置内网代理参数
|
|
519
|
+
import TUIRoomEngine from '@tencentcloud/tuiroom-engine-js';
|
|
520
|
+
import { useRoomEngine } from 'tuikit-atomicx-react/room';
|
|
521
|
+
|
|
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
|
+
```
|
|
540
|
+
|
|
541
|
+
### 是否可以直接修改 TUIRoomKit 的底层源码?
|
|
542
|
+
|
|
543
|
+
TUIRoomKit 已经为您提供了极其丰富的 UI 自定义能力,包括 自定义主题及语言、界面微调、自定义视频布局及挂件、水印配置等,能够满足绝大部分业务的个性化视觉与交互需求。
|
|
544
|
+
|
|
545
|
+
我们非常不推荐您进行源码导出。导出源码意味着您的项目将脱离 TUIRoomKit 的常规 npm 版本升级路径。您不仅需要自行承担后续极高的代码维护成本,也将无法直接通过更新版本来享受我们后续推出的新功能和底层音视频引擎的性能优化。
|
|
546
|
+
- 推荐方案:请优先查阅 UI 自定义类文档探索标准自定义方案。
|
|
547
|
+
|
|
548
|
+
如果您已经充分评估了上述高昂的维护风险,且业务确实存在极特殊的、必须破坏底层结构的深度定制需求,可按照以下步骤导出源码:
|
|
549
|
+
|
|
550
|
+
【React】
|
|
551
|
+
1. 执行源码导出脚本,默认拷贝路径为 `./src/components/RoomKit`
|
|
552
|
+
|
|
553
|
+
``` bash
|
|
554
|
+
node ./node_modules/@tencentcloud/roomkit-web-react/scripts/eject.js
|
|
555
|
+
```
|
|
556
|
+
2. 根据脚本提示确认是否要将 TUIRoomKit 源码拷贝到 `./src/components/RoomKit` 目录。如您需要自定义拷贝目录请输入 'y', 否则输入'n'。
|
|
557
|
+
|
|
558
|
+
3. 源码导出后,在您指定的项目路径中会新增 TUIRoomKit 源码。此时,您需要手动将 `ConferenceMainView` 组件及 `conference` 对象的引用从 npm 包地址更改为 RoomKit 源码的相对路径地址。
|
|
559
|
+
|
|
560
|
+
``` typescript
|
|
561
|
+
- import { ConferenceMainView, conference } from '@tencentcloud/roomkit-web-react';
|
|
562
|
+
// 替换引用路径为 TUIRoomKit 源码的真实路径
|
|
563
|
+
+ import { ConferenceMainView, conference } from './components/RoomKit/index.ts';
|
|
564
|
+
```
|
|
565
|
+
4. 配置 ESLint 校验
|
|
566
|
+
|
|
567
|
+
如果您导出 TUIRoomKit 源码后运行项目出现 ESLint 报错,您可以在 `.eslintignore` 文件中添加 RoomKit 文件夹忽略 ESLint 检测。
|
|
568
|
+
``` javascript
|
|
569
|
+
// 请替换为 TUIRoomKit 源码真实路径
|
|
570
|
+
src/components/RoomKit
|
|
571
|
+
```
|