@tencentcloud/sdk-mcp 1.6.8 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/README.md +54 -35
- package/knowledge/build-index.js +28 -4
- package/knowledge/chunker.js +82 -14
- package/knowledge/chunking-policy.js +100 -0
- package/knowledge/frontmatter-meta.js +167 -0
- package/knowledge/path-meta.js +28 -6
- package/knowledge/search/exact-lookup.js +26 -123
- package/knowledge/search/filter-pool.js +12 -29
- package/knowledge/search/framework-fallback.js +22 -0
- package/knowledge/search/intent-router.js +13 -0
- package/knowledge/search/query-normalizer.js +56 -3
- package/knowledge/search/search-core.js +391 -0
- package/knowledge/search/search-knowledge.js +290 -361
- package/knowledge/search/search-message.js +87 -0
- package/knowledge/search/search-pass.js +428 -0
- package/knowledge/search/search-types.js +1 -0
- package/knowledge/search/url-row-scorer.js +258 -0
- package/package.json +1 -1
- package/resource/index/manifest.json +1 -1
- package/resource/integration/callkit/preset/ios/integration.md +1 -0
- package/resource/integration/chat/preset/flutter/integration.md +1 -0
- package/resource/integration/livekit/preset/live/vue/live-player-desk-integration.md +11 -9
- package/resource/integration/livekit/preset/live/vue/live-pusher-integration.md +11 -11
- package/resource/knowledge/callkit/best-practice/callkit-miniprogram/uniapp-shrink.md +64 -0
- package/resource/knowledge/callkit/best-practice/common/call-autoplay-blocked.md +81 -0
- package/resource/knowledge/callkit/best-practice/common/call-message-in-chat.md +84 -0
- package/resource/knowledge/callkit/best-practice/common/call-vs-calls.md +114 -0
- package/resource/knowledge/callkit/best-practice/common/callengine-call-flow.md +128 -0
- package/resource/knowledge/callkit/best-practice/common/callengine-log-level.md +72 -0
- package/resource/knowledge/callkit/best-practice/common/callkit-get-engine-instance.md +87 -0
- package/resource/knowledge/callkit/best-practice/common/callkit-get-roomid.md +83 -0
- package/resource/knowledge/callkit/best-practice/common/callkit-limitations.md +37 -0
- package/resource/knowledge/callkit/best-practice/common/callkit-user-register-and-kicked.md +103 -0
- package/resource/knowledge/callkit/preset/react/api.md +1 -150
- package/resource/knowledge/callkit/preset/vue/api.md +1 -38
- package/resource/knowledge/chat/best-practice/common/avchatroom-message-loss-diagnosis.md +71 -0
- package/resource/knowledge/chat/best-practice/common/group-conversation-cleanup-on-system-notice.md +67 -0
- package/resource/knowledge/chat/best-practice/common/image-message-url-lifecycle.md +63 -0
- package/resource/knowledge/chat/best-practice/common/login-repeat-2025-diagnosis.md +65 -0
- package/resource/knowledge/chat/best-practice/common/message-read-report-and-receipt.md +72 -0
- package/resource/knowledge/chat/best-practice/common/message-receive-event.md +70 -0
- package/resource/knowledge/chat/best-practice/common/message-risk-error-and-render.md +69 -0
- package/resource/knowledge/chat/best-practice/common/message-unread-count.md +71 -0
- package/resource/knowledge/chat/best-practice/miniprogram/audio-message-send.md +118 -0
- package/resource/knowledge/chat/best-practice/miniprogram/login-timeout-2801-diagnosis.md +67 -0
- package/resource/knowledge/chat/best-practice/miniprogram/media-upload-fail-diagnosis.md +68 -0
- package/resource/knowledge/chat/best-practice/web/audio-message-send.md +123 -0
- package/resource/knowledge/chat/preset/android/features/conversation-list.md +1 -0
- package/resource/knowledge/chat/preset/android/features/language.md +1 -0
- package/resource/knowledge/chat/preset/android/features/message-input.md +1 -0
- package/resource/knowledge/chat/preset/android/features/message-list.md +1 -0
- package/resource/knowledge/chat/preset/flutter/features/conversation-list.md +1 -0
- package/resource/knowledge/chat/preset/flutter/features/message-input.md +1 -0
- package/resource/knowledge/chat/preset/flutter/features/message-list.md +1 -0
- package/resource/knowledge/chat/preset/ios/features/conversation-list.md +1 -0
- package/resource/knowledge/chat/preset/ios/features/message-input.md +1 -0
- package/resource/knowledge/chat/preset/ios/features/message-list.md +1 -0
- package/resource/knowledge/chat/preset/react/features/conversation-preview.md +1 -0
- package/resource/knowledge/chat/urls/sdk/web.md +1 -1
- package/resource/knowledge/livekit/best-practice/android/voice-room-anchor-start.md +124 -0
- package/resource/knowledge/livekit/best-practice/common/admin-take-seat.md +73 -0
- package/resource/knowledge/livekit/best-practice/common/audience-leave-live.md +81 -0
- package/resource/knowledge/livekit/best-practice/common/voice-room-no-audio-troubleshoot.md +100 -0
- package/resource/knowledge/livekit/best-practice/common/voice-room-seat-list-change.md +65 -0
- package/resource/knowledge/livekit/best-practice/flutter/voice-room-anchor-start.md +126 -0
- package/resource/knowledge/livekit/best-practice/ios/voice-room-anchor-start.md +130 -0
- package/resource/knowledge/push/config/react-native.md +1 -0
- package/resource/knowledge/push/config/unity.md +1 -0
- package/resource/knowledge/push/config/unreal-engine.md +1 -0
- package/resource/knowledge/push/integration/android.md +16 -16
- package/resource/knowledge/push/integration/flutter.md +3 -3
- package/resource/knowledge/push/integration/ios.md +3 -3
- package/resource/knowledge/push/integration/react-native.md +1 -1
- package/resource/knowledge/roomkit/best-practice/common/room-ghost-member.md +75 -0
- package/resource/knowledge/roomkit/best-practice/common/room-limit-and-multi.md +88 -0
- package/resource/knowledge/roomkit/best-practice/common/room-screen-share-preview.md +87 -0
- package/resource/knowledge/roomkit/best-practice/common/room-status-after-all-leave.md +73 -0
- package/resource/knowledge/roomkit/best-practice/vue/room-uikit-vs-atomicx.md +115 -0
- package/resource/knowledge/rtcengine/web/plugin/30-advanced-cross-room-link.md +2 -0
- package/resource/knowledge/rtcengine/web/plugin/39-advanced-video-decoder.md +2 -0
- package/server.js +8 -3
- package/tools/common/finalize_answer.js +9 -1
- package/tools/common/search_trtc_knowledge.js +1 -1
- package/tools/definitions/finalize_answer_def.js +2 -2
- package/tools/definitions/integration-boundary.js +2 -1
- package/tools/definitions/search_trtc_knowledge_def.js +1 -1
- package/utils/report-cls-client.js +1 -1
- package/utils/report-es-client.js +1 -1
- package/cursor-setting.png +0 -0
- package/mcp-server-prompt.png +0 -0
- package/resource/knowledge/callkit/best-practice/web/callengine-invitation.md +0 -80
- package/resource/knowledge/callkit/best-practice/web/callengine-log-control.md +0 -20
- package/resource/knowledge/callkit/best-practice/web/callkit-call-vs-calls.md +0 -116
- package/resource/knowledge/callkit/preset/react/uikit-api-reference.md +0 -469
- package/resource/knowledge/callkit/preset/vue/uikit-api-reference.md +0 -581
- package/resource/knowledge/callkit/preset/web/api.md +0 -79
- package/resource/knowledge/chat/best-practice/web/image-message-url-handling.md +0 -16
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: TUICallEngine 设置日志输出级别
|
|
3
|
+
product: call
|
|
4
|
+
frameworks: [web, miniprogram]
|
|
5
|
+
scope: platform_common
|
|
6
|
+
tags: [TUICallEngine, setLogLevel, 日志级别, log level, 控制台日志, 关闭日志]
|
|
7
|
+
version_range: ">=4.0.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# TUICallEngine 设置日志输出级别
|
|
11
|
+
|
|
12
|
+
## 1. 核心结论
|
|
13
|
+
|
|
14
|
+
- TUICallEngine 提供 `setLogLevel` 接口控制日志输出级别,创建实例后即可调用。
|
|
15
|
+
- 接入阶段建议设为级别 0(全量日志),正式上线后设为级别 1(默认,关键信息)或更高。
|
|
16
|
+
- 需要关闭日志时设为级别 4。
|
|
17
|
+
|
|
18
|
+
## 2. 字段语义对照
|
|
19
|
+
|
|
20
|
+
| 级别 | 值 | 说明 |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| 普通级别 | 0 | 日志量较多,接入调试时建议使用 |
|
|
23
|
+
| 主要级别 | 1 | SDK 输出关键信息,**默认日志等级** |
|
|
24
|
+
| 告警级别 | 2 | SDK 只输出告警和错误级别的日志 |
|
|
25
|
+
| 错误级别 | 3 | SDK 只输出错误级别的日志 |
|
|
26
|
+
| 无日志级别 | 4 | SDK 将不打印任何日志 |
|
|
27
|
+
|
|
28
|
+
## 3. 机制/时序
|
|
29
|
+
|
|
30
|
+
创建 `TUICallEngine` 实例 -> 调用 `setLogLevel` 设置日志级别 -> 后续 SDK 按指定级别输出日志。调用一次全局生效,无需重复设置。
|
|
31
|
+
|
|
32
|
+
## 4. 标准用法
|
|
33
|
+
|
|
34
|
+
1. 通过 `TUICallEngine.createInstance(options)` 创建引擎实例。
|
|
35
|
+
2. 调用 `tuiCallEngine.setLogLevel(level)` 设置日志级别。
|
|
36
|
+
3. 接入调试时使用级别 0,正式上线后根据需要调整为级别 1-4。
|
|
37
|
+
|
|
38
|
+
```javascript
|
|
39
|
+
import TUICallEngine from '@trtc/call-engine-lite-js'; // Web
|
|
40
|
+
// import TUICallEngine from '@trtc/call-engine-lite-wx'; // 小程序
|
|
41
|
+
|
|
42
|
+
const tuiCallEngine = TUICallEngine.createInstance({ SDKAppID: 0 });
|
|
43
|
+
tuiCallEngine.setLogLevel(0); // 接入调试:全量日志
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## 5. 结果判定
|
|
47
|
+
|
|
48
|
+
- 调用 `setLogLevel` 后,控制台日志量按目标级别输出。
|
|
49
|
+
- 级别 4 下 SDK 不再输出任何日志。
|
|
50
|
+
- 无需重启或重新初始化即可生效。
|
|
51
|
+
|
|
52
|
+
## 6. 常见误区
|
|
53
|
+
|
|
54
|
+
- 误区 1:认为 `setLogLevel` 需要在 `init` 之后才能调用(实际上创建实例后即可调用)。
|
|
55
|
+
- 误区 2:使用级别 4 后期望还能收到关键告警(级别 4 关闭所有日志)。
|
|
56
|
+
|
|
57
|
+
## 7. 问题定义(检索辅助,极简)
|
|
58
|
+
|
|
59
|
+
TUICallEngine 用户希望控制 SDK 日志输出量:接入时查看完整日志、上线后减少日志、或完全关闭日志输出。
|
|
60
|
+
|
|
61
|
+
## 8. 同义问法覆盖(检索召回,极简)
|
|
62
|
+
|
|
63
|
+
- TUICallEngine 怎么关闭日志?
|
|
64
|
+
- TUICallEngine 日志级别怎么设置?
|
|
65
|
+
- `setLogLevel` 各取值含义是什么?
|
|
66
|
+
- 接入阶段怎么查看 TUICallEngine 完整日志?
|
|
67
|
+
- 小程序 TUICallEngine 日志级别和 Web 端一样吗?
|
|
68
|
+
|
|
69
|
+
## 9. 参考来源(可选)
|
|
70
|
+
|
|
71
|
+
- Web `setLogLevel` 文档:`https://web.sdk.qcloud.com/component/trtccalling/doc/TUICallEngine/web/zh-cn/TUICallEngine.html#setLogLevel`
|
|
72
|
+
- 小程序 `setLogLevel` 文档:`https://cloud.tencent.com/document/product/647/78761#setLogLevel`
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Web TUICallKit 如何获取 TUICallEngine 实例
|
|
3
|
+
product: call
|
|
4
|
+
frameworks: [react, vue, miniprogram, web]
|
|
5
|
+
scope: platform_common
|
|
6
|
+
tags: [TUICallKit, getTUICallEngineInstance, 引擎实例, 底层引擎, 微信原生小程序, uniapp 小程序]
|
|
7
|
+
version_range: ">=4.0.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# Web TUICallKit 如何获取 TUICallEngine 实例
|
|
11
|
+
|
|
12
|
+
## 1. 核心结论
|
|
13
|
+
|
|
14
|
+
- 通过 `TUICallKitAPI.getTUICallEngineInstance()` 获取 TUICallEngine 底层引擎实例。
|
|
15
|
+
- 获取引擎实例后,可通过 `.on()` 监听通话事件(如 `ON_CALL_BEGIN`、`ON_CALL_RECEIVED` 等)。
|
|
16
|
+
|
|
17
|
+
## 2. 字段语义对照
|
|
18
|
+
|
|
19
|
+
| 字段/能力 | 作用 | 说明 |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| `TUICallKitAPI` | TUICallKit API 入口 | 从对应平台的包引入,提供 `getTUICallEngineInstance()` |
|
|
22
|
+
| `getTUICallEngineInstance()` | 获取 TUICallEngine 实例 | 返回引擎实例,用于监听事件和调用底层 API |
|
|
23
|
+
| `TUICallEngine` | 引擎实例 | 通过该方法获取,用于注册事件回调 |
|
|
24
|
+
|
|
25
|
+
## 3. 机制/时序
|
|
26
|
+
|
|
27
|
+
TUICallKit 初始化完成后 -> 调用 `TUICallKitAPI.getTUICallEngineInstance()` 获取引擎实例 -> 使用引擎实例注册事件监听或调用底层 API。
|
|
28
|
+
|
|
29
|
+
需确保 TUICallKit 初始化完成后调用,否则可能返回 `undefined`。
|
|
30
|
+
|
|
31
|
+
## 4. 标准用法
|
|
32
|
+
|
|
33
|
+
1. 从对应平台的包引入 `TUICallKitAPI`。
|
|
34
|
+
2. 调用 `TUICallKitAPI.getTUICallEngineInstance()` 获取引擎实例。
|
|
35
|
+
3. 使用引擎实例注册事件监听或调用其他底层方法。
|
|
36
|
+
|
|
37
|
+
```javascript
|
|
38
|
+
// React: @trtc/calls-uikit-react
|
|
39
|
+
// Vue 3: @trtc/calls-uikit-vue
|
|
40
|
+
// Vue 2.7: @trtc/calls-uikit-vue2
|
|
41
|
+
// Vue 2.6: @trtc/calls-uikit-vue2.6
|
|
42
|
+
// uniapp 小程序: @trtc/calls-uikit-wx-uniapp
|
|
43
|
+
// 微信原生小程序: @trtc/calls-uikit-wx (API 一致,仅包名不同)
|
|
44
|
+
import { TUICallKitAPI } from "@trtc/calls-uikit-react";
|
|
45
|
+
|
|
46
|
+
const tuiCallEngine = TUICallKitAPI.getTUICallEngineInstance();
|
|
47
|
+
|
|
48
|
+
if (tuiCallEngine) {
|
|
49
|
+
// 获取成功,可监听事件或调用底层 API
|
|
50
|
+
tuiCallEngine.on(TUICallEvent.ON_CALL_BEGIN, (event) => {
|
|
51
|
+
console.log('通话建立', event);
|
|
52
|
+
});
|
|
53
|
+
} else {
|
|
54
|
+
console.warn('TUICallEngine 实例未就绪,请确认 TUICallKit 已完成初始化');
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## 5. 结果判定
|
|
59
|
+
|
|
60
|
+
- `getTUICallEngineInstance()` 返回非 `undefined` 的引擎实例,可正常使用。
|
|
61
|
+
- 通过引擎实例注册的事件回调能正常触发。
|
|
62
|
+
- 多次调用返回同一个引擎实例(单例)。
|
|
63
|
+
|
|
64
|
+
## 6. 常见误区
|
|
65
|
+
|
|
66
|
+
- 误区 1:在 TUICallKit 初始化完成前调用 `getTUICallEngineInstance()`(返回 `undefined`)。
|
|
67
|
+
- 误区 2:认为每次调用 `getTUICallEngineInstance()` 都会创建新的引擎实例(实际为单例,多次调用返回同一实例)。
|
|
68
|
+
- 误区 3:从小程序的引擎包直接创建实例(应通过 `TUICallKitAPI.getTUICallEngineInstance()` 获取,而非自行创建)。
|
|
69
|
+
|
|
70
|
+
## 7. 问题定义(检索辅助,极简)
|
|
71
|
+
|
|
72
|
+
TUICallKit 用户需要获取底层 TUICallEngine 实例,用于监听通话事件或调用底层 API。
|
|
73
|
+
|
|
74
|
+
## 8. 同义问法覆盖(检索召回,极简)
|
|
75
|
+
|
|
76
|
+
- TUICallKit 怎么获取 TUICallEngine 实例?
|
|
77
|
+
- `getTUICallEngineInstance` 怎么用?
|
|
78
|
+
- TUICallKit Vue 如何获取 TUICallEngine 实例?
|
|
79
|
+
- TUICallKit React 怎么监听底层 TUICallEngine 事件?
|
|
80
|
+
- 小程序 TUICallKit 能获取 TUICallEngine 吗?
|
|
81
|
+
- TUICallKit 获取引擎实例后能做什么?
|
|
82
|
+
|
|
83
|
+
## 9. 参考来源(可选)
|
|
84
|
+
|
|
85
|
+
- React `getTUICallEngineInstance`:`https://cloud.tencent.com/document/product/647/81015#getTUICallEngineInstance`
|
|
86
|
+
- Vue `getTUICallEngineInstance`:`https://cloud.tencent.com/document/product/647/81015#getTUICallEngineInstance`
|
|
87
|
+
- 小程序 `getTUICallEngineInstance`:`https://cloud.tencent.com/document/product/647/78760#getTUICallEngineInstance`
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: 如何获取通话的房间号
|
|
3
|
+
product: call
|
|
4
|
+
frameworks: [react, vue, miniprogram, web]
|
|
5
|
+
scope: platform_common
|
|
6
|
+
tags: [TUICallKit, roomID, 房间号, ON_CALL_BEGIN, ON_CALL_END, callengine, 获取房间号, 通话房间号, Roomid, onCallBegin]
|
|
7
|
+
version_range: ">=4.0.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# TUICallKit 如何获取通话的房间号
|
|
11
|
+
|
|
12
|
+
## 1. 核心结论
|
|
13
|
+
|
|
14
|
+
- 获取通话房间号的方式:通过监听 TUICallEngine 的事件(`ON_CALL_BEGIN`、`ON_CALL_END` 等)即可获取,`event.roomID` 即为当前通话的房间号。
|
|
15
|
+
- 需要先通过 `TUICallKitAPI.getTUICallEngineInstance()` 获取 TUICallEngine 实例,再调用 `on()` 监听事件。
|
|
16
|
+
- React、Vue、小程序接口一致,仅包名不同。
|
|
17
|
+
|
|
18
|
+
## 2. 字段语义对照
|
|
19
|
+
|
|
20
|
+
| 字段/能力 | 作用 | 说明 |
|
|
21
|
+
|---|---|---|
|
|
22
|
+
| `TUICallEvent.ON_CALL_BEGIN` | 通话建立事件 | 通话接通时触发,事件中携带 `roomID` |
|
|
23
|
+
| `TUICallEvent.ON_CALL_END` | 通话结束事件 | 通话结束时触发,事件中携带 `roomID` |
|
|
24
|
+
| `TUICallKitAPI.getTUICallEngineInstance()` | 获取 TUICallEngine 实例 | 从 TUICallKit 获取底层引擎实例 |
|
|
25
|
+
| `engine.on(event, handler)` | 监听引擎事件 | 通过引擎实例注册事件回调 |
|
|
26
|
+
| `event.roomID` | 通话房间号 | 事件参数中的房间号字段 |
|
|
27
|
+
|
|
28
|
+
## 3. 机制/时序
|
|
29
|
+
|
|
30
|
+
TUICallKit 初始化 -> 通话接通(`ON_CALL_BEGIN`)-> 通话进行中 -> 通话结束(`ON_CALL_END`)。`ON_CALL_BEGIN` 和 `ON_CALL_END` 等通话相关事件均携带 `roomID`,在回调中读取即可。
|
|
31
|
+
|
|
32
|
+
## 4. 标准用法
|
|
33
|
+
|
|
34
|
+
1. 通过 `TUICallKitAPI.getTUICallEngineInstance()` 获取 TUICallEngine 实例。
|
|
35
|
+
2. 调用 `engine.on()` 监听 `TUICallEvent.ON_CALL_BEGIN` 或 `ON_CALL_END` 事件。
|
|
36
|
+
3. 在回调中读取 `event.roomID` 获取房间号。
|
|
37
|
+
|
|
38
|
+
```javascript
|
|
39
|
+
// Web: @trtc/call-engine-lite-js
|
|
40
|
+
// 小程序: @trtc/call-engine-lite-wx (API 一致,仅包名不同)
|
|
41
|
+
import { TUICallEvent } from "@trtc/call-engine-lite-js";
|
|
42
|
+
|
|
43
|
+
const handleOnCallBegin = function(event) {
|
|
44
|
+
// event.roomID 即为当前通话的房间号
|
|
45
|
+
console.log('通话建立,房间号:', event.roomID);
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
TUICallKitAPI.getTUICallEngineInstance().on(
|
|
49
|
+
TUICallEvent.ON_CALL_BEGIN,
|
|
50
|
+
handleOnCallBegin
|
|
51
|
+
);
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## 5. 结果判定
|
|
55
|
+
|
|
56
|
+
- 通话建立后,`ON_CALL_BEGIN` 回调触发,`event.roomID` 返回有效的房间号。
|
|
57
|
+
- 通话结束后,`ON_CALL_END` 回调触发,也可读取 `event.roomID`。
|
|
58
|
+
- `roomID` 值在通话期间保持不变。
|
|
59
|
+
|
|
60
|
+
## 6. 常见误区
|
|
61
|
+
|
|
62
|
+
- 误区 1:在 TUICallKit 初始化完成前调用 `getTUICallEngineInstance()` 获取实例(需确保初始化完成后再获取)。
|
|
63
|
+
- 误区 2:认为 `roomID` 在通话过程中会变化(同一通话的房间号是固定的)。
|
|
64
|
+
|
|
65
|
+
## 7. 问题定义(检索辅助,极简)
|
|
66
|
+
|
|
67
|
+
Web TUICallKit React/Vue/小程序用户需要获取当前通话的房间号,用于日志记录或与其他服务关联。
|
|
68
|
+
|
|
69
|
+
## 8. 同义问法覆盖(检索召回,极简)
|
|
70
|
+
|
|
71
|
+
- TUICallKit 怎么获取房间号?
|
|
72
|
+
- 通话建立时如何拿到 roomID?
|
|
73
|
+
- `ON_CALL_BEGIN` 事件怎么监听?
|
|
74
|
+
- TUICallKit React 获取通话房间号的方法是什么?
|
|
75
|
+
- 小程序 TUICallKit 怎么拿 roomID?
|
|
76
|
+
- 如何获取通话的房间号 Roomid?
|
|
77
|
+
- Web TUICallKit 如何获取通话的房间号?
|
|
78
|
+
- 通话房间号怎么拿?
|
|
79
|
+
|
|
80
|
+
## 9. 参考来源(可选)
|
|
81
|
+
|
|
82
|
+
- Web `ON_CALL_BEGIN` 文档:`https://cloud.tencent.com/document/product/647/78758#ON_CALL_BEGIN`
|
|
83
|
+
- 小程序 `ON_CALL_BEGIN` 文档:`https://cloud.tencent.com/document/product/647/81012#ON_CALL_BEGIN`
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: TUICallKit 限制说明
|
|
3
|
+
product: call
|
|
4
|
+
frameworks: [react, vue, miniprogram, web]
|
|
5
|
+
scope: platform_common
|
|
6
|
+
tags: [TUICallKit, 限制, 不支持, 离线推送, 支付宝, 头条小程序, 企业微信, 桌面端, 兼容性]
|
|
7
|
+
version_range: ">=2.0.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# TUICallKit 限制说明
|
|
11
|
+
|
|
12
|
+
## 1. 核心结论
|
|
13
|
+
|
|
14
|
+
| 问题 | 结论 |
|
|
15
|
+
|---|---|
|
|
16
|
+
| Web TUICallKit 能否接收离线推送消息? | Web TUICallKit 不支持接收离线推送消息 |
|
|
17
|
+
| 微信小程序 TUICallKit 能否运行到支付宝、头条小程序? | 不能,仅支持运行到微信小程序 |
|
|
18
|
+
| 微信小程序 TUICallKit 能否运行到企业微信里? | 不能,仅支持运行到微信小程序 |
|
|
19
|
+
| 微信小程序 TUICallKit 能否运行到 PC 桌面端微信里? | 不能,仅支持运行到微信小程序 |
|
|
20
|
+
| 微信小程序 TUICallKit 能否接收离线推送消息? | 微信小程序 TUICallKit 不支持接收离线推送消息 |
|
|
21
|
+
|
|
22
|
+
## 3. 机制/时序
|
|
23
|
+
|
|
24
|
+
TUICallKit 各平台的能力边界由底层平台限制决定。微信小程序依赖微信原生能力,无法跨平台运行;Web 端受浏览器自动播放策略和离线推送机制的限制。
|
|
25
|
+
|
|
26
|
+
## 7. 问题定义(检索辅助,极简)
|
|
27
|
+
|
|
28
|
+
用户咨询 TUICallKit 在不同平台/场景下的能力边界,确认是否支持离线推送、跨平台运行等。
|
|
29
|
+
|
|
30
|
+
## 8. 同义问法覆盖(检索召回,极简)
|
|
31
|
+
|
|
32
|
+
- TUICallKit 支持离线推送吗?
|
|
33
|
+
- 微信小程序 TUICallKit 能在支付宝上用吗?
|
|
34
|
+
- TUICallKit 小程序能在企业微信里用吗?
|
|
35
|
+
- TUICallKit 微信小程序支持 PC 端微信吗?
|
|
36
|
+
- TUICallKit Web 端有没有离线消息通知?
|
|
37
|
+
- TUICallKit 小程序只支持微信吗?
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: TUICallKit 用户注册与多实例被踢问题说明
|
|
3
|
+
product: call
|
|
4
|
+
frameworks: [react, vue, miniprogram, web]
|
|
5
|
+
scope: platform_common
|
|
6
|
+
tags: [TUICallKit, 用户注册, init, userSig, 自动创建用户, 多实例登录, 被踢, KICKED_OUT, 排查, 同一浏览器, 多实例, web多实例]
|
|
7
|
+
version_range: ">=4.0.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# TUICallKit 用户注册与多实例被踢问题说明
|
|
11
|
+
|
|
12
|
+
## 1. 核心结论
|
|
13
|
+
|
|
14
|
+
### 用户注册
|
|
15
|
+
|
|
16
|
+
- TUICallKit **没有独立的前端注册接口**。用户注册通过 `init` 接口完成:传入 `userID` 和 `userSig` 即可完成鉴权和登录。
|
|
17
|
+
- 首次使用后端签发的 `userID` 和 `userSig` 登录 TUICallKit 后,如果该 `userID` 在腾讯云 IM 中不存在,系统会自动创建该用户。
|
|
18
|
+
- 也可以在 IM 控制台批量导入用户,然后使用已导入的 `userID` 和对应的 `userSig` 登录。
|
|
19
|
+
|
|
20
|
+
### 多实例被踢
|
|
21
|
+
|
|
22
|
+
- 同一 `userID` 在不同浏览器标签页或不同设备上同时登录时,默认会被踢下线(`KICKED_OUT`),原因是 Chat SDK Web 端默认只允许一个实例在线。
|
|
23
|
+
- 在 Chat 控制台开启 **Web 多实例登录** 后,同一 `userID` 可在多个标签页或设备上同时在线,不会被踢。
|
|
24
|
+
- 不同 `userID` 在同一浏览器登录不受此限制影响,不会互相踢下线。
|
|
25
|
+
|
|
26
|
+
## 2. 字段语义对照
|
|
27
|
+
|
|
28
|
+
| 字段/能力 | 作用 | 说明 |
|
|
29
|
+
|---|---|---|
|
|
30
|
+
| `init` | 初始化并注册用户 | 传入 `SDKAppID`、`userID`、`userSig` 完成鉴权 |
|
|
31
|
+
| `userID` | 用户标识 | 由业务后端签发或自定义,首次登录时自动创建用户 |
|
|
32
|
+
| `userSig` | 用户签名 | 由业务后端签发,用于鉴权 |
|
|
33
|
+
| `KICKED_OUT` | 被踢下线事件 | 同一账号/多实例登录时触发 |
|
|
34
|
+
| Web 多实例登录 | 控制台配置项 | 开启后同一浏览器可同时登录多个账号 |
|
|
35
|
+
|
|
36
|
+
## 3. 机制/时序
|
|
37
|
+
|
|
38
|
+
### 用户注册流程
|
|
39
|
+
|
|
40
|
+
后端生成 `userID` + `userSig` -> 前端调用 `init({ SDKAppID, userID, userSig })` -> TUICallKit 使用 Chat SDK 登录 -> 若用户不存在则自动创建 -> 登录成功。
|
|
41
|
+
|
|
42
|
+
### 多实例被踢机制
|
|
43
|
+
|
|
44
|
+
同一 `userID` 在标签页 A 登录 -> 同一浏览器新开标签页 B 登录同一 `userID` -> Chat 后台检测到同多实例登录 -> 踢掉标签页 A -> 标签页 A 收到 `KICKED_OUT` 事件。
|
|
45
|
+
|
|
46
|
+
## 4. 标准用法
|
|
47
|
+
|
|
48
|
+
### 用户注册与初始化
|
|
49
|
+
|
|
50
|
+
```javascript
|
|
51
|
+
// React: @trtc/calls-uikit-react
|
|
52
|
+
// Vue 3: @trtc/calls-uikit-vue
|
|
53
|
+
// Vue 2.7: @trtc/calls-uikit-vue2
|
|
54
|
+
// Vue 2.6: @trtc/calls-uikit-vue2.6
|
|
55
|
+
// uniapp 小程序: @trtc/calls-uikit-wx-uniapp
|
|
56
|
+
// 微信原生小程序: @trtc/calls-uikit-wx (API 一致,仅包名不同)
|
|
57
|
+
import { TUICallKitAPI } from "@trtc/calls-uikit-react";
|
|
58
|
+
|
|
59
|
+
TUICallKitAPI.init({
|
|
60
|
+
SDKAppID: 0, // 控制台获取的 SDKAppID
|
|
61
|
+
userID: 'user_xxx', // 业务后端签发的用户 ID
|
|
62
|
+
userSig: 'xxx', // 业务后端签发的用户签名
|
|
63
|
+
});
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### 开启 Web 多实例登录(解决被踢)
|
|
67
|
+
|
|
68
|
+
1. 登录腾讯云 IM 控制台。
|
|
69
|
+
2. 进入目标应用的功能配置页面。
|
|
70
|
+
3. 开启 **Web 多实例登录** 开关。
|
|
71
|
+
4. 保存后生效,无需重启客户端。
|
|
72
|
+
|
|
73
|
+
## 5. 结果判定
|
|
74
|
+
|
|
75
|
+
- 调用 `init` 后登录成功,无报错。
|
|
76
|
+
- 控制台开启 Web 多实例后,同一 `userID` 可在多个标签页或设备上同时在线。
|
|
77
|
+
- 未开启时,同一 `userID` 在新标签页登录后旧标签页收到 `KICKED_OUT` 事件。
|
|
78
|
+
|
|
79
|
+
## 6. 常见误区
|
|
80
|
+
|
|
81
|
+
- 误区 1:认为 TUICallKit 有独立的前端注册 API(实际通过 `init` 完成注册+登录)。
|
|
82
|
+
- 误区 2:被踢后认为是 TUICallKit 的 bug(实际是 Chat SDK 的多端登录限制)。
|
|
83
|
+
- 误区 3:不同 origin 也会被踢(不同 origin 视为不同实例,不受影响)。
|
|
84
|
+
- 误区 4:不同 `userID` 在同一浏览器登录也会被踢(实际多实例限制针对同一 `userID`,不同 `userID` 互不影响)。
|
|
85
|
+
- 误区 4:认为 `KICKED_OUT` 只能通过关闭其他登录来解决(开启 Web 多实例登录即可避免)。
|
|
86
|
+
|
|
87
|
+
## 7. 问题定义(检索辅助,极简)
|
|
88
|
+
|
|
89
|
+
用户咨询 TUICallKit Web 端用户注册方式(是否有独立注册接口、是否自动创建用户),以及同一浏览器多账号被踢的原因与解决方案。
|
|
90
|
+
|
|
91
|
+
## 8. 同义问法覆盖(检索召回,极简)
|
|
92
|
+
|
|
93
|
+
- TUICallKit 用户注册接口是什么?
|
|
94
|
+
- 首次登录会不会自动创建用户?
|
|
95
|
+
- 同一浏览器两个账号同时登录被踢怎么办?
|
|
96
|
+
- `KICKED_OUT` 怎么排查?
|
|
97
|
+
- 不同域名登录会被踢吗?
|
|
98
|
+
- 怎么让多个用户同时登录同一个页面?
|
|
99
|
+
|
|
100
|
+
## 9. 参考来源(可选)
|
|
101
|
+
|
|
102
|
+
- TUICallKit `init` 接口:`https://cloud.tencent.com/document/product/647/81015#init`
|
|
103
|
+
- IM 控制台 Web 多实例配置:`https://console.cloud.tencent.com/im`
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
TUICallKit 是音视频通话组件的**含 UI 接口**,使用 TUICallKit API,您可以通过简单接口快速实现一个类微信的音视频通话场景;更详细的接入步骤。
|
|
2
2
|
|
|
3
3
|
> **说明:**
|
|
4
|
-
> 为提供更优质的音视频通信能力, TUICallKit npm 包 [@trtc/calls-uikit-react](https://www.npmjs.com/package/@trtc/calls-uikit-react)
|
|
4
|
+
> 为提供更优质的音视频通信能力, TUICallKit npm 包 [@trtc/calls-uikit-react](https://www.npmjs.com/package/@trtc/calls-uikit-react) 在 4.0.0 版本进行了重大升级。
|
|
5
5
|
>
|
|
6
6
|
|
|
7
7
|
## API 概览
|
|
@@ -64,127 +64,6 @@ function handleAfterCalling() {
|
|
|
64
64
|
}
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
-
【Vue3】
|
|
68
|
-
``` bash
|
|
69
|
-
<template>
|
|
70
|
-
<TUICallKit
|
|
71
|
-
:allowedMinimized="true"
|
|
72
|
-
:allowedFullScreen="true"
|
|
73
|
-
:videoDisplayMode="VideoDisplayMode.CONTAIN"
|
|
74
|
-
:videoResolution="VideoResolution.RESOLUTION_1080P"
|
|
75
|
-
:beforeCalling="beforeCalling"
|
|
76
|
-
:afterCalling="afterCalling"
|
|
77
|
-
:onMinimized="onMinimized"
|
|
78
|
-
:kickedOut="handleKickedOut"
|
|
79
|
-
:statusChanged="handleStatusChanged"
|
|
80
|
-
/>
|
|
81
|
-
</template>
|
|
82
|
-
|
|
83
|
-
<script lang="ts" setup>
|
|
84
|
-
import { TUICallKit, TUICallKitAPI, VideoDisplayMode, VideoResolution, STATUS } from "@trtc/calls-uikit-vue";
|
|
85
|
-
|
|
86
|
-
function beforeCalling(type: string, error: any) {
|
|
87
|
-
console.log("[TUICallkit Demo] beforeCalling:", type, error);
|
|
88
|
-
}
|
|
89
|
-
function afterCalling() {
|
|
90
|
-
console.log("[TUICallkit Demo] afterCalling");
|
|
91
|
-
}
|
|
92
|
-
function onMinimized(oldStatus: string, newStatus: string) {
|
|
93
|
-
console.log("[TUICallkit Demo] onMinimized: " + oldStatus + " -> " + newStatus);
|
|
94
|
-
}
|
|
95
|
-
function kickedOut() {
|
|
96
|
-
console.log("[TUICallkit Demo] kickedOut");
|
|
97
|
-
}
|
|
98
|
-
function statusChanged(args: { oldStatus: string; newStatus: string; }) {
|
|
99
|
-
const { oldStatus, newStatus } = args;
|
|
100
|
-
if (newStatus === STATUS.CALLING_C2C_VIDEO) {
|
|
101
|
-
console.log(`[TUICallkit Demo] statusChanged: ${oldStatus} -> ${newStatus}`);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
</script>
|
|
105
|
-
|
|
106
|
-
```
|
|
107
|
-
|
|
108
|
-
【Vue2.7】
|
|
109
|
-
``` javascript
|
|
110
|
-
<template>
|
|
111
|
-
<TUICallKit
|
|
112
|
-
:allowedMinimized="true"
|
|
113
|
-
:allowedFullScreen="true"
|
|
114
|
-
:videoDisplayMode="VideoDisplayMode.CONTAIN"
|
|
115
|
-
:videoResolution="VideoResolution.RESOLUTION_1080P"
|
|
116
|
-
:beforeCalling="beforeCalling"
|
|
117
|
-
:afterCalling="afterCalling"
|
|
118
|
-
:onMinimized="onMinimized"
|
|
119
|
-
:kickedOut="handleKickedOut"
|
|
120
|
-
:statusChanged="handleStatusChanged"
|
|
121
|
-
/>
|
|
122
|
-
</template>
|
|
123
|
-
|
|
124
|
-
<script lang="ts" setup>
|
|
125
|
-
import { TUICallKit, TUICallKitAPI, VideoDisplayMode, VideoResolution, STATUS } from "@trtc/calls-uikit-vue2";
|
|
126
|
-
|
|
127
|
-
function beforeCalling(type: string, error: any) {
|
|
128
|
-
console.log("[TUICallkit Demo] beforeCalling:", type, error);
|
|
129
|
-
}
|
|
130
|
-
function afterCalling() {
|
|
131
|
-
console.log("[TUICallkit Demo] afterCalling");
|
|
132
|
-
}
|
|
133
|
-
function onMinimized(oldStatus: string, newStatus: string) {
|
|
134
|
-
console.log("[TUICallkit Demo] onMinimized: " + oldStatus + " -> " + newStatus);
|
|
135
|
-
}
|
|
136
|
-
function kickedOut() {
|
|
137
|
-
console.log("[TUICallkit Demo] kickedOut");
|
|
138
|
-
}
|
|
139
|
-
function statusChanged(args: { oldStatus: string; newStatus: string; }) {
|
|
140
|
-
const { oldStatus, newStatus } = args;
|
|
141
|
-
if (newStatus === STATUS.CALLING_C2C_VIDEO) {
|
|
142
|
-
console.log(`[TUICallkit Demo] statusChanged: ${oldStatus} -> ${newStatus}`);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
</script>
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
【Vue2.6】
|
|
149
|
-
``` javascript
|
|
150
|
-
<template>
|
|
151
|
-
<TUICallKit
|
|
152
|
-
:allowedMinimized="true"
|
|
153
|
-
:allowedFullScreen="true"
|
|
154
|
-
:videoDisplayMode="VideoDisplayMode.CONTAIN"
|
|
155
|
-
:videoResolution="VideoResolution.RESOLUTION_1080P"
|
|
156
|
-
:beforeCalling="beforeCalling"
|
|
157
|
-
:afterCalling="afterCalling"
|
|
158
|
-
:onMinimized="onMinimized"
|
|
159
|
-
:kickedOut="handleKickedOut"
|
|
160
|
-
:statusChanged="handleStatusChanged"
|
|
161
|
-
/>
|
|
162
|
-
</template>
|
|
163
|
-
|
|
164
|
-
<script lang="ts" setup>
|
|
165
|
-
import { TUICallKit, TUICallKitAPI, VideoDisplayMode, VideoResolution, STATUS } from "@trtc/calls-uikit-vue2.6";
|
|
166
|
-
|
|
167
|
-
function beforeCalling(type: string, error: any) {
|
|
168
|
-
console.log("[TUICallkit Demo] beforeCalling:", type, error);
|
|
169
|
-
}
|
|
170
|
-
function afterCalling() {
|
|
171
|
-
console.log("[TUICallkit Demo] afterCalling");
|
|
172
|
-
}
|
|
173
|
-
function onMinimized(oldStatus: string, newStatus: string) {
|
|
174
|
-
console.log("[TUICallkit Demo] onMinimized: " + oldStatus + " -> " + newStatus);
|
|
175
|
-
}
|
|
176
|
-
function kickedOut() {
|
|
177
|
-
console.log("[TUICallkit Demo] kickedOut");
|
|
178
|
-
}
|
|
179
|
-
function statusChanged(args: { oldStatus: string; newStatus: string; }) {
|
|
180
|
-
const { oldStatus, newStatus } = args;
|
|
181
|
-
if (newStatus === STATUS.CALLING_C2C_VIDEO) {
|
|
182
|
-
console.log(`[TUICallkit Demo] statusChanged: ${oldStatus} -> ${newStatus}`);
|
|
183
|
-
}
|
|
184
|
-
}
|
|
185
|
-
</script>
|
|
186
|
-
```
|
|
187
|
-
|
|
188
67
|
## TUICallKitAPI API 详情
|
|
189
68
|
|
|
190
69
|
【React】
|
|
@@ -192,21 +71,6 @@ function statusChanged(args: { oldStatus: string; newStatus: string; }) {
|
|
|
192
71
|
import { TUICallKitAPI } from "@trtc/calls-uikit-react";
|
|
193
72
|
```
|
|
194
73
|
|
|
195
|
-
【Vue3】
|
|
196
|
-
``` javascript
|
|
197
|
-
import { TUICallKitAPI } from "@trtc/calls-uikit-vue";
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
【Vue2.7】
|
|
201
|
-
``` javascript
|
|
202
|
-
import { TUICallKitAPI } from "@trtc/calls-uikit-vue2";
|
|
203
|
-
```
|
|
204
|
-
|
|
205
|
-
【Vue2.6】
|
|
206
|
-
``` javascript
|
|
207
|
-
import { TUICallKitAPI } from "@trtc/calls-uikit-vue2.6";
|
|
208
|
-
```
|
|
209
|
-
|
|
210
74
|
### init
|
|
211
75
|
|
|
212
76
|
初始化 TUICallKit。
|
|
@@ -408,13 +272,6 @@ try {
|
|
|
408
272
|
|
|
409
273
|
隐藏功能按钮,目前仅支持 摄像头,麦克风和切换前后置按钮。
|
|
410
274
|
|
|
411
|
-
【Vue】
|
|
412
|
-
``` javascript
|
|
413
|
-
import { TUICallKitAPI, FeatureButton } from "@trtc/calls-uikit-vue";
|
|
414
|
-
|
|
415
|
-
TUICallKitAPI.hideFeatureButton(FeatureButton.Camera);
|
|
416
|
-
```
|
|
417
|
-
|
|
418
275
|
【React】
|
|
419
276
|
``` javascript
|
|
420
277
|
import { TUICallKitAPI, FeatureButton } from "@trtc/calls-uikit-react";
|
|
@@ -461,12 +318,6 @@ TUICallKitAPI.setRemoteViewBackgroundImage(userId, url);
|
|
|
461
318
|
|
|
462
319
|
设置通话界面布局模式。
|
|
463
320
|
|
|
464
|
-
【Vue】
|
|
465
|
-
``` javascript
|
|
466
|
-
import { TUICallKitAPI, LayoutMode } from "@trtc/calls-uikit-vue";
|
|
467
|
-
TUICallKitAPI.setLayoutMode(LayoutMode.LocalInLargeView);
|
|
468
|
-
```
|
|
469
|
-
|
|
470
321
|
【React】
|
|
471
322
|
``` javascript
|
|
472
323
|
import { TUICallKitAPI, LayoutMode } from "@trtc/calls-uikit-react";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
TUICallKit 是音视频通话组件的**含 UI 接口**,使用 TUICallKit API,您可以通过简单接口快速实现一个类微信的音视频通话场景;更详细的接入步骤。
|
|
2
2
|
|
|
3
3
|
> **说明:**
|
|
4
|
-
> 为提供更优质的音视频通信能力, TUICallKit npm 包 [@trtc/calls-uikit-
|
|
4
|
+
> 为提供更优质的音视频通信能力, TUICallKit npm 包 [@trtc/calls-uikit-vue](https://www.npmjs.com/package/@trtc/calls-uikit-vue)、[@trtc/calls-uikit-vue2](https://www.npmjs.com/package/@trtc/calls-uikit-vue2)、[@trtc/calls-uikit-vue2.6](https://www.npmjs.com/package/@trtc/calls-uikit-vue2.6) 在 4.0.0 版本进行了重大升级。
|
|
5
5
|
>
|
|
6
6
|
|
|
7
7
|
## API 概览
|
|
@@ -45,25 +45,6 @@ TUICallKit 是音视频通话组件的**含 UI 接口**,使用 TUICallKit API
|
|
|
45
45
|
|
|
46
46
|
### 示例代码
|
|
47
47
|
|
|
48
|
-
【React】
|
|
49
|
-
``` bash
|
|
50
|
-
import { TUICallKit, VideoDisplayMode, VideoResolution } from "@trtc/calls-uikit-react";
|
|
51
|
-
|
|
52
|
-
<TUICallKit
|
|
53
|
-
videoDisplayMode={VideoDisplayMode.CONTAIN}
|
|
54
|
-
videoResolution={VideoResolution.RESOLUTION_1080P}
|
|
55
|
-
beforeCalling={handleBeforeCalling}
|
|
56
|
-
afterCalling={handleAfterCalling}
|
|
57
|
-
/>
|
|
58
|
-
|
|
59
|
-
function handleBeforeCalling(type: string, error: any) {
|
|
60
|
-
console.log("[TUICallkit Demo] handleBeforeCalling:", type, error);
|
|
61
|
-
}
|
|
62
|
-
function handleAfterCalling() {
|
|
63
|
-
console.log("[TUICallkit Demo] handleAfterCalling");
|
|
64
|
-
}
|
|
65
|
-
```
|
|
66
|
-
|
|
67
48
|
【Vue3】
|
|
68
49
|
``` bash
|
|
69
50
|
<template>
|
|
@@ -187,11 +168,6 @@ function statusChanged(args: { oldStatus: string; newStatus: string; }) {
|
|
|
187
168
|
|
|
188
169
|
## TUICallKitAPI API 详情
|
|
189
170
|
|
|
190
|
-
【React】
|
|
191
|
-
``` javascript
|
|
192
|
-
import { TUICallKitAPI } from "@trtc/calls-uikit-react";
|
|
193
|
-
```
|
|
194
|
-
|
|
195
171
|
【Vue3】
|
|
196
172
|
``` javascript
|
|
197
173
|
import { TUICallKitAPI } from "@trtc/calls-uikit-vue";
|
|
@@ -415,13 +391,6 @@ import { TUICallKitAPI, FeatureButton } from "@trtc/calls-uikit-vue";
|
|
|
415
391
|
TUICallKitAPI.hideFeatureButton(FeatureButton.Camera);
|
|
416
392
|
```
|
|
417
393
|
|
|
418
|
-
【React】
|
|
419
|
-
``` javascript
|
|
420
|
-
import { TUICallKitAPI, FeatureButton } from "@trtc/calls-uikit-react";
|
|
421
|
-
|
|
422
|
-
TUICallKitAPI.hideFeatureButton(FeatureButton.Camera);
|
|
423
|
-
```
|
|
424
|
-
|
|
425
394
|
参数列表:
|
|
426
395
|
|
|
427
396
|
|参数|类型|是否必填|含义|
|
|
@@ -467,12 +436,6 @@ import { TUICallKitAPI, LayoutMode } from "@trtc/calls-uikit-vue";
|
|
|
467
436
|
TUICallKitAPI.setLayoutMode(LayoutMode.LocalInLargeView);
|
|
468
437
|
```
|
|
469
438
|
|
|
470
|
-
【React】
|
|
471
|
-
``` javascript
|
|
472
|
-
import { TUICallKitAPI, LayoutMode } from "@trtc/calls-uikit-react";
|
|
473
|
-
TUICallKitAPI.setLayoutMode(LayoutMode.LocalInLargeView);
|
|
474
|
-
```
|
|
475
|
-
|
|
476
439
|
参数列表:
|
|
477
440
|
|
|
478
441
|
|参数|类型|是否必填|含义|
|