@tencentcloud/sdk-mcp 1.0.6 → 1.0.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 (353) hide show
  1. package/index.js +7 -8
  2. package/index.js.map +1 -1
  3. package/libs/lib-generate-test-usersig-es.min.d.ts +6 -0
  4. package/libs/lib-generate-test-usersig-es.min.js +2 -0
  5. package/package.json +2 -1
  6. package/resource/doc/chatuikit/react/components/avatar.md +105 -0
  7. package/resource/doc/chatuikit/react/components/chat.md +38 -0
  8. package/resource/doc/chatuikit/react/components/chatheader.md +153 -0
  9. package/resource/doc/chatuikit/react/components/component-list.md +36 -0
  10. package/resource/doc/chatuikit/react/components/conversation-list.md +765 -0
  11. package/resource/doc/chatuikit/react/components/message-input.md +799 -0
  12. package/resource/doc/chatuikit/react/components/message-list.md +385 -0
  13. package/resource/doc/chatuikit/react/components/tuikit.md +64 -0
  14. package/resource/doc/chatuikit/react/integration.md +68 -0
  15. package/resource/doc/chatuikit/react/login.md +25 -0
  16. package/resource/doc/chatuikit/vue/components/MessageInput.md +546 -0
  17. package/resource/doc/chatuikit/vue/components/avatar.md +105 -0
  18. package/resource/doc/chatuikit/vue/components/chat.md +38 -0
  19. package/resource/doc/chatuikit/vue/components/chatheader.md +153 -0
  20. package/resource/doc/chatuikit/vue/components/component-list.md +90 -0
  21. package/resource/doc/chatuikit/vue/components/conversation-list.md +590 -0
  22. package/resource/doc/chatuikit/vue/components/login.md +29 -0
  23. package/resource/doc/chatuikit/vue/components/message-input.md +546 -0
  24. package/resource/doc/chatuikit/vue/components/message-list.md +548 -0
  25. package/resource/doc/chatuikit/vue/components/tuikit.md +110 -0
  26. package/resource/doc/chatuikit/vue/components/userpicker.md +256 -0
  27. package/resource/doc/chatuikit/vue/integration.md +218 -0
  28. package/resource/doc/chatuikit/vue/login.md +29 -0
  29. package/resource/doc/chatuikit/vue3/components/MessageInput.md +546 -0
  30. package/resource/doc/chatuikit/vue3/components/MessageList.md +385 -0
  31. package/resource/doc/chatuikit/vue3/components/avatar.md +105 -0
  32. package/resource/doc/chatuikit/vue3/components/chatheader.md +153 -0
  33. package/resource/doc/chatuikit/vue3/components/component-list.md +88 -0
  34. package/resource/doc/chatuikit/vue3/components/userpicker.md +256 -0
  35. package/resource/doc/chatuikit/vue3/integration.md +218 -0
  36. package/server.js +10 -181
  37. package/server.js.map +1 -1
  38. package/{streamableHttp.js → streamable-http.js} +8 -13
  39. package/streamable-http.js.map +1 -0
  40. package/tools/call/get-call-faq.js +31 -0
  41. package/tools/call/get-call-faq.js.map +1 -0
  42. package/tools/call/get-native-call-integration-guide.js +35 -0
  43. package/tools/call/get-native-call-integration-guide.js.map +1 -0
  44. package/tools/call/get-native-call-integration.js +35 -0
  45. package/tools/call/get-native-call-integration.js.map +1 -0
  46. package/tools/call/get-web-call-integration-guide.js +34 -0
  47. package/tools/call/get-web-call-integration-guide.js.map +1 -0
  48. package/tools/call/get-web-call-integration.js +34 -0
  49. package/tools/call/get-web-call-integration.js.map +1 -0
  50. package/tools/chat/get-chat-faq.js +31 -0
  51. package/tools/chat/get-chat-faq.js.map +1 -0
  52. package/tools/chat/get-native-chat-integration-guide.js +33 -0
  53. package/tools/chat/get-native-chat-integration-guide.js.map +1 -0
  54. package/tools/chat/get-native-chat-integration.js +33 -0
  55. package/tools/chat/get-native-chat-integration.js.map +1 -0
  56. package/tools/chat/get-web-chat-component-detail.js +36 -0
  57. package/tools/chat/get-web-chat-component-detail.js.map +1 -0
  58. package/tools/chat/get-web-chat-integration-guide.js +42 -0
  59. package/tools/chat/get-web-chat-integration-guide.js.map +1 -0
  60. package/tools/chat/get-web-chat-integration.js +36 -0
  61. package/tools/chat/get-web-chat-integration.js.map +1 -0
  62. package/tools/chat/get-web-chat-uikit-login.js +30 -0
  63. package/tools/chat/get-web-chat-uikit-login.js.map +1 -0
  64. package/tools/common/get-usersig.js +35 -0
  65. package/tools/common/get-usersig.js.map +1 -0
  66. package/tools/common/present-framework-choice.js +32 -0
  67. package/tools/common/present-framework-choice.js.map +1 -0
  68. package/tools/common/record-prompt.js +31 -0
  69. package/tools/common/record-prompt.js.map +1 -0
  70. package/tools/common/record-result.js +35 -0
  71. package/tools/common/record-result.js.map +1 -0
  72. package/tools/index.js +39 -0
  73. package/tools/index.js.map +1 -0
  74. package/tools/rtcengine/get-rtcengine-integration-guide.js +32 -0
  75. package/tools/rtcengine/get-rtcengine-integration-guide.js.map +1 -0
  76. package/tools/rtcengine/get-rtcenigne-faq.js +31 -0
  77. package/tools/rtcengine/get-rtcenigne-faq.js.map +1 -0
  78. package/utils/aegis-client.js +8 -0
  79. package/utils/aegis-client.js.map +1 -0
  80. package/utils/generate-usersig.js +14 -0
  81. package/utils/generate-usersig.js.map +1 -0
  82. package/utils/get-doc-content.js +46 -0
  83. package/utils/get-doc-content.js.map +1 -0
  84. package/utils/handle-component-name.js +12 -0
  85. package/utils/handle-component-name.js.map +1 -0
  86. package/utils/handle-framework.js +9 -0
  87. package/utils/handle-framework.js.map +1 -0
  88. package/resource/doc/chatuikit/react/integrate_tuichat_only_react.md +0 -185
  89. package/resource/doc/chatuikit/react/integrate_tuichat_react.md +0 -212
  90. package/resource/doc/chatuikit/vue/integrate_tuichat_only_vue.md +0 -149
  91. package/resource/doc/chatuikit/vue/integrate_tuichat_vue.md +0 -248
  92. package/streamableHttp.js.map +0 -1
  93. /package/{@tencent → libs/@tencent}/aegis-node-sdk/CHANGELOG.md +0 -0
  94. /package/{@tencent → libs/@tencent}/aegis-node-sdk/LICENSE +0 -0
  95. /package/{@tencent → libs/@tencent}/aegis-node-sdk/README.md +0 -0
  96. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/aegis.min.js +0 -0
  97. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/constant/config.d.ts +0 -0
  98. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/constant/global.d.ts +0 -0
  99. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/constant/index.d.ts +0 -0
  100. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/constant/report-ignore.d.ts +0 -0
  101. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/core.d.ts +0 -0
  102. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/hooks/afterRequestHooks.d.ts +0 -0
  103. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/hooks/beforeRequestHooks.d.ts +0 -0
  104. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/hooks/modifyRequestHooks.d.ts +0 -0
  105. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/index.d.ts +0 -0
  106. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/interface/config.d.ts +0 -0
  107. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/interface/env.d.ts +0 -0
  108. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/interface/index.d.ts +0 -0
  109. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/interface/log.d.ts +0 -0
  110. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/interface/send.d.ts +0 -0
  111. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/pipes/format.d.ts +0 -0
  112. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/pipes/index.d.ts +0 -0
  113. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/pipes/length-limit.d.ts +0 -0
  114. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/pipes/pv.d.ts +0 -0
  115. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/pipes/remove-payload.d.ts +0 -0
  116. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/pipes/repeat-limit.d.ts +0 -0
  117. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/pipes/report.d.ts +0 -0
  118. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/pipes/sample.d.ts +0 -0
  119. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/pipes/throttle.d.ts +0 -0
  120. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/pipes/trace/index.d.ts +0 -0
  121. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/pipes/trace/jwt.d.ts +0 -0
  122. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/pipes/trace/ot-js.d.ts +0 -0
  123. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/pipes/trace/uuid.d.ts +0 -0
  124. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/pipes/whitelist.d.ts +0 -0
  125. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/pipes/write-before.d.ts +0 -0
  126. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/plugin.d.ts +0 -0
  127. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/polyfill.d.ts +0 -0
  128. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/util/destroy.d.ts +0 -0
  129. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/util/event-emitter.d.ts +0 -0
  130. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/core/src/util/index.d.ts +0 -0
  131. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/node-sdk/src/index.d.ts +0 -0
  132. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/node-sdk/src/interface/selector.d.ts +0 -0
  133. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/node-sdk/src/pipes/batch-report-pipe.d.ts +0 -0
  134. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/node-sdk/src/protocol/protocol_base.d.ts +0 -0
  135. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/node-sdk/src/protocol/protocol_http.d.ts +0 -0
  136. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/node-sdk/src/selector/ip_selector.d.ts +0 -0
  137. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/node-sdk/src/selector/polaris_selector.d.ts +0 -0
  138. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/node-sdk/src/selector/selector_base.d.ts +0 -0
  139. /package/{@tencent → libs/@tencent}/aegis-node-sdk/lib/packages/node-sdk/src/util/eval_require.d.ts +0 -0
  140. /package/{@tencent → libs/@tencent}/aegis-node-sdk/package.json +0 -0
  141. /package/{@tencent → libs/@tencent}/polaris/README.md +0 -0
  142. /package/{@tencent → libs/@tencent}/polaris/dist/consumer/health.d.ts +0 -0
  143. /package/{@tencent → libs/@tencent}/polaris/dist/consumer/health.js +0 -0
  144. /package/{@tencent → libs/@tencent}/polaris/dist/consumer/health.js.map +0 -0
  145. /package/{@tencent → libs/@tencent}/polaris/dist/consumer/index.d.ts +0 -0
  146. /package/{@tencent → libs/@tencent}/polaris/dist/consumer/index.js +0 -0
  147. /package/{@tencent → libs/@tencent}/polaris/dist/consumer/index.js.map +0 -0
  148. /package/{@tencent → libs/@tencent}/polaris/dist/consumer/monitor.d.ts +0 -0
  149. /package/{@tencent → libs/@tencent}/polaris/dist/consumer/monitor.js +0 -0
  150. /package/{@tencent → libs/@tencent}/polaris/dist/consumer/monitor.js.map +0 -0
  151. /package/{@tencent → libs/@tencent}/polaris/dist/consumer/selector.d.ts +0 -0
  152. /package/{@tencent → libs/@tencent}/polaris/dist/consumer/selector.js +0 -0
  153. /package/{@tencent → libs/@tencent}/polaris/dist/consumer/selector.js.map +0 -0
  154. /package/{@tencent → libs/@tencent}/polaris/dist/errors.d.ts +0 -0
  155. /package/{@tencent → libs/@tencent}/polaris/dist/errors.js +0 -0
  156. /package/{@tencent → libs/@tencent}/polaris/dist/errors.js.map +0 -0
  157. /package/{@tencent → libs/@tencent}/polaris/dist/global.d.ts +0 -0
  158. /package/{@tencent → libs/@tencent}/polaris/dist/global.js +0 -0
  159. /package/{@tencent → libs/@tencent}/polaris/dist/global.js.map +0 -0
  160. /package/{@tencent → libs/@tencent}/polaris/dist/index.d.ts +0 -0
  161. /package/{@tencent → libs/@tencent}/polaris/dist/index.js +0 -0
  162. /package/{@tencent → libs/@tencent}/polaris/dist/index.js.map +0 -0
  163. /package/{@tencent → libs/@tencent}/polaris/dist/instance.d.ts +0 -0
  164. /package/{@tencent → libs/@tencent}/polaris/dist/instance.js +0 -0
  165. /package/{@tencent → libs/@tencent}/polaris/dist/instance.js.map +0 -0
  166. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/bucket.d.ts +0 -0
  167. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/bucket.js +0 -0
  168. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/bucket.js.map +0 -0
  169. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/index.d.ts +0 -0
  170. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/index.js +0 -0
  171. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/index.js.map +0 -0
  172. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/ratelimit.d.ts +0 -0
  173. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/ratelimit.js +0 -0
  174. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/ratelimit.js.map +0 -0
  175. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/ratelimiter/base.d.ts +0 -0
  176. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/ratelimiter/base.js +0 -0
  177. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/ratelimiter/base.js.map +0 -0
  178. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/ratelimiter/global.d.ts +0 -0
  179. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/ratelimiter/global.js +0 -0
  180. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/ratelimiter/global.js.map +0 -0
  181. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/ratelimiter/index.d.ts +0 -0
  182. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/ratelimiter/index.js +0 -0
  183. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/ratelimiter/index.js.map +0 -0
  184. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/ratelimiter/local.d.ts +0 -0
  185. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/ratelimiter/local.js +0 -0
  186. /package/{@tencent → libs/@tencent}/polaris/dist/limiter/ratelimiter/local.js.map +0 -0
  187. /package/{@tencent → libs/@tencent}/polaris/dist/location.d.ts +0 -0
  188. /package/{@tencent → libs/@tencent}/polaris/dist/location.js +0 -0
  189. /package/{@tencent → libs/@tencent}/polaris/dist/location.js.map +0 -0
  190. /package/{@tencent → libs/@tencent}/polaris/dist/logging.d.ts +0 -0
  191. /package/{@tencent → libs/@tencent}/polaris/dist/logging.js +0 -0
  192. /package/{@tencent → libs/@tencent}/polaris/dist/logging.js.map +0 -0
  193. /package/{@tencent → libs/@tencent}/polaris/dist/metadata.d.ts +0 -0
  194. /package/{@tencent → libs/@tencent}/polaris/dist/metadata.js +0 -0
  195. /package/{@tencent → libs/@tencent}/polaris/dist/metadata.js.map +0 -0
  196. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/breaker/polaris.d.ts +0 -0
  197. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/breaker/polaris.js +0 -0
  198. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/breaker/polaris.js.map +0 -0
  199. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/base.d.ts +0 -0
  200. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/base.js +0 -0
  201. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/base.js.map +0 -0
  202. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/edf.d.ts +0 -0
  203. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/edf.js +0 -0
  204. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/edf.js.map +0 -0
  205. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/hashring.d.ts +0 -0
  206. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/hashring.js +0 -0
  207. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/hashring.js.map +0 -0
  208. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/sticky.d.ts +0 -0
  209. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/sticky.js +0 -0
  210. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/sticky.js.map +0 -0
  211. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/swrr.d.ts +0 -0
  212. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/swrr.js +0 -0
  213. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/swrr.js.map +0 -0
  214. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/wr.d.ts +0 -0
  215. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/wr.js +0 -0
  216. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/wr.js.map +0 -0
  217. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/wrr.d.ts +0 -0
  218. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/wrr.js +0 -0
  219. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/lb/wrr.js.map +0 -0
  220. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/logging/console.d.ts +0 -0
  221. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/logging/console.js +0 -0
  222. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/logging/console.js.map +0 -0
  223. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/local-server/index.d.ts +0 -0
  224. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/local-server/index.js +0 -0
  225. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/local-server/index.js.map +0 -0
  226. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/adapter/base.d.ts +0 -0
  227. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/adapter/base.js +0 -0
  228. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/adapter/base.js.map +0 -0
  229. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/adapter/discover.d.ts +0 -0
  230. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/adapter/discover.js +0 -0
  231. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/adapter/discover.js.map +0 -0
  232. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/adapter/index.d.ts +0 -0
  233. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/adapter/index.js +0 -0
  234. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/adapter/index.js.map +0 -0
  235. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/adapter/monitor.d.ts +0 -0
  236. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/adapter/monitor.js +0 -0
  237. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/adapter/monitor.js.map +0 -0
  238. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/adapter/ratelimit.d.ts +0 -0
  239. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/adapter/ratelimit.js +0 -0
  240. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/adapter/ratelimit.js.map +0 -0
  241. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/connector/grpc/bidi.d.ts +0 -0
  242. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/connector/grpc/bidi.js +0 -0
  243. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/connector/grpc/bidi.js.map +0 -0
  244. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/connector/grpc/index.d.ts +0 -0
  245. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/connector/grpc/index.js +0 -0
  246. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/connector/grpc/index.js.map +0 -0
  247. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/connector/grpc/pb/discover.proto +0 -0
  248. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/connector/grpc/pb/monitor.proto +0 -0
  249. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/connector/grpc/pb/ratelimit.proto +0 -0
  250. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/connector/http/index.d.ts +0 -0
  251. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/connector/http/index.js +0 -0
  252. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/connector/http/index.js.map +0 -0
  253. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/discover-pb/api.proto +0 -0
  254. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/discover-pb/client.proto +0 -0
  255. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/discover-pb/model.proto +0 -0
  256. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/discover-pb/ratelimit.proto +0 -0
  257. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/discover-pb/request.proto +0 -0
  258. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/discover-pb/response.proto +0 -0
  259. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/discover-pb/routing.proto +0 -0
  260. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/discover-pb/service.proto +0 -0
  261. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/discover-pb/types.d.ts +0 -0
  262. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/index.d.ts +0 -0
  263. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/index.js +0 -0
  264. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/index.js.map +0 -0
  265. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/monitor-pb/api.proto +0 -0
  266. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/monitor-pb/circuitbreak.proto +0 -0
  267. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/monitor-pb/request.proto +0 -0
  268. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/monitor-pb/response.proto +0 -0
  269. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/monitor-pb/sdkcache.proto +0 -0
  270. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/monitor-pb/sdkconfiguration.proto +0 -0
  271. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/monitor-pb/sdktoken.proto +0 -0
  272. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/monitor-pb/types.d.ts +0 -0
  273. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/pool.d.ts +0 -0
  274. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/pool.js +0 -0
  275. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/pool.js.map +0 -0
  276. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/ratelimit-pb/api.proto +0 -0
  277. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/ratelimit-pb/ratelimit.proto +0 -0
  278. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/ratelimit-pb/types.d.ts +0 -0
  279. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/rules.d.ts +0 -0
  280. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/rules.js +0 -0
  281. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/rules.js.map +0 -0
  282. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/types.d.ts +0 -0
  283. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/types.js +0 -0
  284. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/types.js.map +0 -0
  285. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/utils.d.ts +0 -0
  286. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/utils.js +0 -0
  287. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/naming/polaris-server/utils.js.map +0 -0
  288. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/registry/memory.d.ts +0 -0
  289. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/registry/memory.js +0 -0
  290. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/registry/memory.js.map +0 -0
  291. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/router/polaris/nearby.d.ts +0 -0
  292. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/router/polaris/nearby.js +0 -0
  293. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/router/polaris/nearby.js.map +0 -0
  294. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/router/polaris/rule.d.ts +0 -0
  295. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/router/polaris/rule.js +0 -0
  296. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/router/polaris/rule.js.map +0 -0
  297. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/router/trpc/canary.d.ts +0 -0
  298. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/router/trpc/canary.js +0 -0
  299. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/router/trpc/canary.js.map +0 -0
  300. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/router/trpc/env.d.ts +0 -0
  301. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/router/trpc/env.js +0 -0
  302. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/router/trpc/env.js.map +0 -0
  303. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/router/trpc/set.d.ts +0 -0
  304. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/router/trpc/set.js +0 -0
  305. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/router/trpc/set.js.map +0 -0
  306. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/shaping/unirate.d.ts +0 -0
  307. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/shaping/unirate.js +0 -0
  308. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/shaping/unirate.js.map +0 -0
  309. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/shaping/warmup.d.ts +0 -0
  310. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/shaping/warmup.js +0 -0
  311. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/shaping/warmup.js.map +0 -0
  312. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/weight/polaris.d.ts +0 -0
  313. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/weight/polaris.js +0 -0
  314. /package/{@tencent → libs/@tencent}/polaris/dist/plugins/weight/polaris.js.map +0 -0
  315. /package/{@tencent → libs/@tencent}/polaris/dist/plugins.d.ts +0 -0
  316. /package/{@tencent → libs/@tencent}/polaris/dist/plugins.js +0 -0
  317. /package/{@tencent → libs/@tencent}/polaris/dist/plugins.js.map +0 -0
  318. /package/{@tencent → libs/@tencent}/polaris/dist/polaris.d.ts +0 -0
  319. /package/{@tencent → libs/@tencent}/polaris/dist/polaris.js +0 -0
  320. /package/{@tencent → libs/@tencent}/polaris/dist/polaris.js.map +0 -0
  321. /package/{@tencent → libs/@tencent}/polaris/dist/provider/index.d.ts +0 -0
  322. /package/{@tencent → libs/@tencent}/polaris/dist/provider/index.js +0 -0
  323. /package/{@tencent → libs/@tencent}/polaris/dist/provider/index.js.map +0 -0
  324. /package/{@tencent → libs/@tencent}/polaris/dist/registry.d.ts +0 -0
  325. /package/{@tencent → libs/@tencent}/polaris/dist/registry.js +0 -0
  326. /package/{@tencent → libs/@tencent}/polaris/dist/registry.js.map +0 -0
  327. /package/{@tencent → libs/@tencent}/polaris/dist/rules.d.ts +0 -0
  328. /package/{@tencent → libs/@tencent}/polaris/dist/rules.js +0 -0
  329. /package/{@tencent → libs/@tencent}/polaris/dist/rules.js.map +0 -0
  330. /package/{@tencent → libs/@tencent}/polaris/dist/scripts/postinstall.d.ts +0 -0
  331. /package/{@tencent → libs/@tencent}/polaris/dist/scripts/postinstall.js +0 -0
  332. /package/{@tencent → libs/@tencent}/polaris/dist/scripts/postinstall.js.map +0 -0
  333. /package/{@tencent → libs/@tencent}/polaris/dist/service.d.ts +0 -0
  334. /package/{@tencent → libs/@tencent}/polaris/dist/service.js +0 -0
  335. /package/{@tencent → libs/@tencent}/polaris/dist/service.js.map +0 -0
  336. /package/{@tencent → libs/@tencent}/polaris/dist/skeleton.d.ts +0 -0
  337. /package/{@tencent → libs/@tencent}/polaris/dist/skeleton.js +0 -0
  338. /package/{@tencent → libs/@tencent}/polaris/dist/skeleton.js.map +0 -0
  339. /package/{@tencent → libs/@tencent}/polaris/dist/utils.d.ts +0 -0
  340. /package/{@tencent → libs/@tencent}/polaris/dist/utils.js +0 -0
  341. /package/{@tencent → libs/@tencent}/polaris/dist/utils.js.map +0 -0
  342. /package/{@tencent → libs/@tencent}/polaris/dist/weak.d.ts +0 -0
  343. /package/{@tencent → libs/@tencent}/polaris/dist/weak.js +0 -0
  344. /package/{@tencent → libs/@tencent}/polaris/dist/weak.js.map +0 -0
  345. /package/{@tencent → libs/@tencent}/polaris/package.json +0 -0
  346. /package/resource/doc/chatuikit/{iOS → ios}/client_api_iOS.md +0 -0
  347. /package/resource/doc/chatuikit/{iOS → ios}/integrate_tuichat_only_iOS.md +0 -0
  348. /package/resource/doc/chatuikit/{iOS → ios}/integrate_tuikit_iOS.md +0 -0
  349. /package/resource/doc/chatuikit/{iOS → ios}/ui_api_iOS.md +0 -0
  350. /package/resource/doc/tuicallkit/{iOS → ios}/api_TUICallKit.md +0 -0
  351. /package/resource/doc/tuicallkit/{iOS → ios}/api_TUICallObserver.md +0 -0
  352. /package/resource/doc/tuicallkit/{iOS → ios}/how_to_integrated_iOS_callkit.md +0 -0
  353. /package/resource/doc/tuicallkit/{iOS → ios}/how_to_run_iOS_callkit_demo.md +0 -0
@@ -0,0 +1,88 @@
1
+ # atomicx 组件库清单与组件的适用场景与注意事项
2
+
3
+ ## 组件清单
4
+
5
+ 共 25 个组件:
6
+
7
+ ### 适用于聊天场景的组件
8
+
9
+ 1. ConversationList
10
+ 会话列表组件,适用于聊天场景,以纵向列表形态,可以通过点击切换会话,如果仅需要聊天不需要该组件
11
+ 2. MessageInput
12
+ 消息输入组件,聊天场景的核心组件,可以发送聊天消息,需要发送消息则必须使用该组件
13
+ 3. MessageList
14
+ 消息列表组件,聊天场景的核心组件,可以显示聊天消息列表,支持消息的上下滑动,聊天场景必须使用该组件
15
+ 4. ContactList
16
+ 联系人列表组件,适用于聊天场景,可以显示和管理用户联系人,如果仅需要聊天不需要该组件
17
+ 5. ChatSetting
18
+ 聊天设置组件,适用于聊天场景,管理聊天相关配置,比如置顶、免打扰,群聊加人、踢人、管理员管理、禁言等,如果仅需要聊天不需要该组件
19
+ 6. Search
20
+ 搜索组件,用于搜索消息、用户等内容,如果仅需要聊天不需要该组件
21
+
22
+ ### 适用于会议场景的组件
23
+
24
+ 1. CameraButton
25
+ 摄像头控制按钮,仅适用于会议场景,用于开启/关闭摄像头
26
+ 2. StreamView
27
+ 视频流显示组件,仅适用于会议场景,用于显示视频流
28
+ 3. UserList
29
+ 用户列表组件,仅适用于会议场景,显示会议或房间中的用户
30
+ 4. VideoSetting
31
+ 视频设置组件,仅适用于会议场景,用于摄像头、画质等视频配置
32
+ 5. VideoSettingPanel
33
+ 视频设置面板,仅适用于会议场景,提供完整的视频配置界面
34
+ 6. AudioSetting
35
+ 音频设置组件,仅适用于会议场景,可以设置麦克风、音量等音频设备配置
36
+ 7. AudioSettingPanel
37
+ 音频设置面板,仅适用于会议场景,提供完整的音频配置界面
38
+ 8. BarrageInput
39
+ 弹幕输入组件,适用于会议、直播场景,用于发送直播弹幕消息
40
+ 9. BarrageList
41
+ 弹幕列表组件,适用于会议、直播场景,显示直播间的弹幕消息
42
+ 10. UserPicker
43
+ 用户选择器,适用于会议、直播场景,用于邀请用户或分配权限
44
+ 11. MicButton
45
+ 麦克风控制按钮,适用于会议、直播场景,用于静音/取消静音
46
+
47
+
48
+ ### 适用于直播场景的组件
49
+
50
+ 1. CoGuestPanel
51
+ 连麦嘉宾管理面板,仅适用于直播场景,用于直播连麦功能
52
+ 2. LiveAudienceList
53
+ 直播观众列表,仅适用于直播场景,显示当前直播间的观众
54
+ 3. LiveList
55
+ 直播房间列表,仅适用于直播场景,展示可用的直播房间
56
+ 4. LiveMonitorView
57
+ 直播监控视图,仅适用于直播场景,用于直播管理和监控
58
+ 5. LiveScenePanel
59
+ 直播场景控制面板,仅适用于直播场景,管理直播场景和效果
60
+ 6. LiveStreamView
61
+ 直播视频流显示组件,仅适用于直播场景,播放直播画面
62
+ 7. StreamMixer
63
+ 流混合器组件,仅适用于直播场景,用于多路视频流合成
64
+ 8. BarrageInput
65
+ 弹幕输入组件,适用于会议、直播场景,用于发送直播弹幕消息
66
+ 9. BarrageList
67
+ 弹幕列表组件,适用于会议、直播场景,显示直播间的弹幕消息
68
+ 10. UserPicker
69
+ 用户选择器,适用于会议、直播场景,用于邀请用户或分配权限
70
+ 11. MicButton
71
+ 麦克风控制按钮,适用于会议、直播场景,用于静音/取消静音
72
+
73
+ ### 通用组件
74
+
75
+ 1. Avatar
76
+ 通用头像组件,显示用户头像/在线状态/消息未读数
77
+ 2. UserPicker
78
+ 用户选择器,用于发起群聊、发起群视频、群语音等选择用户的场景
79
+
80
+ ## 注意事项
81
+
82
+ 在开始集成任何组件到真实项目之前,**必须**首先确保已经调用以下工具获取到了集成文档,并根据文档进行集成:
83
+
84
+ 1. 当创建真实的项目时,请调用 MCP Tools get_atomicx_integration_guide(framework) 的组件集成文档
85
+ 2. 当选择使用的组件时,应先考虑满足需求的最少组件,再考虑推荐可额外使用的扩展组件,不要放大需求
86
+ 3. 不同场景适用的组件有交集
87
+ 4. 根据用户需求,判断有没有可能是一个综合场景,比如聊天 + 直播,概率较低,应该谨慎
88
+ 5. 如需了解具体组件的使用方法,请询问用户:"你可以问 ${componentname} 怎么用?" 这样的问题
@@ -0,0 +1,256 @@
1
+ ## 概述
2
+
3
+ UserPicker 是一个功能强大的用户选择器组件,支持列表和树形两种显示模式。组件提供了搜索、多选、懒加载、自定义渲染等功能,适用于用户选择、组织架构选择、权限分配等业务场景。组件内置了选择状态管理、搜索过滤、树形展开等复杂逻辑,提供了简洁易用的 API 接口。
4
+
5
+ ## Props 速查表
6
+
7
+ | 字段 | 类型 | 默认值 | 描述 |
8
+ | -------------------- | -------------------------------------------- | -------------------------- | ----------- |
9
+ | displayMode | `'list' \| 'tree'` | 必填 | 显示模式,列表或树形 |
10
+ | dataSource | `UserPickerDataSource<T>` | `[]` | 数据源 |
11
+ | defaultSelectedItems | `Array<{ key: string; [key: string]: any }>` | `[]` | 默认选中项 |
12
+ | lockedItems | `Array<{ key: string; [key: string]: any }>` | `[]` | 锁定项(不可取消选择) |
13
+ | maxCount | `number` | `Number.POSITIVE_INFINITY` | 最大选择数量 |
14
+ | minCount | `number` | `0` | 最小选择数量 |
15
+ | enableSearch | `boolean` | `true` | 是否启用搜索功能 |
16
+ | searchPlaceholder | `string` | `undefined` | 搜索框占位符 |
17
+ | renderItem | `Function` | `undefined` | 自定义渲染函数 |
18
+ | onSelectedChange | `Function` | `undefined` | 选择变化回调 |
19
+ | onMaxCountExceed | `Function` | `undefined` | 超出最大数量回调 |
20
+ | onSearch | `Function` | `undefined` | 搜索回调 |
21
+ | onReachEnd | `Function` | `undefined` | 列表模式滚动到底部回调 |
22
+ | onExpand | `Function` | `undefined` | 树形模式展开回调 |
23
+
24
+ ## Ref expose 方法速查表
25
+
26
+ |方法名 | 参数 | 返回值 | 描述 |
27
+ | -------- | ---- | ---- | ---- |
28
+ | getSelectedItems | 无 | UserPickerResult<T> | 获取当前选中的项目 |
29
+ | updateTreeData | nodeKey: string, partialNode: Partial<UserPickerNode<T>> | void | 更新树形模式节点数据
30
+
31
+ ## Props 详细介绍
32
+
33
+ ### displayMode
34
+
35
+ - `类型`: `'list' | 'tree'`
36
+ - `描述`:组件的显示模式。`list` 模式显示平铺列表,`tree` 模式显示树形结构,支持层级展开和懒加载。
37
+
38
+ ### dataSource
39
+
40
+ - `类型`: `UserPickerDataSource<T>`
41
+ - `描述`:组件的数据源,根据 displayMode 的不同接受不同的数据结构,默认值为 `[]`。
42
+
43
+ ```typescript
44
+ // 列表模式数据结构
45
+ interface UserPickerRow<T = unknown> {
46
+ key: string; // 唯一标识符
47
+ label: string; // 显示名称
48
+ avatarUrl?: string; // 头像URL
49
+ extraData?: T; // 扩展数据
50
+ }
51
+
52
+ // 树形模式数据结构
53
+ interface UserPickerNode<T = unknown> {
54
+ key: string; // 唯一标识符
55
+ label: string; // 显示名称
56
+ isLeafNode: boolean; // 是否为叶子节点
57
+ avatarUrl?: string; // 头像URL
58
+ lazyLoad?: boolean; // 是否支持懒加载
59
+ children?: Array<UserPickerNode<T>>; // 子节点
60
+ extraData?: T; // 扩展数据
61
+ }
62
+
63
+ export type UserPickerDataSource<T = unknown> = Array<UserPickerRow<T>> | Array<UserPickerNode<T>>;
64
+ ```
65
+
66
+ #### Example 1: 列表模式数据源
67
+
68
+ ```vue
69
+ <template>
70
+ <UserPicker
71
+ display-mode="list"
72
+ :data-source="listData"
73
+ @selected-change="handleSelectionChange"
74
+ />
75
+ </template>
76
+
77
+ <script setup lang="ts">
78
+ import { ref } from 'vue';
79
+ import { UserPicker } from 'tuikit-atomicx-vue3';
80
+ import type { UserPickerRow } from 'tuikit-atomicx-vue3/types';
81
+
82
+ // 用户列表数据
83
+ const listData = ref<UserPickerRow[]>([
84
+ {
85
+ key: 'user1',
86
+ label: '张三',
87
+ avatarUrl: 'https://example.com/avatar1.jpg',
88
+ extraData: { department: '技术部', role: '前端工程师' }
89
+ },
90
+ {
91
+ key: 'user2',
92
+ label: '李四',
93
+ avatarUrl: 'https://example.com/avatar2.jpg',
94
+ extraData: { department: '产品部', role: '产品经理' }
95
+ }
96
+ ]);
97
+
98
+ const handleSelectionChange = (selectedItems: any[]) => {
99
+ console.log('选中的用户:', selectedItems);
100
+ };
101
+ </script>
102
+ ```
103
+
104
+ ### defaultSelectedItems
105
+
106
+ - `类型`: `Array<{ key: string; [key: string]: any }>`
107
+ - `描述`:默认选中的项目列表,通过 key 字段标识选中项,默认值为 `[]`。
108
+
109
+ ### lockedItems
110
+
111
+ - `类型`: `Array<{ key: string; [key: string]: any }>`
112
+ - `描述`:锁定的项目列表,这些项目将被强制选中且用户无法取消选择,默认值为 `[]`。
113
+
114
+ ### maxCount
115
+
116
+ - `类型`: `number`
117
+ - `描述`:允许选择的最大数量限制,超出时会触发 onMaxCountExceed 回调,默认值为 `Number.POSITIVE_INFINITY`。
118
+
119
+ ### minCount
120
+
121
+ - `类型`: `number`
122
+ - `描述`:要求选择的最小数量,用于表单验证等场景,默认值为 `0`。
123
+
124
+ ### enableSearch
125
+
126
+ - `类型`: `boolean`
127
+ - `描述`:是否启用搜索功能,启用后会显示搜索框,默认值为 `true`。
128
+
129
+ ### searchPlaceholder
130
+
131
+ - `类型`: `string`
132
+ - `描述`:搜索框的占位符文本,如果不设置则使用默认的国际化文本,默认值为 `undefined`。
133
+
134
+ ### renderItem
135
+
136
+ - `类型`: `(data: UserPickerRow<T> | UserPickerNode<T>) => any`
137
+ - `描述`:自定义项目渲染函数,可以自定义每个选项的显示内容和样式,默认值为 `undefined`。
138
+
139
+ ```typescript
140
+ type RenderItemFunction<T> = (data: UserPickerRow<T> | UserPickerNode<T>) => VNode | string;
141
+ ```
142
+
143
+ #### Example: 自定义渲染函数
144
+
145
+ ```vue
146
+ <template>
147
+ <UserPicker
148
+ display-mode="list"
149
+ :data-source="userData"
150
+ :render-item="customRenderItem"
151
+ />
152
+ </template>
153
+
154
+ <script setup lang="ts">
155
+ import { h } from 'vue';
156
+ import { UserPicker } from 'tuikit-atomicx-vue3';
157
+ import type { UserPickerRow } from 'tuikit-atomicx-vue3/types';
158
+
159
+ const userData = ref<UserPickerRow[]>([
160
+ {
161
+ key: 'user1',
162
+ label: '张三',
163
+ extraData: { status: 'online', department: '技术部' }
164
+ }
165
+ ]);
166
+
167
+ // 自定义渲染函数,显示用户状态和部门信息
168
+ const customRenderItem = (data: UserPickerRow) => {
169
+ return h('div', { class: 'custom-user-item' }, [
170
+ h('div', { class: 'user-name' }, data.label),
171
+ h('div', { class: 'user-info' }, [
172
+ h('span', {
173
+ class: `status ${data.extraData?.status}`
174
+ }, data.extraData?.status === 'online' ? '在线' : '离线'),
175
+ h('span', { class: 'department' }, data.extraData?.department)
176
+ ])
177
+ ]);
178
+ };
179
+ </script>
180
+ ```
181
+
182
+ ### onSelectedChange
183
+
184
+ - `类型`: `(selectedItems: UserPickerResult<T>) => void`
185
+ - `描述`:选择状态变化时的回调函数,会传入当前选中的所有项目,默认值为 `undefined`。应该尽量减少使用避免频繁的触发回调函数。
186
+
187
+ ```typescript
188
+ interface UserPickerResultItem<T = unknown> {
189
+ key: string;
190
+ label: string;
191
+ avatarUrl?: string;
192
+ isLeafNode?: boolean; // 仅树形模式有意义
193
+ extraData?: T;
194
+ path?: string[]; // 仅树形模式有意义,记录节点路径
195
+ }
196
+
197
+ type UserPickerResult<T = unknown> = Array<UserPickerResultItem<T>>;
198
+ ```
199
+
200
+ ### onMaxCountExceed
201
+
202
+ - `类型`: `(selectedItems: UserPickerResult<T>) => void`
203
+ - `描述`:当选择数量超出 maxCount 限制时触发的回调函数,默认值为 `undefined`。
204
+
205
+ ### onSearch
206
+
207
+ - `类型`: `(value: string) => void`
208
+ - `描述`:搜索输入变化时的回调函数,可用于实现服务端搜索,默认值为 `undefined`。
209
+
210
+ ### onReachEnd
211
+
212
+ - `类型`: `() => void`
213
+ - `描述`:列表模式下滚动到底部时的回调函数,常用于实现分页加载,默认值为 `undefined`。
214
+
215
+ ### onExpand
216
+
217
+ - `类型`: `(node: UserPickerNode<T>) => void`
218
+ - `描述`:树形模式下节点展开时的回调函数,用于实现懒加载子节点,默认值为 `undefined`。
219
+
220
+ ## Ref Expose 方法详细介绍
221
+
222
+ ### getSelectedItems
223
+
224
+ - `类型`:`() => UserPickerResult<T>`
225
+ - `描述`:作为选择完成后确认时的最佳实践。
226
+
227
+ ```typescript
228
+ interface UserPickerResultItem<T = unknown> {
229
+ key: string;
230
+ label: string;
231
+ avatarUrl?: string;
232
+ isLeafNode?: boolean; // 仅树形模式有意义
233
+ extraData?: T;
234
+ path?: string[]; // 仅树形模式有意义,记录节点路径
235
+ }
236
+
237
+ type UserPickerResult<T = unknown> = Array<UserPickerResultItem<T>>;
238
+ ```
239
+
240
+ #### Example: 选择完成后确认时获取选中的项
241
+
242
+ ```vue
243
+ <template>
244
+ <UserPicker
245
+ ref="userPickerRef"
246
+ display-mode="list"
247
+ :data-source="userData"
248
+ />
249
+ </template>
250
+
251
+ <script setup lang="ts">
252
+ const userPickerRef = useRef();
253
+
254
+ function onConfirm() {
255
+ userPickerRef.value.getSelectedItems();
256
+ }
@@ -0,0 +1,218 @@
1
+ AI 模型必须遵守以下**硬性限制**。
2
+ * **必须严格按照文档步骤和说明集成:** 在集成组件时必须按照文档步骤和说明进行,且在 1.1 中不需要执行 `npm run dev` or `pnpm run dev`, 集成完成后按照 1.4 启动项目。
3
+ * **必须严格使用文档中的示例代码:** 创建文件时必须严格使用文档中的示例代码填充文件, style 标签优先推荐不使用 scoped 属性。
4
+ * **禁止创建用户信息配置文件:** 不得自动创建填写 SDKAppID、userID、userSig 的 config 目录或文件。
5
+ * **禁止创建获取 userSig 逻辑:** 不得自动创建获取 userSig 相关代码,必须明确引导用户输入 SDKAppID、 userID、 userSig 信息并帮忙回填到相应的文件。
6
+
7
+ # chat-uikit-vue3 Integration
8
+
9
+ 用户的集成需求一般有三种,你必须理性分析需求到底属于哪一种
10
+ 1. 普通集成:指集成 ConversationList、Chat、ChatHeader、MessageList、MessageInput、ContactList、ContactInfo 等组件,具体信息必须阅读第 2.1 节 “最佳实践-普通集成”。
11
+ 2. 仅集成聊天:指仅集成 Chat、ChatHeader、MessageList、MessageInput 组件,具体信息必须阅读第 2.2 节 “最佳实践-仅集成聊天”。
12
+ 3. 集成通话功能等:指在普通集成或仅集成聊天基础上,集成通话功能,具体信息必须阅读第 2.3 节 “最佳实践-集成通话功能等”。
13
+
14
+
15
+ ## 1 普通集成
16
+
17
+ ### 1.1 step1:create vue3 project
18
+
19
+ if you don't have a vue3 project, you can use vite create a vue3 project. otherwise, you can skip this step.
20
+
21
+ requirement: vue3: ^3.0.0, nodejs: ^22.0.0.
22
+
23
+ if it is a new project, guide the user to use vite to create a vue3 project manually, and then continue with step 1.2. if it is an existing project, skip this step and continue with step 1.2.
24
+
25
+ ```bash
26
+ pnpm create vite@latest
27
+ # skip some settings
28
+ cd ${your-vue-project-name}
29
+ pnpm install
30
+ ```
31
+
32
+ ### 1.2 step2: install chat-uikit-vue3
33
+
34
+ use npm or pnpm to install @tencentcloud/chat-uikit-vue3@latest @tencentcloud/call-uikit-vue@latest
35
+
36
+ ### 1.3 step3: add main content to your project
37
+
38
+ ```vue
39
+ <template>
40
+ <UIKitProvider language="zh-CN">
41
+ <div class="chat-layout">
42
+ <div class="sidebar" style="width: 300px;">
43
+ <div class="tab-header">
44
+ <button
45
+ :class="['tab-button', { active: activeTab === 'conversations' }]"
46
+ @click="activeTab = 'conversations'"
47
+ >
48
+ 会话
49
+ </button>
50
+ <button
51
+ :class="['tab-button', { active: activeTab === 'contacts' }]"
52
+ @click="activeTab = 'contacts'"
53
+ >
54
+ 联系人
55
+ </button>
56
+ </div>
57
+
58
+ <div class="tab-content">
59
+ <ConversationList v-if="activeTab === 'conversations'" />
60
+ <ContactList v-else />
61
+ </div>
62
+ </div>
63
+
64
+ <Chat style="flex: 1;" v-if="activeTab === 'conversations'">
65
+ <ChatHeader />
66
+ <MessageList />
67
+ <MessageInput />
68
+ </Chat>
69
+ <ContactInfo v-else style="flex: 1;" @send-message="handleSendMessage" @enter-group="handleSendMessage" />
70
+ </div>
71
+ <Teleport to="body">
72
+ <TUICallKit style="position: fixed; z-index: 1000;"/>
73
+ </Teleport>
74
+ </UIKitProvider>
75
+ </template>
76
+
77
+ <script setup lang="ts">
78
+ import { ref } from 'vue';
79
+ import {
80
+ ConversationList,
81
+ Chat,
82
+ MessageList,
83
+ MessageInput,
84
+ ChatHeader,
85
+ ContactList,
86
+ ContactInfo,
87
+ UIKitProvider,
88
+ useLoginState,
89
+ } from '@tencentcloud/chat-uikit-vue3';
90
+ import { TUICallKit } from '@tencentcloud/call-uikit-vue';
91
+
92
+ const userID = ''; // TODO: Replace with your userID
93
+ const SDKAppID = 0; // TODO: Replace with your SDKAppID (Notice: SDKAppID is of type number)
94
+ const userSig = ''; // TODO: Replace with your userSig
95
+
96
+ const { login } = useLoginState();
97
+
98
+ const activeTab = ref<'conversations' | 'contacts'>('conversations');
99
+
100
+ login({
101
+ sdkAppId : SDKAppID,
102
+ userId: userID,
103
+ userSig: userSig,
104
+ })
105
+ .then(() => {})
106
+
107
+ .catch(() => {});
108
+ const handleSendMessage = () => {
109
+ activeTab.value = 'conversations';
110
+ }
111
+ </script>
112
+
113
+ <style>
114
+ #app{margin:0;padding:0;text-align:left;}.chat-layout{width:100vw;height:100vh;display:flex;}.sidebar{display:flex;flex-direction:column;border-right:1px solid #e5e7eb;}.tab-header{display:flex;border-bottom:1px solid #e5e7eb;}.tab-button{flex:1;padding:12px 16px;background:none;border:none;cursor:pointer;font-size:14px;color:#6b7280;transition:all 0.2s;}.tab-button.active{color:#3b82f6;background-color:#eff6ff;border-bottom:2px solid #3b82f6;}.tab-content{flex:1;overflow:hidden;}
115
+ </style>
116
+ ```
117
+
118
+ ### 1.4 step4: start your project
119
+ ```bash
120
+ pnpm run dev
121
+ ```
122
+
123
+ ## 2. 最佳实践
124
+
125
+ 以下提到的组件通过 MCP Tools get_component_detail ${componenetname.tolowercase()} 获取。
126
+ 以下提到的 state 通过 MCP Tools get_state_detail ${statename.tolowercase()} 获取。
127
+
128
+ ### 2.1 最佳实践-普通集成
129
+
130
+ 普通集成参考 1.3 节中的的代码示例。
131
+
132
+ 重点:
133
+ 1. 如果需要集成 ChatSetting 组件,请阅读 ChatHeader 的 ChatHeaderRight 插槽说明。
134
+
135
+ ### 2.2 最佳实践-仅集成聊天
136
+
137
+ 仅集成聊天视为普通集成但是仅保留 Chat 部分,参考 1.3 节中的的代码示例。但是仅保留 UIKitProvider、Chat、ChatHeader、MessageList、MessageInput 组件:
138
+
139
+ ```vue
140
+ <template>
141
+ <UIKitProvider>
142
+ <Chat style="flex: 1;">
143
+ <ChatHeader />
144
+ <MessageList />
145
+ <MessageInput />
146
+ </Chat>
147
+ </UIKitProvider>
148
+ </template>
149
+ ```
150
+
151
+ 重点:
152
+ 1. 由于仅集成聊天不使用 ConversationList,你需要使用 ConversationListState 的 useConversationListState 获取 activeConversation,然后调用 setActiveConversation 设置 activeConversation。
153
+
154
+
155
+ ```vue
156
+ <script setup lang="ts">
157
+ import { useConversationListState } from '@tencentcloud/chat-uikit-vue3';
158
+
159
+ const { setActiveConversation } = useConversationListState();
160
+
161
+ const conversationID = ref(''); // define by yourself
162
+
163
+ onMounted(() => {
164
+ setActiveConversation(conversationID.value);
165
+ });
166
+ </script>
167
+ ```
168
+
169
+ 重点:
170
+ 2. 如果需要集成 ChatSetting 组件,请阅读 ChatHeader 的 ChatHeaderRight 插槽说明。
171
+
172
+ ### 2.3 最佳实践-集成通话功能等
173
+
174
+ 集成通话功能需要在普通集成或仅集成聊天基础上,添加通话功能的代码。
175
+
176
+ 引入 TUICallKit 组件:
177
+ ```vue
178
+ <script setup lang="ts">
179
+ import { TUICallKit } from '@tencentcloud/call-uikit-vue';
180
+ </script>
181
+ ```
182
+
183
+ 在合适的位置添加 TUICallKit 组件:
184
+ ```vue
185
+ <Teleport to="body">
186
+ <TUICallKit style="position: fixed; z-index: 1000;"/>
187
+ </Teleport>
188
+ ```
189
+
190
+ 重点:
191
+ 1. 需要在 ChatHeader 组件的 ChatHeaderRight 插槽中添加通话按钮。
192
+ 2. 点击通话按钮调用以下方法:
193
+ 2.1 阅读 ConversationListState 文档,通过 activeConversation 判断当前是单聊还是群聊。
194
+ 2.2 如果是单聊,通过 `import { TUICallKitServer, TUICallType } from '@tencentcloud/call-uikit-vue';` 引入 TUICallKitService 服务。通过 TUICallKitService 的 `calls` 方法发起通话。
195
+ ```ts
196
+ try {
197
+ await TUICallKitServer.calls({
198
+ userIDList: [activeConversation.value.userProfile.userID],
199
+ type: TUICallType.VIDEO_CALL, // or TUICallType.AUDIO_CALL
200
+ });
201
+ } catch (error: any) {
202
+ console.error(`[TUICallKit] Failed to call the groupCall API. Reason:${error}`);
203
+ }
204
+ ```
205
+ 2.3 如果是群聊,需要阅读 UserPicker 组件文档,建议结合 Dialog 组件,弹出 UserPicker 组件。
206
+ 阅读 GroupSettingState 文档,结合 GroupSettingState 的 `getGroupMemberList`、`allMembers` 等属性,获取群成员列表。
207
+ ```ts
208
+ try {
209
+ await TUICallKitServer.calls({
210
+ userIDList: selectedItems.map((item: any) => item.key),
211
+ type: TUICallType.VIDEO_CALL, // or TUICallType.AUDIO_CALL
212
+ });
213
+ } catch (error: any) {
214
+ console.error(`[TUICallKit] Failed to call the groupCall API. Reason:${error}`);
215
+ }
216
+ ```
217
+
218
+ 建议:结合 UserPicker 的 reachEnd 事件分页拉取群成员,并使用节流函数控制 `getGroupMemberList` 的调用频率。