@tencent-rtc/mcp 1.0.9 → 1.1.8

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 (369) hide show
  1. package/README.md +5 -1
  2. package/index.js +2 -0
  3. package/index.js.map +1 -1
  4. package/libs/TLSSigAPIv2.d.ts +134 -0
  5. package/libs/TLSSigAPIv2.js +243 -0
  6. package/package.json +1 -1
  7. package/resource/doc/chatuikit/react/chat_window_integration.md +95 -0
  8. package/resource/doc/chatuikit/react/integration.md +30 -18
  9. package/resource/doc/chatuikit/vue/chat_window_integration.md +155 -0
  10. package/resource/doc/chatuikit/vue/components/chat.md +8 -0
  11. package/resource/doc/chatuikit/vue/components/chatheader.md +1 -1
  12. package/resource/doc/chatuikit/vue/components/conversation-list.md +5 -0
  13. package/resource/doc/chatuikit/vue/components/message-input.md +4 -1
  14. package/resource/doc/chatuikit/vue/init.md +40 -0
  15. package/resource/doc/chatuikit/vue/integration.md +34 -74
  16. package/resource/doc/livekit/vue/components/barrage.md +616 -0
  17. package/resource/doc/livekit/vue/components/broadcast.md +595 -0
  18. package/resource/doc/livekit/vue/components/co-guest-panel.md +130 -0
  19. package/resource/doc/livekit/vue/components/live-audience-list.md +282 -0
  20. package/resource/doc/livekit/vue/components/live-list.md +200 -0
  21. package/resource/doc/livekit/vue/components/live-player.md +269 -0
  22. package/resource/doc/livekit/vue/components/live-scene-panel.md +175 -0
  23. package/resource/doc/livekit/vue/components/live-view.md +398 -0
  24. package/resource/doc/livekit/vue/components/stream-mixer.md +446 -0
  25. package/resource/doc/livekit/vue/states/live-state.md +3591 -0
  26. package/resource/doc/roomkit/vue/states/device-state.md +369 -0
  27. package/resource/doc/roomkit/vue/states/login-state.md +59 -0
  28. package/resource/doc/roomkit/vue/states/room-list-state.md +355 -0
  29. package/resource/doc/roomkit/vue/states/room-participant-state.md +388 -0
  30. package/resource/doc/tuicallkit/react/api.md +1383 -0
  31. package/resource/doc/tuicallkit/react/integration.md +101 -0
  32. package/resource/doc/tuicallkit/vue/api.md +1385 -0
  33. package/resource/doc/tuicallkit/vue/integration.md +98 -0
  34. package/server-config.js +35 -0
  35. package/server-config.js.map +1 -0
  36. package/tools/call/get-web-call-api.js +31 -0
  37. package/tools/call/get-web-call-api.js.map +1 -0
  38. package/tools/call/get-web-call-integration.js +8 -10
  39. package/tools/call/get-web-call-integration.js.map +1 -1
  40. package/tools/chat/get-chat-faq.js +3 -3
  41. package/tools/chat/get-chat-faq.js.map +1 -1
  42. package/tools/chat/get-native-chat-integration.js +4 -4
  43. package/tools/chat/get-web-chat-component-detail.js +4 -3
  44. package/tools/chat/get-web-chat-component-detail.js.map +1 -1
  45. package/tools/chat/get-web-chat-integration.js +9 -9
  46. package/tools/chat/get-web-chat-integration.js.map +1 -1
  47. package/tools/chat/{get-web-chat-uikit-login.js → get-web-chat-uikit-init.js} +7 -7
  48. package/tools/chat/get-web-chat-uikit-init.js.map +1 -0
  49. package/tools/chat/get-web-chat-window-integration.js +37 -0
  50. package/tools/chat/get-web-chat-window-integration.js.map +1 -0
  51. package/tools/common/get-official-experience-account.js +52 -0
  52. package/tools/common/get-official-experience-account.js.map +1 -0
  53. package/tools/common/get-usersig.js +31 -26
  54. package/tools/common/get-usersig.js.map +1 -1
  55. package/tools/common/present-framework-choice.js +1 -1
  56. package/tools/common/record-prompt.js +5 -5
  57. package/tools/common/record-result.js +8 -7
  58. package/tools/common/record-result.js.map +1 -1
  59. package/tools/index.js +28 -9
  60. package/tools/index.js.map +1 -1
  61. package/tools/live/get-web-live-component-detail.js +34 -0
  62. package/tools/live/get-web-live-component-detail.js.map +1 -0
  63. package/tools/live/get-web-live-state-detail.js +34 -0
  64. package/tools/live/get-web-live-state-detail.js.map +1 -0
  65. package/tools/room/get-web-room-state-detail.js +34 -0
  66. package/tools/room/get-web-room-state-detail.js.map +1 -0
  67. package/tools/rtcengine/get-rtcengine-web-sdk-integration-guide.js +35 -0
  68. package/tools/rtcengine/get-rtcengine-web-sdk-integration-guide.js.map +1 -0
  69. package/tools/rtcengine/{get-rtcenigne-faq.js → get-trtc-web-sdk-faq.js} +5 -5
  70. package/tools/rtcengine/get-trtc-web-sdk-faq.js.map +1 -0
  71. package/tools/rtcengine/get-trtc-web-sdk-integration-guide.js +36 -0
  72. package/tools/rtcengine/get-trtc-web-sdk-integration-guide.js.map +1 -0
  73. package/utils/generate-usersig.js +7 -9
  74. package/utils/generate-usersig.js.map +1 -1
  75. package/utils/handle-component-name.js +53 -8
  76. package/utils/handle-component-name.js.map +1 -1
  77. package/utils/handle-state-name.js +29 -0
  78. package/utils/handle-state-name.js.map +1 -0
  79. package/@tencent/aegis-node-sdk/CHANGELOG.md +0 -8
  80. package/@tencent/aegis-node-sdk/LICENSE +0 -21
  81. package/@tencent/aegis-node-sdk/README.md +0 -562
  82. package/@tencent/aegis-node-sdk/lib/aegis.min.js +0 -1
  83. package/@tencent/aegis-node-sdk/lib/packages/core/src/constant/config.d.ts +0 -14
  84. package/@tencent/aegis-node-sdk/lib/packages/core/src/constant/global.d.ts +0 -1
  85. package/@tencent/aegis-node-sdk/lib/packages/core/src/constant/index.d.ts +0 -9
  86. package/@tencent/aegis-node-sdk/lib/packages/core/src/constant/report-ignore.d.ts +0 -2
  87. package/@tencent/aegis-node-sdk/lib/packages/core/src/core.d.ts +0 -85
  88. package/@tencent/aegis-node-sdk/lib/packages/core/src/hooks/afterRequestHooks.d.ts +0 -3
  89. package/@tencent/aegis-node-sdk/lib/packages/core/src/hooks/beforeRequestHooks.d.ts +0 -9
  90. package/@tencent/aegis-node-sdk/lib/packages/core/src/hooks/modifyRequestHooks.d.ts +0 -3
  91. package/@tencent/aegis-node-sdk/lib/packages/core/src/index.d.ts +0 -9
  92. package/@tencent/aegis-node-sdk/lib/packages/core/src/interface/config.d.ts +0 -62
  93. package/@tencent/aegis-node-sdk/lib/packages/core/src/interface/env.d.ts +0 -11
  94. package/@tencent/aegis-node-sdk/lib/packages/core/src/interface/index.d.ts +0 -4
  95. package/@tencent/aegis-node-sdk/lib/packages/core/src/interface/log.d.ts +0 -130
  96. package/@tencent/aegis-node-sdk/lib/packages/core/src/interface/send.d.ts +0 -34
  97. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/format.d.ts +0 -2
  98. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/index.d.ts +0 -18
  99. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/length-limit.d.ts +0 -8
  100. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/pv.d.ts +0 -8
  101. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/remove-payload.d.ts +0 -2
  102. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/repeat-limit.d.ts +0 -4
  103. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/report.d.ts +0 -10
  104. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/sample.d.ts +0 -3
  105. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/throttle.d.ts +0 -3
  106. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/index.d.ts +0 -34
  107. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/jwt.d.ts +0 -12
  108. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/ot-js.d.ts +0 -14
  109. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/uuid.d.ts +0 -2
  110. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/whitelist.d.ts +0 -12
  111. package/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/write-before.d.ts +0 -3
  112. package/@tencent/aegis-node-sdk/lib/packages/core/src/plugin.d.ts +0 -33
  113. package/@tencent/aegis-node-sdk/lib/packages/core/src/polyfill.d.ts +0 -0
  114. package/@tencent/aegis-node-sdk/lib/packages/core/src/util/destroy.d.ts +0 -2
  115. package/@tencent/aegis-node-sdk/lib/packages/core/src/util/event-emitter.d.ts +0 -18
  116. package/@tencent/aegis-node-sdk/lib/packages/core/src/util/index.d.ts +0 -60
  117. package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/index.d.ts +0 -15
  118. package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/interface/selector.d.ts +0 -5
  119. package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/pipes/batch-report-pipe.d.ts +0 -6
  120. package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/protocol/protocol_base.d.ts +0 -18
  121. package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/protocol/protocol_http.d.ts +0 -12
  122. package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/selector/ip_selector.d.ts +0 -10
  123. package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/selector/polaris_selector.d.ts +0 -20
  124. package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/selector/selector_base.d.ts +0 -27
  125. package/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/util/eval_require.d.ts +0 -2
  126. package/@tencent/aegis-node-sdk/package.json +0 -19
  127. package/@tencent/polaris/README.md +0 -407
  128. package/@tencent/polaris/dist/consumer/health.d.ts +0 -126
  129. package/@tencent/polaris/dist/consumer/health.js +0 -283
  130. package/@tencent/polaris/dist/consumer/health.js.map +0 -1
  131. package/@tencent/polaris/dist/consumer/index.d.ts +0 -120
  132. package/@tencent/polaris/dist/consumer/index.js +0 -348
  133. package/@tencent/polaris/dist/consumer/index.js.map +0 -1
  134. package/@tencent/polaris/dist/consumer/monitor.d.ts +0 -145
  135. package/@tencent/polaris/dist/consumer/monitor.js +0 -343
  136. package/@tencent/polaris/dist/consumer/monitor.js.map +0 -1
  137. package/@tencent/polaris/dist/consumer/selector.d.ts +0 -73
  138. package/@tencent/polaris/dist/consumer/selector.js +0 -316
  139. package/@tencent/polaris/dist/consumer/selector.js.map +0 -1
  140. package/@tencent/polaris/dist/errors.d.ts +0 -373
  141. package/@tencent/polaris/dist/errors.js +0 -154
  142. package/@tencent/polaris/dist/errors.js.map +0 -1
  143. package/@tencent/polaris/dist/global.d.ts +0 -16
  144. package/@tencent/polaris/dist/global.js +0 -18
  145. package/@tencent/polaris/dist/global.js.map +0 -1
  146. package/@tencent/polaris/dist/index.d.ts +0 -62
  147. package/@tencent/polaris/dist/index.js +0 -145
  148. package/@tencent/polaris/dist/index.js.map +0 -1
  149. package/@tencent/polaris/dist/instance.d.ts +0 -109
  150. package/@tencent/polaris/dist/instance.js +0 -38
  151. package/@tencent/polaris/dist/instance.js.map +0 -1
  152. package/@tencent/polaris/dist/limiter/bucket.d.ts +0 -51
  153. package/@tencent/polaris/dist/limiter/bucket.js +0 -152
  154. package/@tencent/polaris/dist/limiter/bucket.js.map +0 -1
  155. package/@tencent/polaris/dist/limiter/index.d.ts +0 -73
  156. package/@tencent/polaris/dist/limiter/index.js +0 -149
  157. package/@tencent/polaris/dist/limiter/index.js.map +0 -1
  158. package/@tencent/polaris/dist/limiter/ratelimit.d.ts +0 -27
  159. package/@tencent/polaris/dist/limiter/ratelimit.js +0 -134
  160. package/@tencent/polaris/dist/limiter/ratelimit.js.map +0 -1
  161. package/@tencent/polaris/dist/limiter/ratelimiter/base.d.ts +0 -17
  162. package/@tencent/polaris/dist/limiter/ratelimiter/base.js +0 -15
  163. package/@tencent/polaris/dist/limiter/ratelimiter/base.js.map +0 -1
  164. package/@tencent/polaris/dist/limiter/ratelimiter/global.d.ts +0 -59
  165. package/@tencent/polaris/dist/limiter/ratelimiter/global.js +0 -397
  166. package/@tencent/polaris/dist/limiter/ratelimiter/global.js.map +0 -1
  167. package/@tencent/polaris/dist/limiter/ratelimiter/index.d.ts +0 -3
  168. package/@tencent/polaris/dist/limiter/ratelimiter/index.js +0 -19
  169. package/@tencent/polaris/dist/limiter/ratelimiter/index.js.map +0 -1
  170. package/@tencent/polaris/dist/limiter/ratelimiter/local.d.ts +0 -17
  171. package/@tencent/polaris/dist/limiter/ratelimiter/local.js +0 -52
  172. package/@tencent/polaris/dist/limiter/ratelimiter/local.js.map +0 -1
  173. package/@tencent/polaris/dist/location.d.ts +0 -48
  174. package/@tencent/polaris/dist/location.js +0 -67
  175. package/@tencent/polaris/dist/location.js.map +0 -1
  176. package/@tencent/polaris/dist/logging.d.ts +0 -106
  177. package/@tencent/polaris/dist/logging.js +0 -130
  178. package/@tencent/polaris/dist/logging.js.map +0 -1
  179. package/@tencent/polaris/dist/metadata.d.ts +0 -78
  180. package/@tencent/polaris/dist/metadata.js +0 -119
  181. package/@tencent/polaris/dist/metadata.js.map +0 -1
  182. package/@tencent/polaris/dist/plugins/breaker/polaris.d.ts +0 -47
  183. package/@tencent/polaris/dist/plugins/breaker/polaris.js +0 -162
  184. package/@tencent/polaris/dist/plugins/breaker/polaris.js.map +0 -1
  185. package/@tencent/polaris/dist/plugins/lb/base.d.ts +0 -24
  186. package/@tencent/polaris/dist/plugins/lb/base.js +0 -32
  187. package/@tencent/polaris/dist/plugins/lb/base.js.map +0 -1
  188. package/@tencent/polaris/dist/plugins/lb/edf.d.ts +0 -24
  189. package/@tencent/polaris/dist/plugins/lb/edf.js +0 -77
  190. package/@tencent/polaris/dist/plugins/lb/edf.js.map +0 -1
  191. package/@tencent/polaris/dist/plugins/lb/hashring.d.ts +0 -24
  192. package/@tencent/polaris/dist/plugins/lb/hashring.js +0 -53
  193. package/@tencent/polaris/dist/plugins/lb/hashring.js.map +0 -1
  194. package/@tencent/polaris/dist/plugins/lb/sticky.d.ts +0 -31
  195. package/@tencent/polaris/dist/plugins/lb/sticky.js +0 -88
  196. package/@tencent/polaris/dist/plugins/lb/sticky.js.map +0 -1
  197. package/@tencent/polaris/dist/plugins/lb/swrr.d.ts +0 -25
  198. package/@tencent/polaris/dist/plugins/lb/swrr.js +0 -72
  199. package/@tencent/polaris/dist/plugins/lb/swrr.js.map +0 -1
  200. package/@tencent/polaris/dist/plugins/lb/wr.d.ts +0 -17
  201. package/@tencent/polaris/dist/plugins/lb/wr.js +0 -50
  202. package/@tencent/polaris/dist/plugins/lb/wr.js.map +0 -1
  203. package/@tencent/polaris/dist/plugins/lb/wrr.d.ts +0 -19
  204. package/@tencent/polaris/dist/plugins/lb/wrr.js +0 -81
  205. package/@tencent/polaris/dist/plugins/lb/wrr.js.map +0 -1
  206. package/@tencent/polaris/dist/plugins/logging/console.d.ts +0 -10
  207. package/@tencent/polaris/dist/plugins/logging/console.js +0 -38
  208. package/@tencent/polaris/dist/plugins/logging/console.js.map +0 -1
  209. package/@tencent/polaris/dist/plugins/naming/local-server/index.d.ts +0 -32
  210. package/@tencent/polaris/dist/plugins/naming/local-server/index.js +0 -88
  211. package/@tencent/polaris/dist/plugins/naming/local-server/index.js.map +0 -1
  212. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/base.d.ts +0 -124
  213. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/base.js +0 -398
  214. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/base.js.map +0 -1
  215. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/discover.d.ts +0 -27
  216. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/discover.js +0 -287
  217. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/discover.js.map +0 -1
  218. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/index.d.ts +0 -15
  219. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/index.js +0 -43
  220. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/index.js.map +0 -1
  221. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/monitor.d.ts +0 -28
  222. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/monitor.js +0 -249
  223. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/monitor.js.map +0 -1
  224. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/ratelimit.d.ts +0 -19
  225. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/ratelimit.js +0 -222
  226. package/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/ratelimit.js.map +0 -1
  227. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/bidi.d.ts +0 -26
  228. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/bidi.js +0 -99
  229. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/bidi.js.map +0 -1
  230. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/index.d.ts +0 -60
  231. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/index.js +0 -259
  232. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/index.js.map +0 -1
  233. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/pb/discover.proto +0 -24
  234. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/pb/monitor.proto +0 -18
  235. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/pb/ratelimit.proto +0 -12
  236. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/http/index.d.ts +0 -39
  237. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/http/index.js +0 -115
  238. package/@tencent/polaris/dist/plugins/naming/polaris-server/connector/http/index.js.map +0 -1
  239. package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/api.proto +0 -24
  240. package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/client.proto +0 -22
  241. package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/model.proto +0 -28
  242. package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/ratelimit.proto +0 -80
  243. package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/request.proto +0 -18
  244. package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/response.proto +0 -65
  245. package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/routing.proto +0 -66
  246. package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/service.proto +0 -95
  247. package/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/types.d.ts +0 -1568
  248. package/@tencent/polaris/dist/plugins/naming/polaris-server/index.d.ts +0 -36
  249. package/@tencent/polaris/dist/plugins/naming/polaris-server/index.js +0 -51
  250. package/@tencent/polaris/dist/plugins/naming/polaris-server/index.js.map +0 -1
  251. package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/api.proto +0 -18
  252. package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/circuitbreak.proto +0 -67
  253. package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/request.proto +0 -82
  254. package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/response.proto +0 -11
  255. package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/sdkcache.proto +0 -46
  256. package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/sdkconfiguration.proto +0 -16
  257. package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/sdktoken.proto +0 -10
  258. package/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/types.d.ts +0 -1102
  259. package/@tencent/polaris/dist/plugins/naming/polaris-server/pool.d.ts +0 -29
  260. package/@tencent/polaris/dist/plugins/naming/polaris-server/pool.js +0 -77
  261. package/@tencent/polaris/dist/plugins/naming/polaris-server/pool.js.map +0 -1
  262. package/@tencent/polaris/dist/plugins/naming/polaris-server/ratelimit-pb/api.proto +0 -12
  263. package/@tencent/polaris/dist/plugins/naming/polaris-server/ratelimit-pb/ratelimit.proto +0 -28
  264. package/@tencent/polaris/dist/plugins/naming/polaris-server/ratelimit-pb/types.d.ts +0 -395
  265. package/@tencent/polaris/dist/plugins/naming/polaris-server/rules.d.ts +0 -13
  266. package/@tencent/polaris/dist/plugins/naming/polaris-server/rules.js +0 -116
  267. package/@tencent/polaris/dist/plugins/naming/polaris-server/rules.js.map +0 -1
  268. package/@tencent/polaris/dist/plugins/naming/polaris-server/types.d.ts +0 -67
  269. package/@tencent/polaris/dist/plugins/naming/polaris-server/types.js +0 -67
  270. package/@tencent/polaris/dist/plugins/naming/polaris-server/types.js.map +0 -1
  271. package/@tencent/polaris/dist/plugins/naming/polaris-server/utils.d.ts +0 -99
  272. package/@tencent/polaris/dist/plugins/naming/polaris-server/utils.js +0 -217
  273. package/@tencent/polaris/dist/plugins/naming/polaris-server/utils.js.map +0 -1
  274. package/@tencent/polaris/dist/plugins/registry/memory.d.ts +0 -10
  275. package/@tencent/polaris/dist/plugins/registry/memory.js +0 -50
  276. package/@tencent/polaris/dist/plugins/registry/memory.js.map +0 -1
  277. package/@tencent/polaris/dist/plugins/router/polaris/nearby.d.ts +0 -51
  278. package/@tencent/polaris/dist/plugins/router/polaris/nearby.js +0 -145
  279. package/@tencent/polaris/dist/plugins/router/polaris/nearby.js.map +0 -1
  280. package/@tencent/polaris/dist/plugins/router/polaris/rule.d.ts +0 -11
  281. package/@tencent/polaris/dist/plugins/router/polaris/rule.js +0 -174
  282. package/@tencent/polaris/dist/plugins/router/polaris/rule.js.map +0 -1
  283. package/@tencent/polaris/dist/plugins/router/trpc/canary.d.ts +0 -25
  284. package/@tencent/polaris/dist/plugins/router/trpc/canary.js +0 -36
  285. package/@tencent/polaris/dist/plugins/router/trpc/canary.js.map +0 -1
  286. package/@tencent/polaris/dist/plugins/router/trpc/env.d.ts +0 -10
  287. package/@tencent/polaris/dist/plugins/router/trpc/env.js +0 -34
  288. package/@tencent/polaris/dist/plugins/router/trpc/env.js.map +0 -1
  289. package/@tencent/polaris/dist/plugins/router/trpc/set.d.ts +0 -56
  290. package/@tencent/polaris/dist/plugins/router/trpc/set.js +0 -106
  291. package/@tencent/polaris/dist/plugins/router/trpc/set.js.map +0 -1
  292. package/@tencent/polaris/dist/plugins/shaping/unirate.d.ts +0 -31
  293. package/@tencent/polaris/dist/plugins/shaping/unirate.js +0 -124
  294. package/@tencent/polaris/dist/plugins/shaping/unirate.js.map +0 -1
  295. package/@tencent/polaris/dist/plugins/shaping/warmup.d.ts +0 -61
  296. package/@tencent/polaris/dist/plugins/shaping/warmup.js +0 -171
  297. package/@tencent/polaris/dist/plugins/shaping/warmup.js.map +0 -1
  298. package/@tencent/polaris/dist/plugins/weight/polaris.d.ts +0 -23
  299. package/@tencent/polaris/dist/plugins/weight/polaris.js +0 -159
  300. package/@tencent/polaris/dist/plugins/weight/polaris.js.map +0 -1
  301. package/@tencent/polaris/dist/plugins.d.ts +0 -619
  302. package/@tencent/polaris/dist/plugins.js +0 -91
  303. package/@tencent/polaris/dist/plugins.js.map +0 -1
  304. package/@tencent/polaris/dist/polaris.d.ts +0 -33
  305. package/@tencent/polaris/dist/polaris.js +0 -59
  306. package/@tencent/polaris/dist/polaris.js.map +0 -1
  307. package/@tencent/polaris/dist/provider/index.d.ts +0 -102
  308. package/@tencent/polaris/dist/provider/index.js +0 -168
  309. package/@tencent/polaris/dist/provider/index.js.map +0 -1
  310. package/@tencent/polaris/dist/registry.d.ts +0 -174
  311. package/@tencent/polaris/dist/registry.js +0 -660
  312. package/@tencent/polaris/dist/registry.js.map +0 -1
  313. package/@tencent/polaris/dist/rules.d.ts +0 -163
  314. package/@tencent/polaris/dist/rules.js +0 -24
  315. package/@tencent/polaris/dist/rules.js.map +0 -1
  316. package/@tencent/polaris/dist/scripts/postinstall.d.ts +0 -1
  317. package/@tencent/polaris/dist/scripts/postinstall.js +0 -71
  318. package/@tencent/polaris/dist/scripts/postinstall.js.map +0 -1
  319. package/@tencent/polaris/dist/service.d.ts +0 -18
  320. package/@tencent/polaris/dist/service.js +0 -3
  321. package/@tencent/polaris/dist/service.js.map +0 -1
  322. package/@tencent/polaris/dist/skeleton.d.ts +0 -87
  323. package/@tencent/polaris/dist/skeleton.js +0 -282
  324. package/@tencent/polaris/dist/skeleton.js.map +0 -1
  325. package/@tencent/polaris/dist/utils.d.ts +0 -36
  326. package/@tencent/polaris/dist/utils.js +0 -74
  327. package/@tencent/polaris/dist/utils.js.map +0 -1
  328. package/@tencent/polaris/dist/weak.d.ts +0 -11
  329. package/@tencent/polaris/dist/weak.js +0 -44
  330. package/@tencent/polaris/dist/weak.js.map +0 -1
  331. package/@tencent/polaris/package.json +0 -114
  332. package/libs/lib-generate-test-usersig-es.min.d.ts +0 -6
  333. package/libs/lib-generate-test-usersig-es.min.js +0 -2
  334. package/resource/doc/chatuikit/react/generate_UserSig.md +0 -306
  335. package/resource/doc/chatuikit/react/integrate_tuichat_only_react.md +0 -202
  336. package/resource/doc/chatuikit/react/integrate_tuichat_react.md +0 -279
  337. package/resource/doc/chatuikit/vue/generate_UserSig.md +0 -306
  338. package/resource/doc/chatuikit/vue/integrate_only_tuichat_Vue_web.md +0 -124
  339. package/resource/doc/chatuikit/vue/integrate_tuikit_Vue_web.md +0 -552
  340. package/resource/doc/chatuikit/vue/login.md +0 -31
  341. package/resource/doc/chatuikit/vue3/components/MessageInput.md +0 -1272
  342. package/resource/doc/chatuikit/vue3/components/avatar.md +0 -137
  343. package/resource/doc/chatuikit/vue3/components/chatheader.md +0 -189
  344. package/resource/doc/chatuikit/vue3/components/component-list.md +0 -102
  345. package/resource/doc/chatuikit/vue3/components/userpicker.md +0 -315
  346. package/resource/doc/chatuikit/vue3/integration.md +0 -256
  347. package/resource/doc/tuicallkit/react/.gitkeep +0 -0
  348. package/resource/doc/tuicallkit/react/api_TUICallKit.md +0 -354
  349. package/resource/doc/tuicallkit/react/how_to_integrated_react_callkit.md +0 -195
  350. package/resource/doc/tuicallkit/react/how_to_run_react_callkit_demo.md +0 -61
  351. package/resource/doc/tuicallkit/vue/.gitkeep +0 -0
  352. package/resource/doc/tuicallkit/vue/api_TUICallKit.md +0 -354
  353. package/resource/doc/tuicallkit/vue/how_to_integrated_vue_callkit.md +0 -187
  354. package/resource/doc/tuicallkit/vue/how_to_run_vue_callkit_demo.md +0 -61
  355. package/streamableHttp.js +0 -74
  356. package/streamableHttp.js.map +0 -1
  357. package/tools/call/get-native-call-integration-guide.js +0 -36
  358. package/tools/call/get-native-call-integration-guide.js.map +0 -1
  359. package/tools/call/get-web-call-integration-guide.js +0 -35
  360. package/tools/call/get-web-call-integration-guide.js.map +0 -1
  361. package/tools/chat/get-native-chat-integration-guide.js +0 -34
  362. package/tools/chat/get-native-chat-integration-guide.js.map +0 -1
  363. package/tools/chat/get-web-chat-integration-guide.js +0 -35
  364. package/tools/chat/get-web-chat-integration-guide.js.map +0 -1
  365. package/tools/chat/get-web-chat-uikit-login.js.map +0 -1
  366. package/tools/rtcengine/get-rtcengine-integration-guide.js +0 -33
  367. package/tools/rtcengine/get-rtcengine-integration-guide.js.map +0 -1
  368. package/tools/rtcengine/get-rtcenigne-faq.js.map +0 -1
  369. /package/resource/doc/chatuikit/react/{login.md → init.md} +0 -0
@@ -0,0 +1,446 @@
1
+ This document provides a detailed introduction to **Video Source Editing Canvas (StreamMixer)**. You can refer to the sample code in this document to integrate our pre-developed components into your existing project, or customize the style and layout according to your needs by following the component customization section in the document.
2
+
3
+ ![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027862798/245486a898f311f0a207525400bf7822.png)
4
+
5
+
6
+ ## Core Features
7
+ <table>
8
+ <tr>
9
+ <td rowspan="1" colSpan="1" >**Feature Category**</td>
10
+
11
+ <td rowspan="1" colSpan="1" >**Specific Capabilities**</td>
12
+ </tr>
13
+
14
+ <tr>
15
+ <td rowspan="1" colSpan="1" >**Real-time preview**</td>
16
+
17
+ <td rowspan="1" colSpan="1" >Provide a WYSIWYG editing experience where hosts can intuitively see the mixed stream effect, supporting operations like rotation, move, scale, mirror, and hierarchy adjustment.</td>
18
+ </tr>
19
+
20
+ <tr>
21
+ <td rowspan="1" colSpan="1" >**Template layout**</td>
22
+
23
+ <td rowspan="1" colSpan="1" >Built-in multiple live streaming room layout templates support automatic adaptation to different microphone-connected scenarios, including nine-grid, 1v6, floating window, helping you quickly switch between different live stream styles.</td>
24
+ </tr>
25
+
26
+ <tr>
27
+ <td rowspan="1" colSpan="1" >**User status management**</td>
28
+
29
+ <td rowspan="1" colSpan="1" >Intelligent detection of co-broadcasting users joining and exiting, automatic layout adjustment with no manual intervention required, ensuring smooth live streaming and providing seamless experience for hosts.</td>
30
+ </tr>
31
+
32
+ <tr>
33
+ <td rowspan="1" colSpan="1" >**Customizable UI**</td>
34
+
35
+ <td rowspan="1" colSpan="1" >To meet diverse business scenarios, the video source editing canvas provides component UI customization slots, enabling full control over co-broadcasting users' video stream areas. Rewrite their UI display, flexibly define avatars, nicknames, status, and other information, and easily create a unique visual experience that matches your UI style.</td>
36
+ </tr>
37
+ </table>
38
+
39
+
40
+ ## Component Integration
41
+
42
+ ### Step 1: Configuring the Environment and Activating the Service
43
+
44
+ Before quick integration, you need to refer to [Preparations](https://write.woa.com/document/185222107981008896), meet related environment configuration and activate corresponding service.
45
+
46
+ ### Step 2: Installing Dependencies
47
+
48
+
49
+
50
+
51
+ 【npm】
52
+ ``` bash
53
+ npm install tuikit-atomicx-vue3@latest @tencentcloud/uikit-base-component-vue3 --save
54
+ ```
55
+
56
+
57
+ 【pnpm】
58
+ ``` bash
59
+ pnpm add tuikit-atomicx-vue3@latest @tencentcloud/uikit-base-component-vue3
60
+ ```
61
+
62
+
63
+ 【yarn】
64
+ ``` bash
65
+ yarn add tuikit-atomicx-vue3@latest @tencentcloud/uikit-base-component-vue3
66
+ ```
67
+
68
+ ### Step 3: Joining Live Room
69
+
70
+ Introduce and use the **Video Source Editing Canvas** in your project. You can copy the following example code directly to your project and add the corresponding live streaming room.
71
+ ``` typescript
72
+ <template>
73
+ <UIKitProvider theme="dark" language="zh-CN">
74
+ <div class="app">
75
+ <LiveScenePanel class="live-scene-panel" />
76
+ <StreamMixer class="live-stream-mixer" />
77
+ </div>
78
+ </UIKitProvider>
79
+ </template>
80
+
81
+ <script setup lang="ts">
82
+ import { onMounted } from 'vue';
83
+ import { UIKitProvider } from '@tencentcloud/uikit-base-component-vue3';
84
+ import { LiveScenePanel, StreamMixer, useLoginState, useLiveState, useCoGuestState } from 'tuikit-atomicx-vue3';
85
+
86
+ const { login } = useLoginState();
87
+ const { createLive } = useLiveState();
88
+ const { sendCoGuestRequest } = useCoGuestState();
89
+
90
+ async function initLogin() {
91
+ try {
92
+ await login({
93
+ sdkAppId: 0, // SDKAppID, see Step 1 to get
94
+ userId: '', // UserID, see Step 1 to get
95
+ userSig: '', // userSig, see Step 1 to get
96
+ });
97
+ } catch (error) {
98
+ console.error('login error:', error);
99
+ }
100
+ }
101
+
102
+ onMounted(async () => {
103
+ await initLogin();
104
+ // After the anchor creates a live streaming room
105
+ // StreamMixer automatically pushes the local composite video stream to the room
106
+ await createLive({
107
+ liveId: `live_${loginUserInfo.value.userId}`,
108
+ liveName: `${loginUserInfo.value?.userName}'s live streaming room`,
109
+ });
110
+ // The client can join the live room by calling the method and switch on/off mic as needed.
111
+ // After the audience succeeds in going on mic, StreamMixer starts TRTC streaming automatically
112
+ await sendCoGuestRequest();
113
+ });
114
+ </script>
115
+
116
+ <style>.app {width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center}</style>
117
+ ```
118
+ ``` bash
119
+ npm run dev
120
+ ```
121
+
122
+ ![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027862798/671e3f42ad8e11f08bcc5254007c27c5.gif)
123
+
124
+
125
+ ## Component Customization
126
+
127
+ **Video Source Editing Canvas** provides a flexible component customization slot that supports you in adjusting the style and layout of elements such as avatar, nickname, and status based on your own needs. It also supports customizing the video stream area for co-streaming UI. Below are slot usage examples.
128
+
129
+ ### Component Slot
130
+ <table>
131
+ <tr>
132
+ <td rowspan="1" colSpan="1" >**Name**</td>
133
+
134
+ <td rowspan="1" colSpan="1" >**Parameter**</td>
135
+
136
+ <td rowspan="1" colSpan="1" >**Description**</td>
137
+ </tr>
138
+
139
+ <tr>
140
+ <td rowspan="1" colSpan="1" >seatViewUI</td>
141
+
142
+ <td rowspan="1" colSpan="1" >seatInfo: SeatInfo</td>
143
+
144
+ <td rowspan="1" colSpan="1" >Display UI for custom seat</td>
145
+ </tr>
146
+ </table>
147
+
148
+ ``` java
149
+ // Example of using the seatViewUI slot
150
+ <StreamMixer>
151
+ <CustomSeatViewUI #seatViewUI></CustomSeatViewUI>
152
+ </StreamMixer>
153
+ ```
154
+ 1. `SeatInfo` defines the basic info and status of each seat in a live streaming room:
155
+
156
+ <table>
157
+ <tr>
158
+ <td rowspan="1" colSpan="1" >Parameter</td>
159
+
160
+ <td rowspan="1" colSpan="1" >Type</td>
161
+
162
+ <td rowspan="1" colSpan="1" >Required</td>
163
+
164
+ <td rowspan="1" colSpan="1" >Description</td>
165
+ </tr>
166
+
167
+ <tr>
168
+ <td rowspan="1" colSpan="1" >`index`</td>
169
+
170
+ <td rowspan="1" colSpan="1" >`number`</td>
171
+
172
+ <td rowspan="1" colSpan="1" >Required</td>
173
+
174
+ <td rowspan="1" colSpan="1" >The seat index number starts incrementing from 0, used to identify the seat position in the room.</td>
175
+ </tr>
176
+
177
+ <tr>
178
+ <td rowspan="1" colSpan="1" >`isLocked`</td>
179
+
180
+ <td rowspan="1" colSpan="1" >`boolean`</td>
181
+
182
+ <td rowspan="1" colSpan="1" >Required</td>
183
+
184
+ <td rowspan="1" colSpan="1" >The seat lock status, `true` means the seat is locked and other users are unable to enter; `false` means the seat is open.</td>
185
+ </tr>
186
+
187
+ <tr>
188
+ <td rowspan="1" colSpan="1" >`userInfo`</td>
189
+
190
+ <td rowspan="1" colSpan="1" >`SeatUserInfo`</td>
191
+
192
+ <td rowspan="1" colSpan="1" >optional</td>
193
+
194
+ <td rowspan="1" colSpan="1" >The user information of the current occupant in this seat. If the seat is empty, it is `undefined`.</td>
195
+ </tr>
196
+
197
+ <tr>
198
+ <td rowspan="1" colSpan="1" >`region`</td>
199
+
200
+ <td rowspan="1" colSpan="1" >`RegionInfo`</td>
201
+
202
+ <td rowspan="1" colSpan="1" >optional</td>
203
+
204
+ <td rowspan="1" colSpan="1" >The display region information of the seat in the video canvas, for multiple streams video layout.</td>
205
+ </tr>
206
+ </table>
207
+
208
+ ``` typescript
209
+ interface SeatInfo {
210
+ index: number; // Seat index
211
+ isLocked: boolean; // Whether the seat is locked
212
+ userInfo?: SeatUserInfo; // User information on the seat (optional)
213
+ region?: RegionInfo; // Region information of the seat in the canvas (optional)
214
+ }
215
+ ```
216
+ 2. `SeatUserInfo` defines the user details of each seat in a live streaming room:
217
+
218
+ <table>
219
+ <tr>
220
+ <td rowspan="1" colSpan="1" >Parameter</td>
221
+
222
+ <td rowspan="1" colSpan="1" >Type</td>
223
+
224
+ <td rowspan="1" colSpan="1" >Required</td>
225
+
226
+ <td rowspan="1" colSpan="1" >Description</td>
227
+ </tr>
228
+
229
+ <tr>
230
+ <td rowspan="1" colSpan="1" >`roomId`</td>
231
+
232
+ <td rowspan="1" colSpan="1" >`string`</td>
233
+
234
+ <td rowspan="1" colSpan="1" >Required</td>
235
+
236
+ <td rowspan="1" colSpan="1" >The current unique identifier of the live streaming room, used to distinguish different live streaming rooms</td>
237
+ </tr>
238
+
239
+ <tr>
240
+ <td rowspan="1" colSpan="1" >`userId`</td>
241
+
242
+ <td rowspan="1" colSpan="1" >`string`</td>
243
+
244
+ <td rowspan="1" colSpan="1" >Required</td>
245
+
246
+ <td rowspan="1" colSpan="1" >User's Unique Identifier, must be unique in the entire system</td>
247
+ </tr>
248
+
249
+ <tr>
250
+ <td rowspan="1" colSpan="1" >`userName`</td>
251
+
252
+ <td rowspan="1" colSpan="1" >`string`</td>
253
+
254
+ <td rowspan="1" colSpan="1" >Required</td>
255
+
256
+ <td rowspan="1" colSpan="1" >The name displayed for users in live streams supports Chinese, English, and other characters.</td>
257
+ </tr>
258
+
259
+ <tr>
260
+ <td rowspan="1" colSpan="1" >`avatarUrl`</td>
261
+
262
+ <td rowspan="1" colSpan="1" >`string`</td>
263
+
264
+ <td rowspan="1" colSpan="1" >Required</td>
265
+
266
+ <td rowspan="1" colSpan="1" >The complete URL of the user profile photo supports HTTPS protocol.</td>
267
+ </tr>
268
+
269
+ <tr>
270
+ <td rowspan="1" colSpan="1" >`microphoneStatus`</td>
271
+
272
+ <td rowspan="1" colSpan="1" >`DeviceStatus`</td>
273
+
274
+ <td rowspan="1" colSpan="1" >Required</td>
275
+
276
+ <td rowspan="1" colSpan="1" >Microphone status</td>
277
+ </tr>
278
+
279
+ <tr>
280
+ <td rowspan="1" colSpan="1" >`microphoneStatusReason`</td>
281
+
282
+ <td rowspan="1" colSpan="1" >`DeviceStatusReason`</td>
283
+
284
+ <td rowspan="1" colSpan="1" >Required</td>
285
+
286
+ <td rowspan="1" colSpan="1" >Reasons for microphone status changes, to distinguish between user proactive operation and administrator operation</td>
287
+ </tr>
288
+
289
+ <tr>
290
+ <td rowspan="1" colSpan="1" >`cameraStatus`</td>
291
+
292
+ <td rowspan="1" colSpan="1" >`DeviceStatus`</td>
293
+
294
+ <td rowspan="1" colSpan="1" >Required</td>
295
+
296
+ <td rowspan="1" colSpan="1" >Camera status</td>
297
+ </tr>
298
+
299
+ <tr>
300
+ <td rowspan="1" colSpan="1" >`cameraStatusReason`</td>
301
+
302
+ <td rowspan="1" colSpan="1" >`DeviceStatusReason`</td>
303
+
304
+ <td rowspan="1" colSpan="1" >Required</td>
305
+
306
+ <td rowspan="1" colSpan="1" >Reasons for camera status changes, to distinguish between user proactive operation and administrator operation</td>
307
+ </tr>
308
+ </table>
309
+
310
+ ``` typescript
311
+ interface SeatUserInfo {
312
+ roomId: string; // Live streaming room ID
313
+ userId: string; // User ID
314
+ userName: string; // User Display Name
315
+ avatarUrl: string; // User Avatar URL
316
+ microphoneStatus: DeviceStatus; // mic status
317
+ allowOpenMicrophone: boolean; // whether to allow turning on microphone
318
+ cameraStatus: DeviceStatus; // camera status
319
+ allowOpenCamera: boolean; // whether to allow turning on camera
320
+ }
321
+
322
+ export type SeatUserInfo = {
323
+ liveId: string; // Live streaming room ID
324
+ userId: string; // User ID
325
+ userName: string; // User Display Name
326
+ avatarUrl: string; // User Avatar URL
327
+ microphoneStatus: DeviceStatus; // mic status
328
+ microphoneStatusReason: DeviceStatusReason; // reason for change
329
+ cameraStatus: DeviceStatus; // camera status
330
+ cameraStatusReason: DeviceStatusReason; // reason for change
331
+ }
332
+ ```
333
+ 3. `RegionInfo` defines the display area and hierarchical information of the seat in the video canvas:
334
+
335
+ <table>
336
+ <tr>
337
+ <td rowspan="1" colSpan="1" >Parameter</td>
338
+
339
+ <td rowspan="1" colSpan="1" >Type</td>
340
+
341
+ <td rowspan="1" colSpan="1" >Required</td>
342
+
343
+ <td rowspan="1" colSpan="1" >Description</td>
344
+ </tr>
345
+
346
+ <tr>
347
+ <td rowspan="1" colSpan="1" >`x`</td>
348
+
349
+ <td rowspan="1" colSpan="1" >`number`</td>
350
+
351
+ <td rowspan="1" colSpan="1" >Required</td>
352
+
353
+ <td rowspan="1" colSpan="1" >X-coordinate of the region's top-left corner relative to the canvas (pixel value)</td>
354
+ </tr>
355
+
356
+ <tr>
357
+ <td rowspan="1" colSpan="1" >`y`</td>
358
+
359
+ <td rowspan="1" colSpan="1" >`number`</td>
360
+
361
+ <td rowspan="1" colSpan="1" >Required</td>
362
+
363
+ <td rowspan="1" colSpan="1" >Y-coordinate of the region's top-left corner relative to the canvas (pixel value)</td>
364
+ </tr>
365
+
366
+ <tr>
367
+ <td rowspan="1" colSpan="1" >`w`</td>
368
+
369
+ <td rowspan="1" colSpan="1" >`number`</td>
370
+
371
+ <td rowspan="1" colSpan="1" >Required</td>
372
+
373
+ <td rowspan="1" colSpan="1" >Width of the region (pixel value), must be greater than 0</td>
374
+ </tr>
375
+
376
+ <tr>
377
+ <td rowspan="1" colSpan="1" >`h`</td>
378
+
379
+ <td rowspan="1" colSpan="1" >`number`</td>
380
+
381
+ <td rowspan="1" colSpan="1" >Required</td>
382
+
383
+ <td rowspan="1" colSpan="1" >Height of the region (pixel value), must be greater than 0</td>
384
+ </tr>
385
+
386
+ <tr>
387
+ <td rowspan="1" colSpan="1" >`zOrder`</td>
388
+
389
+ <td rowspan="1" colSpan="1" >`number`</td>
390
+
391
+ <td rowspan="1" colSpan="1" >Required</td>
392
+
393
+ <td rowspan="1" colSpan="1" >Z-order, the larger the value, the more positioned towards the front for processing overlap display priority</td>
394
+ </tr>
395
+ </table>
396
+
397
+ ``` typescript
398
+ interface RegionInfo {
399
+ x: number; // Top-left X-axis coordinate of the region
400
+ y: number; // Top-left Y-axis coordinate of the region
401
+ w: number; // Region width
402
+ h: number; // Region height
403
+ zOrder: number; // Z-order
404
+ }
405
+ ```
406
+
407
+ ### Custom Slot Example
408
+
409
+ To help you better experience and understand the customized capability of the seatViewUI slot in the video source editing Canvas component, we provide a **live streaming and mic connection scenario** example for your reference. You can refer to the above **step 3** to incrementally copy the following code into your project to achieve a similar effect.
410
+ ``` typescript
411
+ <template>
412
+ <StreamMixer>
413
+ <template #seatViewUI="{ userInfo }">
414
+ <div
415
+ class="live-stream-view"
416
+ :class="{ 'is-anchor': isAnchor(userInfo), 'is-guest': !isAnchor(userInfo) }"
417
+ >
418
+ User information overlay
419
+ <div class="user-overlay">
420
+ <div class="user-badge" :class="{ 'anchor-badge': isAnchor(userInfo) }">
421
+ {{ isAnchor(userInfo) ? 'Anchor' : 'Audience' }}
422
+ </div>
423
+ <div class="user-name">{{ userInfo.userName }}</div>
424
+ <div class="device-status">
425
+ <span :class="['mic', userInfo.microphoneStatus]"></span>
426
+ <span :class="['camera', userInfo.cameraStatus]"></span>
427
+ </div>
428
+ </div>
429
+ </div>
430
+ </template>
431
+ </StreamMixer>
432
+ </template>
433
+
434
+ <script setup lang="ts">
435
+ import { StreamMixer } from 'tuikit-atomicx-vue3';
436
+ import type { SeatUserInfo } from 'tuikit-atomicx-vue3';
437
+
438
+ // Determine whether it is an anchor (based on business logic)
439
+ const isAnchor = (userInfo: SeatUserInfo) => {
440
+ // Here access can be judged based on uid and role
441
+ return userInfo.userId.includes('anchor') || userInfo.userName.includes('Anchor');
442
+ };
443
+ </script>
444
+
445
+ <style scoped>.live-stream-view{position:relative;width:100%;height:100%;border-radius:8px;overflow:hidden}.live-stream-view.is-anchor{border:3px solid #ff6b35;box-shadow:0 0 20px rgba(255,107,53,.3)}.live-stream-view.is-guest{border:1px solid #ddd}.video-area{width:100%;height:100%;background:#000}.user-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.8));padding:10px;color:#fff}.user-badge{display:inline-block;padding:2px 8px;border-radius:10px;font-size:12px;margin-bottom:5px;background:#666}.anchor-badge{background:#ff6b35;color:#fff}.user-name{font-weight:700;margin-bottom:5px}.device-status span{margin-right:5px;opacity:.8}.device-status .camera.Off,.device-status .mic.Off{opacity:.3}</style>
446
+ ```