@tencent-rtc/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/cursor-setting.png +0 -0
- package/knowledge/bm25-cache.js +74 -0
- package/knowledge/bm25-cache.js.map +1 -0
- package/knowledge/bm25.js +148 -0
- package/knowledge/bm25.js.map +1 -0
- package/knowledge/build-index.js +70 -0
- package/knowledge/build-index.js.map +1 -0
- package/knowledge/chunker.js +168 -0
- package/knowledge/chunker.js.map +1 -0
- package/knowledge/content-loader.js +40 -0
- package/knowledge/content-loader.js.map +1 -0
- package/knowledge/doc-url-resolver.js +143 -0
- package/knowledge/doc-url-resolver.js.map +1 -0
- package/knowledge/extractors.js +26 -0
- package/knowledge/extractors.js.map +1 -0
- package/knowledge/path-meta.js +185 -0
- package/knowledge/path-meta.js.map +1 -0
- package/knowledge/search/exact-lookup.js +498 -0
- package/knowledge/search/exact-lookup.js.map +1 -0
- package/knowledge/search/filter-pool.js +105 -0
- package/knowledge/search/filter-pool.js.map +1 -0
- package/knowledge/search/product-scope-intent.js +41 -0
- package/knowledge/search/product-scope-intent.js.map +1 -0
- package/knowledge/search/requires-framework.js +82 -0
- package/knowledge/search/requires-framework.js.map +1 -0
- package/knowledge/search/search-knowledge.js +230 -0
- package/knowledge/search/search-knowledge.js.map +1 -0
- package/mcp-server-prompt.png +0 -0
- package/package.json +1 -1
- package/resource/_schema/feature-aliases.yaml +10 -0
- package/resource/_schema/goal-tags.yaml +72 -0
- package/resource/_schema/products.yaml +19 -0
- package/resource/_schema/trtc-intents.yaml +27 -0
- package/resource/_schema/types.yaml +43 -0
- package/resource/index/component-slugs.json +1 -0
- package/resource/index/doc-source-urls.json +1 -0
- package/resource/index/manifest.json +1 -0
- package/resource/{doc → integration}/callkit/preset/android/integration.md +34 -28
- package/resource/integration/callkit/preset/flutter/integration.md +346 -0
- package/resource/integration/callkit/preset/ios/integration.md +408 -0
- package/resource/integration/callkit/preset/react/integration.md +362 -0
- package/resource/integration/callkit/preset/vue/integration.md +356 -0
- package/resource/integration/chat/preset/android/integration.md +500 -0
- package/resource/integration/chat/preset/flutter/integration.md +370 -0
- package/resource/integration/chat/preset/ios/integration.md +566 -0
- package/resource/integration/chat/preset/react/integration.md +490 -0
- package/resource/integration/chat/preset/vue/integration.md +504 -0
- package/resource/{doc → integration}/livekit/preset/live/vue/live-list-integration.md +26 -22
- package/resource/{doc → integration}/livekit/preset/live/vue/live-player-desk-integration.md +22 -18
- package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +309 -0
- package/resource/{doc → integration}/livekit/preset/live/vue/live-pusher-integration.md +47 -39
- package/resource/integration/roomkit/preset/vue/integration.md +562 -0
- package/resource/knowledge/callkit/core-sdk/android/answer-call.md +828 -0
- package/resource/knowledge/callkit/core-sdk/android/make-call.md +897 -0
- package/resource/knowledge/callkit/core-sdk/android/offline-push.md +363 -0
- package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +1111 -0
- package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +1132 -0
- package/resource/{doc → knowledge}/callkit/core-sdk/flutter/offline-push.md +174 -151
- package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +1084 -0
- package/resource/knowledge/callkit/core-sdk/ios/make-call.md +1252 -0
- package/resource/knowledge/callkit/core-sdk/ios/offline-push.md +534 -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 +92 -0
- package/resource/{doc/callkit/faq/android-faq.md → knowledge/callkit/faq/common.md} +11 -12
- package/resource/knowledge/callkit/faq/error-code.md +67 -0
- package/resource/knowledge/callkit/faq/flutter.md +52 -0
- package/resource/knowledge/callkit/faq/ios.md +104 -0
- package/resource/knowledge/callkit/faq/web.md +74 -0
- package/resource/knowledge/callkit/preset/android/api.md +412 -0
- package/resource/knowledge/callkit/preset/flutter/api.md +22 -0
- package/resource/knowledge/callkit/preset/ios/api.md +234 -0
- package/resource/knowledge/callkit/preset/web/api.md +83 -0
- package/resource/knowledge/chat/preset/android/features/chat-setting.md +74 -0
- package/resource/knowledge/chat/preset/android/features/contact-list.md +43 -0
- package/resource/knowledge/chat/preset/android/features/conversation-list.md +117 -0
- package/resource/knowledge/chat/preset/android/features/language.md +136 -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/knowledge/chat/preset/android/features/theme.md +222 -0
- package/resource/knowledge/chat/preset/android-view/integration.md +300 -0
- package/resource/knowledge/chat/preset/flutter/features/chat-setting.md +64 -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 +158 -0
- package/resource/knowledge/chat/preset/flutter/features/search.md +59 -0
- package/resource/knowledge/chat/preset/flutter/features/theme.md +261 -0
- package/resource/knowledge/chat/preset/ios/features/chat-setting.md +94 -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 +125 -0
- package/resource/knowledge/chat/preset/ios/features/message-input.md +69 -0
- package/resource/knowledge/chat/preset/ios/features/message-list.md +162 -0
- package/resource/knowledge/chat/preset/ios/features/search.md +93 -0
- package/resource/knowledge/chat/preset/ios/features/theme.md +270 -0
- package/resource/{doc/chatkit/ios → knowledge/chat/preset/ios-uikit}/integration.md +160 -158
- package/resource/knowledge/chat/preset/react/features/chat-setting.md +101 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/contact-list.md +43 -41
- package/resource/knowledge/chat/preset/react/features/conversation-actions.md +215 -0
- package/resource/knowledge/chat/preset/react/features/conversation-list.md +339 -0
- package/resource/knowledge/chat/preset/react/features/conversation-preview.md +101 -0
- package/resource/knowledge/chat/preset/react/features/conversation-search.md +61 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/message-input.md +117 -156
- package/resource/knowledge/chat/preset/react/features/message-list.md +297 -0
- package/resource/{doc/chatkit/react/components → knowledge/chat/preset/react/features}/search.md +65 -59
- package/resource/knowledge/chat/preset/react/features/theme.md +93 -0
- package/resource/knowledge/chat/preset/vue/features/chat-header.md +331 -0
- package/resource/knowledge/chat/preset/vue/features/chat-setting.md +79 -0
- package/resource/knowledge/chat/preset/vue/features/contact-list.md +277 -0
- package/resource/knowledge/chat/preset/vue/features/conversation-actions.md +234 -0
- package/resource/knowledge/chat/preset/vue/features/conversation-list.md +331 -0
- package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +216 -0
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/conversation-search.md +13 -13
- package/resource/knowledge/chat/preset/vue/features/message-input.md +551 -0
- package/resource/knowledge/chat/preset/vue/features/message-list.md +350 -0
- package/resource/{doc/chatkit/vue/components → knowledge/chat/preset/vue/features}/search.md +79 -73
- package/resource/knowledge/chat/preset/vue/features/theme.md +136 -0
- package/resource/knowledge/chat/urls/error-code.md +17 -0
- package/resource/knowledge/chat/urls/product.md +43 -0
- package/resource/knowledge/chat/urls/restapi.md +204 -0
- package/resource/knowledge/chat/urls/sdk/android.md +80 -0
- package/resource/knowledge/chat/urls/sdk/flutter.md +71 -0
- package/resource/knowledge/chat/urls/sdk/ios.md +80 -0
- package/resource/knowledge/chat/urls/sdk/web.md +80 -0
- package/resource/knowledge/chat/urls/webhook.md +68 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/AudioEffectStore.md +286 -0
- 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/knowledge/livekit/core-sdk/api-reference/android/CameraView.md +55 -0
- 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/knowledge/livekit/core-sdk/api-reference/android/LikeStore.md +51 -0
- 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 +488 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/android/LoginStore.md +219 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/AudioEffectStore.md +282 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BarrageStore.md +212 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/BaseBeautyStore.md +153 -0
- 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 +426 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/GiftStore.md +166 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LikeStore.md +52 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveAudienceStore.md +281 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveCoreView.md +150 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LiveSeatStore.md +438 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/flutter/LoginStore.md +190 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/AudioEffectStore.md +291 -0
- 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/knowledge/livekit/core-sdk/api-reference/ios/LikeStore.md +51 -0
- 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 +487 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/ios/LoginStore.md +183 -0
- package/resource/knowledge/livekit/core-sdk/api-reference/web/index.md +736 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audience-list.md +53 -47
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-barrage.md +22 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-base-beauty.md +17 -15
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-co-guest-interaction.md +19 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-gift.md +102 -89
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-host-interaction.md +41 -37
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-integration.md +45 -43
- package/resource/{doc → knowledge}/livekit/core-sdk/live/android/live-live-list.md +23 -20
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audience-list.md +41 -41
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-audio-effect.md +70 -69
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-barrage.md +68 -71
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-base-beauty.md +43 -47
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-co-guest-interaction.md +59 -56
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-gift.md +103 -105
- package/resource/knowledge/livekit/core-sdk/live/flutter/live-host-interaction.md +869 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-integration.md +84 -87
- package/resource/{doc → knowledge}/livekit/core-sdk/live/flutter/live-live-list.md +43 -40
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audience-list.md +11 -10
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-barrage.md +22 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-base-beauty.md +15 -14
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-co-guest-interaction.md +19 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-gift.md +54 -50
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-host-interaction.md +41 -37
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-integration.md +40 -40
- package/resource/{doc → knowledge}/livekit/core-sdk/live/ios/live-live-list.md +19 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audience-list.md +53 -47
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-barrage.md +22 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-co-guest-interaction.md +41 -33
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-gift.md +94 -81
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-host-interaction.md +35 -30
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-integration.md +45 -42
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/android/voice-room-list.md +23 -20
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audience-list.md +260 -0
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-audio-effect.md +598 -0
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-barrage.md +490 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-co-guest-interaction.md +65 -59
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-gift.md +424 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/flutter/voice-integration.md +69 -76
- package/resource/knowledge/livekit/core-sdk/voice/flutter/voice-room-list.md +726 -0
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audience-list.md +11 -10
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-audio-effect.md +28 -24
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-barrage.md +22 -18
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-co-guest-interaction.md +41 -33
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-gift.md +54 -50
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-host-interaction.md +35 -30
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-integration.md +49 -46
- package/resource/{doc → knowledge}/livekit/core-sdk/voice/ios/voice-room-list.md +19 -18
- package/resource/knowledge/livekit/faq/error-code.md +193 -0
- package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/barrage.md +56 -53
- package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-audience-list.md +22 -21
- package/resource/{doc/livekit/preset/live/vue/components → knowledge/livekit/preset/live/vue/features}/live-view.md +34 -32
- package/resource/knowledge/push/config/android.md +92 -0
- package/resource/knowledge/push/config/harmonyos.md +83 -0
- package/resource/knowledge/push/config/ios.md +254 -0
- package/resource/knowledge/push/config/react-native.md +254 -0
- package/resource/knowledge/push/config/unity.md +209 -0
- package/resource/knowledge/push/config/unreal-engine.md +194 -0
- package/resource/knowledge/push/integration/android.md +404 -0
- package/resource/knowledge/push/integration/flutter.md +465 -0
- package/resource/knowledge/push/integration/harmonyos.md +63 -0
- package/resource/knowledge/push/integration/ios.md +246 -0
- package/resource/knowledge/push/integration/react-native.md +366 -0
- package/resource/knowledge/push/integration/uni-app.md +208 -0
- package/resource/knowledge/push/integration/unity.md +389 -0
- package/resource/knowledge/push/integration/unreal-engine.md +390 -0
- package/resource/knowledge/push/overview/prepare.md +60 -0
- package/resource/knowledge/roomkit/core-sdk/android/call-user-to-room.md +241 -0
- package/resource/knowledge/roomkit/core-sdk/android/room-participant-state.md +588 -0
- package/resource/knowledge/roomkit/core-sdk/android/room-state.md +364 -0
- package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +340 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/call-user-to-room.md +230 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/room-participant-state.md +797 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +325 -0
- package/resource/knowledge/roomkit/core-sdk/flutter/schedule-room.md +325 -0
- package/resource/knowledge/roomkit/core-sdk/ios/call-user-to-room.md +233 -0
- package/resource/knowledge/roomkit/core-sdk/ios/room-participant-state.md +569 -0
- package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +325 -0
- package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +322 -0
- package/resource/knowledge/roomkit/core-sdk/vue/call-user-to-room.md +221 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/device-detection.md +49 -48
- package/resource/knowledge/roomkit/core-sdk/vue/device-state.md +461 -0
- package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +216 -0
- package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +370 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-participant-state.md +61 -60
- package/resource/knowledge/roomkit/core-sdk/vue/room-state.md +280 -0
- package/resource/{doc/roomkit/vue/features → knowledge/roomkit/core-sdk/vue}/room-view.md +57 -56
- package/resource/knowledge/roomkit/core-sdk/vue/schedule-room.md +319 -0
- package/resource/knowledge/roomkit/core-sdk/vue/screen-share.md +267 -0
- package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +261 -0
- package/resource/knowledge/roomkit/preset/android/integration.md +396 -0
- package/resource/knowledge/roomkit/preset/flutter/integration.md +404 -0
- package/resource/knowledge/roomkit/preset/ios/integration.md +369 -0
- package/resource/knowledge/roomkit/preset/react/integration.md +576 -0
- package/resource/knowledge/rtcengine/web/how_to_run_web_sdk_demo.md +44 -0
- package/resource/{doc → knowledge}/rtcengine/web/plugin/21-advanced-auto-play-policy.md +8 -2
- package/resource/{doc → knowledge}/rtcengine/web/plugin/22-advanced-audio-mixer.md +19 -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 +8 -8
- 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 +6 -6
- package/resource/{doc → knowledge}/rtcengine/web/plugin/27-advanced-small-stream.md +3 -3
- package/resource/{doc → knowledge}/rtcengine/web/plugin/29-advanced-water-mark.md +18 -0
- package/resource/{doc → knowledge}/rtcengine/web/plugin/31-advanced-plugins-overview.md +1 -1
- package/resource/{doc → knowledge}/rtcengine/web/plugin/34-advanced-proxy.md +2 -2
- package/resource/{doc → knowledge}/rtcengine/web/plugin/35-advanced-ai-denoiser.md +1 -1
- package/resource/knowledge/trtc/android/TRTCCloud.md +1915 -0
- package/resource/knowledge/trtc/android/TRTCCloudDef.md +1029 -0
- package/resource/knowledge/trtc/android/TRTCCloudListener.md +1095 -0
- package/resource/knowledge/trtc/android/TRTCStatistics.md +68 -0
- package/resource/knowledge/trtc/android/TXAudioEffectManager.md +502 -0
- package/resource/knowledge/trtc/android/TXBeautyManager.md +415 -0
- package/resource/knowledge/trtc/android/TXDeviceManager.md +169 -0
- package/resource/knowledge/trtc/android/TXLiteAVCode.md +125 -0
- package/resource/knowledge/trtc/c++/ITRTCCloud.md +2069 -0
- package/resource/knowledge/trtc/c++/ITRTCStatistics.md +73 -0
- package/resource/knowledge/trtc/c++/ITXAudioEffectManager.md +502 -0
- package/resource/knowledge/trtc/c++/ITXDeviceManager.md +391 -0
- package/resource/knowledge/trtc/c++/TRTCCloudCallback.md +1191 -0
- package/resource/knowledge/trtc/c++/TRTCTypeDef.md +931 -0
- package/resource/knowledge/trtc/c++/TXLiteAVCode.md +127 -0
- package/resource/knowledge/trtc/ios/TRTCCloud.md +2118 -0
- package/resource/knowledge/trtc/ios/TRTCCloudDef.md +975 -0
- package/resource/knowledge/trtc/ios/TRTCCloudDelegate.md +1131 -0
- package/resource/knowledge/trtc/ios/TRTCStatistics.md +68 -0
- package/resource/knowledge/trtc/ios/TXAudioEffectManager.md +423 -0
- package/resource/knowledge/trtc/ios/TXBeautyManager.md +416 -0
- package/resource/knowledge/trtc/ios/TXDeviceManager.md +387 -0
- package/resource/knowledge/trtc/ios/TXLiteAVCode.md +127 -0
- package/server.js +35 -11
- package/server.js.map +1 -1
- package/tools/call/get_native_call_uikit_integration.js +2 -3
- package/tools/call/get_native_call_uikit_integration.js.map +1 -1
- package/tools/call/get_native_callkit_core_integration.js +2 -5
- package/tools/call/get_native_callkit_core_integration.js.map +1 -1
- package/tools/call/get_web_call_uikit_integration.js +2 -3
- package/tools/call/get_web_call_uikit_integration.js.map +1 -1
- package/tools/chat/get_native_chat_uikit_integration.js +2 -3
- package/tools/chat/get_native_chat_uikit_integration.js.map +1 -1
- package/tools/chat/get_web_chat_uikit_integration.js +2 -3
- package/tools/chat/get_web_chat_uikit_integration.js.map +1 -1
- package/tools/common/present_framework_choice.js +19 -13
- package/tools/common/present_framework_choice.js.map +1 -1
- package/tools/common/record_answer.js +19 -25
- package/tools/common/record_answer.js.map +1 -1
- package/tools/common/record_feedback.js +17 -30
- package/tools/common/record_feedback.js.map +1 -1
- package/tools/common/search_trtc_knowledge.js +45 -0
- package/tools/common/search_trtc_knowledge.js.map +1 -0
- package/tools/definitions/get_native_call_uikit_integration_def.js +3 -1
- package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_callkit_core_integration_def.js +5 -3
- package/tools/definitions/get_native_callkit_core_integration_def.js.map +1 -1
- package/tools/definitions/get_native_chat_uikit_integration_def.js +5 -2
- package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_native_livekit_core_integration_def.js +6 -5
- package/tools/definitions/get_native_livekit_core_integration_def.js.map +1 -1
- package/tools/definitions/get_web_call_uikit_integration_def.js +4 -2
- package/tools/definitions/get_web_call_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_chat_uikit_integration_def.js +2 -0
- package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_live_uikit_integration_def.js +5 -5
- package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -1
- package/tools/definitions/get_web_room_core_integration_def.js +50 -0
- package/tools/definitions/get_web_room_core_integration_def.js.map +1 -0
- package/tools/definitions/get_web_room_uikit_integration_def.js +5 -4
- package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -1
- package/tools/definitions/integration-boundary.js +6 -0
- package/tools/definitions/integration-boundary.js.map +1 -0
- package/tools/definitions/present_framework_choice_def.js +12 -10
- package/tools/definitions/present_framework_choice_def.js.map +1 -1
- package/tools/definitions/record_answer_def.js +19 -17
- package/tools/definitions/record_answer_def.js.map +1 -1
- package/tools/definitions/record_feedback_def.js +14 -13
- package/tools/definitions/record_feedback_def.js.map +1 -1
- package/tools/definitions/search_trtc_knowledge_def.js +40 -0
- package/tools/definitions/search_trtc_knowledge_def.js.map +1 -0
- package/tools/index.js +5 -36
- package/tools/index.js.map +1 -1
- package/tools/live/get_native_livekit_core_integration.js +1 -3
- package/tools/live/get_native_livekit_core_integration.js.map +1 -1
- package/tools/live/get_web_live_uikit_integration.js +2 -4
- package/tools/live/get_web_live_uikit_integration.js.map +1 -1
- package/tools/room/get_web_room_core_integration.js +48 -0
- package/tools/room/get_web_room_core_integration.js.map +1 -0
- package/tools/room/get_web_room_uikit_integration.js +2 -3
- package/tools/room/get_web_room_uikit_integration.js.map +1 -1
- package/utils/generate-structured-result.js +24 -30
- package/utils/generate-structured-result.js.map +1 -1
- package/utils/get-doc-content.js +14 -8
- package/utils/get-doc-content.js.map +1 -1
- package/utils/report-cls-client.js +18 -20
- package/utils/report-cls-client.js.map +1 -1
- package/utils/report-es-client.js +1 -1
- package/resource/doc/callkit/core-sdk/.gitkeep +0 -0
- package/resource/doc/callkit/core-sdk/android/answer-call.md +0 -852
- package/resource/doc/callkit/core-sdk/android/make-call.md +0 -954
- package/resource/doc/callkit/core-sdk/android/offline-push.md +0 -361
- package/resource/doc/callkit/core-sdk/flutter/answer-call.md +0 -1160
- package/resource/doc/callkit/core-sdk/flutter/make-call.md +0 -1205
- package/resource/doc/callkit/core-sdk/ios/answer-call.md +0 -1090
- package/resource/doc/callkit/core-sdk/ios/make-call.md +0 -1248
- package/resource/doc/callkit/core-sdk/ios/offline-push.md +0 -485
- package/resource/doc/callkit/core-sdk/uni-app/answer-call.md +0 -950
- package/resource/doc/callkit/core-sdk/uni-app/make-call.md +0 -1052
- package/resource/doc/callkit/faq/common/error-code.md +0 -47
- package/resource/doc/callkit/faq/flutter-faq.md +0 -115
- package/resource/doc/callkit/faq/ios-faq.md +0 -115
- package/resource/doc/callkit/faq/web-faq.md +0 -36
- package/resource/doc/callkit/preset/android/api.md +0 -296
- package/resource/doc/callkit/preset/flutter/api.md +0 -410
- package/resource/doc/callkit/preset/flutter/integration.md +0 -164
- package/resource/doc/callkit/preset/ios/api.md +0 -80
- package/resource/doc/callkit/preset/ios/integration.md +0 -187
- package/resource/doc/callkit/preset/react/api.md +0 -501
- package/resource/doc/callkit/preset/react/integration.md +0 -86
- package/resource/doc/callkit/preset/vue/api.md +0 -501
- package/resource/doc/callkit/preset/vue/integration.md +0 -83
- package/resource/doc/chatkit/android/faq.md +0 -111
- package/resource/doc/chatkit/android/features/theme.md +0 -219
- package/resource/doc/chatkit/android/integration.md +0 -490
- package/resource/doc/chatkit/faq/android_sdk/client-api.md +0 -281
- package/resource/doc/chatkit/faq/common/product.md +0 -7
- package/resource/doc/chatkit/faq/common/server.md +0 -44
- package/resource/doc/chatkit/faq/common/server_error_code.md +0 -74
- package/resource/doc/chatkit/faq/flutter_sdk/client-api.md +0 -199
- package/resource/doc/chatkit/faq/flutter_sdk/faq.md +0 -53
- package/resource/doc/chatkit/faq/ios_sdk/client-api.md +0 -235
- package/resource/doc/chatkit/faq/web_sdk/error_code.md +0 -47
- package/resource/doc/chatkit/faq/web_sdk/faq.md +0 -287
- package/resource/doc/chatkit/flutter/faq.md +0 -23
- package/resource/doc/chatkit/flutter/features/theme.md +0 -235
- package/resource/doc/chatkit/flutter/integration.md +0 -344
- package/resource/doc/chatkit/ios/faq.md +0 -111
- package/resource/doc/chatkit/ios/features/theme.md +0 -267
- 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 -57
- package/resource/doc/chatkit/react/components/chat.md +0 -38
- package/resource/doc/chatkit/react/components/component-list.md +0 -37
- package/resource/doc/chatkit/react/components/conversation-actions.md +0 -174
- package/resource/doc/chatkit/react/components/conversation-list.md +0 -333
- package/resource/doc/chatkit/react/components/conversation-preview.md +0 -118
- package/resource/doc/chatkit/react/components/conversation-search.md +0 -60
- package/resource/doc/chatkit/react/components/message-list.md +0 -293
- package/resource/doc/chatkit/react/components/tuikit.md +0 -34
- package/resource/doc/chatkit/react/faq.md +0 -26
- package/resource/doc/chatkit/react/integration.md +0 -416
- package/resource/doc/chatkit/vue/components/avatar.md +0 -104
- package/resource/doc/chatkit/vue/components/chat-header.md +0 -148
- package/resource/doc/chatkit/vue/components/chat-setting.md +0 -62
- package/resource/doc/chatkit/vue/components/chat.md +0 -45
- package/resource/doc/chatkit/vue/components/component-list.md +0 -87
- package/resource/doc/chatkit/vue/components/contact-list.md +0 -271
- package/resource/doc/chatkit/vue/components/conversation-actions.md +0 -228
- package/resource/doc/chatkit/vue/components/conversation-list.md +0 -320
- package/resource/doc/chatkit/vue/components/conversation-preview.md +0 -213
- package/resource/doc/chatkit/vue/components/message-input.md +0 -1054
- package/resource/doc/chatkit/vue/components/message-list.md +0 -433
- package/resource/doc/chatkit/vue/components/tuikit.md +0 -31
- package/resource/doc/chatkit/vue/components/userpicker.md +0 -256
- package/resource/doc/chatkit/vue/faq.md +0 -36
- package/resource/doc/chatkit/vue/integration.md +0 -428
- package/resource/doc/livekit/core-sdk/live/flutter/live-host-interaction.md +0 -866
- package/resource/doc/livekit/faq/common/error-code.md +0 -88
- package/resource/doc/livekit/preset/live/vue/api-reference/index.md +0 -780
- package/resource/doc/livekit/preset/live/vue/components/co-guest-panel.md +0 -91
- package/resource/doc/livekit/preset/live/vue/components/live-scene-panel.md +0 -112
- package/resource/doc/livekit/preset/live/vue/components/stream-mixer.md +0 -215
- package/resource/doc/livekit/preset/live/vue/live-player-h5-integration.md +0 -300
- package/resource/doc/roomkit/faq/common/error-code.md +0 -67
- package/resource/doc/roomkit/vue/features/call-user-to-room.md +0 -220
- package/resource/doc/roomkit/vue/features/device-state.md +0 -460
- package/resource/doc/roomkit/vue/features/free-beauty-panel.md +0 -215
- package/resource/doc/roomkit/vue/features/room-chat.md +0 -369
- package/resource/doc/roomkit/vue/features/room-state.md +0 -282
- package/resource/doc/roomkit/vue/features/schedule-room.md +0 -318
- package/resource/doc/roomkit/vue/features/screen-share.md +0 -265
- package/resource/doc/roomkit/vue/features/virtual-background.md +0 -271
- package/resource/doc/roomkit/vue/integration.md +0 -315
- package/resource/doc/rtcengine/faq/common/error_code.md +0 -1
- package/resource/doc/rtcengine/faq/web_sdk/.gitkeep +0 -0
- package/resource/doc/rtcengine/web/.gitkeep +0 -0
- package/resource/doc/rtcengine/web/how_to_run_web_sdk_demo.md +0 -59
- package/resource/doc/trtc/C++/ITRTCCloud.md +0 -1970
- package/resource/doc/trtc/C++/ITRTCStatistics.md +0 -70
- package/resource/doc/trtc/C++/ITXAudioEffectManager.md +0 -469
- package/resource/doc/trtc/C++/ITXDeviceManager.md +0 -387
- package/resource/doc/trtc/C++/TRTCCloudCallback.md +0 -1082
- package/resource/doc/trtc/C++/TRTCTypeDef.md +0 -925
- package/resource/doc/trtc/C++/TXLiteAVCode.md +0 -129
- package/resource/doc/trtc/android/TRTCCloud.md +0 -1815
- package/resource/doc/trtc/android/TRTCCloudDef.md +0 -992
- package/resource/doc/trtc/android/TRTCCloudListener.md +0 -1004
- package/resource/doc/trtc/android/TRTCStatistics.md +0 -65
- package/resource/doc/trtc/android/TXAudioEffectManager.md +0 -469
- package/resource/doc/trtc/android/TXBeautyManager.md +0 -402
- package/resource/doc/trtc/android/TXDeviceManager.md +0 -173
- package/resource/doc/trtc/android/TXLiteAVCode.md +0 -127
- package/resource/doc/trtc/iOS/TRTCCloud.md +0 -2028
- package/resource/doc/trtc/iOS/TRTCCloudDef.md +0 -958
- package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +0 -1046
- package/resource/doc/trtc/iOS/TRTCStatistics.md +0 -65
- package/resource/doc/trtc/iOS/TXAudioEffectManager.md +0 -397
- package/resource/doc/trtc/iOS/TXBeautyManager.md +0 -403
- package/resource/doc/trtc/iOS/TXDeviceManager.md +0 -381
- package/resource/doc/trtc/iOS/TXLiteAVCode.md +0 -130
- package/tools/call/get_callkit_api.js +0 -33
- package/tools/call/get_callkit_api.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_web_chat_uikit_component_detail.js +0 -35
- package/tools/chat/get_web_chat_uikit_component_detail.js.map +0 -1
- package/tools/common/get_faq.js +0 -266
- package/tools/common/get_faq.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 -29
- package/tools/definitions/get_callkit_api_def.js.map +0 -1
- package/tools/definitions/get_faq_def.js +0 -47
- package/tools/definitions/get_faq_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_livekit_core_features_def.js +0 -34
- package/tools/definitions/get_native_livekit_core_features_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_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_livekit_api_def.js +0 -30
- package/tools/definitions/get_web_livekit_api_def.js.map +0 -1
- package/tools/definitions/get_web_livekit_component_detail_def.js +0 -32
- package/tools/definitions/get_web_livekit_component_detail_def.js.map +0 -1
- package/tools/definitions/get_web_roomkit_feature_detail_def.js +0 -31
- package/tools/definitions/get_web_roomkit_feature_detail_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_api_def.js +0 -27
- package/tools/definitions/get_web_trtc_sdk_api_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_integration_def.js +0 -27
- package/tools/definitions/get_web_trtc_sdk_integration_def.js.map +0 -1
- package/tools/definitions/get_web_trtc_sdk_plugin_def.js +0 -27
- package/tools/definitions/get_web_trtc_sdk_plugin_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/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_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_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 -120
- package/utils/build-session-directives.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/report-runtime-error-cls-client.js +0 -91
- package/utils/report-runtime-error-cls-client.js.map +0 -1
- /package/resource/{doc/livekit/preset/live/vue/faq.md → knowledge/push/config/donut.md} +0 -0
- /package/resource/{doc/roomkit/vue/faq.md → knowledge/push/integration/donut.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/30-advanced-cross-room-link.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/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
|
@@ -0,0 +1,504 @@
|
|
|
1
|
+
TUIKit is a Vue 3 UI component library built on the Tencent Cloud Chat SDK. It provides common UI components for conversations, chat, groups, and more. This guide explains how to quickly integrate TUIKit and implement core features.
|
|
2
|
+
|
|
3
|
+
> **Note:**
|
|
4
|
+
>
|
|
5
|
+
> - **AI assistant usage**
|
|
6
|
+
>
|
|
7
|
+
> The Skill provides **IM knowledge Q&A** and **Vue 3 Composition API integration without UI** capabilities. You can use the Skill in your IDE to query SDK, UIKit, server-side API, billing, and other topics, or integrate IM into a Vue 3 project. [Try the AI integration and Q&A assistant](https://cloud.tencent.com/document/product/269/125822).
|
|
8
|
+
|
|
9
|
+
## Key concepts
|
|
10
|
+
|
|
11
|
+
`chat-uikit-vue3` includes core UI components such as ConversationList, Chat, MessageList, ChatHeader, MessageInput, ChatSetting, Search, and Contact. Each component renders a specific part of the chat experience.
|
|
12
|
+
|
|
13
|
+
- ConversationList — conversation list component.
|
|
14
|
+
|
|
15
|
+
- Chat — container component for a conversation.
|
|
16
|
+
|
|
17
|
+
- MessageList — message list component for a conversation.
|
|
18
|
+
|
|
19
|
+
- ChatHeader — header component for a conversation.
|
|
20
|
+
|
|
21
|
+
- MessageInput — message input component.
|
|
22
|
+
|
|
23
|
+
- ChatSetting — management component for one-to-one and group chats.
|
|
24
|
+
|
|
25
|
+
- Search — cloud search component.
|
|
26
|
+
|
|
27
|
+
- Contact — contact component.
|
|
28
|
+
|
|
29
|
+
## Prerequisites
|
|
30
|
+
|
|
31
|
+
- Vue.js@^3.0.0
|
|
32
|
+
|
|
33
|
+
- TypeScript@^5.0.0
|
|
34
|
+
|
|
35
|
+
- Node.js (Node.js ≥ 20.0.0; LTS v22 is recommended)
|
|
36
|
+
|
|
37
|
+
## Create a project
|
|
38
|
+
|
|
39
|
+
Use Vite to create a new Vue 3 project named **chat-integration-vue3**.
|
|
40
|
+
|
|
41
|
+
> **Note:**
|
|
42
|
+
>
|
|
43
|
+
> Recent Vite versions require a recent Node.js version.
|
|
44
|
+
|
|
45
|
+
【shell】
|
|
46
|
+
``` bash
|
|
47
|
+
npm create vite@latest
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Scaffold options can follow these choices:
|
|
51
|
+
|
|
52
|
+
``` java
|
|
53
|
+
◇ Project name:
|
|
54
|
+
│ chat-integration-vue3
|
|
55
|
+
│
|
|
56
|
+
◇ Select a framework:
|
|
57
|
+
│ Vue
|
|
58
|
+
│
|
|
59
|
+
◇ Select a variant:
|
|
60
|
+
│ TypeScript
|
|
61
|
+
│
|
|
62
|
+
◆ Install with npm and start now?
|
|
63
|
+
│ ● Yes / ○ No
|
|
64
|
+
└
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Download and import components
|
|
68
|
+
|
|
69
|
+
After creating the project, switch to the project directory.
|
|
70
|
+
|
|
71
|
+
【shell】
|
|
72
|
+
``` bash
|
|
73
|
+
cd chat-integration-vue3
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Step 1: Install dependencies
|
|
77
|
+
|
|
78
|
+
> **Note:**
|
|
79
|
+
>
|
|
80
|
+
> npm is recommended. npm automatically installs required peer dependencies.
|
|
81
|
+
|
|
82
|
+
【shell】
|
|
83
|
+
``` bash
|
|
84
|
+
npm i @tencentcloud/chat-uikit-vue3@6 tuikit-atomicx-vue3@6
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
### Step 2: Import components
|
|
88
|
+
|
|
89
|
+
> **Note:**
|
|
90
|
+
>
|
|
91
|
+
> The code below does not include `SDKAppID`, `userID`, or `userSig`. Replace them with values from Step 3.
|
|
92
|
+
|
|
93
|
+
#### 2.1 Set up the entry page
|
|
94
|
+
|
|
95
|
+
For example, add the following code to `src/App.vue`. Log in before rendering the chat page to avoid calling APIs before login.
|
|
96
|
+
|
|
97
|
+
``` typescript
|
|
98
|
+
<template>
|
|
99
|
+
<UIKitProvider language="en-US" theme="light">
|
|
100
|
+
<ChatLayout v-if="isLoggedIn" />
|
|
101
|
+
</UIKitProvider>
|
|
102
|
+
</template>
|
|
103
|
+
|
|
104
|
+
<script setup lang="ts">
|
|
105
|
+
import { ref } from 'vue';
|
|
106
|
+
import { UIKitProvider, useLoginState } from '@tencentcloud/chat-uikit-vue3';
|
|
107
|
+
import ChatLayout from './components/ChatLayout.vue';
|
|
108
|
+
|
|
109
|
+
const { login } = useLoginState();
|
|
110
|
+
const isLoggedIn = ref(false);
|
|
111
|
+
|
|
112
|
+
login({
|
|
113
|
+
sdkAppId: 0, // SDKAppID, number type
|
|
114
|
+
userId: '', // UserID, string type
|
|
115
|
+
userSig: '', // userSig, string type
|
|
116
|
+
}).then(() => {
|
|
117
|
+
isLoggedIn.value = true;
|
|
118
|
+
});
|
|
119
|
+
</script>
|
|
120
|
+
|
|
121
|
+
<style>
|
|
122
|
+
body { margin: 0; padding: 0; font-family: Inter, Avenir, Helvetica, Arial, sans-serif; }
|
|
123
|
+
#app { width: 100vw; height: 100vh; }
|
|
124
|
+
#app > div { display: flex; align-items: center; justify-content: center; }
|
|
125
|
+
</style>
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
#### 2.2 Set up the chat page
|
|
129
|
+
|
|
130
|
+
Create `src/components/ChatLayout.vue` and add the following:
|
|
131
|
+
|
|
132
|
+
``` typescript
|
|
133
|
+
<template>
|
|
134
|
+
<div class="chat-layout">
|
|
135
|
+
<SideTab :active-tab="activeTab" @tab-change="(tab) => activeTab = tab" />
|
|
136
|
+
|
|
137
|
+
<div class="list-panel">
|
|
138
|
+
<ConversationList v-show="activeTab === 'conversations'" />
|
|
139
|
+
<ContactList v-show="activeTab === 'contacts'" />
|
|
140
|
+
</div>
|
|
141
|
+
|
|
142
|
+
<div v-show="activeTab === 'conversations'" class="chat-panel">
|
|
143
|
+
<Chat :PlaceholderEmpty="EmptyChatTpl">
|
|
144
|
+
<ChatHeader>
|
|
145
|
+
<template #ChatHeaderRight>
|
|
146
|
+
<button class="icon-btn" @click="settingOpen = !settingOpen">
|
|
147
|
+
<IconMenu size="20" />
|
|
148
|
+
</button>
|
|
149
|
+
</template>
|
|
150
|
+
</ChatHeader>
|
|
151
|
+
<MessageList />
|
|
152
|
+
<MessageInput>
|
|
153
|
+
<template #headerToolbar>
|
|
154
|
+
<div class="toolbar">
|
|
155
|
+
<div class="toolbar-left">
|
|
156
|
+
<EmojiPicker /><FilePicker /><VideoPicker /><ImagePicker />
|
|
157
|
+
</div>
|
|
158
|
+
<button class="icon-btn" @click="searchOpen = !searchOpen">
|
|
159
|
+
<IconSearch size="20" />
|
|
160
|
+
</button>
|
|
161
|
+
</div>
|
|
162
|
+
</template>
|
|
163
|
+
</MessageInput>
|
|
164
|
+
<div v-if="settingOpen" class="float-sidebar">
|
|
165
|
+
<ChatSetting @close="settingOpen = false" />
|
|
166
|
+
</div>
|
|
167
|
+
</Chat>
|
|
168
|
+
</div>
|
|
169
|
+
|
|
170
|
+
<div v-if="searchOpen && activeTab === 'conversations'" class="search-sidebar">
|
|
171
|
+
<div class="search-sidebar-header">
|
|
172
|
+
<span class="search-sidebar-title">Search</span>
|
|
173
|
+
<button class="icon-btn" @click="searchOpen = false">✕</button>
|
|
174
|
+
</div>
|
|
175
|
+
<Search :variant="VariantType.EMBEDDED" />
|
|
176
|
+
</div>
|
|
177
|
+
|
|
178
|
+
<div v-show="activeTab === 'contacts'" class="detail-panel">
|
|
179
|
+
<ContactInfo @send-message="activeTab = 'conversations'" />
|
|
180
|
+
</div>
|
|
181
|
+
</div>
|
|
182
|
+
</template>
|
|
183
|
+
|
|
184
|
+
<script setup lang="ts">
|
|
185
|
+
import { ref, watch } from 'vue';
|
|
186
|
+
import {
|
|
187
|
+
Chat, Search, ChatHeader, MessageList, MessageInput,
|
|
188
|
+
ConversationList, ContactList, ContactInfo, ChatSetting,
|
|
189
|
+
EmojiPicker, FilePicker, VideoPicker, ImagePicker,
|
|
190
|
+
VariantType, useChatContext,
|
|
191
|
+
} from '@tencentcloud/chat-uikit-vue3';
|
|
192
|
+
import { IconMenu, IconSearch } from '@tencentcloud/uikit-base-component-vue3';
|
|
193
|
+
import SideTab from './SideTab.vue';
|
|
194
|
+
|
|
195
|
+
const { activeConversation } = useChatContext();
|
|
196
|
+
|
|
197
|
+
const activeTab = ref<'conversations' | 'contacts'>('conversations');
|
|
198
|
+
const settingOpen = ref(false);
|
|
199
|
+
const searchOpen = ref(false);
|
|
200
|
+
|
|
201
|
+
watch(() => activeConversation.value?.conversationID, () => {
|
|
202
|
+
settingOpen.value = false;
|
|
203
|
+
searchOpen.value = false;
|
|
204
|
+
});
|
|
205
|
+
|
|
206
|
+
watch(activeTab, () => {
|
|
207
|
+
settingOpen.value = false;
|
|
208
|
+
searchOpen.value = false;
|
|
209
|
+
});
|
|
210
|
+
|
|
211
|
+
const EmptyChatTpl = { template: `
|
|
212
|
+
<div class="empty-chat">
|
|
213
|
+
<div style="font-size:48px;opacity:.3">💬</div>
|
|
214
|
+
<div style="font-size:15px;font-weight:600;color:#6c757d">No conversations</div>
|
|
215
|
+
<div style="font-size:13px;color:#868e96">Select a conversation to start chatting</div>
|
|
216
|
+
</div>
|
|
217
|
+
`};
|
|
218
|
+
</script>
|
|
219
|
+
|
|
220
|
+
<style scoped>
|
|
221
|
+
.chat-layout { height: 60vh; aspect-ratio: 16/9; display: flex; border-radius: 16px; box-shadow: 0 20px 60px rgba(0,0,0,.3), 0 0 0 1px rgba(255,255,255,.1); overflow: hidden; }
|
|
222
|
+
@media (max-width: 1920px) { .chat-layout { height: 80vh; } }
|
|
223
|
+
.list-panel { width: 300px; display: flex; flex-direction: column; border-right: 1px solid var(--stroke-color-primary); overflow: hidden; }
|
|
224
|
+
.detail-panel { flex: 1; }
|
|
225
|
+
.icon-btn { padding: 4px 6px; display: flex; align-items: center; justify-content: center; border: none; background: transparent; border-radius: 4px; font-size: 20px; color: var(--text-color-primary); cursor: pointer; outline: none; }
|
|
226
|
+
.icon-btn:hover { background-color: var(--button-color-secondary-hover); }
|
|
227
|
+
.toolbar { display: flex; justify-content: space-between; align-items: center; }
|
|
228
|
+
.toolbar-left { display: flex; align-items: center; gap: 4px; }
|
|
229
|
+
.search-sidebar { border-left: 1px solid var(--stroke-color-primary); display: flex; flex-direction: column; flex: 0 0 300px; }
|
|
230
|
+
.search-sidebar-header { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--stroke-color-primary); }
|
|
231
|
+
.search-sidebar-title { font-size: 16px; font-weight: 500; color: var(--text-color-primary); }
|
|
232
|
+
.chat-panel { flex: 1; position: relative; display: flex; }
|
|
233
|
+
.float-sidebar { position: absolute; right: 0; top: 0; bottom: 0; min-width: 300px; max-width: 400px; display: flex; flex-direction: column; background-color: var(--bg-color-operate); box-shadow: -2px 0 8px rgba(0,0,0,.04), -4px 0 16px rgba(0,0,0,.06); overflow: auto; z-index: 1000; }
|
|
234
|
+
.empty-chat { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; background-color: var(--bg-color-operate); border-left: 1px solid rgba(0,0,0,.08); }
|
|
235
|
+
</style>
|
|
236
|
+
|
|
237
|
+
<style>
|
|
238
|
+
#app { text-align: start; }
|
|
239
|
+
</style>
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
#### 2.3 Add side navigation
|
|
243
|
+
|
|
244
|
+
Create `src/components/SideTab.vue` and add the following:
|
|
245
|
+
|
|
246
|
+
``` typescript
|
|
247
|
+
<template>
|
|
248
|
+
<div class="side-tab" :class="{ dark: isDark }">
|
|
249
|
+
<!-- User avatar -->
|
|
250
|
+
<div class="avatar-wrapper">
|
|
251
|
+
<Avatar class="avatar" :src="loginUserInfo?.avatarUrl" />
|
|
252
|
+
<div class="tooltip">
|
|
253
|
+
<div class="tooltip-name">{{ loginUserInfo?.userName || 'Unnamed' }}</div>
|
|
254
|
+
<div class="tooltip-id">ID: {{ loginUserInfo?.userId }}</div>
|
|
255
|
+
</div>
|
|
256
|
+
</div>
|
|
257
|
+
<!-- Tab switch -->
|
|
258
|
+
<div class="tabs">
|
|
259
|
+
<div
|
|
260
|
+
class="tab-item"
|
|
261
|
+
:class="{ active: props.activeTab === 'conversations' }"
|
|
262
|
+
@click="handleTabChange('conversations')"
|
|
263
|
+
title="Conversations"
|
|
264
|
+
>
|
|
265
|
+
<IconChatNew size="24" />
|
|
266
|
+
</div>
|
|
267
|
+
<div
|
|
268
|
+
class="tab-item"
|
|
269
|
+
:class="{ active: props.activeTab === 'contacts' }"
|
|
270
|
+
@click="handleTabChange('contacts')"
|
|
271
|
+
title="Contacts"
|
|
272
|
+
>
|
|
273
|
+
<IconContacts size="24" />
|
|
274
|
+
</div>
|
|
275
|
+
</div>
|
|
276
|
+
</div>
|
|
277
|
+
</template>
|
|
278
|
+
|
|
279
|
+
<script lang="ts" setup>
|
|
280
|
+
import { computed } from 'vue';
|
|
281
|
+
import { useLoginState, useUIKit, Avatar } from '@tencentcloud/chat-uikit-vue3';
|
|
282
|
+
import { IconChatNew, IconContacts } from '@tencentcloud/uikit-base-component-vue3';
|
|
283
|
+
|
|
284
|
+
const { theme } = useUIKit();
|
|
285
|
+
const { loginUserInfo } = useLoginState();
|
|
286
|
+
|
|
287
|
+
const isDark = computed(() => theme.value === 'dark' || theme.value === 'serious');
|
|
288
|
+
|
|
289
|
+
interface Props {
|
|
290
|
+
activeTab?: 'conversations' | 'contacts';
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
const props = withDefaults(defineProps<Props>(), {
|
|
294
|
+
activeTab: 'conversations'
|
|
295
|
+
});
|
|
296
|
+
|
|
297
|
+
const emit = defineEmits<{
|
|
298
|
+
tabChange: [tab: 'conversations' | 'contacts'];
|
|
299
|
+
}>();
|
|
300
|
+
|
|
301
|
+
const handleTabChange = (tab: 'conversations' | 'contacts') => {
|
|
302
|
+
emit('tabChange', tab);
|
|
303
|
+
};
|
|
304
|
+
</script>
|
|
305
|
+
|
|
306
|
+
<style scoped>
|
|
307
|
+
.side-tab{width:72px;height:100vh;background:var(--bg-color-function);display:flex;flex-direction:column;align-items:center;padding:20px 0;transition:background 0.3s;}.avatar-wrapper{position:relative;margin-bottom:24px;cursor:pointer;}.avatar-wrapper:hover:deep(.avatar){transform:scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,0.15);}.tooltip{position:absolute;left:60px;top:50%;transform:translateY(-50%);padding:8px 12px;background:rgba(0,0,0,0.85);color:#fff;border-radius:6px;white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:all 0.3s;z-index:1000;}.tooltip::before{content:'';position:absolute;left:-6px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:rgba(0,0,0,0.85);}.avatar-wrapper:hover .tooltip{opacity:1;visibility:visible;}.tooltip-name{font-size:14px;font-weight:500;margin-bottom:4px;}.tooltip-id{font-size:12px;opacity:0.8;}.tabs{display:flex;flex-direction:column;gap:16px;}.tab-item{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px;cursor:pointer;transition:all 0.3s;color:var(--text-color-primary);}.tab-item:hover{background:rgba(0,0,0,0.05);}.tab-item.active{background:var(--button-color-primary-default);color:var(--text-color-button);}.side-tab.dark{background:#1a1a1a;}.side-tab.dark .avatar-wrapper:hover:deep(.avatar){box-shadow:0 4px 12px rgba(255,255,255,0.2);}.side-tab.dark .tooltip{background:rgba(255,255,255,0.95);color:#1a1a1a;}.side-tab.dark .tooltip::before{border-right-color:rgba(255,255,255,0.95);}.side-tab.dark .tab-item:hover{background:rgba(255,255,255,0.1);}.side-tab.dark .tab-item.active{background:#1890ff;color:#fff;}
|
|
308
|
+
</style>
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
### Step 3: Get SDKAppID, userID, and userSig
|
|
312
|
+
|
|
313
|
+
In the `login` function in `src/App.vue` from the previous step, fill in SDKAppID, userID, and userSig.
|
|
314
|
+
|
|
315
|
+
``` java
|
|
316
|
+
// Login
|
|
317
|
+
login({
|
|
318
|
+
sdkAppId: 0, // number type
|
|
319
|
+
userId: '', // string type
|
|
320
|
+
userSig: '', // string type
|
|
321
|
+
});
|
|
322
|
+
```
|
|
323
|
+
|
|
324
|
+
| Parameter | Type | Description |
|
|
325
|
+
| --- | --- | --- |
|
|
326
|
+
| SDKAppID | Number | SDKAppID is the unique identifier for your Tencent Cloud IM application. Create an app in the [Chat console](https://console.cloud.tencent.com/im) to obtain SDKAppID.<br><strong>Note:</strong><br>SDKAppID uniquely identifies each IM application. We recommend applying for a separate SDKAppID for each independent app. Messages are isolated between different SDKAppIDs and cannot interoperate. |
|
|
327
|
+
| userID | String | A unique user identifier defined by you. It can contain only letters (a-z, A-Z), digits (0-9), underscores, and hyphens. |
|
|
328
|
+
| userSig | String | The credential used to log in to Chat IM. It is ciphertext generated by encrypting UserID and related information.<br><strong>Note:</strong><br>Development: For quick local testing, you can obtain UserSig from the [Chat console](https://console.cloud.tencent.com/im).<br>Production: Integrate UserSig generation on your server and expose project-specific APIs. See [Generate UserSig on the server](https://cloud.tencent.com/document/product/269/32688) for the correct approach. |
|
|
329
|
+
|
|
330
|
+
> **Note:**
|
|
331
|
+
>
|
|
332
|
+
> The sample code in this guide obtains UserSig from the [Chat console](https://console.cloud.tencent.com/im). **This method is for local debugging only.** For production, see [Generate UserSig on the server](https://cloud.tencent.com/document/product/269/32688).
|
|
333
|
+
|
|
334
|
+
- SDKAppID: In [Chat console > Application Management](https://console.cloud.tencent.com/im), click **Create application** to obtain SDKAppID.
|
|
335
|
+
|
|
336
|
+
- userID: In [Chat console > Chat > Account Management](https://console.cloud.tencent.com/im/account-management), switch to the target application account. Create 2–3 accounts to try one-to-one and group chat.
|
|
337
|
+
|
|
338
|
+
- userSig: In [Chat console > Development Tools > UserSig Generation and Verification](https://console.cloud.tencent.com/im/tool-usersig), switch to the target application account, enter the UserID you created, and generate UserSig.
|
|
339
|
+
|
|
340
|
+
## Run and test
|
|
341
|
+
|
|
342
|
+
Run the project with:
|
|
343
|
+
|
|
344
|
+
【shell】
|
|
345
|
+
``` bash
|
|
346
|
+
npm run dev
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
> **Note:**
|
|
350
|
+
>
|
|
351
|
+
> - Ensure SDKAppID, userID, and userSig in Step 3 are replaced. Missing values will cause unexpected behavior.
|
|
352
|
+
> - userID and userSig must match one-to-one.
|
|
353
|
+
> - If the project fails to start, verify that the development environment requirements are met.
|
|
354
|
+
|
|
355
|
+
## Advanced features
|
|
356
|
+
|
|
357
|
+
### Audio and video calls
|
|
358
|
+
|
|
359
|
+
> **Note:**
|
|
360
|
+
>
|
|
361
|
+
> TUICallKit is a Tencent Cloud audio and video call UI component. With a few lines of code, you can add call features to your chat app.
|
|
362
|
+
>
|
|
363
|
+
> For more details, see Audio and video calls — Enable the service.
|
|
364
|
+
|
|
365
|
+
1. Install the `@trtc/calls-uikit-vue` dependency.
|
|
366
|
+
|
|
367
|
+
``` bash
|
|
368
|
+
npm install @trtc/calls-uikit-vue
|
|
369
|
+
```
|
|
370
|
+
2. Export `TUICallKit` from `@trtc/calls-uikit-vue` and mount it in the DOM.
|
|
371
|
+
|
|
372
|
+
Add the following to `src/App.vue`:
|
|
373
|
+
|
|
374
|
+
``` typescript
|
|
375
|
+
// src/App.vue
|
|
376
|
+
<template>
|
|
377
|
+
<UIKitProvider language="en-US" theme="light">
|
|
378
|
+
<!-- Mount the audio/video call component -->
|
|
379
|
+
<TUICallKit class="call-kit" />
|
|
380
|
+
...
|
|
381
|
+
</UIKitProvider>
|
|
382
|
+
</template>
|
|
383
|
+
|
|
384
|
+
<script setup lang="ts">
|
|
385
|
+
// Import the audio/video call component
|
|
386
|
+
import { TUICallKit } from '@trtc/calls-uikit-vue';
|
|
387
|
+
</script>
|
|
388
|
+
```
|
|
389
|
+
3. Uncomment the call pickers in the `#headerToolbar` slot of `<MessageInput />`.
|
|
390
|
+
|
|
391
|
+
``` java
|
|
392
|
+
<MessageInput class="message-input-container">
|
|
393
|
+
<template #headerToolbar>
|
|
394
|
+
<div class="message-toolbar">
|
|
395
|
+
<div class="message-toolbar-actions">
|
|
396
|
+
<EmojiPicker />
|
|
397
|
+
<FilePicker />
|
|
398
|
+
<VideoPicker />
|
|
399
|
+
<ImagePicker />
|
|
400
|
+
<AudioCallPicker />
|
|
401
|
+
<VideoCallPicker />
|
|
402
|
+
</div>
|
|
403
|
+
<button class="icon-button" @click="isSearchInChatShow = !isSearchInChatShow">
|
|
404
|
+
<IconSearch size="20" />
|
|
405
|
+
</button>
|
|
406
|
+
</div>
|
|
407
|
+
</template>
|
|
408
|
+
</MessageInput>
|
|
409
|
+
```
|
|
410
|
+
4. Place an audio call.
|
|
411
|
+
|
|
412
|
+
### Cloud search
|
|
413
|
+
|
|
414
|
+
> **Note:**
|
|
415
|
+
>
|
|
416
|
+
> Search is essential in customer service, social, online education, online healthcare, OA, and similar scenarios. It helps users quickly find groups, users, and messages and improves product experience and retention.
|
|
417
|
+
>
|
|
418
|
+
> Due to Web platform storage limitations, Vue **does not support local search**. To meet search requirements, we provide **cloud search**. **Cloud search supports global search and in-conversation search, and can search groups, users, and messages.**
|
|
419
|
+
>
|
|
420
|
+
> This is a value-added feature. Purchase the cloud search plugin: [Purchase](https://console.cloud.tencent.com/im/plugin/TUICloudSearch).
|
|
421
|
+
|
|
422
|
+
Cloud search is integrated by default in Step 2. To disable it, use the following:
|
|
423
|
+
|
|
424
|
+
1. Set the `enableSearch` prop on `ConversationList` to `false`:
|
|
425
|
+
|
|
426
|
+
``` typescript
|
|
427
|
+
<template>
|
|
428
|
+
<ConversationList v-show="activeTab === 'conversations'" :enable-search="false" />
|
|
429
|
+
</template>
|
|
430
|
+
```
|
|
431
|
+
2. Comment out the in-conversation search sidebar code:
|
|
432
|
+
|
|
433
|
+
``` typescript
|
|
434
|
+
<template>
|
|
435
|
+
<Chat>
|
|
436
|
+
<!-- <div v-show="isSearchInChatShow" class="chat-sidebar" :class="{ dark: theme === 'dark' }">
|
|
437
|
+
<div class="chat-sidebar-header">
|
|
438
|
+
<span class="chat-sidebar-title">Search</span>
|
|
439
|
+
<button class="icon-button" @click="isSearchInChatShow = false">✕</button>
|
|
440
|
+
</div>
|
|
441
|
+
<Search :variant="VariantType.EMBEDDED" />
|
|
442
|
+
</div> -->
|
|
443
|
+
</Chat>
|
|
444
|
+
</template>
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
## FAQ
|
|
448
|
+
|
|
449
|
+
### What is UserSig? How do I generate UserSig?
|
|
450
|
+
|
|
451
|
+
UserSig is the credential used to log in to Chat IM. It is ciphertext generated by encrypting UserID and related information. The recommended approach is to integrate UserSig generation on your server and expose project-specific APIs. When UserSig is needed, your client requests a dynamic UserSig from your business server. See [Generate UserSig on the server](https://cloud.tencent.com/document/product/269/32688) for details.
|
|
452
|
+
|
|
453
|
+
> **Note:**
|
|
454
|
+
>
|
|
455
|
+
> The sample code in this guide obtains UserSig from the [Chat console](https://console.cloud.tencent.com/im). **This method is for local debugging only.** For production, see [Generate UserSig on the server](https://cloud.tencent.com/document/product/269/32688).
|
|
456
|
+
|
|
457
|
+
### Can I use a third-party component library such as Element Plus?
|
|
458
|
+
|
|
459
|
+
You can use other component libraries for glue code between core components. For example, you can wrap `<ChatSetting />` in a full-screen drawer. Components inside core components cannot be customized yet.
|
|
460
|
+
|
|
461
|
+
``` java
|
|
462
|
+
const isChatSettingShow = ref(false);
|
|
463
|
+
|
|
464
|
+
<el-drawer
|
|
465
|
+
v-model="isChatSettingShow"
|
|
466
|
+
title="Settings"
|
|
467
|
+
>
|
|
468
|
+
<ChatSetting />
|
|
469
|
+
</el-drawer>
|
|
470
|
+
```
|
|
471
|
+
|
|
472
|
+
### Emoji stickers
|
|
473
|
+
|
|
474
|
+
To respect copyright, the **default yellow-face emoji stickers shown below are owned by Tencent Cloud**. You can use them for free by upgrading to the [IM Enterprise Edition plan](https://buy.cloud.tencent.com/avc).
|
|
475
|
+
|
|
476
|
+
## Reference
|
|
477
|
+
|
|
478
|
+
### Official documentation
|
|
479
|
+
|
|
480
|
+
- Custom components — UIKitProvider
|
|
481
|
+
|
|
482
|
+
- Custom components — Chat
|
|
483
|
+
|
|
484
|
+
- Custom components — ChatHeader
|
|
485
|
+
|
|
486
|
+
- Custom components — ConversationList
|
|
487
|
+
|
|
488
|
+
- Custom components — MessageList
|
|
489
|
+
|
|
490
|
+
- Custom components — MessageInput
|
|
491
|
+
|
|
492
|
+
- Custom components — ChatSetting
|
|
493
|
+
|
|
494
|
+
- Custom components — ContactList
|
|
495
|
+
|
|
496
|
+
- Custom components — Search
|
|
497
|
+
|
|
498
|
+
### NPM packages
|
|
499
|
+
|
|
500
|
+
[chat-uikit-vue3 npm](https://www.npmjs.com/package/@tencentcloud/chat-uikit-vue3)
|
|
501
|
+
|
|
502
|
+
### GitHub
|
|
503
|
+
|
|
504
|
+
[GitHub Demo](https://github.com/Tencent-RTC/TUIKit_Vue3/tree/main/demos/rtcube-vite-vue3)
|
|
@@ -35,7 +35,7 @@ yarn add tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3
|
|
|
35
35
|
|
|
36
36
|
Create a **live-list.vue** file in your project and add the following code to embed the **Live Stream List page**.
|
|
37
37
|
|
|
38
|
-
> **Note
|
|
38
|
+
> **Note:**
|
|
39
39
|
>
|
|
40
40
|
|
|
41
41
|
> You can copy the code below directly into your project, or check the [Live Stream List](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Web/web-vite-vue3/src/TUILiveKit/LiveListView.vue) for the full source code.
|
|
@@ -82,7 +82,7 @@ onMounted(async () => {
|
|
|
82
82
|
<style scoped>:global(*),:global(::after),:global(::before){box-sizing:border-box;margin:0}.container{display:flex;flex-direction:column;height:100vh;width:100vw;background:var(--bg-color-default)}.header{display:flex;align-items:center;flex-shrink:0}.title{margin:0;font-size:16px;font-weight:600;color:var(--text-color-primary);letter-spacing:-.5px}.main{flex:1;padding:24px;overflow-y:auto;min-height:0}</style>
|
|
83
83
|
```
|
|
84
84
|
|
|
85
|
-
>
|
|
85
|
+
> **Note:**
|
|
86
86
|
>
|
|
87
87
|
|
|
88
88
|
> To enable navigation from the Live Stream List to a specific live room, see the Specify Live Room section below.
|
|
@@ -94,7 +94,7 @@ onMounted(async () => {
|
|
|
94
94
|
|
|
95
95
|
After running the following command, open your browser and visit your local address to access the Live Stream List page.
|
|
96
96
|
|
|
97
|
-
> **Tip
|
|
97
|
+
> **Tip:**
|
|
98
98
|
>
|
|
99
99
|
|
|
100
100
|
> Once the command completes, enter your local address in the browser (for example, `http://localhost:5173/live-list`; your port number may differ based on your project setup) to view the Live Stream List page.
|
|
@@ -112,7 +112,7 @@ To enable navigation from the Live Stream List (or homepage) to the viewing page
|
|
|
112
112
|
|
|
113
113
|
Set up Vue Router to map `live-list.vue` to the Live Stream List page.
|
|
114
114
|
|
|
115
|
-
> **Note
|
|
115
|
+
> **Note:**
|
|
116
116
|
>
|
|
117
117
|
> - If your project already has a `src/router/index.ts` file, merge the following code into your existing file.
|
|
118
118
|
> - If you haven't set up routing, create a new `src/router/index.ts` file and add the configuration below.
|
|
@@ -185,18 +185,20 @@ function handleLiveRoomClick(liveInfo: LiveInfo) {
|
|
|
185
185
|
## Customization
|
|
186
186
|
|
|
187
187
|
You can tailor the Live Stream List page UI to fit your project’s requirements. The table below summarizes key customization options.
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
188
|
+
|
|
189
|
+
|**Category**|**Feature**|**Description**|
|
|
190
|
+
|---------|---------|---------|
|
|
191
|
+
|**Live Room List**|Customize Live Room List display area|**Supports:** - **Show/hide live room info text, customize UI.** - **Set the number of live rooms per row/column.**|
|
|
192
|
+
|**Personal Info**|Customize personal info display|**Supports:** - **Show/hide personal info.** - **Customize font, color, and UI settings for personal info.**|
|
|
192
193
|
|
|
193
194
|
### Color Theme and Language
|
|
194
195
|
|
|
195
196
|
Change the default theme and language by configuring the `UIKitProvider` parameters in `App.vue`.
|
|
196
|
-
|
|
197
|
-
|
|
|
198
|
-
|
|
199
|
-
|
|
|
197
|
+
|
|
198
|
+
|UIKitProvider Parameter|Options|Default|
|
|
199
|
+
|---------|---------|---------|
|
|
200
|
+
|theme|"light"|"dark"|
|
|
201
|
+
|language|"zh-CN"|"en-US"|
|
|
200
202
|
|
|
201
203
|
``` typescript
|
|
202
204
|
<UIKitProvider theme="light">
|
|
@@ -210,12 +212,13 @@ import { UIKitProvider } from '@tencentcloud/uikit-base-component-vue3';
|
|
|
210
212
|
### Button and Icon Customization
|
|
211
213
|
|
|
212
214
|
Customize buttons, icons, and other controls as needed. For example, in `live-list.vue`, you can add, remove, or modify `Button` and `Icon` components. Beyond layout, you have full control over colors, fonts, border radius, input fields, and pop-ups to match your UI design.
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
215
|
+
|
|
216
|
+
|**Category**|**Feature**|**Description**|
|
|
217
|
+
|---------|---------|---------|
|
|
218
|
+
|**Asset Management**|Customize asset management display area|Supports adjusting icon size, color, or replacing icons.|
|
|
219
|
+
|**Live Tools**|Customize live tool info display|Supports adjusting icon size, color, or replacing icons.|
|
|
220
|
+
|**Online Audience**|Customize audience info display|Supports: - Show/hide audience level. - Customize audience info font, color, and UI settings. - Replace with your preferred icon style.|
|
|
221
|
+
|**Message List**|Customize live comments display area|Supports: - Show/hide chat input area. - Customize chat bubble style, audience level, and more.|
|
|
219
222
|
|
|
220
223
|
### Set Nickname and Avatar
|
|
221
224
|
|
|
@@ -235,7 +238,8 @@ await setSelfInfo({
|
|
|
235
238
|
## Next Steps
|
|
236
239
|
|
|
237
240
|
You’ve now integrated the **Live Stream List page**. Next, you can add the **Host Streaming Page**, **Audience Viewing Page**, and further **UI Customization** features. See the table below for links to each integration guide:
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
241
|
+
|
|
242
|
+
|**Feature**|**Description**|**Integration Guide**|
|
|
243
|
+
|---------|---------|---------|
|
|
244
|
+
|**Audience Viewing**|Allow audience to join the host’s live room and watch the stream, with features like guest co-hosting, live room info, online audience, and live comments.|Audience Viewing|
|
|
245
|
+
|**Host Streaming**|Host starts streaming and configures related settings on the current page.|Host Streaming|
|
package/resource/{doc → integration}/livekit/preset/live/vue/live-player-desk-integration.md
RENAMED
|
@@ -125,10 +125,11 @@ onMounted(async () => {
|
|
|
125
125
|
##### setSelfInfo
|
|
126
126
|
|
|
127
127
|
Configure user information.
|
|
128
|
-
|
|
129
|
-
|
|
|
130
|
-
|
|
131
|
-
|
|
|
128
|
+
|
|
129
|
+
|Parameters|Type|Required|Description|
|
|
130
|
+
|---------|---------|---------|---------|
|
|
131
|
+
|userName|String|Yes|User nickname, shown in the live room and chat area.|
|
|
132
|
+
|avatarUrl|String|No|URL of the user's avatar image.|
|
|
132
133
|
|
|
133
134
|
### Step 4: Start the Project
|
|
134
135
|
|
|
@@ -212,10 +213,11 @@ app.mount('#app');
|
|
|
212
213
|
### Customize Theme and Language
|
|
213
214
|
|
|
214
215
|
You can change the default theme and language by setting parameters in `UIKitProvider` within `App.vue`.
|
|
215
|
-
|
|
216
|
-
|
|
|
217
|
-
|
|
218
|
-
|
|
|
216
|
+
|
|
217
|
+
|UIKitProvider Parameter|Options|Default Value|
|
|
218
|
+
|---------|---------|---------|
|
|
219
|
+
|theme|"light"|"dark"|
|
|
220
|
+
|language|"zh-CN"|"en-US"|
|
|
219
221
|
|
|
220
222
|
``` typescript
|
|
221
223
|
<UIKitProvider theme="light">
|
|
@@ -231,12 +233,13 @@ import { UIKitProvider } from '@tencentcloud/uikit-base-component-vue3';
|
|
|
231
233
|
To add, remove, or replace buttons, icons, or other controls for UI customization, follow the example below. Use the screenshot to locate the relevant code in `live-player.vue` and update the UI as needed.
|
|
232
234
|
|
|
233
235
|
You can also customize the **audience viewer page** to match your project requirements. In addition to layout adjustments, you can **add, remove, or modify** elements such as **color theme, fonts, border radius, buttons, icons, input boxes, pop-ups**, and more.
|
|
234
|
-
|
|
235
|
-
|
|
|
236
|
-
|
|
237
|
-
|
|
|
238
|
-
|
|
|
239
|
-
|
|
|
236
|
+
|
|
237
|
+
|Category|Feature|Description|
|
|
238
|
+
|---------|---------|---------|
|
|
239
|
+
|Asset Management|Customize asset management area display|Adjust icon size, color, or replace icons.|
|
|
240
|
+
|Live Tools|Customize live tool information display|Adjust icon size, color, or replace icons.|
|
|
241
|
+
|Online Audience|Customize audience information display|Supports: - Show/hide audience level. - Customize audience info font and color. - Use your preferred icon style.|
|
|
242
|
+
|Message List|Customize live comments area display|Supports: - Show/hide chat input area. - Customize chat bubble style, audience level, and more.|
|
|
240
243
|
|
|
241
244
|
## FAQs
|
|
242
245
|
|
|
@@ -293,7 +296,8 @@ export { useCustomizedAutoPlayDialog };
|
|
|
293
296
|
## Next Steps
|
|
294
297
|
|
|
295
298
|
You’ve now integrated the audience viewing feature. To further enhance your application, consider adding the following features:
|
|
296
|
-
|
|
297
|
-
|
|
|
298
|
-
|
|
299
|
-
|
|
|
299
|
+
|
|
300
|
+
|Feature|Description|Integration Guide|
|
|
301
|
+
|---------|---------|---------|
|
|
302
|
+
|Live Stream List|Displays the live stream list interface and features, including live stream list and room information display.|Live Stream List|
|
|
303
|
+
|TUILiveKit Manager|Operations platform for live room management.|TUILiveKit Manager|
|