@tencentcloud/sdk-mcp 1.3.0 → 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 +2 -2
- 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/chatuikit/react/integration.md +516 -48
- package/resource/doc/chatuikit/react/workflow.md +254 -0
- package/resource/doc/chatuikit/uniapp-app/faq.md +0 -0
- package/resource/doc/chatuikit/uniapp-app/integration.md +619 -0
- package/resource/doc/chatuikit/uniapp-app/workflow.md +576 -0
- package/resource/doc/chatuikit/vue/integration.md +511 -129
- package/resource/doc/chatuikit/vue/workflow.md +395 -0
- 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/chat/get-web-chat-integration.js +31 -14
- package/tools/chat/get-web-chat-integration.js.map +1 -1
- package/tools/definitions/get_web_chat_uikit_integration_def.js +18 -11
- package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
- 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/definitions/present_framework_choice_def.js +1 -1
- package/tools/definitions/record_result_def.js +1 -1
- package/tools/definitions/record_result_def.js.map +1 -1
- package/tools/index.js +4 -4
- package/tools/index.js.map +1 -1
- package/tools/live/get-web-live-uikit-integration.js +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/generate-structured-result.js +2 -2
- package/utils/generate-structured-result.js.map +1 -1
- package/utils/report-cls-client.js +1 -1
- package/utils/report-es-client.js +1 -1
- package/resource/doc/chatuikit/react/chat_window_integration.md +0 -83
- package/resource/doc/chatuikit/vue/chat_window_integration.md +0 -131
- 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/chat/get-web-chat-window-integration.js +0 -28
- package/tools/chat/get-web-chat-window-integration.js.map +0 -1
- package/tools/definitions/get_web_chat_window_integration_def.js +0 -26
- package/tools/definitions/get_web_chat_window_integration_def.js.map +0 -1
- 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
|
@@ -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
|
-
```
|
|
@@ -1,287 +0,0 @@
|
|
|
1
|
-
# Room List State Documentation
|
|
2
|
-
|
|
3
|
-
Room 房间列表 State 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
|
-
## Enums
|
|
22
|
-
|
|
23
|
-
### RoomStatus
|
|
24
|
-
房间状态枚举
|
|
25
|
-
|
|
26
|
-
```typescript
|
|
27
|
-
export enum RoomStatus {
|
|
28
|
-
Scheduled = 1, // 已预约
|
|
29
|
-
Running = 2, // 进行中
|
|
30
|
-
}
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
### RoomEndedReason
|
|
34
|
-
房间结束原因枚举
|
|
35
|
-
|
|
36
|
-
```typescript
|
|
37
|
-
export enum RoomEndedReason {
|
|
38
|
-
ByOwner = 1, // 由房主结束
|
|
39
|
-
ByServer = 2, // 由服务器结束
|
|
40
|
-
}
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### RoomInvitationStatus
|
|
44
|
-
房间邀请状态枚举
|
|
45
|
-
|
|
46
|
-
```typescript
|
|
47
|
-
export enum RoomInvitationStatus {
|
|
48
|
-
None = 0, // 无状态
|
|
49
|
-
Pending = 1, // 等待中
|
|
50
|
-
Timeout = 2, // 超时
|
|
51
|
-
Rejected = 3, // 已拒绝
|
|
52
|
-
}
|
|
53
|
-
```
|
|
54
|
-
|
|
55
|
-
### InvitationRejectedReason
|
|
56
|
-
邀请拒绝原因枚举
|
|
57
|
-
|
|
58
|
-
```typescript
|
|
59
|
-
export enum InvitationRejectedReason {
|
|
60
|
-
Rejected = "Rejected", // 拒绝
|
|
61
|
-
Busy = "Busy", // 忙碌
|
|
62
|
-
}
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## Interfaces
|
|
66
|
-
|
|
67
|
-
### RoomUser
|
|
68
|
-
房间用户信息
|
|
69
|
-
|
|
70
|
-
```typescript
|
|
71
|
-
export interface RoomUser {
|
|
72
|
-
userId: string; // 用户ID
|
|
73
|
-
userName: string; // 用户名
|
|
74
|
-
avatarURL: string; // 头像URL
|
|
75
|
-
}
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
### RoomInfo
|
|
79
|
-
房间信息
|
|
80
|
-
|
|
81
|
-
```typescript
|
|
82
|
-
export interface RoomInfo {
|
|
83
|
-
readonly roomId: string; // 房间ID(只读)
|
|
84
|
-
roomName: string; // 房间名称
|
|
85
|
-
roomOwner: RoomUser; // 房间所有者
|
|
86
|
-
readonly participantCount: number; // 参与者数量(只读)
|
|
87
|
-
readonly createTime: number; // 创建时间(只读)
|
|
88
|
-
readonly roomStatus: RoomStatus; // 房间状态(只读)
|
|
89
|
-
scheduledStartTime?: number; // 预约开始时间(可选)
|
|
90
|
-
scheduledEndTime?: number; // 预约结束时间(可选)
|
|
91
|
-
startReminderInSeconds?: number; // 开始前提醒时间(秒)(可选)
|
|
92
|
-
scheduleAttendees?: RoomUser[]; // 预约参与者列表(可选)
|
|
93
|
-
password?: string; // 房间密码(可选)
|
|
94
|
-
isAllMicrophoneDisabled: boolean; // 是否禁用所有麦克风
|
|
95
|
-
isAllCameraDisabled: boolean; // 是否禁用所有摄像头
|
|
96
|
-
isAllScreenShareDisabled: boolean; // 是否禁用所有屏幕共享
|
|
97
|
-
isAllMessageDisabled: boolean; // 是否禁用所有消息
|
|
98
|
-
}
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
### RoomInvitation
|
|
102
|
-
房间邀请信息
|
|
103
|
-
|
|
104
|
-
```typescript
|
|
105
|
-
export interface RoomInvitation {
|
|
106
|
-
roomInfo: RoomInfo; // 房间信息
|
|
107
|
-
inviter: RoomUser; // 邀请者
|
|
108
|
-
invitee: RoomUser; // 被邀请者
|
|
109
|
-
status: RoomInvitationStatus; // 邀请状态
|
|
110
|
-
}
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## Type Definitions
|
|
114
|
-
|
|
115
|
-
### ScheduleRoomOptions
|
|
116
|
-
预约房间选项
|
|
117
|
-
|
|
118
|
-
```typescript
|
|
119
|
-
export type ScheduleRoomOptions = {
|
|
120
|
-
roomName?: string; // 房间名称(可选)
|
|
121
|
-
password?: string; // 房间密码(可选)
|
|
122
|
-
scheduleStartTime: number; // 预约开始时间(必需)
|
|
123
|
-
scheduleEndTime: number; // 预约结束时间(必需)
|
|
124
|
-
reminderSecondsBeforeStart?: number; // 开始前提醒时间(秒)(可选)
|
|
125
|
-
scheduleAttendees?: string[]; // 预约参与者ID列表(可选)
|
|
126
|
-
isAllMicrophoneDisabled?: boolean; // 是否禁用所有麦克风(可选)
|
|
127
|
-
isAllCameraDisabled?: boolean; // 是否禁用所有摄像头(可选)
|
|
128
|
-
isAllScreenShareDisabled?: boolean; // 是否禁用所有屏幕共享(可选)
|
|
129
|
-
isAllMessageDisabled?: boolean; // 是否禁用所有消息(可选)
|
|
130
|
-
};
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### ScheduleUpdateRoomOptions
|
|
134
|
-
更新预约房间选项
|
|
135
|
-
|
|
136
|
-
```typescript
|
|
137
|
-
export type ScheduleUpdateRoomOptions = {
|
|
138
|
-
roomName?: string; // 房间名称(可选)
|
|
139
|
-
scheduleStartTime?: number; // 预约开始时间(可选)
|
|
140
|
-
scheduleEndTime?: number; // 预约结束时间(可选)
|
|
141
|
-
}
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
### CreateRoomOptions
|
|
145
|
-
创建房间选项
|
|
146
|
-
|
|
147
|
-
```typescript
|
|
148
|
-
export type CreateRoomOptions = {
|
|
149
|
-
roomName?: string; // 房间名称(可选)
|
|
150
|
-
password?: string; // 房间密码(可选)
|
|
151
|
-
isAllMicrophoneDisabled?: boolean; // 是否禁用所有麦克风(可选)
|
|
152
|
-
isAllCameraDisabled?: boolean; // 是否禁用所有摄像头(可选)
|
|
153
|
-
isAllScreenShareDisabled?: boolean; // 是否禁用所有屏幕共享(可选)
|
|
154
|
-
isAllMessageDisabled?: boolean; // 是否禁用所有消息(可选)
|
|
155
|
-
};
|
|
156
|
-
```
|
|
157
|
-
|
|
158
|
-
### UpdateRoomOptions
|
|
159
|
-
更新房间选项
|
|
160
|
-
|
|
161
|
-
```typescript
|
|
162
|
-
export type UpdateRoomOptions = {
|
|
163
|
-
roomName?: string; // 房间名称(可选)
|
|
164
|
-
password?: string; // 房间密码(可选)
|
|
165
|
-
};
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
## IRoomListState Interface
|
|
169
|
-
|
|
170
|
-
房间列表状态管理接口
|
|
171
|
-
|
|
172
|
-
### Properties
|
|
173
|
-
|
|
174
|
-
```typescript
|
|
175
|
-
export interface IRoomListState {
|
|
176
|
-
scheduledRoomList: RoomInfo[]; // 预约房间列表
|
|
177
|
-
scheduledRoomListCursor: string; // 预约房间列表游标
|
|
178
|
-
currentRoom: RoomInfo | null; // 当前房间信息
|
|
179
|
-
}
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
### Methods
|
|
183
|
-
|
|
184
|
-
#### 房间列表管理
|
|
185
|
-
|
|
186
|
-
- **getScheduledRoomList(options: { cursor: string, count?: number }): Promise<void>**
|
|
187
|
-
- 获取预约房间列表
|
|
188
|
-
|
|
189
|
-
- **getScheduledAttendees(options: { roomId: string, cursor: string, count?: number }): Promise<{ attendees: RoomUser[], cursor: string }>**
|
|
190
|
-
- 获取预约参与者列表
|
|
191
|
-
|
|
192
|
-
#### 预约房间管理
|
|
193
|
-
|
|
194
|
-
- **scheduleRoom(options: { roomId: string, options: ScheduleRoomOptions }): Promise<void>**
|
|
195
|
-
- 预约房间
|
|
196
|
-
|
|
197
|
-
- **updateScheduledRoom(options: { roomId: string, options: ScheduleUpdateRoomOptions }): Promise<void>**
|
|
198
|
-
- 更新预约房间
|
|
199
|
-
|
|
200
|
-
- **addScheduledAttendees(options: { roomId: string, userIdList: string[] }): Promise<void>**
|
|
201
|
-
- 添加预约参与者
|
|
202
|
-
|
|
203
|
-
- **removeScheduledAttendees(options: { roomId: string, userIdList: string[] }): Promise<void>**
|
|
204
|
-
- 移除预约参与者
|
|
205
|
-
|
|
206
|
-
- **cancelScheduledRoom(options: { roomId: string }): Promise<void>**
|
|
207
|
-
- 取消预约房间
|
|
208
|
-
|
|
209
|
-
#### 房间操作
|
|
210
|
-
|
|
211
|
-
- **createAndJoinRoom(options: { roomId: string, options: CreateRoomOptions }): Promise<void>**
|
|
212
|
-
- 创建并加入房间
|
|
213
|
-
|
|
214
|
-
- **joinRoom(options: { roomId: string, password?: string }): Promise<void>**
|
|
215
|
-
- 加入房间
|
|
216
|
-
|
|
217
|
-
- **leaveRoom(): Promise<void>**
|
|
218
|
-
- 离开房间
|
|
219
|
-
|
|
220
|
-
- **endRoom(): Promise<void>**
|
|
221
|
-
- 结束房间
|
|
222
|
-
|
|
223
|
-
- **updateRoomInfo(options: { roomId: string, options: UpdateRoomOptions }): Promise<void>**
|
|
224
|
-
- 更新房间信息
|
|
225
|
-
|
|
226
|
-
#### 邀请管理
|
|
227
|
-
|
|
228
|
-
- **callUserToRoom(options: { roomId: string, userIdList: string[] }): Promise<RoomInvitation>**
|
|
229
|
-
- 邀请用户到房间
|
|
230
|
-
|
|
231
|
-
- **cancelCall(options: { roomId: string, userIdList: string[] }): Promise<void>**
|
|
232
|
-
- 取消邀请
|
|
233
|
-
|
|
234
|
-
- **getPendingInvitations(options: { roomId: string, cursor: string, count?: number }): Promise<{invitations: RoomInvitation[], cursor: string }>**
|
|
235
|
-
- 获取待处理的邀请
|
|
236
|
-
|
|
237
|
-
### Event Handlers
|
|
238
|
-
|
|
239
|
-
#### 预约房间事件
|
|
240
|
-
|
|
241
|
-
- **onAddedToScheduledRoom: (options: { roomInfo: RoomInfo; }) => void**
|
|
242
|
-
- 被添加到预约房间时触发
|
|
243
|
-
|
|
244
|
-
- **onRemovedFromScheduledRoom: (options: { roomInfo: RoomInfo; operateUser: RoomUser }) => void**
|
|
245
|
-
- 被从预约房间移除时触发
|
|
246
|
-
|
|
247
|
-
- **onScheduledRoomCancelled: (options: { roomInfo: RoomInfo; operateUser: RoomUser }) => void**
|
|
248
|
-
- 预约房间被取消时触发
|
|
249
|
-
|
|
250
|
-
- **onScheduledRoomStartingSoon: (options: { roomInfo: RoomInfo }) => void**
|
|
251
|
-
- 预约房间即将开始时触发
|
|
252
|
-
|
|
253
|
-
#### 房间状态事件
|
|
254
|
-
|
|
255
|
-
- **onRoomEnded: (options: { roomId: string; reason: RoomEndedReason }) => void**
|
|
256
|
-
- 房间结束时触发
|
|
257
|
-
|
|
258
|
-
#### 邀请相关事件
|
|
259
|
-
|
|
260
|
-
- **onRoomCallReceived: (options: { invitation: RoomInvitation }) => void**
|
|
261
|
-
- 收到房间邀请时触发
|
|
262
|
-
|
|
263
|
-
- **onRoomCallCancelled: (options: { invitation: RoomInvitation }) => void**
|
|
264
|
-
- 房间邀请被取消时触发
|
|
265
|
-
|
|
266
|
-
- **onRoomCallTimeout: (options: { invitation: RoomInvitation }) => void**
|
|
267
|
-
- 房间邀请超时时触发
|
|
268
|
-
|
|
269
|
-
- **onRoomCallAccepted: (options: { invitation: RoomInvitation }) => void**
|
|
270
|
-
- 房间邀请被接受时触发
|
|
271
|
-
|
|
272
|
-
- **onRoomCallRejected: (options: { invitation: RoomInvitation, reason: InvitationRejectedReason }) => void**
|
|
273
|
-
- 房间邀请被拒绝时触发
|
|
274
|
-
|
|
275
|
-
### Example
|
|
276
|
-
|
|
277
|
-
## API 和事件使用示例
|
|
278
|
-
```typescript
|
|
279
|
-
import { useRoomListState } from 'tuikit-atomicx-vue3';
|
|
280
|
-
const {
|
|
281
|
-
joinRoom,
|
|
282
|
-
leaveRoom,
|
|
283
|
-
endRoom,
|
|
284
|
-
subscribeEvent,
|
|
285
|
-
unsubscribeEvent
|
|
286
|
-
} = useRoomListState();
|
|
287
|
-
```
|