@tencentcloud/sdk-mcp 1.7.3 → 1.7.5

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 (135) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +22 -23
  3. package/knowledge/path-meta.js +23 -1
  4. package/package.json +1 -1
  5. package/resource/index/manifest.json +1 -1
  6. package/resource/integration/callkit/preset/android/integration.md +4 -0
  7. package/resource/integration/callkit/preset/flutter/integration.md +8 -4
  8. package/resource/integration/callkit/preset/ios/integration.md +16 -15
  9. package/resource/integration/callkit/preset/react/integration.md +2 -2
  10. package/resource/integration/callkit/preset/vue/integration.md +9 -12
  11. package/resource/integration/chat/preset/android/integration.md +5 -147
  12. package/resource/integration/chat/preset/flutter/integration.md +22 -130
  13. package/resource/integration/chat/preset/ios/integration.md +12 -279
  14. package/resource/integration/chat/preset/react/integration.md +27 -1
  15. package/resource/integration/chat/preset/uni-app/integration.md +5 -1
  16. package/resource/integration/chat/preset/vue/integration.md +21 -31
  17. package/resource/integration/livekit/preset/live/android/live-host-integration.md +4 -0
  18. package/resource/integration/livekit/preset/live/ios/live-host-integration.md +4 -0
  19. package/resource/integration/livekit/preset/live/ios/prepare-integration.md +3 -3
  20. package/resource/integration/livekit/preset/live/vue/live-list-integration.md +3 -4
  21. package/resource/integration/livekit/preset/live/vue/live-player-desk-integration.md +0 -1
  22. package/resource/integration/livekit/preset/live/vue/live-player-h5-integration.md +0 -1
  23. package/resource/integration/livekit/preset/live/vue/live-pusher-integration.md +4 -9
  24. package/resource/integration/roomkit/preset/vue/integration.md +152 -652
  25. package/resource/knowledge/callkit/best-practice/android/video-chat-dating.md +490 -0
  26. package/resource/knowledge/callkit/best-practice/flutter/android-keep-call-alive-background.md +79 -0
  27. package/resource/knowledge/callkit/best-practice/flutter/background-incoming-call-no-notification.md +99 -0
  28. package/resource/knowledge/callkit/best-practice/flutter/ios-keep-call-alive-background.md +93 -0
  29. package/resource/knowledge/callkit/best-practice/flutter/ios-startup-crash-version-voip.md +68 -0
  30. package/resource/knowledge/callkit/core-sdk/android/answer-call.md +2 -2
  31. package/resource/knowledge/callkit/core-sdk/android/make-call.md +5 -5
  32. package/resource/knowledge/callkit/core-sdk/flutter/answer-call.md +7 -7
  33. package/resource/knowledge/callkit/core-sdk/flutter/make-call.md +10 -10
  34. package/resource/knowledge/callkit/core-sdk/flutter/offline-push.md +1 -1
  35. package/resource/knowledge/callkit/core-sdk/ios/answer-call.md +18 -16
  36. package/resource/knowledge/callkit/core-sdk/ios/make-call.md +16 -14
  37. package/resource/knowledge/callkit/core-sdk/miniprogram/call-engine.md +19 -19
  38. package/resource/knowledge/callkit/core-sdk/miniprogram/call-event.md +16 -16
  39. package/resource/knowledge/callkit/core-sdk/uni-app/answer-call.md +2 -86
  40. package/resource/knowledge/callkit/core-sdk/uni-app/make-call.md +2 -104
  41. package/resource/knowledge/callkit/core-sdk/web/call-event.md +2 -2
  42. package/resource/knowledge/callkit/faq/android.md +4 -4
  43. package/resource/knowledge/callkit/faq/common.md +4 -4
  44. package/resource/knowledge/callkit/faq/error-code.md +62 -36
  45. package/resource/knowledge/callkit/faq/uniapp-miniprogram.md +1 -1
  46. package/resource/knowledge/callkit/preset/android/api.md +10 -10
  47. package/resource/knowledge/callkit/preset/harmonyos/api.md +362 -0
  48. package/resource/knowledge/callkit/preset/harmonyos/integration.md +322 -0
  49. package/resource/knowledge/callkit/preset/ios/api.md +9 -9
  50. package/resource/knowledge/callkit/preset/miniprogram/api-uniapp.md +293 -0
  51. package/resource/knowledge/callkit/preset/miniprogram/api.md +19 -19
  52. package/resource/knowledge/callkit/preset/miniprogram/integration.md +292 -0
  53. package/resource/knowledge/callkit/preset/miniprogram/uniapp-integration.md +521 -0
  54. package/resource/knowledge/callkit/preset/uni-app/api.md +49 -0
  55. package/resource/knowledge/callkit/preset/uni-app/integration.md +353 -0
  56. package/resource/knowledge/chat/preset/android-view/integration.md +54 -102
  57. package/resource/knowledge/chat/preset/ios/features/language.md +5 -5
  58. package/resource/knowledge/chat/preset/ios-uikit/integration.md +194 -926
  59. package/resource/knowledge/chat/preset/react/features/search.md +9 -214
  60. package/resource/knowledge/chat/preset/react/h5/integration.md +965 -0
  61. package/resource/knowledge/chat/preset/vue/features/chat-header.md +0 -36
  62. package/resource/knowledge/chat/preset/vue/features/contact-list.md +0 -34
  63. package/resource/knowledge/chat/preset/vue/features/conversation-list.md +0 -39
  64. package/resource/knowledge/chat/preset/vue/features/conversation-preview.md +0 -74
  65. package/resource/knowledge/chat/preset/vue/features/message-input.md +4 -4
  66. package/resource/knowledge/chat/preset/vue/features/search.md +9 -790
  67. package/resource/knowledge/chat/preset/vue/h5/integration.md +724 -0
  68. package/resource/knowledge/livekit/core-sdk/features/android/audience-list.md +3 -3
  69. package/resource/knowledge/livekit/core-sdk/features/android/live-list.md +3 -3
  70. package/resource/knowledge/livekit/core-sdk/features/flutter/audience-list.md +3 -3
  71. package/resource/knowledge/livekit/core-sdk/features/flutter/live-list.md +3 -3
  72. package/resource/knowledge/livekit/core-sdk/features/ios/audience-list.md +3 -3
  73. package/resource/knowledge/livekit/core-sdk/features/ios/live-list.md +3 -3
  74. package/resource/knowledge/livekit/core-sdk/features/uni-app/audience-list.md +3 -3
  75. package/resource/knowledge/livekit/core-sdk/features/uni-app/live-list.md +3 -170
  76. package/resource/knowledge/livekit/core-sdk/live/android/co-guest-interaction.md +1 -1
  77. package/resource/knowledge/livekit/core-sdk/live/android/host-interaction.md +3 -3
  78. package/resource/knowledge/livekit/core-sdk/live/flutter/co-guest-interaction.md +1 -1
  79. package/resource/knowledge/livekit/core-sdk/live/flutter/host-interaction.md +3 -3
  80. package/resource/knowledge/livekit/core-sdk/live/flutter/integration.md +3 -3
  81. package/resource/knowledge/livekit/core-sdk/live/ios/co-guest-interaction.md +1 -1
  82. package/resource/knowledge/livekit/core-sdk/live/ios/host-interaction.md +3 -3
  83. package/resource/knowledge/livekit/core-sdk/live/ios/integration.md +2 -2
  84. package/resource/knowledge/livekit/core-sdk/live/uni-app/co-guest-interaction.md +13 -78
  85. package/resource/knowledge/livekit/core-sdk/live/uni-app/host-interaction.md +5 -70
  86. package/resource/knowledge/livekit/core-sdk/live/uni-app/integration.md +10 -10
  87. package/resource/knowledge/livekit/core-sdk/voice/android/co-guest-interaction.md +1 -1
  88. package/resource/knowledge/livekit/core-sdk/voice/android/host-interaction.md +4 -4
  89. package/resource/knowledge/livekit/core-sdk/voice/flutter/co-guest-interaction.md +1 -1
  90. package/resource/knowledge/livekit/core-sdk/voice/ios/co-guest-interaction.md +1 -1
  91. package/resource/knowledge/livekit/core-sdk/voice/ios/host-interaction.md +4 -4
  92. package/resource/knowledge/livekit/core-sdk/voice/uni-app/integration.md +7 -7
  93. package/resource/knowledge/livekit/preset/live/vue/features/barrage.md +1 -24
  94. package/resource/knowledge/livekit/preset/live/vue/features/live-audience-list.md +0 -3
  95. package/resource/knowledge/livekit/preset/live/vue/features/live-view.md +0 -5
  96. package/resource/knowledge/push/api-reference/harmonyos.md +9 -9
  97. package/resource/knowledge/push/api-reference/unity.md +10 -10
  98. package/resource/knowledge/push/api-reference/unreal-engine.md +11 -11
  99. package/resource/knowledge/push/config/donut.md +3 -3
  100. package/resource/knowledge/push/config/harmonyos.md +12 -12
  101. package/resource/knowledge/push/config/ios.md +2 -2
  102. package/resource/knowledge/push/integration/android.md +90 -1067
  103. package/resource/knowledge/push/integration/donut.md +11 -11
  104. package/resource/knowledge/push/integration/flutter.md +38 -24
  105. package/resource/knowledge/push/integration/harmonyos.md +1 -11
  106. package/resource/knowledge/push/integration/ios.md +29 -40
  107. package/resource/knowledge/push/integration/react-native.md +1 -1
  108. package/resource/knowledge/push/integration/uni-app.md +1 -1
  109. package/resource/knowledge/push/integration/unity.md +4 -4
  110. package/resource/knowledge/push/integration/unreal-engine.md +9 -9
  111. package/resource/knowledge/roomkit/core-sdk/android/room-state.md +6 -6
  112. package/resource/knowledge/roomkit/core-sdk/android/schedule-room.md +13 -13
  113. package/resource/knowledge/roomkit/core-sdk/flutter/room-state.md +5 -5
  114. package/resource/knowledge/roomkit/core-sdk/flutter/schedule-room.md +4 -4
  115. package/resource/knowledge/roomkit/core-sdk/ios/room-state.md +6 -6
  116. package/resource/knowledge/roomkit/core-sdk/ios/schedule-room.md +4 -4
  117. package/resource/knowledge/roomkit/core-sdk/vue/device-detection.md +0 -9
  118. package/resource/knowledge/roomkit/core-sdk/vue/free-beauty-panel.md +0 -9
  119. package/resource/knowledge/roomkit/core-sdk/vue/recording.md +3 -3
  120. package/resource/knowledge/roomkit/core-sdk/vue/room-chat.md +0 -3
  121. package/resource/knowledge/roomkit/core-sdk/vue/room-view.md +0 -16
  122. package/resource/knowledge/roomkit/core-sdk/vue/schedule-room.md +0 -3
  123. package/resource/knowledge/roomkit/core-sdk/vue/virtual-background.md +3 -6
  124. package/resource/knowledge/roomkit/core-sdk/vue/whiteboard-annotation.md +0 -15
  125. package/resource/knowledge/roomkit/preset/android/integration.md +5 -202
  126. package/resource/knowledge/roomkit/preset/flutter/integration.md +17 -13
  127. package/resource/knowledge/roomkit/preset/harmonyos/integration.md +10 -2
  128. package/resource/knowledge/roomkit/preset/ios/integration.md +7 -204
  129. package/resource/knowledge/roomkit/preset/react/integration.md +0 -202
  130. package/resource/knowledge/roomkit/preset/uniapp-app/integration.md +244 -500
  131. package/resource/knowledge/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +25 -6
  132. package/server.js +1 -1
  133. package/utils/preflight-route.js +203 -185
  134. package/utils/report-cls-client.js +1 -1
  135. package/utils/report-es-client.js +1 -1
@@ -261,11 +261,11 @@ class LiveRoomManager(
261
261
 
262
262
  - **更新机制与频率控制:**
263
263
 
264
- - 无论是即时触发还是延迟触发,所有的人数变更通知都是以消息的形式在房间内广播的。
264
+ - 无论是即时触发还是延迟触发,所有的人数变更通知都是以消息的形式在房间内广播的。
265
265
 
266
- - 房间内每秒的消息总量有上限,单房间消息频控是**每秒 40 条消息**。
266
+ - 房间内每秒的消息总量有上限,单房间消息频控是**每秒 40 条消息**。
267
267
 
268
- - **关键点: 在"弹幕风暴"或礼物刷屏等消息流量极高的场景下,如果房间内的消息速率超过了 40条/秒 的阈值,为了保证核心消息(例如弹幕)的送达,人数变更的消息可能会被频控策略丢弃**。
268
+ - **关键点: 在"弹幕风暴"或礼物刷屏等消息流量极高的场景下,如果房间内的消息速率超过了 40条/秒 的阈值,为了保证核心消息(例如弹幕)的送达,人数变更的消息可能会被频控策略丢弃**。
269
269
 
270
270
  **这对开发者意味着什么?**
271
271
 
@@ -514,10 +514,10 @@ class YourAudienceActivity : AppCompatActivity() {
514
514
 
515
515
  - **数量与大小限制**:
516
516
 
517
- - 单个房间最多支持 **10** 个 key。
517
+ - 单个房间最多支持 **10** 个 key。
518
518
 
519
- - 每个 key 的长度不超过 **50 字节**,每个 value 的长度不超过 **2KB**。
519
+ - 每个 key 的长度不超过 **50 字节**,每个 value 的长度不超过 **2KB**。
520
520
 
521
- - 单个房间所有 value 的总大小不超过 **16KB**。
521
+ - 单个房间所有 value 的总大小不超过 **16KB**。
522
522
 
523
523
  - **冲突解决**: `metaData` 的更新机制是"后来者覆盖"。如果多个管理员在短时间内修改同一个 key,最后一次的修改会生效。建议在业务设计上避免多人同时修改同一个关键信息。
@@ -251,11 +251,11 @@ class LiveRoomManager {
251
251
 
252
252
  - **更新机制与频率控制:**
253
253
 
254
- - 无论是即时触发还是延迟触发,所有的人数变更通知都是以消息的形式在房间内广播的。
254
+ - 无论是即时触发还是延迟触发,所有的人数变更通知都是以消息的形式在房间内广播的。
255
255
 
256
- - 房间内每秒的消息总量有上限,单房间消息频控是**每秒 40 条消息**。
256
+ - 房间内每秒的消息总量有上限,单房间消息频控是**每秒 40 条消息**。
257
257
 
258
- - **关键点:**在"弹幕风暴"或礼物刷屏等消息流量极高的场景下,如果房间内的消息速率超过了 40条/秒 的阈值,为了保证核心消息(例如弹幕)的送达,**人数变更的消息可能会被频控策略丢弃**。
258
+ - **关键点:**在"弹幕风暴"或礼物刷屏等消息流量极高的场景下,如果房间内的消息速率超过了 40条/秒 的阈值,为了保证核心消息(例如弹幕)的送达,**人数变更的消息可能会被频控策略丢弃**。
259
259
 
260
260
  **这对开发者意味着什么?**
261
261
 
@@ -718,10 +718,10 @@ class _ProductCardWidgetState extends State<ProductCardWidget> {
718
718
 
719
719
  - **数量与大小限制:**
720
720
 
721
- - 单个房间最多支持 **10** 个 key。
721
+ - 单个房间最多支持 **10** 个 key。
722
722
 
723
- - 每个 key 的长度不超过 **50 字节**,每个 value 的长度不超过 **2KB**。
723
+ - 每个 key 的长度不超过 **50 字节**,每个 value 的长度不超过 **2KB**。
724
724
 
725
- - 单个房间所有 value 的总大小不超过 **16KB**。
725
+ - 单个房间所有 value 的总大小不超过 **16KB**。
726
726
 
727
727
  - **冲突解决**:`metaData` 的更新机制是"后来者覆盖"。如果多个管理员在短时间内修改同一个 key,最后一次的修改会生效。建议在业务设计上避免多人同时修改同一个关键信息。
@@ -254,11 +254,11 @@ class LiveRoomManager {
254
254
 
255
255
  - **更新机制与频率控制:**
256
256
 
257
- - 无论是即时触发还是延迟触发,所有的人数变更通知都是以消息的形式在房间内广播的。
257
+ - 无论是即时触发还是延迟触发,所有的人数变更通知都是以消息的形式在房间内广播的。
258
258
 
259
- - 房间内每秒的消息总量有上限,单房间消息频控是**每秒 40 条消息**。
259
+ - 房间内每秒的消息总量有上限,单房间消息频控是**每秒 40 条消息**。
260
260
 
261
- - **关键点:**在“弹幕风暴”或礼物刷屏等消息流量极高的场景下,如果房间内的消息速率超过了 40条/秒 的阈值,为了保证核心消息(例如弹幕)的送达,**人数变更的消息可能会被频控策略丢弃**。
261
+ - **关键点:**在“弹幕风暴”或礼物刷屏等消息流量极高的场景下,如果房间内的消息速率超过了 40条/秒 的阈值,为了保证核心消息(例如弹幕)的送达,**人数变更的消息可能会被频控策略丢弃**。
262
262
 
263
263
  **这对开发者意味着什么?**
264
264
 
@@ -395,10 +395,10 @@ class YourAudienceViewController: UIViewController {
395
395
 
396
396
  - **数量与大小限制**:
397
397
 
398
- - 单个房间最多支持 **10** 个 key。
398
+ - 单个房间最多支持 **10** 个 key。
399
399
 
400
- - 每个 key 的长度不超过 **50 字节**,每个 value 的长度不超过 **2KB**。
400
+ - 每个 key 的长度不超过 **50 字节**,每个 value 的长度不超过 **2KB**。
401
401
 
402
- - 单个房间所有 value 的总大小不超过 **16KB**。
402
+ - 单个房间所有 value 的总大小不超过 **16KB**。
403
403
 
404
404
  - **冲突解决**: `metaData` 的更新机制是“后来者覆盖”。如果多个管理员在短时间内修改同一个 key,最后一次的修改会生效。建议在业务设计上避免多人同时修改同一个关键信息。
@@ -206,11 +206,11 @@ onMounted(() => {
206
206
 
207
207
  - **更新机制与频率控制:**
208
208
 
209
- - 无论是即时触发还是延迟触发,所有的人数变更通知都是以消息的形式在房间内广播的。
209
+ - 无论是即时触发还是延迟触发,所有的人数变更通知都是以消息的形式在房间内广播的。
210
210
 
211
- - 房间内每秒的消息总量有上限,单房间消息频控是**每秒 40 条消息**。
211
+ - 房间内每秒的消息总量有上限,单房间消息频控是**每秒 40 条消息**。
212
212
 
213
- - **关键点:**在“弹幕风暴”或礼物刷屏等消息流量极高的场景下,如果房间内的消息速率超过了 40条/秒 的阈值,为了保证核心消息(例如弹幕)的送达,**人数变更的消息可能会被频控策略丢弃**。
213
+ - **关键点:**在“弹幕风暴”或礼物刷屏等消息流量极高的场景下,如果房间内的消息速率超过了 40条/秒 的阈值,为了保证核心消息(例如弹幕)的送达,**人数变更的消息可能会被频控策略丢弃**。
214
214
 
215
215
  **这对开发者意味着什么?**
216
216
 
@@ -78,68 +78,6 @@ const handleJoinLive = (live: any) => {
78
78
 
79
79
  </script>
80
80
 
81
- <style scoped>
82
- .live-list {
83
- flex: 1;
84
- background: #fff;
85
- }
86
-
87
- .list {
88
- width: 100%;
89
- }
90
-
91
- .row {
92
- flex-direction: row;
93
- padding: 0 32rpx 16rpx;
94
- justify-content: space-between;
95
- }
96
-
97
- .card {
98
- width: 48%;
99
- height: 320rpx;
100
- background: #f5f5f5;
101
- border-radius: 12rpx;
102
- overflow: hidden;
103
- }
104
-
105
- .cover {
106
- width: 100%;
107
- height: 220rpx;
108
- }
109
-
110
- .info {
111
- flex: 1;
112
- padding: 12rpx;
113
- flex-direction: column;
114
- }
115
-
116
- .title {
117
- font-size: 26rpx;
118
- font-weight: 600;
119
- color: #000;
120
- lines: 1;
121
- text-overflow: ellipsis;
122
- overflow: hidden;
123
- }
124
-
125
- .owner {
126
- font-size: 22rpx;
127
- color: #666;
128
- margin-top: 4rpx;
129
- lines: 1;
130
- text-overflow: ellipsis;
131
- overflow: hidden;
132
- }
133
-
134
- .count {
135
- font-size: 20rpx;
136
- color: #999;
137
- margin-top: 4rpx;
138
- lines: 1;
139
- text-overflow: ellipsis;
140
- overflow: hidden;
141
- }
142
- </style>
143
81
  ```
144
82
 
145
83
  **LiveInfo 参数说明**
@@ -286,111 +224,6 @@ const handleJoinLive = (live: any) => {
286
224
  };
287
225
  </script>
288
226
 
289
- <style scoped>
290
- .live-list {
291
- flex: 1;
292
- background: #fff;
293
- }
294
-
295
- /* 分类标签栏 */
296
- .category-tabs {
297
- flex-direction: row;
298
- padding: 16rpx 32rpx;
299
- background: #f9f9f9;
300
- border-bottom: 1rpx solid #e8e8e8;
301
- overflow-x: auto;
302
- }
303
-
304
- .tab {
305
- padding: 8rpx 20rpx;
306
- margin-right: 12rpx;
307
- background: #fff;
308
- border: 1rpx solid #e0e0e0;
309
- border-radius: 20rpx;
310
- font-size: 24rpx;
311
- color: #666;
312
- white-space: nowrap;
313
- }
314
-
315
- .tab.active {
316
- background: #0468FC;
317
- border-color: #0468FC;
318
- color: #fff;
319
- }
320
-
321
- .list {
322
- width: 100%;
323
- }
324
-
325
- .row {
326
- flex-direction: row;
327
- padding: 0 32rpx 16rpx;
328
- justify-content: space-between;
329
- }
330
-
331
- .card {
332
- width: 48%;
333
- height: 320rpx;
334
- background: #f5f5f5;
335
- border-radius: 12rpx;
336
- overflow: hidden;
337
- position: relative;
338
- }
339
-
340
- .cover {
341
- width: 100%;
342
- height: 220rpx;
343
- }
344
-
345
- /* 分类徽章 */
346
- .category-badge {
347
- position: absolute;
348
- top: 8rpx;
349
- left: 8rpx;
350
- background: rgba(4, 104, 252, 0.9);
351
- border-radius: 4rpx;
352
- padding: 4rpx 8rpx;
353
- }
354
-
355
- .badge-text {
356
- font-size: 18rpx;
357
- color: #fff;
358
- font-weight: 600;
359
- }
360
-
361
- .info {
362
- flex: 1;
363
- padding: 12rpx;
364
- flex-direction: column;
365
- }
366
-
367
- .title {
368
- font-size: 26rpx;
369
- font-weight: 600;
370
- color: #000;
371
- lines: 1;
372
- text-overflow: ellipsis;
373
- overflow: hidden;
374
- }
375
-
376
- .owner {
377
- font-size: 22rpx;
378
- color: #666;
379
- margin-top: 4rpx;
380
- lines: 1;
381
- text-overflow: ellipsis;
382
- overflow: hidden;
383
- }
384
-
385
- .count {
386
- font-size: 20rpx;
387
- color: #999;
388
- margin-top: 4rpx;
389
- lines: 1;
390
- text-overflow: ellipsis;
391
- overflow: hidden;
392
- }
393
- </style>
394
227
  ```
395
228
 
396
229
  ### 场景二:实现电商直播的商品信息展示
@@ -453,10 +286,10 @@ watch( currentLive, (newVal, oldVal) => {
453
286
 
454
287
  - **数量与大小限制**:
455
288
 
456
- - 单个房间最多支持 **10** 个 key。
289
+ - 单个房间最多支持 **10** 个 key。
457
290
 
458
- - 每个 key 的长度不超过 **50 字节**,每个 value 的长度不超过 **2KB**。
291
+ - 每个 key 的长度不超过 **50 字节**,每个 value 的长度不超过 **2KB**。
459
292
 
460
- - 单个房间所有 value 的总大小不超过 **16KB**。
293
+ - 单个房间所有 value 的总大小不超过 **16KB**。
461
294
 
462
295
  - **冲突解决**: `metaData` 的更新机制是“后来者覆盖”。如果多个管理员在短时间内修改同一个 key,最后一次的修改会生效。建议在业务设计上避免多人同时修改同一个关键信息。
@@ -315,7 +315,7 @@
315
315
 
316
316
  ### 运行效果
317
317
 
318
- 当您集成以上功能实现后,请分别使用两个观众与主播进行连麦操作,观众 A 同时打开摄像头和麦克风,观众 B 只打开麦克风,运行效果如下,您可以参考下一章节 完善 UI 细节 来定制您想要的 UI 逻辑。
318
+ 当您集成以上功能实现后,请分别使用两个观众与主播进行连麦操作,观众 A 同时打开摄像头和麦克风,观众 B 只打开麦克风,运行效果如下,您可以参考下一章节 [完善 UI 细节](#.E5.AE.8C.E5.96.84-ui-.E7.BB.86.E8.8A.82) 来定制您想要的 UI 逻辑。
319
319
 
320
320
  ## 完善 UI 细节
321
321
 
@@ -232,7 +232,7 @@
232
232
 
233
233
  ### 运行效果
234
234
 
235
- 当您集成以上功能实现后,请分别使用主播 A 和主播 B 进行对应操作,运行效果如下,您可以参考下一章节 完善 UI 细节 来定制您想要的 UI 逻辑。
235
+ 当您集成以上功能实现后,请分别使用主播 A 和主播 B 进行对应操作,运行效果如下,您可以参考下一章节 [完善 UI 细节](#.E5.AE.8C.E5.96.84-ui-.E7.BB.86.E8.8A.82) 来定制您想要的 UI 逻辑。
236
236
 
237
237
  ## 完善 UI 细节
238
238
 
@@ -508,9 +508,9 @@
508
508
  #### 关键流程说明
509
509
  1. ​**获取 PK 状态​**:
510
510
 
511
- - 回调配置​:您可以通过配置 PK 状态回调,由 LiveKit 后台在 PK 开始、结束时,主动通知您的系统 PK 状态。
511
+ - 回调配置​:您可以通过配置 PK 状态回调,由 LiveKit 后台在 PK 开始、结束时,主动通知您的系统 PK 状态。
512
512
 
513
- - 主动查询​:您的后台服务可主动调用 PK 状态查询 接口,随时查询当前 PK 状态。
513
+ - 主动查询​:您的后台服务可主动调用 PK 状态查询 接口,随时查询当前 PK 状态。
514
514
 
515
515
  2. **PK 分数计算**​:您的后台服务根据业务规则(如上述示例),计算 PK 分数增量。
516
516
 
@@ -278,7 +278,7 @@
278
278
 
279
279
  ### 运行效果
280
280
 
281
- 当您集成以上功能实现后,请分别使用两个观众与主播进行连麦操作,观众 A 同时打开摄像头和麦克风,观众 B 只打开麦克风,运行效果如下,您可以参考下一章节 完善 UI 细节 来定制您想要的 UI 逻辑。
281
+ 当您集成以上功能实现后,请分别使用两个观众与主播进行连麦操作,观众 A 同时打开摄像头和麦克风,观众 B 只打开麦克风,运行效果如下,您可以参考下一章节 [完善 UI 细节](#.E5.AE.8C.E5.96.84-ui-.E7.BB.86.E8.8A.82) 来定制您想要的 UI 逻辑。
282
282
 
283
283
  ## 完善 UI 细节
284
284
 
@@ -289,7 +289,7 @@
289
289
 
290
290
  ### 运行效果
291
291
 
292
- 当您集成以上功能实现后,请分别使用主播 A 和主播 B 进行对应操作,运行效果如下,您可以参考下一章节 完善 UI 细节 来定制 UI 逻辑。
292
+ 当您集成以上功能实现后,请分别使用主播 A 和主播 B 进行对应操作,运行效果如下,您可以参考下一章节 [完善 UI 细节](#.E5.AE.8C.E5.96.84-ui-.E7.BB.86.E8.8A.82) 来定制 UI 逻辑。
293
293
 
294
294
  ## 完善 UI 细节
295
295
 
@@ -809,9 +809,9 @@ class _FullCustomLiveWidgetState extends State<FullCustomLiveWidget> {
809
809
  #### 关键流程说明
810
810
  1. ​**获取 PK 状态​**:
811
811
 
812
- - 回调配置​:您可以通过配置 PK 状态回调,由 LiveKit 后台在 PK 开始、结束时,主动通知您的系统 PK 状态。
812
+ - 回调配置​:您可以通过配置 PK 状态回调,由 LiveKit 后台在 PK 开始、结束时,主动通知您的系统 PK 状态。
813
813
 
814
- - 主动查询​:您的后台服务可主动调用 PK 状态查询 接口,随时查询当前 PK 状态。
814
+ - 主动查询​:您的后台服务可主动调用 PK 状态查询 接口,随时查询当前 PK 状态。
815
815
 
816
816
  2. **PK 分数计算**​:您的后台服务根据业务规则(如上述示例),计算 PK 分数增量。
817
817
 
@@ -139,9 +139,9 @@ void main() async {
139
139
 
140
140
  这是最关键的一步。我们需要根据 `_isLiveStarted` 的状态选择不同的组件:
141
141
 
142
- - **预览态:**使用 `VideoView` + `setLocalVideoView`(直接渲染本地采集数据)。
142
+ - **预览态:**使用 `VideoView` + `setLocalVideoView`(直接渲染本地采集数据)。
143
143
 
144
- - **直播态:**使用 `LiveCoreWidget`(渲染直播间流数据)。
144
+ - **直播态:**使用 `LiveCoreWidget`(渲染直播间流数据)。
145
145
 
146
146
  ``` java
147
147
  // 3.1 封装预览视图组件
@@ -599,7 +599,7 @@ class _YourAudiencePageState extends State<YourAudiencePage> {
599
599
 
600
600
  ### 运行效果
601
601
 
602
- 集成 **LiveCoreWidget** 后,您将得到一个纯净的视频渲染视图,它已具备完整的直播业务能力,但没有任何交互 UI。您可以参考下一章节 丰富直播场景 来完善直播场景。
602
+ 集成 **LiveCoreWidget** 后,您将得到一个纯净的视频渲染视图,它已具备完整的直播业务能力,但没有任何交互 UI。您可以参考下一章节 [丰富直播场景](#.E4.B8.B0.E5.AF.8C.E7.9B.B4.E6.92.AD.E5.9C.BA.E6.99.AF) 来完善直播场景。
603
603
 
604
604
  |**布局类型**|**动态宫格布局**|**浮动小窗布局**|**固定宫格布局**|**固定小窗布局**|
605
605
  |---------|---------|---------|---------|---------|
@@ -236,7 +236,7 @@
236
236
 
237
237
  ### 运行效果
238
238
 
239
- 当您集成以上功能实现后,请分别使用两个观众与主播进行连麦操作,观众 A 同时打开摄像头和麦克风,观众 B 只打开麦克风,运行效果如下,您可以参考下一章节 完善 UI 细节 来定制您想要的 UI 逻辑。
239
+ 当您集成以上功能实现后,请分别使用两个观众与主播进行连麦操作,观众 A 同时打开摄像头和麦克风,观众 B 只打开麦克风,运行效果如下,您可以参考下一章节 [完善 UI 细节](#736c00b3-02dc-494b-838d-226439fd3e15) 来定制您想要的 UI 逻辑。
240
240
 
241
241
  ## 完善 UI 细节
242
242
 
@@ -191,7 +191,7 @@
191
191
 
192
192
  ### 运行效果
193
193
 
194
- 当您集成以上功能实现后,请分别使用主播 A 和主播 B 进行对应操作,运行效果如下,您可以参考下一章节 完善 UI 细节 来定制您想要的 UI 逻辑。
194
+ 当您集成以上功能实现后,请分别使用主播 A 和主播 B 进行对应操作,运行效果如下,您可以参考下一章节 [完善 UI 细节](#6fe270da-d3b3-4785-bdc2-53b59d6d9cc0) 来定制您想要的 UI 逻辑。
195
195
 
196
196
  ## 完善 UI 细节
197
197
 
@@ -441,9 +441,9 @@
441
441
  #### 关键流程说明
442
442
  1. ​**获取 PK 状态​**:
443
443
 
444
- - 回调配置​:您可以通过配置 PK 状态回调,由 LiveKit 后台在 PK 开始、结束时,主动通知您的系统 PK 状态。
444
+ - 回调配置​:您可以通过配置 PK 状态回调,由 LiveKit 后台在 PK 开始、结束时,主动通知您的系统 PK 状态。
445
445
 
446
- - 主动查询​:您的后台服务可主动调用 PK 状态查询 接口,随时查询当前 PK 状态。
446
+ - 主动查询​:您的后台服务可主动调用 PK 状态查询 接口,随时查询当前 PK 状态。
447
447
 
448
448
  2. **PK 分数计算**​:您的后台服务根据业务规则(如上述示例),计算 PK 分数增量。
449
449
 
@@ -171,7 +171,7 @@ func application(_ application: UIApplication, didFinishLaunchingWithOptions lau
171
171
  |`isMessageDisable`|`Bool`|选填|是否禁言(`true`:是,`false`:否)。|
172
172
  |`isPublicVisible`|`Bool`|选填|是否公开可见(`true`:是,`false`:否)。|
173
173
  |`seatMode`|`TakeSeatMode`|选填|上麦模式(`.free`:自由上麦,`.apply`:申请上麦)。|
174
- |`seatTemplate`|SeatLayoutTemplate|必填|麦位布局模板。|
174
+ |`seatTemplate`|[SeatLayoutTemplate](#id)|必填|麦位布局模板。|
175
175
  |`coverURL`|`String`|选填|直播间的封面图片地址。|
176
176
  |`backgroundURL`|`String`|选填|直播间的背景图片地址。|
177
177
  |`categoryList`|`[NSNumber]`|选填|直播间的分类标签列表。|
@@ -363,7 +363,7 @@ class YourAudienceViewController: UIViewController {
363
363
 
364
364
  ### 运行效果
365
365
 
366
- 集成 **LiveCoreView** 后,您将得到一个纯净的视频渲染视图,它已具备完整的直播业务能力,但没有任何交互 UI。您可以参考下一章节 丰富直播场景 来完善直播场景。
366
+ 集成 **LiveCoreView** 后,您将得到一个纯净的视频渲染视图,它已具备完整的直播业务能力,但没有任何交互 UI。您可以参考下一章节 [丰富直播场景](#82dbc44c-8a8e-40e2-89b9-66070f4beb72) 来完善直播场景。
367
367
  | | <strong>动态宫格布局</strong> | <strong>浮动小窗布局</strong> | <strong>固定宫格布局</strong> | <strong>固定小窗布局</strong> |
368
368
  | --- | --- | --- | --- | --- |
369
369
  | <strong>模板取值</strong> | .videoDynamicGrid9Seats | .videoDynamicFloat7Seats | .videoFixedGrid9Seats | .videoFixedFloat7Seats |
@@ -309,7 +309,7 @@
309
309
 
310
310
  ### 运行效果
311
311
 
312
- 当您集成以上功能实现后,请分别使用两个观众与主播进行连麦操作,观众 A 同时打开摄像头和麦克风,观众 B 只打开麦克风,运行效果如下,您可以参考下一章节 完善 UI 细节 来定制您想要的 UI 逻辑。
312
+ 当您集成以上功能实现后,请分别使用两个观众与主播进行连麦操作,观众 A 同时打开摄像头和麦克风,观众 B 只打开麦克风,运行效果如下,您可以参考下一章节 [完善 UI 细节](#.E5.AE.8C.E5.96.84-ui-.E7.BB.86.E8.8A.82) 来定制您想要的 UI 逻辑。
313
313
 
314
314
  ## 完善 UI 细节
315
315
 
@@ -324,9 +324,9 @@
324
324
 
325
325
  这个组件是我们的“UI 贴纸”,它只负责根据数据渲染 UI,不关心视频。
326
326
 
327
- - 在您的 `components` 目录下,创建一个新文件 `ParticipantOverlay.vue`。
327
+ - 在您的 `components` 目录下,创建一个新文件 `ParticipantOverlay.vue`。
328
328
 
329
- - 将以下代码复制到文件中。
329
+ - 将以下代码复制到文件中。
330
330
 
331
331
  ``` typescript
332
332
  <template>
@@ -378,52 +378,14 @@
378
378
  };
379
379
  </script>
380
380
 
381
- <style scoped>
382
- .overlay-container {
383
- pointer-events: none;
384
- }
385
-
386
- .participant-ui-container {
387
- overflow: hidden;
388
- }
389
- .avatar-placeholder {
390
- display: flex;
391
- flex-direction: column;
392
- justify-content: center;
393
- align-items: center;
394
- background-color: #2E323A;
395
- }
396
- .avatar-image {
397
- width: 160rpx;
398
- height: 160rpx;
399
- border-radius: 80rpx;
400
- }
401
- .avatar-name {
402
- margin-top: 20rpx;
403
- font-size: 28rpx;
404
- color: #FFFFFF;
405
- }
406
- .nickname-bar {
407
- position: absolute;
408
- left: 10rpx;
409
- bottom: 10rpx;
410
- background-color: rgba(0, 0, 0, 0.5);
411
- padding: 4rpx 16rpx;
412
- border-radius: 20rpx;
413
- }
414
- .nickname-text {
415
- color: #FFFFFF;
416
- font-size: 24rpx;
417
- }
418
- </style>
419
381
  ```
420
382
  - **步骤 2**:在直播间页面中组合所有组件
421
383
 
422
384
  这是将视频层和 `UI` 层“叠”在一起的关键步骤,同时需要解决 `nvue` 的布局问题。
423
385
 
424
- - 打开您的直播间页面文件
386
+ - 打开您的直播间页面文件
425
387
 
426
- - 按照以下结构和样式进行修改。
388
+ - 按照以下结构和样式进行修改。
427
389
 
428
390
  ``` typescript
429
391
  <template>
@@ -466,33 +428,6 @@
466
428
  });
467
429
  </script>
468
430
 
469
- <style scoped>
470
- .page-container {
471
- flex: 1;
472
- background-color: #000;
473
- }
474
-
475
- .live-container {
476
- flex: 1;
477
- position: relative;
478
- }
479
- .video-layer,
480
- .ui-layer {
481
- position: absolute;
482
- top: 0;
483
- left: 0;
484
- right: 0;
485
- bottom: 0;
486
- }
487
-
488
- .video-layer {
489
- z-index: 1;
490
- }
491
-
492
- .ui-layer {
493
- z-index: 2;
494
- }
495
- </style>
496
431
  ```
497
432
 
498
433
  ## API 文档
@@ -514,9 +449,9 @@
514
449
 
515
450
  - 解决方案:
516
451
 
517
- - 使用 `Flex` 布局:从页面的最外层根 `<view>` 开始,使用 `flex: 1` 样式,让容器逐层向下“撑满”可用空间。
452
+ - 使用 `Flex` 布局:从页面的最外层根 `<view>` 开始,使用 `flex: 1` 样式,让容器逐层向下“撑满”可用空间。
518
453
 
519
- - 使用绝对定位:对于需要覆盖的层(例如 `LiveCoreView` 和自定义的 `ParticipantOverlay`),将其父容器设置为 `position: relative` 和 `flex: 1`,然后将这些覆盖层设置为 `position: absolute` 并配合 `top: 0; left: 0; right: 0; bottom: 0;`,让它们从四个方向贴紧父容器边缘,这是在 `nvue` 中实现“占满”效果最可靠的方法。
454
+ - 使用绝对定位:对于需要覆盖的层(例如 `LiveCoreView` 和自定义的 `ParticipantOverlay`),将其父容器设置为 `position: relative` 和 `flex: 1`,然后将这些覆盖层设置为 `position: absolute` 并配合 `top: 0; left: 0; right: 0; bottom: 0;`,让它们从四个方向贴紧父容器边缘,这是在 `nvue` 中实现“占满”效果最可靠的方法。
520
455
 
521
456
  ### 自定义的昵称/头像 UI 与视频画面位置错乱
522
457
  - 问题描述: 按照“完善 `UI` 细节”章节添加了 `ParticipantOverlay` 组件后,显示的昵称条或头像占位图没有精确地覆盖在对应的视频小窗上,存在偏移或尺寸不匹配。
@@ -525,9 +460,9 @@
525
460
 
526
461
  - 解决方案:
527
462
 
528
- - 确保 `scale` 值正确计算:必须在父页面中正确计算 `scale` 值。通常的计算方式是:`scaleX = 屏幕实际宽度 / 设计稿宽度。`
463
+ - 确保 `scale` 值正确计算:必须在父页面中正确计算 `scale` 值。通常的计算方式是:`scaleX = 屏幕实际宽度 / 设计稿宽度。`
529
464
 
530
- - 确保 `scale` 值正确传递:将计算好的 `scale` 对象传递给 `<ParticipantOverlay>` 组件。
465
+ - 确保 `scale` 值正确传递:将计算好的 `scale` 对象传递给 `<ParticipantOverlay>` 组件。
531
466
 
532
467
  ### 连麦功能无响应(申请/邀请/接受/拒绝均失败)
533
468
  - 问题描述: 调用 `applyForSeat`, `acceptApplication`, `inviteToSeat` 等 `CoGuestState` 提供的方法后,没有任何效果,也没有收到预期的回调。
@@ -536,9 +471,9 @@
536
471
 
537
472
  - 解决方案:
538
473
 
539
- - 校验 `liveID`:确保在调用 `useCoGuestState(liveID)` 和所有相关方法(例如 `applyForSeat({ liveID, ... })`)时,使用的 `liveID` 是当前直播间真实且有效的 `ID`。
474
+ - 校验 `liveID`:确保在调用 `useCoGuestState(liveID)` 和所有相关方法(例如 `applyForSeat({ liveID, ... })`)时,使用的 `liveID` 是当前直播间真实且有效的 `ID`。
540
475
 
541
- - 保持 `liveID` 一致:在整个页面的生命周期中,所有与 `CoGuestState` 相关的操作都必须使用同一个 `liveID`。
476
+ - 保持 `liveID` 一致:在整个页面的生命周期中,所有与 `CoGuestState` 相关的操作都必须使用同一个 `liveID`。
542
477
 
543
478
  ### 无法接收到连麦相关的事件通知
544
479
  - 问题描述: 观众端收不到主播的邀请(`onHostInvitationReceived`),或者主播端收不到观众的申请(`onGuestApplicationReceived`)。
@@ -547,9 +482,9 @@
547
482
 
548
483
  - 解决方案: 确保在页面初始化时(例如在 `onMounted` 钩子中),根据角色(主播/观众)调用相应的方法来注册监听器:
549
484
 
550
- - 主播端:调用 `addCoGuestHostListener` 来监听 `onGuestApplicationReceived`、`onHostInvitationResponded` 等事件。
485
+ - 主播端:调用 `addCoGuestHostListener` 来监听 `onGuestApplicationReceived`、`onHostInvitationResponded` 等事件。
551
486
 
552
- - 观众端:调用 `addCoGuestGuestListener` 来监听 `onGuestApplicationResponded`、`onHostInvitationReceived` 等事件。
487
+ - 观众端:调用 `addCoGuestGuestListener` 来监听 `onGuestApplicationResponded`、`onHostInvitationReceived` 等事件。
553
488
 
554
489
  ### 连麦成功后,对方看不到我的画面或听不到我的声音
555
490
  - 问题描述: 作为观众,上麦申请被主播同意后,虽然麦位列表中有我,但我的视频画面没有出现,或者麦克风图标显示为关闭状态。