@tencentcloud/sdk-mcp 1.3.1 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +5 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
- package/resource/doc/chatuikit/faq/web_sdk/faq.md +117 -0
- package/resource/doc/chatuikit/flutter/client_api_Flutter.md +100 -179
- package/resource/doc/chatuikit/flutter/faq.md +17 -112
- package/resource/doc/chatuikit/flutter/integrate_tuikit_Flutter.md +272 -1281
- package/resource/doc/roomkit/vue/features/call-user-to-room.md +256 -0
- package/resource/doc/roomkit/vue/features/device-detection.md +388 -0
- package/resource/doc/roomkit/vue/features/device-state.md +480 -0
- package/resource/doc/roomkit/vue/features/free-beauty-panel.md +238 -0
- package/resource/doc/roomkit/vue/features/room-chat.md +427 -0
- package/resource/doc/roomkit/vue/features/room-participant-state.md +407 -0
- package/resource/doc/roomkit/vue/features/room-state.md +291 -0
- package/resource/doc/roomkit/vue/features/room-view.md +338 -0
- package/resource/doc/roomkit/vue/features/schedule-room.md +349 -0
- package/resource/doc/roomkit/vue/features/screen-share.md +333 -0
- package/resource/doc/roomkit/vue/features/virtual-background.md +281 -0
- package/resource/doc/roomkit/vue/features/workflow.md +553 -0
- package/resource/doc/roomkit/vue/integration.md +479 -0
- package/resource/doc/roomkit/vue/workflow.md +487 -0
- package/resource/doc/tuicallkit/react/api.md +16 -0
- package/resource/doc/tuicallkit/vue/api.md +16 -0
- package/tools/definitions/get_web_live_uikit_integration_def.js +1 -1
- package/tools/definitions/get_web_room_feature_detail_def.js +95 -0
- package/tools/definitions/get_web_room_feature_detail_def.js.map +1 -0
- package/tools/definitions/get_web_room_uikit_integration_def.js +44 -0
- package/tools/definitions/get_web_room_uikit_integration_def.js.map +1 -0
- package/tools/index.js +4 -2
- package/tools/index.js.map +1 -1
- package/tools/room/get-web-room-feature-detail.js +68 -0
- package/tools/room/get-web-room-feature-detail.js.map +1 -0
- package/tools/room/get-web-room-integration.js +43 -0
- package/tools/room/get-web-room-integration.js.map +1 -0
- package/utils/report-cls-client.js +1 -1
- package/utils/report-es-client.js +1 -1
- package/resource/doc/roomkit/vue/states/device-state.md +0 -316
- package/resource/doc/roomkit/vue/states/login-state.md +0 -51
- package/resource/doc/roomkit/vue/states/room-list-state.md +0 -287
- package/resource/doc/roomkit/vue/states/room-participant-state.md +0 -307
- package/tools/definitions/get_web_room_state_detail_def.js +0 -19
- package/tools/definitions/get_web_room_state_detail_def.js.map +0 -1
- package/tools/room/get-web-room-state-detail.js +0 -31
- package/tools/room/get-web-room-state-detail.js.map +0 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
const TOOL_DESCRIPTION = `
|
|
2
|
+
【核心用途】:作为一个专业的 Web 音视频会议 TUIRoomKit (Atomicx 版本) 集成助手,本工具专用于为 Agent 提供工作流行动指令和实时聚合的最新文档内容,以指导 LLM 帮用户实现音视频会议功能。
|
|
3
|
+
|
|
4
|
+
【功能说明】:
|
|
5
|
+
TUIRoomKit (Atomicx 版本) 默认提供完整的音视频会议解决方案,包含:
|
|
6
|
+
- **会议入口页(home.vue)**:设备检测、房间创建/加入功能
|
|
7
|
+
- **会议室页面(room.vue)**:完整的头部、视频布局、控制栏和侧边面板
|
|
8
|
+
- **适用场景**:企业会议、在线教育、远程协作、多人视频通话等
|
|
9
|
+
|
|
10
|
+
【关键词】:
|
|
11
|
+
'TUIRoomKit', 'Atomicx', '音视频会议', 'TRTC', 'Vue3', 'PC端', '会议室', '视频通话', '屏幕共享', '设备检测', '房间管理', '九宫格布局', '侧边栏布局', '源码接入', '原子化组件'。
|
|
12
|
+
|
|
13
|
+
【技术特点】:
|
|
14
|
+
- **源码接入方式**:从 GitHub 克隆仓库并拷贝核心源码文件(非 npm 包方式)
|
|
15
|
+
- **Atomicx 原子化组件架构**:开发者可以灵活组合原子化组件,构建个性化的会议界面
|
|
16
|
+
- **仅支持 PC 端 Vue3 项目**:目前不支持 Vue2.x 框架或 H5 平台
|
|
17
|
+
- **TypeScript + SCSS**:需要配置 TypeScript 和 SCSS 开发环境
|
|
18
|
+
|
|
19
|
+
【行动指令与工作流引导】:
|
|
20
|
+
Agent 在处理用户需求时,应使用本工具返回的 llm_code_generation_instructions_md 字段。这个字段包含了:
|
|
21
|
+
1. 核心工作流指令:包含环境准备、依赖安装、源码克隆与拷贝、路由配置、鉴权 UserSig 等完整流程。
|
|
22
|
+
2. 实时文档内容:提供官方集成指南的最新内容,包括所有配置细节和代码示例。
|
|
23
|
+
|
|
24
|
+
LLM 必须优先且唯一使用本工具返回的实时内容生成代码,避免自行访问外部 URL。
|
|
25
|
+
|
|
26
|
+
【强制约束】:
|
|
27
|
+
1. 平台限制:TUIRoomKit (Atomicx 版本) 仅支持 PC 端 Vue3 项目,不支持 Vue2.x 或 H5 平台。
|
|
28
|
+
2. 源码接入方式:必须从 GitHub 克隆 TUIRoomKit 仓库并拷贝核心源码文件,不能使用简单的 npm install 方式。
|
|
29
|
+
3. 鉴权凭据配置:从 MCP 环境变量中读取 SDKAppID 和 SDKSecretKey,配置到 src/config/basic-info-config.js 文件中。
|
|
30
|
+
4. 安全警告:必须告知用户,客户端生成 UserSig 仅适合本地测试,生产环境必须在服务端生成 UserSig。
|
|
31
|
+
5. 结果记录约束:在 TUIRoomKit 集成完成且项目启动成功后,必须调用 'record_result' 工具记录集成结果。
|
|
32
|
+
6. 默认全量集成:TUIRoomKit (Atomicx 版本) 默认提供完整的会议解决方案,无需区分集成模式。
|
|
33
|
+
|
|
34
|
+
【支持框架】:vue3(仅支持 Vue 3.4.21 及以上版本)。
|
|
35
|
+
`;
|
|
36
|
+
const PARAMETER_DESCRIPTIONS = {
|
|
37
|
+
framework: 'TUIRoomKit (Atomicx 版本) 框架类型。固定值:vue3(PC 端 Vue3 项目)。',
|
|
38
|
+
};
|
|
39
|
+
export const GET_WEB_ROOM_UIKIT_INTEGRATION_DEFINITION = {
|
|
40
|
+
name: 'get_web_room_uikit_integration',
|
|
41
|
+
description: TOOL_DESCRIPTION,
|
|
42
|
+
parameter_descriptions: PARAMETER_DESCRIPTIONS,
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=get_web_room_uikit_integration_def.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get_web_room_uikit_integration_def.js","sourceRoot":"","sources":["../../../src/tools/definitions/get_web_room_uikit_integration_def.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCxB,CAAC;AAEF,MAAM,sBAAsB,GAAG;IAC7B,SAAS,EAAE,sDAAsD;CAClE,CAAC;AAEF,MAAM,CAAC,MAAM,yCAAyC,GAAG;IACvD,IAAI,EAAE,gCAAgC;IACtC,WAAW,EAAE,gBAAgB;IAC7B,sBAAsB,EAAE,sBAAsB;CAC/C,CAAC"}
|
package/tools/index.js
CHANGED
|
@@ -25,7 +25,8 @@ import { registryGetWebLiveIntegrationTool } from './live/get-web-live-uikit-int
|
|
|
25
25
|
import { registryGetWebLiveComponentDetailTool } from './live/get-web-live-component-detail.js';
|
|
26
26
|
import { registerGetWebLiveStateDetailTool } from './live/get-web-live-state-detail.js';
|
|
27
27
|
// room
|
|
28
|
-
import {
|
|
28
|
+
import { registryGetWebRoomIntegrationTool } from './room/get-web-room-integration.js';
|
|
29
|
+
import { registryGetWebRoomFeatureDetailTool } from './room/get-web-room-feature-detail.js';
|
|
29
30
|
// native live
|
|
30
31
|
import { registryGetTRTCNativeAPITool } from './trtc/get-trtc-native-api.js';
|
|
31
32
|
function registryTools(mcpServer) {
|
|
@@ -56,7 +57,8 @@ function registryTools(mcpServer) {
|
|
|
56
57
|
registryGetWebLiveComponentDetailTool(mcpServer);
|
|
57
58
|
registerGetWebLiveStateDetailTool(mcpServer);
|
|
58
59
|
// room
|
|
59
|
-
|
|
60
|
+
registryGetWebRoomIntegrationTool(mcpServer);
|
|
61
|
+
registryGetWebRoomFeatureDetailTool(mcpServer);
|
|
60
62
|
// native live
|
|
61
63
|
// registryGetNativeLiveAPITool(mcpServer);
|
|
62
64
|
// trtc
|
package/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,SAAS;AACT,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO;AACP,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,qCAAqC,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,sFAAsF;AACtF,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO;AACP,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,YAAY;AACZ,+EAA+E;AAC/E,sFAAsF;AACtF,OAAO,EAAE,yCAAyC,EAAE,MAAM,kDAAkD,CAAC;AAC7G,OAAO,EAAE,oCAAoC,EAAE,MAAM,6CAA6C,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO;AACP,OAAO,EAAE,iCAAiC,EAAE,MAAM,0CAA0C,CAAC;AAC7F,OAAO,EAAE,qCAAqC,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO;AACP,OAAO,EAAE,iCAAiC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA,SAAS;AACT,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO;AACP,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,qCAAqC,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAC/E,sFAAsF;AACtF,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO;AACP,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,oCAAoC,EAAE,MAAM,uCAAuC,CAAC;AAC7F,YAAY;AACZ,+EAA+E;AAC/E,sFAAsF;AACtF,OAAO,EAAE,yCAAyC,EAAE,MAAM,kDAAkD,CAAC;AAC7G,OAAO,EAAE,oCAAoC,EAAE,MAAM,6CAA6C,CAAC;AACnG,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO;AACP,OAAO,EAAE,iCAAiC,EAAE,MAAM,0CAA0C,CAAC;AAC7F,OAAO,EAAE,qCAAqC,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,iCAAiC,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO;AACP,OAAO,EAAE,iCAAiC,EAAE,MAAM,oCAAoC,CAAC;AACvF,OAAO,EAAE,mCAAmC,EAAE,MAAM,uCAAuC,CAAC;AAI5F,cAAc;AACd,OAAO,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAG7E,SAAS,aAAa,CAAC,SAAoB;IACzC,SAAS;IACT,kCAAkC,CAAC,SAAS,CAAC,CAAC;IAC9C,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACpC,wBAAwB,CAAC,SAAS,CAAC,CAAC;IACpC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IAClC,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAC9B,OAAO;IACP,iCAAiC,CAAC,SAAS,CAAC,CAAC;IAC7C,qCAAqC,CAAC,SAAS,CAAC,CAAC;IACjD,0BAA0B,CAAC,SAAS,CAAC,CAAC;IACtC,2CAA2C;IAC3C,oCAAoC,CAAC,SAAS,CAAC,CAAC;IAChD,OAAO;IACP,iCAAiC,CAAC,SAAS,CAAC,CAAC;IAC7C,4BAA4B,CAAC,SAAS,CAAC,CAAC;IACxC,oCAAoC,CAAC,SAAS,CAAC,CAAC;IAChD,YAAY;IACZ,wCAAwC;IACxC,2CAA2C;IAC3C,yCAAyC,CAAC,SAAS,CAAC,CAAC;IACrD,oCAAoC,CAAC,SAAS,CAAC,CAAC;IAChD,qBAAqB,CAAC,SAAS,CAAC,CAAC;IACjC,OAAO;IACP,iCAAiC,CAAC,SAAS,CAAC,CAAC;IAC7C,qCAAqC,CAAC,SAAS,CAAC,CAAC;IACjD,iCAAiC,CAAC,SAAS,CAAC,CAAC;IAC7C,OAAO;IACP,iCAAiC,CAAC,SAAS,CAAC,CAAC;IAC7C,mCAAmC,CAAC,SAAS,CAAC,CAAC;IAC/C,cAAc;IACd,2CAA2C;IAC3C,OAAO;IACP,4BAA4B,CAAC,SAAS,CAAC,CAAC;AAC1C,CAAC;AAED,OAAO,EACL,aAAa,GACd,CAAA"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { GET_WEB_ROOM_FEATURE_DETAIL_DEFINITION } from '../definitions/get_web_room_feature_detail_def.js';
|
|
3
|
+
import { getDocContent } from '../../utils/get-doc-content.js';
|
|
4
|
+
import { generateStructuredResult } from '../../utils/generate-structured-result.js';
|
|
5
|
+
import { reportCLSClient } from '../../utils/report-cls-client.js';
|
|
6
|
+
const PATH_MAP = {
|
|
7
|
+
'device-detection': ['roomkit', 'vue', 'features', 'device-detection.md'],
|
|
8
|
+
'device-state': ['roomkit', 'vue', 'features', 'device-state.md'],
|
|
9
|
+
'room-state': ['roomkit', 'vue', 'features', 'room-state.md'],
|
|
10
|
+
'room-participant-state': ['roomkit', 'vue', 'features', 'room-participant-state.md'],
|
|
11
|
+
'room-view': ['roomkit', 'vue', 'features', 'room-view.md'],
|
|
12
|
+
'room-chat': ['roomkit', 'vue', 'features', 'room-chat.md'],
|
|
13
|
+
'screen-share': ['roomkit', 'vue', 'features', 'screen-share.md'],
|
|
14
|
+
'schedule-room': ['roomkit', 'vue', 'features', 'schedule-room.md'],
|
|
15
|
+
'call-user-to-room': ['roomkit', 'vue', 'features', 'call-user-to-room.md'],
|
|
16
|
+
'free-beauty-panel': ['roomkit', 'vue', 'features', 'free-beauty-panel.md'],
|
|
17
|
+
'virtual-background': ['roomkit', 'vue', 'features', 'virtual-background.md'],
|
|
18
|
+
};
|
|
19
|
+
async function getResultText(params) {
|
|
20
|
+
const { framework = 'vue', goals = [] } = params;
|
|
21
|
+
reportCLSClient({
|
|
22
|
+
method: 'get_web_room_feature_detail',
|
|
23
|
+
info: goals.join(','),
|
|
24
|
+
framework: framework,
|
|
25
|
+
});
|
|
26
|
+
// 获取工作流指令
|
|
27
|
+
const baseInstructions = getDocContent(['roomkit', 'vue', 'features', 'workflow.md']);
|
|
28
|
+
// 批量读取目标文档并生成结构化结果
|
|
29
|
+
const result = await generateStructuredResult({
|
|
30
|
+
baseInstructions,
|
|
31
|
+
goals: goals,
|
|
32
|
+
pathMap: PATH_MAP,
|
|
33
|
+
framework: framework,
|
|
34
|
+
});
|
|
35
|
+
return result;
|
|
36
|
+
}
|
|
37
|
+
const registryGetWebRoomFeatureDetailTool = (mcpServer) => {
|
|
38
|
+
const { name, description, parameter_descriptions } = GET_WEB_ROOM_FEATURE_DETAIL_DEFINITION;
|
|
39
|
+
mcpServer.tool(name, description, {
|
|
40
|
+
framework: z.enum(['vue']).default('vue').describe(parameter_descriptions.framework),
|
|
41
|
+
goals: z.array(z.enum([
|
|
42
|
+
'device-detection',
|
|
43
|
+
'device-state',
|
|
44
|
+
'room-state',
|
|
45
|
+
'room-participant-state',
|
|
46
|
+
'room-view',
|
|
47
|
+
'room-chat',
|
|
48
|
+
'screen-share',
|
|
49
|
+
'schedule-room',
|
|
50
|
+
'call-user-to-room',
|
|
51
|
+
'free-beauty-panel',
|
|
52
|
+
'virtual-background'
|
|
53
|
+
])).describe(parameter_descriptions.goals),
|
|
54
|
+
}, async (params) => {
|
|
55
|
+
const result = await getResultText(params);
|
|
56
|
+
return {
|
|
57
|
+
content: [
|
|
58
|
+
{
|
|
59
|
+
type: 'text',
|
|
60
|
+
text: result.llm_code_generation_instructions_md,
|
|
61
|
+
}
|
|
62
|
+
],
|
|
63
|
+
result: result,
|
|
64
|
+
};
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
export { registryGetWebRoomFeatureDetailTool };
|
|
68
|
+
//# sourceMappingURL=get-web-room-feature-detail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-web-room-feature-detail.js","sourceRoot":"","sources":["../../../src/tools/room/get-web-room-feature-detail.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { GET_WEB_ROOM_UIKIT_INTEGRATION_DEFINITION } from '../definitions/get_web_room_uikit_integration_def.js';
|
|
3
|
+
import { getDocContent } from '../../utils/get-doc-content.js';
|
|
4
|
+
import { reportCLSClient } from '../../utils/report-cls-client.js';
|
|
5
|
+
import { generateStructuredResult } from '../../utils/generate-structured-result.js';
|
|
6
|
+
async function getResultText(params) {
|
|
7
|
+
const { framework = 'vue' } = params;
|
|
8
|
+
reportCLSClient({
|
|
9
|
+
method: 'get_web_room_uikit_integration',
|
|
10
|
+
framework,
|
|
11
|
+
});
|
|
12
|
+
// 获取工作流指令
|
|
13
|
+
const baseInstructions = getDocContent(['roomkit', framework, 'workflow.md']);
|
|
14
|
+
// 批量读取目标文档并生成结构化结果
|
|
15
|
+
const result = await generateStructuredResult({
|
|
16
|
+
baseInstructions,
|
|
17
|
+
goals: ['integration'],
|
|
18
|
+
framework,
|
|
19
|
+
pathMap: {
|
|
20
|
+
['integration']: ['roomkit', framework, 'integration.md'],
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
return result;
|
|
24
|
+
}
|
|
25
|
+
const registryGetWebRoomIntegrationTool = (mcpServer) => {
|
|
26
|
+
const { name, description, parameter_descriptions } = GET_WEB_ROOM_UIKIT_INTEGRATION_DEFINITION;
|
|
27
|
+
mcpServer.tool(name, description, {
|
|
28
|
+
framework: z.enum(['vue']).default('vue').describe(parameter_descriptions.framework),
|
|
29
|
+
}, async (params) => {
|
|
30
|
+
const result = await getResultText(params);
|
|
31
|
+
return {
|
|
32
|
+
content: [
|
|
33
|
+
{
|
|
34
|
+
type: 'text',
|
|
35
|
+
text: result.llm_code_generation_instructions_md,
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
result: result,
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
export { registryGetWebRoomIntegrationTool };
|
|
43
|
+
//# sourceMappingURL=get-web-room-integration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-web-room-integration.js","sourceRoot":"","sources":["../../../src/tools/room/get-web-room-integration.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,yCAAyC,EAAE,MAAM,sDAAsD,CAAC;AACjH,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAErF,KAAK,UAAU,aAAa,CAAC,MAA2B;IACtD,MAAM,EAAE,SAAS,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;IACrC,eAAe,CAAC;QACd,MAAM,EAAE,gCAAgC;QACxC,SAAS;KACV,CAAC,CAAC;IACH,UAAU;IACV,MAAM,gBAAgB,GAAG,aAAa,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;IAC9E,mBAAmB;IACnB,MAAM,MAAM,GAAG,MAAM,wBAAwB,CAAC;QAC5C,gBAAgB;QAChB,KAAK,EAAE,CAAC,aAAa,CAAC;QACtB,SAAS;QACT,OAAO,EAAE;YACP,CAAC,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC;SAC1D;KACF,CAAC,CAAA;IACF,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,iCAAiC,GAAG,CAAC,SAAoB,EAAE,EAAE;IACjE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,sBAAsB,EAAE,GAAG,yCAAyC,CAAC;IAChG,SAAS,CAAC,IAAI,CACZ,IAAI,EACJ,WAAW,EACX;QACE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,SAAS,CAAC;KACrF,EACD,KAAK,EAAE,MAAW,EAAE,EAAE;QACpB,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,MAAM,CAAC,CAAA;QAC1C,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,MAAM,CAAC,mCAAmC;iBACjD;aACF;YACD,MAAM,EAAE,MAAM;SACf,CAAA;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,OAAO,EAAE,iCAAiC,EAAE,CAAC"}
|
|
@@ -1,316 +0,0 @@
|
|
|
1
|
-
# Device State Documentation
|
|
2
|
-
|
|
3
|
-
## 安装依赖
|
|
4
|
-
|
|
5
|
-
您可以选择以下任一方式安装依赖:
|
|
6
|
-
【npm】
|
|
7
|
-
``` bash
|
|
8
|
-
npm install tuikit-atomicx-vue3@latest --save
|
|
9
|
-
```
|
|
10
|
-
【pnpm】
|
|
11
|
-
``` bash
|
|
12
|
-
pnpm add tuikit-atomicx-vue3@latest
|
|
13
|
-
```
|
|
14
|
-
【yarn】
|
|
15
|
-
``` bash
|
|
16
|
-
yarn add tuikit-atomicx-vue3@latest
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Enums
|
|
20
|
-
|
|
21
|
-
### DeviceError
|
|
22
|
-
设备错误枚举
|
|
23
|
-
|
|
24
|
-
```typescript
|
|
25
|
-
export enum DeviceError {
|
|
26
|
-
NoError = 0, // 无错误
|
|
27
|
-
NoDeviceDetected = 1, // 未检测到设备
|
|
28
|
-
NoSystemPermission = 2, // 无系统权限
|
|
29
|
-
NotSupportCapture = 3, // 不支持捕获
|
|
30
|
-
OccupiedError = 4, // 设备被占用
|
|
31
|
-
UnknownError = 5, // 未知错误
|
|
32
|
-
}
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### AudioRoute
|
|
36
|
-
音频路由枚举
|
|
37
|
-
|
|
38
|
-
```typescript
|
|
39
|
-
export enum AudioRoute {
|
|
40
|
-
Speakerphone = 0, // 扬声器
|
|
41
|
-
Earpiece = 1, // 听筒
|
|
42
|
-
}
|
|
43
|
-
```
|
|
44
|
-
|
|
45
|
-
### MirrorType
|
|
46
|
-
镜像类型枚举
|
|
47
|
-
|
|
48
|
-
```typescript
|
|
49
|
-
export enum MirrorType {
|
|
50
|
-
Auto = 0, // 自动
|
|
51
|
-
Enable = 1, // 启用
|
|
52
|
-
Disable = 2, // 禁用
|
|
53
|
-
}
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### DeviceType
|
|
57
|
-
设备类型枚举
|
|
58
|
-
|
|
59
|
-
```typescript
|
|
60
|
-
export enum DeviceType {
|
|
61
|
-
Microphone = 'Microphone', // 麦克风
|
|
62
|
-
Camera = 'Camera', // 摄像头
|
|
63
|
-
ScreenShare = 'ScreenShare', // 屏幕共享
|
|
64
|
-
}
|
|
65
|
-
```
|
|
66
|
-
|
|
67
|
-
### VideoQuality
|
|
68
|
-
视频质量枚举
|
|
69
|
-
|
|
70
|
-
```typescript
|
|
71
|
-
export enum VideoQuality {
|
|
72
|
-
Quality360P = 1, // 360P 分辨率
|
|
73
|
-
Quality540P = 2, // 540P 分辨率
|
|
74
|
-
Quality720P = 3, // 720P 分辨率
|
|
75
|
-
Quality1080P = 4, // 1080P 分辨率
|
|
76
|
-
}
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### DevicePermission
|
|
80
|
-
设备权限枚举
|
|
81
|
-
|
|
82
|
-
```typescript
|
|
83
|
-
export enum DevicePermission {
|
|
84
|
-
PublishAudio = 'PublishAudio', // 发布音频权限
|
|
85
|
-
PublishVideo = 'PublishVideo', // 发布视频权限
|
|
86
|
-
ScreenShare = 'ScreenShare', // 屏幕共享权限
|
|
87
|
-
}
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
### MediaSettingDisplayMode
|
|
91
|
-
媒体设置显示模式枚举
|
|
92
|
-
|
|
93
|
-
```typescript
|
|
94
|
-
export enum MediaSettingDisplayMode {
|
|
95
|
-
Icon = 'Icon', // 仅图标模式
|
|
96
|
-
IconWithPanel = 'IconWithPanel', // 图标加面板模式
|
|
97
|
-
Panel = 'Panel', // 仅面板模式
|
|
98
|
-
}
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
### DeviceStatus
|
|
102
|
-
设备状态枚举
|
|
103
|
-
|
|
104
|
-
```typescript
|
|
105
|
-
export enum DeviceStatus {
|
|
106
|
-
Off = 0, // 关闭
|
|
107
|
-
On = 1, // 开启
|
|
108
|
-
}
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
### NetworkQuality
|
|
112
|
-
网络质量枚举
|
|
113
|
-
|
|
114
|
-
```typescript
|
|
115
|
-
export enum NetworkQuality {
|
|
116
|
-
Unknown = 0, // 未知
|
|
117
|
-
Excellent = 1, // 优秀
|
|
118
|
-
Good = 2, // 良好
|
|
119
|
-
Poor = 3, // 较差
|
|
120
|
-
Bad = 4, // 差
|
|
121
|
-
VeryBad = 5, // 很差
|
|
122
|
-
Down = 6, // 断开
|
|
123
|
-
}
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
## Interfaces
|
|
127
|
-
|
|
128
|
-
### VideoSettingProps
|
|
129
|
-
视频设置属性接口
|
|
130
|
-
|
|
131
|
-
```typescript
|
|
132
|
-
export interface VideoSettingProps {
|
|
133
|
-
displayMode: MediaSettingDisplayMode; // 显示模式(必需)
|
|
134
|
-
supportSwitchCamera?: boolean; // 是否支持切换摄像头(可选)
|
|
135
|
-
supportSwitchResolution?: boolean; // 是否支持切换分辨率(可选)
|
|
136
|
-
supportVideoPreview?: boolean; // 是否支持视频预览(可选)
|
|
137
|
-
supportSwitchMirror?: boolean; // 是否支持切换镜像(可选)
|
|
138
|
-
}
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
#### 属性说明
|
|
142
|
-
|
|
143
|
-
- **displayMode**: 设置显示模式,决定UI的展现形式
|
|
144
|
-
- **supportSwitchCamera**: 是否允许用户切换前后摄像头
|
|
145
|
-
- **supportSwitchResolution**: 是否允许用户切换视频分辨率
|
|
146
|
-
- **supportVideoPreview**: 是否显示视频预览功能
|
|
147
|
-
- **supportSwitchMirror**: 是否允许用户切换视频镜像效果
|
|
148
|
-
|
|
149
|
-
### AudioSettingProps
|
|
150
|
-
音频设置属性接口
|
|
151
|
-
|
|
152
|
-
```typescript
|
|
153
|
-
export interface AudioSettingProps {
|
|
154
|
-
displayMode: MediaSettingDisplayMode; // 显示模式(必需)
|
|
155
|
-
supportSwitchMicrophone?: boolean; // 是否支持切换麦克风(可选)
|
|
156
|
-
supportSwitchSpeaker?: boolean; // 是否支持切换扬声器(可选)
|
|
157
|
-
supportAudioLevel?: boolean; // 是否支持音频电平显示(可选)
|
|
158
|
-
}
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
#### 属性说明
|
|
162
|
-
|
|
163
|
-
- **displayMode**: 设置显示模式,决定UI的展现形式
|
|
164
|
-
- **supportSwitchMicrophone**: 是否允许用户切换麦克风设备
|
|
165
|
-
- **supportSwitchSpeaker**: 是否允许用户切换扬声器设备
|
|
166
|
-
- **supportAudioLevel**: 是否显示音频电平指示器
|
|
167
|
-
|
|
168
|
-
### NetworkInfo
|
|
169
|
-
网络信息接口
|
|
170
|
-
|
|
171
|
-
```typescript
|
|
172
|
-
export interface NetworkInfo {
|
|
173
|
-
quality: NetworkQuality; // 网络质量等级
|
|
174
|
-
upLoss: number; // 上行丢包率(百分比)
|
|
175
|
-
downLoss: number; // 下行丢包率(百分比)
|
|
176
|
-
delay: number; // 网络延迟(毫秒)
|
|
177
|
-
}
|
|
178
|
-
```
|
|
179
|
-
|
|
180
|
-
#### 属性说明
|
|
181
|
-
|
|
182
|
-
- **quality**: 网络质量等级,用于快速判断网络状况
|
|
183
|
-
- **upLoss**: 上行数据包丢失率,范围通常为 0-100
|
|
184
|
-
- **downLoss**: 下行数据包丢失率,范围通常为 0-100
|
|
185
|
-
- **delay**: 网络往返延迟时间,单位为毫秒
|
|
186
|
-
|
|
187
|
-
## 使用示例
|
|
188
|
-
|
|
189
|
-
### 视频设置配置示例
|
|
190
|
-
|
|
191
|
-
```typescript
|
|
192
|
-
const videoSettings: VideoSettingProps = {
|
|
193
|
-
displayMode: MediaSettingDisplayMode.IconWithPanel,
|
|
194
|
-
supportSwitchCamera: true,
|
|
195
|
-
supportSwitchResolution: true,
|
|
196
|
-
supportVideoPreview: true,
|
|
197
|
-
supportSwitchMirror: false
|
|
198
|
-
};
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
### 音频设置配置示例
|
|
202
|
-
|
|
203
|
-
```typescript
|
|
204
|
-
const audioSettings: AudioSettingProps = {
|
|
205
|
-
displayMode: MediaSettingDisplayMode.Panel,
|
|
206
|
-
supportSwitchMicrophone: true,
|
|
207
|
-
supportSwitchSpeaker: true,
|
|
208
|
-
supportAudioLevel: true
|
|
209
|
-
};
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
### 网络信息使用示例
|
|
213
|
-
|
|
214
|
-
```typescript
|
|
215
|
-
const networkInfo: NetworkInfo = {
|
|
216
|
-
quality: NetworkQuality.Good,
|
|
217
|
-
upLoss: 2.5,
|
|
218
|
-
downLoss: 1.8,
|
|
219
|
-
delay: 45
|
|
220
|
-
};
|
|
221
|
-
|
|
222
|
-
// 根据网络质量显示不同的提示
|
|
223
|
-
function getNetworkStatusText(info: NetworkInfo): string {
|
|
224
|
-
switch (info.quality) {
|
|
225
|
-
case NetworkQuality.Excellent:
|
|
226
|
-
return "网络状况优秀";
|
|
227
|
-
case NetworkQuality.Good:
|
|
228
|
-
return "网络状况良好";
|
|
229
|
-
case NetworkQuality.Poor:
|
|
230
|
-
return "网络状况较差";
|
|
231
|
-
default:
|
|
232
|
-
return "网络状况未知";
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
## 注意事项
|
|
238
|
-
|
|
239
|
-
1. **设备权限**: 在使用摄像头和麦克风前,需要确保获得相应的系统权限
|
|
240
|
-
2. **错误处理**: 建议根据 `DeviceError` 枚举值提供相应的用户提示
|
|
241
|
-
3. **网络监控**: 定期检查 `NetworkInfo` 以优化用户体验
|
|
242
|
-
4. **设备兼容性**: 不同设备对视频质量和功能的支持可能有差异
|
|
243
|
-
|
|
244
|
-
## API 和事件使用示例
|
|
245
|
-
```typescript
|
|
246
|
-
import { useDeviceState } from 'tuikit-atomicx-vue3';
|
|
247
|
-
const {
|
|
248
|
-
// 麦克风数据
|
|
249
|
-
microphoneStatus,
|
|
250
|
-
microphoneList,
|
|
251
|
-
currentMicrophone,
|
|
252
|
-
microphoneLastError,
|
|
253
|
-
isMicrophoneTesting,
|
|
254
|
-
currentMicVolume,
|
|
255
|
-
captureVolume,
|
|
256
|
-
testingMicVolume,
|
|
257
|
-
|
|
258
|
-
// 摄像头数据
|
|
259
|
-
cameraStatus,
|
|
260
|
-
cameraList,
|
|
261
|
-
currentCamera,
|
|
262
|
-
cameraLastError,
|
|
263
|
-
isCameraTesting,
|
|
264
|
-
isCameraTestLoading,
|
|
265
|
-
isFrontCamera,
|
|
266
|
-
localMirrorType,
|
|
267
|
-
localVideoQuality,
|
|
268
|
-
|
|
269
|
-
// 扬声器数据
|
|
270
|
-
speakerList,
|
|
271
|
-
currentSpeaker,
|
|
272
|
-
outputVolume,
|
|
273
|
-
currentAudioRoute,
|
|
274
|
-
isSpeakerTesting,
|
|
275
|
-
|
|
276
|
-
// 屏幕分享数据
|
|
277
|
-
screenStatus,
|
|
278
|
-
|
|
279
|
-
// 本地网络数据
|
|
280
|
-
networkInfo,
|
|
281
|
-
|
|
282
|
-
// 麦克风操作
|
|
283
|
-
openLocalMicrophone,
|
|
284
|
-
closeLocalMicrophone,
|
|
285
|
-
muteLocalAudio,
|
|
286
|
-
unmuteLocalAudio,
|
|
287
|
-
getMicrophoneList,
|
|
288
|
-
setCurrentMicrophone,
|
|
289
|
-
startMicrophoneTest,
|
|
290
|
-
stopMicrophoneTest,
|
|
291
|
-
setCaptureVolume,
|
|
292
|
-
|
|
293
|
-
// 扬声器操作
|
|
294
|
-
getSpeakerList,
|
|
295
|
-
setCurrentSpeaker,
|
|
296
|
-
setAudioRoute,
|
|
297
|
-
startSpeakerTest,
|
|
298
|
-
stopSpeakerTest,
|
|
299
|
-
setOutputVolume,
|
|
300
|
-
|
|
301
|
-
// 摄像头操作
|
|
302
|
-
openLocalCamera,
|
|
303
|
-
closeLocalCamera,
|
|
304
|
-
getCameraList,
|
|
305
|
-
setCurrentCamera,
|
|
306
|
-
switchCamera,
|
|
307
|
-
switchMirror,
|
|
308
|
-
updateVideoQuality,
|
|
309
|
-
startCameraDeviceTest,
|
|
310
|
-
stopCameraDeviceTest,
|
|
311
|
-
|
|
312
|
-
// 屏幕分享
|
|
313
|
-
startScreenShare,
|
|
314
|
-
stopScreenShare,
|
|
315
|
-
} = useDeviceState();
|
|
316
|
-
```
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
# Room Login State Documentation
|
|
2
|
-
|
|
3
|
-
Room 组件登录 API 文档。
|
|
4
|
-
|
|
5
|
-
## 安装依赖
|
|
6
|
-
|
|
7
|
-
您可以选择以下任一方式安装依赖:
|
|
8
|
-
【npm】
|
|
9
|
-
``` bash
|
|
10
|
-
npm install tuikit-atomicx-vue3@latest --save
|
|
11
|
-
```
|
|
12
|
-
【pnpm】
|
|
13
|
-
``` bash
|
|
14
|
-
pnpm add tuikit-atomicx-vue3@latest
|
|
15
|
-
```
|
|
16
|
-
【yarn】
|
|
17
|
-
``` bash
|
|
18
|
-
yarn add tuikit-atomicx-vue3@latest
|
|
19
|
-
```
|
|
20
|
-
|
|
21
|
-
## API使用示例
|
|
22
|
-
|
|
23
|
-
```typescript
|
|
24
|
-
import { useLoginState } from 'tuikit-atomicx-vue3';
|
|
25
|
-
const {
|
|
26
|
-
loginUserInfo,
|
|
27
|
-
login,
|
|
28
|
-
logout,
|
|
29
|
-
setSelfInfo,
|
|
30
|
-
} = useLoginState();
|
|
31
|
-
|
|
32
|
-
// 登录
|
|
33
|
-
login({
|
|
34
|
-
userId: 'xxx';
|
|
35
|
-
userSig: 'xxx';
|
|
36
|
-
sdkAppId: 0;
|
|
37
|
-
}).then(() => {
|
|
38
|
-
// 登录成功获取登录用户的信息
|
|
39
|
-
const { userId, userName, avatarUrl, customInfo } = loginUserInfo;
|
|
40
|
-
})
|
|
41
|
-
|
|
42
|
-
// 登出
|
|
43
|
-
logout();
|
|
44
|
-
|
|
45
|
-
// 设置用户信息
|
|
46
|
-
setSelfInfo({
|
|
47
|
-
userName: 'xxx',
|
|
48
|
-
avatarUrl: 'xxx',
|
|
49
|
-
});
|
|
50
|
-
|
|
51
|
-
```
|