@tencentcloud/sdk-mcp 1.2.9 → 1.3.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.
Files changed (73) hide show
  1. package/package.json +2 -2
  2. package/resource/doc/chatuikit/faq/common/server.md +54 -0
  3. package/resource/doc/chatuikit/faq/web_sdk/faq.md +60 -0
  4. package/resource/doc/chatuikit/react/integration.md +516 -48
  5. package/resource/doc/chatuikit/react/workflow.md +254 -0
  6. package/resource/doc/chatuikit/uniapp-app/faq.md +0 -0
  7. package/resource/doc/chatuikit/uniapp-app/integration.md +619 -0
  8. package/resource/doc/chatuikit/uniapp-app/workflow.md +576 -0
  9. package/resource/doc/chatuikit/vue/integration.md +511 -129
  10. package/resource/doc/chatuikit/vue/workflow.md +395 -0
  11. package/resource/doc/livekit/vue/components/co-guest-panel.md +5 -5
  12. package/resource/doc/livekit/vue/components/live-view.md +16 -49
  13. package/resource/doc/livekit/vue/{components/live-list.md → live-list-integration.md} +13 -44
  14. package/resource/doc/livekit/vue/live-player-desk-integration.md +293 -0
  15. package/resource/doc/livekit/vue/{components/live-player.md → live-player-h5-integration.md} +118 -110
  16. package/resource/doc/livekit/vue/{components/broadcast.md → live-pusher-integration.md} +77 -82
  17. package/resource/doc/livekit/vue/workflow.md +219 -0
  18. package/resource/doc/trtc/C++/ITRTCCloud.md +4131 -0
  19. package/resource/doc/trtc/C++/ITRTCStatistics.md +326 -0
  20. package/resource/doc/trtc/C++/ITXAudioEffectManager.md +1306 -0
  21. package/resource/doc/trtc/C++/ITXDeviceManager.md +1029 -0
  22. package/resource/doc/trtc/C++/TRTCCloudCallback.md +2743 -0
  23. package/resource/doc/trtc/C++/TRTCTypeDef.md +3703 -0
  24. package/resource/doc/trtc/C++/TXLiteAVCode.md +930 -0
  25. package/resource/doc/trtc/android/TRTCCloud.md +3832 -0
  26. package/resource/doc/trtc/android/TRTCCloudDef.md +3945 -0
  27. package/resource/doc/trtc/android/TRTCCloudListener.md +2480 -0
  28. package/resource/doc/trtc/android/TRTCStatistics.md +296 -0
  29. package/resource/doc/trtc/android/TXAudioEffectManager.md +1344 -0
  30. package/resource/doc/trtc/android/TXBeautyManager.md +980 -0
  31. package/resource/doc/trtc/android/TXDeviceManager.md +441 -0
  32. package/resource/doc/trtc/android/TXLiteAVCode.md +914 -0
  33. package/resource/doc/trtc/iOS/TRTCCloud.md +4256 -0
  34. package/resource/doc/trtc/iOS/TRTCCloudDelegate.md +2580 -0
  35. package/resource/doc/trtc/iOS/TRTCStatistics.md +296 -0
  36. package/resource/doc/trtc/iOS/TXAudioEffectManager.md +1117 -0
  37. package/resource/doc/trtc/iOS/TXBeautyManager.md +986 -0
  38. package/resource/doc/trtc/iOS/TXDeviceManager.md +1025 -0
  39. package/resource/doc/trtc/iOS/TXLiteAVCode.md +929 -0
  40. package/resource/doc/trtc/iOS/TXLiveSDKTypeDef.md +3798 -0
  41. package/tools/chat/get-web-chat-integration.js +31 -14
  42. package/tools/chat/get-web-chat-integration.js.map +1 -1
  43. package/tools/definitions/get_faq_def.js +4 -0
  44. package/tools/definitions/get_faq_def.js.map +1 -1
  45. package/tools/definitions/get_trtc_native_api_def.js +17 -0
  46. package/tools/definitions/get_trtc_native_api_def.js.map +1 -0
  47. package/tools/definitions/get_web_chat_uikit_integration_def.js +18 -11
  48. package/tools/definitions/get_web_chat_uikit_integration_def.js.map +1 -1
  49. package/tools/definitions/get_web_live_uikit_component_detail_def.js +9 -3
  50. package/tools/definitions/get_web_live_uikit_component_detail_def.js.map +1 -1
  51. package/tools/definitions/get_web_live_uikit_integration_def.js +32 -0
  52. package/tools/definitions/get_web_live_uikit_integration_def.js.map +1 -0
  53. package/tools/definitions/present_framework_choice_def.js +1 -1
  54. package/tools/definitions/record_result_def.js +1 -1
  55. package/tools/definitions/record_result_def.js.map +1 -1
  56. package/tools/index.js +6 -4
  57. package/tools/index.js.map +1 -1
  58. package/tools/live/get-web-live-uikit-integration.js +52 -0
  59. package/tools/live/get-web-live-uikit-integration.js.map +1 -0
  60. package/tools/trtc/get-trtc-native-api.js +31 -0
  61. package/tools/trtc/get-trtc-native-api.js.map +1 -0
  62. package/utils/generate-structured-result.js +34 -0
  63. package/utils/generate-structured-result.js.map +1 -0
  64. package/utils/handle-component-name.js +0 -8
  65. package/utils/handle-component-name.js.map +1 -1
  66. package/utils/report-cls-client.js +1 -1
  67. package/utils/report-es-client.js +1 -1
  68. package/resource/doc/chatuikit/react/chat_window_integration.md +0 -83
  69. package/resource/doc/chatuikit/vue/chat_window_integration.md +0 -131
  70. package/tools/chat/get-web-chat-window-integration.js +0 -28
  71. package/tools/chat/get-web-chat-window-integration.js.map +0 -1
  72. package/tools/definitions/get_web_chat_window_integration_def.js +0 -26
  73. package/tools/definitions/get_web_chat_window_integration_def.js.map +0 -1
@@ -0,0 +1,293 @@
1
+ 本文对 TUILiveKit Demo 中的**观看页面**进行了详细的介绍,您可以在已有项目中直接参考本文档集成我们开发好的观看页面,也可以根据您的需求按照文档中的内容对页面的样式,布局以及功能项进行深度的定制。
2
+
3
+ ## 功能展示
4
+
5
+ 观看页面提供默认行为和风格,但如果默认行为和样式不能完全满足您的需求,您也可以对 UI 进行自定义。图中显示的数字与特定功能列表中的类别相对应。其中主要包含直播**信息展示、视频直播区域、在线观众、音视频操作、直播时长、画面分辨率切换、全屏功能、聊天互动、消息列表等。**
6
+ - **直播视频播放**:高清流畅的直播体验。
7
+
8
+ - **弹幕互动**:实时弹幕交流。
9
+
10
+ - **观众列表**:查看在线观众信息。
11
+
12
+ - **全屏播放**:沉浸式观看体验。
13
+
14
+ - **H5 移动平台支持**:跨平台兼容。
15
+
16
+ ![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027862798/99721fcb8c8611f0814e525400bf7822.png)
17
+
18
+
19
+ ## 快速接入
20
+
21
+ ### 步骤1:环境配置及开通服务
22
+
23
+ 在进行快速接入之前,您需要参见 [准备工作](https://write.woa.com/document/188228825253294080),满足相关环境配置及开通对应服务。
24
+
25
+ ### 步骤2:安装依赖
26
+
27
+ 您可以选择以下任一方式安装依赖:
28
+
29
+
30
+
31
+
32
+ 【npm】
33
+ ``` bash
34
+ npm install tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 --save
35
+ ```
36
+
37
+
38
+ 【pnpm】
39
+ ``` bash
40
+ pnpm add tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3
41
+ ```
42
+
43
+
44
+ 【yarn】
45
+ ``` bash
46
+ yarn add tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3
47
+ ```
48
+
49
+ ### 步骤3:观看页面接入
50
+
51
+ 在您的项目下创建 **live-player.vue **文件,可直接复制如下代码至您的项目中集成**观看页面**。
52
+ ``` java
53
+ <template>
54
+ <UIKitProvider language="zh-CN">
55
+ <div class="container">
56
+ <!-- 直播核心区域 -->
57
+ <section class="live">
58
+ <header class="header">
59
+ <IconArrowStrokeBack class="back-btn" size="20" />
60
+ <Avatar :src="currentLive?.liveOwner.avatarUrl" :size="32" class="avatar" />
61
+ <span class="user-name">{{ currentLive?.liveOwner.userName || currentLive?.liveOwner.userId }}</span>
62
+ </header>
63
+ <LiveCoreView class="player" />
64
+ </section>
65
+
66
+ <div class="sidebar">
67
+ <!-- 在线观众列表 -->
68
+ <section class="audience">
69
+ <header class="section-header">
70
+ <h3> 在线观众 <span>({{ audienceList.length }})</span></h3>
71
+ </header>
72
+ <LiveAudienceList class="list" />
73
+ </section>
74
+
75
+ <!-- 消息列表 & 消息输入框 -->
76
+ <section class="barrage">
77
+ <header class="section-header">
78
+ <h3>消息列表</h3>
79
+ </header>
80
+ <BarrageList class="list" />
81
+ <BarrageInput class="input" height="48px" />
82
+ </section>
83
+ </div>
84
+ </div>
85
+ </UIKitProvider>
86
+ </template>
87
+
88
+ <script setup lang="ts">
89
+ import { onMounted } from 'vue';
90
+ import { LiveAudienceList, BarrageList, BarrageInput, useLiveAudienceState, LiveCoreView, useLiveListState, Avatar, useLoginState } from 'tuikit-atomicx-vue3';
91
+ import { UIKitProvider, IconArrowStrokeBack } from '@tencentcloud/uikit-base-component-vue3';
92
+
93
+ const { audienceList } = useLiveAudienceState();
94
+ const { currentLive } = useLiveListState();
95
+ const { login } = useLoginState();
96
+
97
+ const liveId = 'live_xxxx' // 填入您要观看的直播间的ID
98
+
99
+ async function initLogin() {
100
+ try {
101
+ await login({
102
+ sdkAppId: 0, // SDKAppID, 可以参考步骤 1 获取
103
+ userId: 'xxx', // UserID, 可以参考步骤 1 获取
104
+ userSig: 'xxx', // userSig, 可以参考步骤 1 获取
105
+ });
106
+ } catch (error) {
107
+ console.error('登录失败:', error);
108
+ }
109
+ }
110
+
111
+ onMounted(async () => {
112
+ await initLogin();
113
+ });
114
+
115
+ </script>
116
+
117
+ <style>:global(body){height:100vh;width:100vw;margin:0;padding:0;overflow:hidden;font-size:15px;line-height:1.6;text-rendering:optimizeLegibility;}:global(*),:global(*::before),:global(*::after){box-sizing:border-box;margin:0;}.container{display:grid;grid-template-columns:70% 30%;height:100vh;width:100vw;gap:16px;padding:16px;background:var(--bg-color-default);box-sizing:border-box;overflow:hidden;}.live{display:flex;flex-direction:column;background:var(--bg-color-operate);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--shadow-color);}.header{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--stroke-color-primary);}.back-btn{cursor:pointer;color:var(--text-color-tertiary);transition:color 0.2s;}.back-btn:hover{color:var(--text-color-link-hover);}.avatar{border:1px solid var(--uikit-color-white-7);}.user-name{color:var(--text-color-primary);font-weight:500;}.player{flex:1;background:var(--uikit-color-black-1);}.sidebar{display:flex;flex-direction:column;gap:16px;height:100%;overflow:hidden;}.audience{display:flex;flex-direction:column;background:var(--bg-color-operate);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--shadow-color);flex:1;min-height:0;}.barrage{display:flex;flex-direction:column;background:var(--bg-color-operate);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--shadow-color);flex:1;min-height:0;}.section-header{padding:16px;border-bottom:1px solid var(--stroke-color-primary);background:var(--bg-color-operate);}.section-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text-color-primary);}.section-header span{font-weight:400;color:var(--text-color-secondary);font-size:14px;}.list{flex:1;min-height:0;overflow-y:auto;}.input{border-top:1px solid var(--stroke-color-primary);flex-shrink:0;height:48px;}@media (max-width:1200px){.container{grid-template-columns:1fr;grid-template-rows:60% 20% 20%;gap:12px;}.sidebar{gap:12px;}.audience,.barrage{min-height:200px;}}@media (max-width:768px){.container{padding:8px;gap:8px;grid-template-rows:50% 25% 25%;}.header,.section-header{padding:12px;}.sidebar{gap:8px;}}</style>
118
+
119
+ ```
120
+
121
+ ### 步骤4:启动项目
122
+
123
+ 打开终端,进入项目目录,执行以下命令启动项目后,您就可以观看直播了。
124
+ ``` bash
125
+ npm run dev
126
+ ```
127
+
128
+ ## 播放直播流
129
+
130
+ ### 步骤1:开启一场直播
131
+ - **方式一(推荐):**
132
+
133
+
134
+ 使用我们提供的 [在线开播网站](https://web.sdk.qcloud.com/trtc/livekit/pusher/index.html) ,开启一场直播来观看,开启后获取直播间 ID
135
+
136
+ - **方式二:**
137
+
138
+
139
+ 集成我们提供的 [主播开播(Web 桌面浏览器)](https://write.woa.com/document/188483825115738112),开启一场直播来观看,开启后获取直播间 ID。
140
+
141
+
142
+ > **重要提示:**
143
+ >
144
+
145
+ > 请使用不同的 **用户 ID** 开播和观看,否则后登录的设备会强制先登录的设备下线(即“被踢下线”)。
146
+ >
147
+
148
+
149
+ ### 步骤2:观看直播
150
+
151
+ 在上述**快速接入步骤 3 **的代码基础上增加如下内容,进入直播间观看:
152
+ ``` java
153
+ // live-player.vue
154
+ import { onMounted } from 'vue';
155
+ import { useLiveListState } from 'tuikit-atomicx-vue3';
156
+
157
+ const { joinLive } = useLiveListState();
158
+
159
+ onMounted(async () => {
160
+ await joinLive({ liveId: 'xxx' }); // 输入 liveId 加入直播间,具体参数含义可参考步骤 1 中的准备工作
161
+ });
162
+ ```
163
+
164
+ 观看效果如下图所示:
165
+
166
+ ![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027339142/3b82b1dcbf6911f0b4c35254001c06ec.gif)
167
+
168
+
169
+ ### 步骤3:路由配置
170
+
171
+ 由于涉及到直播列表(或首页)到直播间的跳转逻辑,您需要配置 Vue Router。在项目 **src** 目录下新建 **router **文件夹,并创建 **index.ts **文件。然后,在您的主文件(例如 **main.ts** 或 **index.ts**)中引入并使用路由。可参见 [GitHub 代码示例](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Web/web-vite-vue3/src/main.ts),如果需要直播列表,可参见文档 [直播列表](https://write.woa.com/document/185968224430342144)。
172
+ ``` typescript
173
+ // src/router/index.ts
174
+ import { createRouter, createWebHistory } from 'vue-router';
175
+
176
+ const routes = [
177
+ {
178
+ path: '/live-player',
179
+ component: () => import('../views/live-player.vue'),
180
+ },
181
+ // 如果需要直播列表功能,可添加如下路由
182
+ // {
183
+ // path: '/live-list',
184
+ // component: () => import('../views/live-list.vue'),
185
+ // },
186
+ ];
187
+
188
+ const router = createRouter({
189
+ history: createWebHistory(),
190
+ routes,
191
+ });
192
+ export default router;
193
+
194
+ // src/main.ts
195
+ import { createApp } from 'vue';
196
+ import App from './App.vue';
197
+ import router from './router';
198
+
199
+ const app = createApp(App);
200
+ app.use(router);
201
+ app.mount('#app');
202
+ ```
203
+
204
+ ## 自由定制
205
+
206
+ 根据上述功能展示图,我们也支持您根据项目需求对观看页面进行 UI 定制。主要可供定制的能力如下表所示。
207
+ <table>
208
+ <tr>
209
+ <td rowspan="1" colSpan="1" >**类别**</td>
210
+
211
+ <td rowspan="1" colSpan="1" >**功能**</td>
212
+
213
+ <td rowspan="1" colSpan="1" >**描述**</td>
214
+ </tr>
215
+
216
+ <tr>
217
+ <td rowspan="1" colSpan="1" >**直播信息展示**</td>
218
+
219
+ <td rowspan="1" colSpan="1" >自定义观看页面信息区域展示</td>
220
+
221
+ <td rowspan="1" colSpan="1" >**支持:**<br>- **展示/隐藏 Logo,替换为您需要的 Logo**<br>- **UI 定制、展示/隐藏关注按钮,替换为您需要的按钮风格**</td>
222
+ </tr>
223
+
224
+ <tr>
225
+ <td rowspan="1" colSpan="1" >**在线观众**</td>
226
+
227
+ <td rowspan="1" colSpan="1" >自定义观众信息展示</td>
228
+
229
+ <td rowspan="1" colSpan="1" >**支持:**<br>- **展示/隐藏观众等级**<br>- **观众信息字体、颜色 UI 自定义设置**<br>- **替换为您需要的 Icon 风格**</td>
230
+ </tr>
231
+
232
+ <tr>
233
+ <td rowspan="1" colSpan="1" >**消息列表**</td>
234
+
235
+ <td rowspan="1" colSpan="1" >自定义消息弹幕区域展示</td>
236
+
237
+ <td rowspan="1" colSpan="1" >**支持:**<br>- **展示/隐藏聊天输入区域**<br>- **支持 UI 定制聊天气泡风格、定制观众等级等内容**</td>
238
+ </tr>
239
+ </table>
240
+
241
+
242
+ ### 颜色主题
243
+
244
+ 参见**步骤3**中代码示例,您可以操作 theme 的值来满足您切换颜色主题的需求。
245
+ ``` java
246
+ <UIKitProvider theme="dark"> // theme 传入 dark 时,界面整体颜色主题为黑色主题
247
+ xxx // theme 传入 light 时,界面整体颜色主题为白色主题
248
+ </UIKitProvider>
249
+ ```
250
+
251
+ ### 按钮 Button / 图标 Icon
252
+
253
+ 若您需要对按钮 Button 或者图标 Icon 进行新增或替换等 UI 定制,您可以通过如下方式进行实现,以观看页面操作的 Icon 为例。参考下图,您可以找到对应 Button / Icon 指定位置的源码,对当前部分的按钮进行**增加、删除、替换**等 UI 定制操作。
254
+
255
+ ![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027339142/94af15a6bf6911f0b4c35254001c06ec.png)
256
+
257
+
258
+ ## 下一步
259
+
260
+ 恭喜您,现在您已经成功集成了观众观看。接下来,您可以继续接入 **直播列表、UI 自定义、监播 **等功能:
261
+ <table>
262
+ <tr>
263
+ <td rowspan="1" colSpan="1" >**功能**</td>
264
+
265
+ <td rowspan="1" colSpan="1" >**描述**</td>
266
+
267
+ <td rowspan="1" colSpan="1" >**集成指引**</td>
268
+ </tr>
269
+
270
+ <tr>
271
+ <td rowspan="1" colSpan="1" >直播列表</td>
272
+
273
+ <td rowspan="1" colSpan="1" >展示直播列表界面和功能,包含直播列表,房间信息展示功能</td>
274
+
275
+ <td rowspan="1" colSpan="1" >[直播列表](https://write.woa.com/document/185968224430342144)</td>
276
+ </tr>
277
+
278
+ <tr>
279
+ <td rowspan="1" colSpan="1" >UI 自定义</td>
280
+
281
+ <td rowspan="1" colSpan="1" >更详细的 UI 组件自定义指引。</td>
282
+
283
+ <td rowspan="1" colSpan="1" >[概述](https://write.woa.com/document/177815913198854144)</td>
284
+ </tr>
285
+
286
+ <tr>
287
+ <td rowspan="1" colSpan="1" >Web 监播</td>
288
+
289
+ <td rowspan="1" colSpan="1" >运营平台,支持直播间管控。</td>
290
+
291
+ <td rowspan="1" colSpan="1" >[Web 监播页](https://write.woa.com/document/185222048061181952)</td>
292
+ </tr>
293
+ </table>
@@ -1,57 +1,21 @@
1
- ## 概述
2
- 本文对 TUILiveKit 组件中的**观看页面**进行了详细的介绍,您可以在已有项目中直接参考本文档集成我们开发好的观看页面,也可以根据您的需求按照文档中的内容对页面的样式,布局以及功能项进行深度的定制。这边文档用于直播观看场景,如果需要直播连麦场景,请使用 LiveView 组件。
1
+ 本文对 TUILiveKit Demo 中的**观看页面**进行了详细的介绍,您可以在已有项目中直接参考本文档集成我们开发好的观看页面,也可以根据您的需求按照文档中的内容对页面的样式,布局以及功能项进行深度的定制。
3
2
 
4
- ## 功能概览
5
- <table>
6
- <tr>
7
- <td rowspan="1" colSpan="1" >**功能分类**</td>
8
-
9
- <td rowspan="1" colSpan="1" >**具体能力**</td>
10
- </tr>
11
-
12
- <tr>
13
- <td rowspan="1" colSpan="1" >**直播视频播放**</td>
14
-
15
- <td rowspan="1" colSpan="1" >高清流畅的直播体验</td>
16
- </tr>
17
-
18
- <tr>
19
- <td rowspan="1" colSpan="1" >**弹幕互动**</td>
20
-
21
- <td rowspan="1" colSpan="1" >实时弹幕交流</td>
22
- </tr>
23
-
24
- <tr>
25
- <td rowspan="1" colSpan="1" >**观众列表**</td>
26
-
27
- <td rowspan="1" colSpan="1" >查看在线观众信息</td>
28
- </tr>
29
-
30
- <tr>
31
- <td rowspan="1" colSpan="1" >**关注主播**</td>
3
+ ## 功能展示
32
4
 
33
- <td rowspan="1" colSpan="1" >一键关注喜欢的主播</td>
34
- </tr>
5
+ 观看页面提供默认行为和风格,但如果默认行为和样式不能完全满足您的需求,您也可以对 UI 进行自定义。图中显示的数字与特定功能列表中的类别相对应。其中主要包含直播**信息展示、视频直播区域、在线观众、音视频操作、直播时长、画面分辨率切换、全屏功能、聊天互动、消息列表等。**
6
+ - **直播视频播放:**高清流畅的直播体验。
35
7
 
36
- <tr>
37
- <td rowspan="1" colSpan="1" >**全屏播放**</td>
8
+ - **弹幕互动:**实时弹幕交流。
38
9
 
39
- <td rowspan="1" colSpan="1" >沉浸式观看体验</td>
40
- </tr>
10
+ - **观众列表:**查看在线观众信息。
41
11
 
42
- <tr>
43
- <td rowspan="1" colSpan="1" >**Web 桌面浏览器支持**</td>
12
+ - **关注主播:**一键关注喜欢的主播。
44
13
 
45
- <td rowspan="1" colSpan="1" > 跨平台兼容</td>
46
- </tr>
47
- </table>
14
+ - **全屏播放:**沉浸式观看体验。
48
15
 
16
+ - **Web 桌面浏览器支持:**跨平台兼容。
49
17
 
50
- ## 功能展示
51
-
52
- 观看页面提供默认行为和风格,但如果默认行为和样式不能完全满足您的需求,您也可以对 UI 进行自定义。图中显示的数字与特定功能列表中的类别相对应。其中主要包含直播**信息展示、视频直播区域、在线观众、音视频操作、直播时长、画面分辨率切换、全屏功能、聊天互动、消息列表等。**
53
-
54
- ![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027862798/de40dc288ebd11f0814e525400bf7822.png)
18
+ ![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027339142/1cd04be2bf6511f0a5e052540099c741.png)
55
19
 
56
20
 
57
21
  ## 快速接入
@@ -60,29 +24,29 @@
60
24
 
61
25
  在进行快速接入之前,您需要参见 [准备工作](https://write.woa.com/document/185222107981008896),满足相关环境配置及开通对应服务。
62
26
 
63
- ### 步骤2: 安装依赖
27
+ ### 步骤2:安装依赖
64
28
 
65
29
 
66
30
 
67
31
 
68
32
  【npm】
69
33
  ``` bash
70
- npm install tuikit-atomicx-vue3@latest @tencentcloud/uikit-base-component-vue3 --save
34
+ npm install tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3 --save
71
35
  ```
72
36
 
73
37
 
74
38
  【pnpm】
75
39
  ``` bash
76
- pnpm add tuikit-atomicx-vue3@latest @tencentcloud/uikit-base-component-vue3
40
+ pnpm add tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3
77
41
  ```
78
42
 
79
43
 
80
44
  【yarn】
81
45
  ``` bash
82
- yarn add tuikit-atomicx-vue3@latest @tencentcloud/uikit-base-component-vue3
46
+ yarn add tuikit-atomicx-vue3 @tencentcloud/uikit-base-component-vue3
83
47
  ```
84
48
 
85
- ### 步骤3: 观看页面接入
49
+ ### 步骤3:观看页面接入
86
50
 
87
51
  在您的项目下创建 `live-player.vue` 文件,可直接复制如下代码至您的项目中集成**观看页面**。
88
52
  ``` typescript
@@ -182,21 +146,21 @@ yarn add tuikit-atomicx-vue3@latest @tencentcloud/uikit-base-component-vue3
182
146
  </template>
183
147
 
184
148
  <script setup lang="ts">
185
- import { onMounted, ref, computed } from 'vue';
149
+ import { onMounted, ref, computed, watch } from 'vue';
186
150
  import {
187
151
  LiveAudienceList,
188
152
  BarrageList,
189
153
  BarrageInput,
190
154
  useLiveAudienceState,
191
155
  LiveCoreView,
192
- useLiveState,
156
+ useLiveListState,
193
157
  Avatar,
194
158
  useLoginState
195
159
  } from 'tuikit-atomicx-vue3';
196
160
  import { UIKitProvider, IconClose } from '@tencentcloud/uikit-base-component-vue3';
197
161
 
198
162
  const { audienceList, fetchAudienceList } = useLiveAudienceState();
199
- const { currentLive } = useLiveState();
163
+ const { currentLive } = useLiveListState();
200
164
  const { login } = useLoginState();
201
165
 
202
166
  const audienceDrawerVisible = ref(false);
@@ -247,11 +211,84 @@ onMounted(async () => {
247
211
 
248
212
  ```
249
213
 
250
- ### 步骤4: 启动项目
214
+ ### 步骤4:启动项目
215
+
216
+ 打开终端,进入项目目录,执行以下命令启动项目后,您就可以观看直播了。
251
217
  ``` bash
252
218
  npm run dev
253
219
  ```
254
220
 
221
+ ## 播放直播流
222
+
223
+ ### 步骤1:开启一场直播
224
+ - **方式一(推荐):**
225
+
226
+
227
+ 使用我们提供的 [在线开播网站](https://web.sdk.qcloud.com/trtc/livekit/pusher/index.html) ,开启一场直播来观看,开启后获取直播间 ID
228
+
229
+ - **方式二:**
230
+
231
+
232
+ 集成我们提供的 [主播开播(Web 桌面浏览器)](https://write.woa.com/document/188483825115738112),开启一场直播来观看,开启后获取直播间 ID。
233
+
234
+
235
+ > **重要提示:**
236
+ >
237
+
238
+ > 请使用不同的 **用户 ID** 开播和观看,否则后登录的设备会强制先登录的设备下线(即“被踢下线”)。
239
+ >
240
+
241
+
242
+ ### 步骤2:观看直播
243
+
244
+ 在上述**快速接入步骤 3 **的代码基础上增加如下内容,进入直播间观看:
245
+ ``` java
246
+ // live-player.vue
247
+ import { onMounted } from 'vue';
248
+ import { useLiveListState } from 'tuikit-atomicx-vue3';
249
+
250
+ const { joinLive } = useLiveListState();
251
+
252
+ onMounted(async () => {
253
+ await joinLive({ liveId: 'xxx' }); // 输入 liveId 加入直播间,具体参数含义可参考步骤 1 中的准备工作
254
+ });
255
+ ```
256
+
257
+ ### 步骤3:路由配置
258
+
259
+ 由于涉及到直播列表(或首页)到直播间的跳转逻辑,您需要配置 Vue Router。在项目 `src` 目录下新建 `router` 文件夹,并创建 `index.ts` 文件。然后,在您的主文件(例如 `main.ts` 或 `index.ts`)中引入并使用路由。可参考 GitHub [代码示例](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Web/web-vite-vue3/src/main.ts), 如需要直播列表,可参考文档 [直播列表](https://write.woa.com/document/185968224430342144)。
260
+ ``` typescript
261
+ // src/router/index.ts
262
+ import { createRouter, createWebHistory } from 'vue-router';
263
+
264
+ const routes = [
265
+ {
266
+ path: '/live-player',
267
+ component: () => import('../views/live-player.vue'),
268
+ },
269
+ // 如果需要直播列表功能,可添加如下路由
270
+ // {
271
+ // path: '/live-list',
272
+ // component: () => import('../views/live-list.vue'),
273
+ // },
274
+ ];
275
+
276
+ const router = createRouter({
277
+ history: createWebHistory(),
278
+ routes,
279
+ });
280
+ export default router;
281
+
282
+ // src/main.ts
283
+ import { createApp } from 'vue';
284
+ import App from './App.vue';
285
+ import router from './router';
286
+
287
+ const app = createApp(App);
288
+ app.use(router);
289
+ app.mount('#app');
290
+ ```
291
+
255
292
  ## 自由定制
256
293
 
257
294
  另外,我们也支持您根据项目需求对观看页面进行 UI 定制能力。主要可供定制的能力如下表所示。可供定制内容包括但不限于对源码中的**颜色主题、字体、圆角、按钮、图标、输入框、弹框等**内容,都可以进行**增加、删除、修改**等定制操作,下列分别给出颜色主题、按钮以及图标的定制示例,您可以参考实现方式通用到其他组件,满足您的 UI 定制需要。
@@ -292,7 +329,7 @@ npm run dev
292
329
 
293
330
  ### 颜色主题
294
331
 
295
- 参见**步骤3**中代码示例,您可以使用操作 theme 的值来满足您切换颜色主题。
332
+ 参见**步骤3**中代码示例,您可以操作 theme 的值来满足您切换颜色主题。
296
333
  ``` java
297
334
  <UIKitProvider theme="dark"> // theme 传入 dark 时,界面整体颜色主题为黑色主题
298
335
  xxx // theme 传入 light 时,界面整体颜色主题为白色主题
@@ -301,73 +338,44 @@ npm run dev
301
338
 
302
339
  ### 按钮 Button / 图标 Icon
303
340
 
304
- 若您需要对按钮 Button 或者图标 Icon 进行新增或替换等 UI 定制,您可以通过如下方式进行实现,以观看页面操作的 Icon 为例。参考下图,您可以找到对应 Button / Icon 指定位置源码,对当前部分的按钮进行**增加、删除、替换**等 UI 定制操作。
341
+ 若您需要对按钮 Button 或者图标 Icon 进行新增或替换等 UI 定制,您可以通过如下方式进行实现,以观看页面操作的 Icon 为例。参考下图,您可以找到对应 Button / Icon 指定位置的源码,对当前部分的按钮进行**增加、删除、替换**等 UI 定制操作。
305
342
 
306
343
  ![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027862798/dd256f268ebd11f088af5254005ef0f7.png)
307
344
 
308
345
 
309
- ## 播放直播流
346
+ ## 下一步
310
347
 
311
- ### 步骤1:指定 LiveId 播放
312
-
313
- 若您需要指定 **LiveId** 进行播放,您需要在上述**快速接入中的步骤3**代码基础上增量添加如下内容,参考方式如下:
314
- ``` TypeScript
315
- // live-player.vue
316
- import { onMounted } from 'vue';
317
- import { useLiveState } from 'tuikit-atomicx-vue3';
318
-
319
- const { joinLive } = useLiveState();
320
-
321
- onMounted(async () => {
322
- await joinLive({ liveId: 'xxx' }); // 输入 liveId 加入直播间,具体参数含义可参考步骤 1 中的准备工作
323
- });
324
- ```
325
-
326
- ### 步骤2:路由配置
327
-
328
- 由于涉及到直播列表(或首页)到直播间的跳转逻辑,您需要配置 Vue Router。在项目 `src` 目录下新建 `router` 文件夹,并创建 `index.ts` 文件。然后,在您的主文件(例如 `main.ts` 或 `index.ts`)中引入并使用路由。可参考 GitHub [代码示例](https://github.com/Tencent-RTC/TUILiveKit/blob/main/Web/web-vite-vue3/src/main.ts), 如需要直播列表,可参考文档 [直播列表](https://write.woa.com/document/185968224430342144)。
329
- ``` typescript
330
- // src/router/index.ts
331
- import { createRouter, createWebHistory } from 'vue-router';
348
+ 恭喜您,现在您已经成功集成了观众观看。接下来,您可以继续接入 **直播列表、UI 自定义、监播 **等功能:
349
+ <table>
350
+ <tr>
351
+ <td rowspan="1" colSpan="1" >**功能**</td>
332
352
 
333
- const routes = [
334
- {
335
- path: '/live-player',
336
- component: () => import('../views/live-player.vue'),
337
- },
338
- // 如果需要直播列表功能,可添加如下路由
339
- // {
340
- // path: '/live-list',
341
- // component: () => import('../views/live-list.vue'),
342
- // },
343
- ];
353
+ <td rowspan="1" colSpan="1" >**描述**</td>
344
354
 
345
- const router = createRouter({
346
- history: createWebHistory(),
347
- routes,
348
- });
349
- export default router;
355
+ <td rowspan="1" colSpan="1" >**集成指引**</td>
356
+ </tr>
350
357
 
351
- // src/main.ts
352
- import { createApp } from 'vue';
353
- import App from './App.vue';
354
- import router from './router';
358
+ <tr>
359
+ <td rowspan="1" colSpan="1" >**直播列表**</td>
355
360
 
356
- const app = createApp(App);
357
- app.use(router);
358
- app.mount('#app');
359
- ```
361
+ <td rowspan="1" colSpan="1" >展示直播列表界面和功能,包含直播列表,房间信息展示功能</td>
360
362
 
361
- ## 资源参考
363
+ <td rowspan="1" colSpan="1" >[直播列表](https://write.woa.com/document/185968224430342144)</td>
364
+ </tr>
362
365
 
363
- ### 其他参考文档
364
- - [TUILiveKit Web 直播列表页](https://write.woa.com/document/185968224430342144)
366
+ <tr>
367
+ <td rowspan="1" colSpan="1" >**UI 自定义**</td>
365
368
 
366
- - [TUILiveKit Web 推流助手页](https://write.woa.com/document/185222135291670528)
369
+ <td rowspan="1" colSpan="1" >更详细的 UI 组件自定义指引。</td>
367
370
 
368
- - [TUILiveKit Web 监播页](https://write.woa.com/document/185222048061181952)
371
+ <td rowspan="1" colSpan="1" >[概述](https://write.woa.com/document/177815913198854144)</td>
372
+ </tr>
369
373
 
374
+ <tr>
375
+ <td rowspan="1" colSpan="1" >**Web 监播**</td>
370
376
 
371
- ### 更多资源
377
+ <td rowspan="1" colSpan="1" >运营平台,支持直播间管控。</td>
372
378
 
373
- [腾讯云实时音视频控制台](https://console.cloud.tencent.com/trtc)
379
+ <td rowspan="1" colSpan="1" >[Web 监播页](https://write.woa.com/document/185222048061181952)</td>
380
+ </tr>
381
+ </table>