@tencent-rtc/mcp 1.0.6 → 1.0.9

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 (342) hide show
  1. package/README.md +4 -4
  2. package/index.js +7 -8
  3. package/index.js.map +1 -1
  4. package/libs/@tencent/aegis-node-sdk/CHANGELOG.md +8 -0
  5. package/libs/@tencent/aegis-node-sdk/LICENSE +21 -0
  6. package/libs/@tencent/aegis-node-sdk/README.md +562 -0
  7. package/libs/@tencent/aegis-node-sdk/lib/aegis.min.js +1 -0
  8. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/constant/config.d.ts +14 -0
  9. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/constant/global.d.ts +1 -0
  10. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/constant/index.d.ts +9 -0
  11. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/constant/report-ignore.d.ts +2 -0
  12. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/core.d.ts +85 -0
  13. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/hooks/afterRequestHooks.d.ts +3 -0
  14. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/hooks/beforeRequestHooks.d.ts +9 -0
  15. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/hooks/modifyRequestHooks.d.ts +3 -0
  16. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/index.d.ts +9 -0
  17. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/interface/config.d.ts +62 -0
  18. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/interface/env.d.ts +11 -0
  19. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/interface/index.d.ts +4 -0
  20. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/interface/log.d.ts +130 -0
  21. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/interface/send.d.ts +34 -0
  22. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/format.d.ts +2 -0
  23. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/index.d.ts +18 -0
  24. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/length-limit.d.ts +8 -0
  25. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/pv.d.ts +8 -0
  26. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/remove-payload.d.ts +2 -0
  27. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/repeat-limit.d.ts +4 -0
  28. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/report.d.ts +10 -0
  29. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/sample.d.ts +3 -0
  30. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/throttle.d.ts +3 -0
  31. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/index.d.ts +34 -0
  32. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/jwt.d.ts +12 -0
  33. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/ot-js.d.ts +14 -0
  34. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/trace/uuid.d.ts +2 -0
  35. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/whitelist.d.ts +12 -0
  36. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/pipes/write-before.d.ts +3 -0
  37. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/plugin.d.ts +33 -0
  38. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/polyfill.d.ts +0 -0
  39. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/util/destroy.d.ts +2 -0
  40. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/util/event-emitter.d.ts +18 -0
  41. package/libs/@tencent/aegis-node-sdk/lib/packages/core/src/util/index.d.ts +60 -0
  42. package/libs/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/index.d.ts +15 -0
  43. package/libs/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/interface/selector.d.ts +5 -0
  44. package/libs/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/pipes/batch-report-pipe.d.ts +6 -0
  45. package/libs/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/protocol/protocol_base.d.ts +18 -0
  46. package/libs/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/protocol/protocol_http.d.ts +12 -0
  47. package/libs/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/selector/ip_selector.d.ts +10 -0
  48. package/libs/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/selector/polaris_selector.d.ts +20 -0
  49. package/libs/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/selector/selector_base.d.ts +27 -0
  50. package/libs/@tencent/aegis-node-sdk/lib/packages/node-sdk/src/util/eval_require.d.ts +2 -0
  51. package/libs/@tencent/aegis-node-sdk/package.json +19 -0
  52. package/libs/@tencent/polaris/README.md +407 -0
  53. package/libs/@tencent/polaris/dist/consumer/health.d.ts +126 -0
  54. package/libs/@tencent/polaris/dist/consumer/health.js +283 -0
  55. package/libs/@tencent/polaris/dist/consumer/health.js.map +1 -0
  56. package/libs/@tencent/polaris/dist/consumer/index.d.ts +120 -0
  57. package/libs/@tencent/polaris/dist/consumer/index.js +348 -0
  58. package/libs/@tencent/polaris/dist/consumer/index.js.map +1 -0
  59. package/libs/@tencent/polaris/dist/consumer/monitor.d.ts +145 -0
  60. package/libs/@tencent/polaris/dist/consumer/monitor.js +343 -0
  61. package/libs/@tencent/polaris/dist/consumer/monitor.js.map +1 -0
  62. package/libs/@tencent/polaris/dist/consumer/selector.d.ts +73 -0
  63. package/libs/@tencent/polaris/dist/consumer/selector.js +316 -0
  64. package/libs/@tencent/polaris/dist/consumer/selector.js.map +1 -0
  65. package/libs/@tencent/polaris/dist/errors.d.ts +373 -0
  66. package/libs/@tencent/polaris/dist/errors.js +154 -0
  67. package/libs/@tencent/polaris/dist/errors.js.map +1 -0
  68. package/libs/@tencent/polaris/dist/global.d.ts +16 -0
  69. package/libs/@tencent/polaris/dist/global.js +18 -0
  70. package/libs/@tencent/polaris/dist/global.js.map +1 -0
  71. package/libs/@tencent/polaris/dist/index.d.ts +62 -0
  72. package/libs/@tencent/polaris/dist/index.js +145 -0
  73. package/libs/@tencent/polaris/dist/index.js.map +1 -0
  74. package/libs/@tencent/polaris/dist/instance.d.ts +109 -0
  75. package/libs/@tencent/polaris/dist/instance.js +38 -0
  76. package/libs/@tencent/polaris/dist/instance.js.map +1 -0
  77. package/libs/@tencent/polaris/dist/limiter/bucket.d.ts +51 -0
  78. package/libs/@tencent/polaris/dist/limiter/bucket.js +152 -0
  79. package/libs/@tencent/polaris/dist/limiter/bucket.js.map +1 -0
  80. package/libs/@tencent/polaris/dist/limiter/index.d.ts +73 -0
  81. package/libs/@tencent/polaris/dist/limiter/index.js +149 -0
  82. package/libs/@tencent/polaris/dist/limiter/index.js.map +1 -0
  83. package/libs/@tencent/polaris/dist/limiter/ratelimit.d.ts +27 -0
  84. package/libs/@tencent/polaris/dist/limiter/ratelimit.js +134 -0
  85. package/libs/@tencent/polaris/dist/limiter/ratelimit.js.map +1 -0
  86. package/libs/@tencent/polaris/dist/limiter/ratelimiter/base.d.ts +17 -0
  87. package/libs/@tencent/polaris/dist/limiter/ratelimiter/base.js +15 -0
  88. package/libs/@tencent/polaris/dist/limiter/ratelimiter/base.js.map +1 -0
  89. package/libs/@tencent/polaris/dist/limiter/ratelimiter/global.d.ts +59 -0
  90. package/libs/@tencent/polaris/dist/limiter/ratelimiter/global.js +397 -0
  91. package/libs/@tencent/polaris/dist/limiter/ratelimiter/global.js.map +1 -0
  92. package/libs/@tencent/polaris/dist/limiter/ratelimiter/index.d.ts +3 -0
  93. package/libs/@tencent/polaris/dist/limiter/ratelimiter/index.js +19 -0
  94. package/libs/@tencent/polaris/dist/limiter/ratelimiter/index.js.map +1 -0
  95. package/libs/@tencent/polaris/dist/limiter/ratelimiter/local.d.ts +17 -0
  96. package/libs/@tencent/polaris/dist/limiter/ratelimiter/local.js +52 -0
  97. package/libs/@tencent/polaris/dist/limiter/ratelimiter/local.js.map +1 -0
  98. package/libs/@tencent/polaris/dist/location.d.ts +48 -0
  99. package/libs/@tencent/polaris/dist/location.js +67 -0
  100. package/libs/@tencent/polaris/dist/location.js.map +1 -0
  101. package/libs/@tencent/polaris/dist/logging.d.ts +106 -0
  102. package/libs/@tencent/polaris/dist/logging.js +130 -0
  103. package/libs/@tencent/polaris/dist/logging.js.map +1 -0
  104. package/libs/@tencent/polaris/dist/metadata.d.ts +78 -0
  105. package/libs/@tencent/polaris/dist/metadata.js +119 -0
  106. package/libs/@tencent/polaris/dist/metadata.js.map +1 -0
  107. package/libs/@tencent/polaris/dist/plugins/breaker/polaris.d.ts +47 -0
  108. package/libs/@tencent/polaris/dist/plugins/breaker/polaris.js +162 -0
  109. package/libs/@tencent/polaris/dist/plugins/breaker/polaris.js.map +1 -0
  110. package/libs/@tencent/polaris/dist/plugins/lb/base.d.ts +24 -0
  111. package/libs/@tencent/polaris/dist/plugins/lb/base.js +32 -0
  112. package/libs/@tencent/polaris/dist/plugins/lb/base.js.map +1 -0
  113. package/libs/@tencent/polaris/dist/plugins/lb/edf.d.ts +24 -0
  114. package/libs/@tencent/polaris/dist/plugins/lb/edf.js +77 -0
  115. package/libs/@tencent/polaris/dist/plugins/lb/edf.js.map +1 -0
  116. package/libs/@tencent/polaris/dist/plugins/lb/hashring.d.ts +24 -0
  117. package/libs/@tencent/polaris/dist/plugins/lb/hashring.js +53 -0
  118. package/libs/@tencent/polaris/dist/plugins/lb/hashring.js.map +1 -0
  119. package/libs/@tencent/polaris/dist/plugins/lb/sticky.d.ts +31 -0
  120. package/libs/@tencent/polaris/dist/plugins/lb/sticky.js +88 -0
  121. package/libs/@tencent/polaris/dist/plugins/lb/sticky.js.map +1 -0
  122. package/libs/@tencent/polaris/dist/plugins/lb/swrr.d.ts +25 -0
  123. package/libs/@tencent/polaris/dist/plugins/lb/swrr.js +72 -0
  124. package/libs/@tencent/polaris/dist/plugins/lb/swrr.js.map +1 -0
  125. package/libs/@tencent/polaris/dist/plugins/lb/wr.d.ts +17 -0
  126. package/libs/@tencent/polaris/dist/plugins/lb/wr.js +50 -0
  127. package/libs/@tencent/polaris/dist/plugins/lb/wr.js.map +1 -0
  128. package/libs/@tencent/polaris/dist/plugins/lb/wrr.d.ts +19 -0
  129. package/libs/@tencent/polaris/dist/plugins/lb/wrr.js +81 -0
  130. package/libs/@tencent/polaris/dist/plugins/lb/wrr.js.map +1 -0
  131. package/libs/@tencent/polaris/dist/plugins/logging/console.d.ts +10 -0
  132. package/libs/@tencent/polaris/dist/plugins/logging/console.js +38 -0
  133. package/libs/@tencent/polaris/dist/plugins/logging/console.js.map +1 -0
  134. package/libs/@tencent/polaris/dist/plugins/naming/local-server/index.d.ts +32 -0
  135. package/libs/@tencent/polaris/dist/plugins/naming/local-server/index.js +88 -0
  136. package/libs/@tencent/polaris/dist/plugins/naming/local-server/index.js.map +1 -0
  137. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/base.d.ts +124 -0
  138. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/base.js +398 -0
  139. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/base.js.map +1 -0
  140. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/discover.d.ts +27 -0
  141. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/discover.js +287 -0
  142. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/discover.js.map +1 -0
  143. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/index.d.ts +15 -0
  144. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/index.js +43 -0
  145. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/index.js.map +1 -0
  146. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/monitor.d.ts +28 -0
  147. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/monitor.js +249 -0
  148. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/monitor.js.map +1 -0
  149. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/ratelimit.d.ts +19 -0
  150. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/ratelimit.js +222 -0
  151. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/adapter/ratelimit.js.map +1 -0
  152. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/bidi.d.ts +26 -0
  153. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/bidi.js +99 -0
  154. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/bidi.js.map +1 -0
  155. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/index.d.ts +60 -0
  156. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/index.js +259 -0
  157. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/index.js.map +1 -0
  158. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/pb/discover.proto +24 -0
  159. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/pb/monitor.proto +18 -0
  160. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/grpc/pb/ratelimit.proto +12 -0
  161. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/http/index.d.ts +39 -0
  162. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/http/index.js +115 -0
  163. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/connector/http/index.js.map +1 -0
  164. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/api.proto +24 -0
  165. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/client.proto +22 -0
  166. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/model.proto +28 -0
  167. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/ratelimit.proto +80 -0
  168. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/request.proto +18 -0
  169. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/response.proto +65 -0
  170. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/routing.proto +66 -0
  171. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/service.proto +95 -0
  172. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/discover-pb/types.d.ts +1568 -0
  173. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/index.d.ts +36 -0
  174. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/index.js +51 -0
  175. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/index.js.map +1 -0
  176. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/api.proto +18 -0
  177. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/circuitbreak.proto +67 -0
  178. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/request.proto +82 -0
  179. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/response.proto +11 -0
  180. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/sdkcache.proto +46 -0
  181. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/sdkconfiguration.proto +16 -0
  182. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/sdktoken.proto +10 -0
  183. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/monitor-pb/types.d.ts +1102 -0
  184. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/pool.d.ts +29 -0
  185. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/pool.js +77 -0
  186. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/pool.js.map +1 -0
  187. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/ratelimit-pb/api.proto +12 -0
  188. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/ratelimit-pb/ratelimit.proto +28 -0
  189. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/ratelimit-pb/types.d.ts +395 -0
  190. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/rules.d.ts +13 -0
  191. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/rules.js +116 -0
  192. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/rules.js.map +1 -0
  193. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/types.d.ts +67 -0
  194. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/types.js +67 -0
  195. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/types.js.map +1 -0
  196. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/utils.d.ts +99 -0
  197. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/utils.js +217 -0
  198. package/libs/@tencent/polaris/dist/plugins/naming/polaris-server/utils.js.map +1 -0
  199. package/libs/@tencent/polaris/dist/plugins/registry/memory.d.ts +10 -0
  200. package/libs/@tencent/polaris/dist/plugins/registry/memory.js +50 -0
  201. package/libs/@tencent/polaris/dist/plugins/registry/memory.js.map +1 -0
  202. package/libs/@tencent/polaris/dist/plugins/router/polaris/nearby.d.ts +51 -0
  203. package/libs/@tencent/polaris/dist/plugins/router/polaris/nearby.js +145 -0
  204. package/libs/@tencent/polaris/dist/plugins/router/polaris/nearby.js.map +1 -0
  205. package/libs/@tencent/polaris/dist/plugins/router/polaris/rule.d.ts +11 -0
  206. package/libs/@tencent/polaris/dist/plugins/router/polaris/rule.js +174 -0
  207. package/libs/@tencent/polaris/dist/plugins/router/polaris/rule.js.map +1 -0
  208. package/libs/@tencent/polaris/dist/plugins/router/trpc/canary.d.ts +25 -0
  209. package/libs/@tencent/polaris/dist/plugins/router/trpc/canary.js +36 -0
  210. package/libs/@tencent/polaris/dist/plugins/router/trpc/canary.js.map +1 -0
  211. package/libs/@tencent/polaris/dist/plugins/router/trpc/env.d.ts +10 -0
  212. package/libs/@tencent/polaris/dist/plugins/router/trpc/env.js +34 -0
  213. package/libs/@tencent/polaris/dist/plugins/router/trpc/env.js.map +1 -0
  214. package/libs/@tencent/polaris/dist/plugins/router/trpc/set.d.ts +56 -0
  215. package/libs/@tencent/polaris/dist/plugins/router/trpc/set.js +106 -0
  216. package/libs/@tencent/polaris/dist/plugins/router/trpc/set.js.map +1 -0
  217. package/libs/@tencent/polaris/dist/plugins/shaping/unirate.d.ts +31 -0
  218. package/libs/@tencent/polaris/dist/plugins/shaping/unirate.js +124 -0
  219. package/libs/@tencent/polaris/dist/plugins/shaping/unirate.js.map +1 -0
  220. package/libs/@tencent/polaris/dist/plugins/shaping/warmup.d.ts +61 -0
  221. package/libs/@tencent/polaris/dist/plugins/shaping/warmup.js +171 -0
  222. package/libs/@tencent/polaris/dist/plugins/shaping/warmup.js.map +1 -0
  223. package/libs/@tencent/polaris/dist/plugins/weight/polaris.d.ts +23 -0
  224. package/libs/@tencent/polaris/dist/plugins/weight/polaris.js +159 -0
  225. package/libs/@tencent/polaris/dist/plugins/weight/polaris.js.map +1 -0
  226. package/libs/@tencent/polaris/dist/plugins.d.ts +619 -0
  227. package/libs/@tencent/polaris/dist/plugins.js +91 -0
  228. package/libs/@tencent/polaris/dist/plugins.js.map +1 -0
  229. package/libs/@tencent/polaris/dist/polaris.d.ts +33 -0
  230. package/libs/@tencent/polaris/dist/polaris.js +59 -0
  231. package/libs/@tencent/polaris/dist/polaris.js.map +1 -0
  232. package/libs/@tencent/polaris/dist/provider/index.d.ts +102 -0
  233. package/libs/@tencent/polaris/dist/provider/index.js +168 -0
  234. package/libs/@tencent/polaris/dist/provider/index.js.map +1 -0
  235. package/libs/@tencent/polaris/dist/registry.d.ts +174 -0
  236. package/libs/@tencent/polaris/dist/registry.js +660 -0
  237. package/libs/@tencent/polaris/dist/registry.js.map +1 -0
  238. package/libs/@tencent/polaris/dist/rules.d.ts +163 -0
  239. package/libs/@tencent/polaris/dist/rules.js +24 -0
  240. package/libs/@tencent/polaris/dist/rules.js.map +1 -0
  241. package/libs/@tencent/polaris/dist/scripts/postinstall.d.ts +1 -0
  242. package/libs/@tencent/polaris/dist/scripts/postinstall.js +71 -0
  243. package/libs/@tencent/polaris/dist/scripts/postinstall.js.map +1 -0
  244. package/libs/@tencent/polaris/dist/service.d.ts +18 -0
  245. package/libs/@tencent/polaris/dist/service.js +3 -0
  246. package/libs/@tencent/polaris/dist/service.js.map +1 -0
  247. package/libs/@tencent/polaris/dist/skeleton.d.ts +87 -0
  248. package/libs/@tencent/polaris/dist/skeleton.js +282 -0
  249. package/libs/@tencent/polaris/dist/skeleton.js.map +1 -0
  250. package/libs/@tencent/polaris/dist/utils.d.ts +36 -0
  251. package/libs/@tencent/polaris/dist/utils.js +74 -0
  252. package/libs/@tencent/polaris/dist/utils.js.map +1 -0
  253. package/libs/@tencent/polaris/dist/weak.d.ts +11 -0
  254. package/libs/@tencent/polaris/dist/weak.js +44 -0
  255. package/libs/@tencent/polaris/dist/weak.js.map +1 -0
  256. package/libs/@tencent/polaris/package.json +114 -0
  257. package/libs/lib-generate-test-usersig-es.min.d.ts +6 -0
  258. package/libs/lib-generate-test-usersig-es.min.js +2 -0
  259. package/package.json +2 -1
  260. package/resource/doc/chatuikit/react/components/avatar.md +137 -0
  261. package/resource/doc/chatuikit/react/components/chat.md +44 -0
  262. package/resource/doc/chatuikit/react/components/chatheader.md +189 -0
  263. package/resource/doc/chatuikit/react/components/component-list.md +48 -0
  264. package/resource/doc/chatuikit/react/components/conversation-list.md +1017 -0
  265. package/resource/doc/chatuikit/react/components/message-input.md +950 -0
  266. package/resource/doc/chatuikit/react/components/message-list.md +485 -0
  267. package/resource/doc/chatuikit/react/components/tuikit.md +80 -0
  268. package/resource/doc/chatuikit/react/create-group.md +23 -0
  269. package/resource/doc/chatuikit/react/integration.md +83 -0
  270. package/resource/doc/chatuikit/react/login.md +26 -0
  271. package/resource/doc/chatuikit/vue/components/avatar.md +137 -0
  272. package/resource/doc/chatuikit/vue/components/chat.md +42 -0
  273. package/resource/doc/chatuikit/vue/components/chatheader.md +189 -0
  274. package/resource/doc/chatuikit/vue/components/component-list.md +102 -0
  275. package/resource/doc/chatuikit/vue/components/conversation-list.md +765 -0
  276. package/resource/doc/chatuikit/vue/components/message-input.md +1272 -0
  277. package/resource/doc/chatuikit/vue/components/message-list.md +662 -0
  278. package/resource/doc/chatuikit/vue/components/tuikit.md +45 -0
  279. package/resource/doc/chatuikit/vue/components/userpicker.md +315 -0
  280. package/resource/doc/chatuikit/vue/create-group.md +25 -0
  281. package/resource/doc/chatuikit/vue/integration.md +256 -0
  282. package/resource/doc/chatuikit/vue/login.md +31 -0
  283. package/resource/doc/chatuikit/vue3/components/MessageInput.md +1272 -0
  284. package/resource/doc/chatuikit/vue3/components/avatar.md +137 -0
  285. package/resource/doc/chatuikit/vue3/components/chatheader.md +189 -0
  286. package/resource/doc/chatuikit/vue3/components/component-list.md +102 -0
  287. package/resource/doc/chatuikit/vue3/components/userpicker.md +315 -0
  288. package/resource/doc/chatuikit/vue3/integration.md +256 -0
  289. package/server.js +10 -181
  290. package/server.js.map +1 -1
  291. package/streamable-http.js +69 -0
  292. package/streamable-http.js.map +1 -0
  293. package/tools/call/get-call-faq.js +32 -0
  294. package/tools/call/get-call-faq.js.map +1 -0
  295. package/tools/call/get-native-call-integration-guide.js +36 -0
  296. package/tools/call/get-native-call-integration-guide.js.map +1 -0
  297. package/tools/call/get-native-call-integration.js +35 -0
  298. package/tools/call/get-native-call-integration.js.map +1 -0
  299. package/tools/call/get-web-call-integration-guide.js +35 -0
  300. package/tools/call/get-web-call-integration-guide.js.map +1 -0
  301. package/tools/call/get-web-call-integration.js +35 -0
  302. package/tools/call/get-web-call-integration.js.map +1 -0
  303. package/tools/chat/create-group.js +30 -0
  304. package/tools/chat/create-group.js.map +1 -0
  305. package/tools/chat/get-chat-faq.js +32 -0
  306. package/tools/chat/get-chat-faq.js.map +1 -0
  307. package/tools/chat/get-native-chat-integration-guide.js +34 -0
  308. package/tools/chat/get-native-chat-integration-guide.js.map +1 -0
  309. package/tools/chat/get-native-chat-integration.js +34 -0
  310. package/tools/chat/get-native-chat-integration.js.map +1 -0
  311. package/tools/chat/get-web-chat-component-detail.js +36 -0
  312. package/tools/chat/get-web-chat-component-detail.js.map +1 -0
  313. package/tools/chat/get-web-chat-integration-guide.js +35 -0
  314. package/tools/chat/get-web-chat-integration-guide.js.map +1 -0
  315. package/tools/chat/get-web-chat-integration.js +37 -0
  316. package/tools/chat/get-web-chat-integration.js.map +1 -0
  317. package/tools/chat/get-web-chat-uikit-login.js +30 -0
  318. package/tools/chat/get-web-chat-uikit-login.js.map +1 -0
  319. package/tools/common/get-usersig.js +35 -0
  320. package/tools/common/get-usersig.js.map +1 -0
  321. package/tools/common/present-framework-choice.js +23 -0
  322. package/tools/common/present-framework-choice.js.map +1 -0
  323. package/tools/common/record-prompt.js +31 -0
  324. package/tools/common/record-prompt.js.map +1 -0
  325. package/tools/common/record-result.js +36 -0
  326. package/tools/common/record-result.js.map +1 -0
  327. package/tools/index.js +41 -0
  328. package/tools/index.js.map +1 -0
  329. package/tools/rtcengine/get-rtcengine-integration-guide.js +33 -0
  330. package/tools/rtcengine/get-rtcengine-integration-guide.js.map +1 -0
  331. package/tools/rtcengine/get-rtcenigne-faq.js +32 -0
  332. package/tools/rtcengine/get-rtcenigne-faq.js.map +1 -0
  333. package/utils/aegis-client.js +8 -0
  334. package/utils/aegis-client.js.map +1 -0
  335. package/utils/generate-usersig.js +14 -0
  336. package/utils/generate-usersig.js.map +1 -0
  337. package/utils/get-doc-content.js +47 -0
  338. package/utils/get-doc-content.js.map +1 -0
  339. package/utils/handle-component-name.js +12 -0
  340. package/utils/handle-component-name.js.map +1 -0
  341. package/utils/handle-framework.js +9 -0
  342. package/utils/handle-framework.js.map +1 -0
@@ -0,0 +1,1017 @@
1
+ # Component Overview
2
+
3
+
4
+ The `ConversationList` component is primarily responsible for the List function. It contains the Header part and List part, and has features such as conversation search, session creation, session pinning, and conversation deletion.
5
+
6
+
7
+ This document introduces in detail the foundation usage, component customization, freely combine and the props parameter list of the component.
8
+ <table>
9
+ <tr>
10
+ <td rowspan="1" colSpan="1" >**Conversation List**</td>
11
+
12
+
13
+ <td rowspan="1" colSpan="1" >**Session Operation**</td>
14
+
15
+
16
+ <td rowspan="1" colSpan="1" >**Conversation Search**</td>
17
+
18
+
19
+ <td rowspan="1" colSpan="1" >**Create Session**</td>
20
+ </tr>
21
+
22
+
23
+ <tr>
24
+ <td rowspan="1" colSpan="1" >![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/c36abe657b2211ef82535254002693fd.png)</td>
25
+
26
+
27
+ <td rowspan="1" colSpan="1" >![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/9b217da57b2211ef852f52540075b605.png)</td>
28
+
29
+
30
+ <td rowspan="1" colSpan="1" >![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/d90a84b27b2211efa87a525400bdab9d.png)</td>
31
+
32
+
33
+ <td rowspan="1" colSpan="1" >![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/07c380377b2311efa87e52540055f650.png)</td>
34
+ </tr>
35
+ </table>
36
+
37
+
38
+
39
+
40
+ ## Component composition
41
+
42
+
43
+ The `ConversationList` component contains the following content:
44
+ -`ConversationSearch` - Conversation Search
45
+
46
+
47
+ - `ConversationList UI` - Conversation List Container
48
+
49
+
50
+ - `ConversationPreview` - Show Session Information
51
+
52
+
53
+ - `ConversationActions` - Conversation Action
54
+
55
+
56
+ ![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/6346335903ce11f0ae895254005ef0f7.png)
57
+
58
+
59
+
60
+
61
+ ## Basic usage
62
+
63
+
64
+ The `ConversationList` component has no required properties. You can use `ConversationList` with the following code.
65
+ ``` typescript
66
+ import { UIKitProvider, ConversationList } from '@tencentcloud/chat-uikit-react';
67
+
68
+
69
+ const App = () => {
70
+ return (
71
+ <UIKitProvider>
72
+ <ConversationList />
73
+ </UIKitProvider>
74
+ );
75
+ };
76
+ ```
77
+
78
+
79
+ ## Custom components
80
+
81
+
82
+ `ConversationList` provides various dimensional Props APIs for user customization, allowing users to customize features, UI, modules and more.
83
+
84
+
85
+ The `ConversationList` component provides multiple replaceable subcomponents, allowing users to customize `Header`, `List`, `ConversationPreview`, `ConversationCreate`, `ConversationSearch`, `ConversationActions`, `Avatar`, `Placeholder`, and more. Meanwhile, users can also use default subcomponents for secondary development customization.
86
+
87
+
88
+ ### Basic feature switch
89
+
90
+
91
+ By setting the `enableSearch`, `enableCreate`, and `enableActions` parameters, you can flexibly control the display of conversation search, session creation, and conversation action features in `ConversationList`.
92
+ ``` typescript
93
+ <ConversationList enableSearch={false} />
94
+ ```
95
+ ``` typescript
96
+ <ConversationList enableCreate={false} />
97
+ ```
98
+ ``` typescript
99
+ <ConversationList enableActions={false} />
100
+ ```
101
+ <table>
102
+ <tr>
103
+ <td rowspan="1" colSpan="1" >`enableSearch={false}`</td>
104
+
105
+
106
+ <td rowspan="1" colSpan="1" >`enableCreate={false}`</td>
107
+
108
+
109
+ <td rowspan="1" colSpan="1" >`enableActions={false}`</td>
110
+ </tr>
111
+
112
+
113
+ <tr>
114
+ <td rowspan="1" colSpan="1" >![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/04e7a7b87b2411efa87a525400bdab9d.png)</td>
115
+
116
+
117
+ <td rowspan="1" colSpan="1" >![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/04eb02137b2411ef82535254002693fd.png)</td>
118
+
119
+
120
+ <td rowspan="1" colSpan="1" >![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/04e843b67b2411ef8829525400fdb830.png)</td>
121
+ </tr>
122
+ </table>
123
+
124
+
125
+
126
+
127
+ ### Data filtering and sorting
128
+
129
+
130
+ The `ConversationList` component provides the `filterConversation` and `sortConversation` properties, allowing you to filter and sort the conversation list data.
131
+
132
+
133
+ #### Filter conversations
134
+
135
+
136
+ To filter conversation list data, you can pass a filter function to the `filterConversation` property. This function receives an array of `ConversationModel` as parameter and should return a new array that only contains conversations meeting your filter criteria.
137
+
138
+
139
+ Here is an example of using the `filterConversation` property to only display conversations with "unread messages":
140
+ ``` typescript
141
+ import { ConversationList } from '@tencentcloud/chat-uikit-react';
142
+ import type { ConversationModel } from '@tencentcloud/chat-uikit-react';
143
+
144
+
145
+ <ConversationList
146
+ filter={(conversationList: ConversationModel[]) =>
147
+ conversationList.filter(conversation => conversation.unreadCount > 0)}
148
+ />
149
+ ```
150
+
151
+
152
+ #### Sort conversations
153
+
154
+
155
+ To sort conversation list data, you can pass a sorting function to the `sortConversation` property. This function receives an array of `ConversationModel` as parameter and should return a new array with sessions sorted by your sorting criteria.
156
+
157
+
158
+ Here is an example of using the `sortConversation` property to sort the session list by "latest news time" in descending order:
159
+ ``` typescript
160
+ import { ConversationList } from '@tencentcloud/chat-uikit-react';
161
+ import type { ConversationModel } from '@tencentcloud/chat-uikit-react';
162
+
163
+
164
+ <ConversationList
165
+ sort={(conversationList: ConversationModel[]) =>
166
+ conversationList.sort(
167
+ (a, b) => (+(b?.lastMessage?.lastTime || 0)) - (+(a?.lastMessage?.lastTime || 0)),
168
+ )}
169
+ />
170
+ ```
171
+
172
+
173
+ By using the `filter` and `sort` properties, you can effectively filter and sort the conversation list data according to your needs.
174
+
175
+
176
+ ### Custom actionsConfig
177
+
178
+
179
+ Leverages [actionsConfig](https://write.woa.com/document/157860973841612800) to control the basic feature of ConversationActions.
180
+
181
+
182
+ For more customization, see the [ConversationActions](https://write.woa.com/document/157860973841612800) chapter.
183
+ ``` typescript
184
+ import { ConversationList } from '@tencentcloud/chat-uikit-react';
185
+ import type { ConversationModel } from '@tencentcloud/chat-uikit-react';
186
+
187
+
188
+ <ConversationList
189
+ actionsConfig={{
190
+ enablePin: false,
191
+ onConversationDelete: (conversation: ConversationModel) => { console.log('Delete conversation success'); },
192
+ customConversationActions: {
193
+ 'custom-actions-1': {
194
+ label: 'custom-actions',
195
+ onClick: (conversation: ConversationModel) => { console.log(conversation); },
196
+ },
197
+ },
198
+ }}
199
+ />
200
+ ```
201
+ <table>
202
+ <tr>
203
+ <td rowspan="1" colSpan="1" >`enablePin: false`</td>
204
+
205
+
206
+ <td rowspan="1" colSpan="1" >`enableDelete: false`</td>
207
+
208
+
209
+ <td rowspan="1" colSpan="1" >`enableMute: false`</td>
210
+
211
+
212
+ <td rowspan="1" colSpan="1" >`customConversationActions`</td>
213
+ </tr>
214
+
215
+
216
+ <tr>
217
+ <td rowspan="1" colSpan="1" >![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/adaf4f4c7b4211efa87e52540055f650.png)</td>
218
+
219
+
220
+ <td rowspan="1" colSpan="1" >![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/d05321b37b4211ef82535254002693fd.png)</td>
221
+
222
+
223
+ <td rowspan="1" colSpan="1" >![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/e45d60e87b4211ef8829525400fdb830.png)</td>
224
+
225
+
226
+ <td rowspan="1" colSpan="1" >![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/fd8cbea27b4211efb9d8525400f69702.png)</td>
227
+ </tr>
228
+ </table>
229
+
230
+
231
+
232
+
233
+ ### Custom Placeholder
234
+
235
+
236
+ You can customize the list display in different statuses by importing `PlaceholderEmptyList`, `PlaceholderLoading`, and `PlaceholderLoadError`.
237
+
238
+
239
+ Here is a custom `PlaceholderLoading` example:
240
+ ``` typescript
241
+ import { ConversationList } from '@tencentcloud/chat-uikit-react';
242
+
243
+
244
+ <ConversationList
245
+ PlaceholderEmptyList={<div>Empty List!!!</div>}
246
+ />
247
+ ```
248
+
249
+
250
+ ### Custom Header
251
+
252
+
253
+ `ConversationListHeader` is responsible for rendering the header part of `ConversationList`, serving as a wrapping layer to render the default `ConversationSearch` and `ConversationCreate`. You can customize it by importing left, right and other attributes, and you can also customize the entire component.
254
+
255
+
256
+ #### Props
257
+ <table>
258
+ <tr>
259
+ <td rowspan="1" colSpan="1" >**Parameter Name**</td>
260
+
261
+
262
+ <td rowspan="1" colSpan="1" >**Type**</td>
263
+
264
+
265
+ <td rowspan="1" colSpan="1" >**Default Value**</td>
266
+
267
+
268
+ <td rowspan="1" colSpan="1" >**Description**</td>
269
+ </tr>
270
+
271
+
272
+ <tr>
273
+ <td rowspan="1" colSpan="1" >children</td>
274
+
275
+
276
+ <td rowspan="1" colSpan="1" >`ReactNode`</td>
277
+
278
+
279
+ <td rowspan="1" colSpan="1" >-</td>
280
+
281
+
282
+ <td rowspan="1" colSpan="1" >Custom session list header center component.<br>When used in `<ConversationList>`, it imports `<ConversationSearch>` and `<ConversationCreate>` by default.</td>
283
+ </tr>
284
+
285
+
286
+ <tr>
287
+ <td rowspan="1" colSpan="1" >left</td>
288
+
289
+
290
+ <td rowspan="1" colSpan="1" >`ReactElement`</td>
291
+
292
+
293
+ <td rowspan="1" colSpan="1" >-</td>
294
+
295
+
296
+ <td rowspan="1" colSpan="1" >Custom session list header left-side component.</td>
297
+ </tr>
298
+
299
+
300
+ <tr>
301
+ <td rowspan="1" colSpan="1" >right</td>
302
+
303
+
304
+ <td rowspan="1" colSpan="1" >`ReactElement`</td>
305
+
306
+
307
+ <td rowspan="1" colSpan="1" >-</td>
308
+
309
+
310
+ <td rowspan="1" colSpan="1" >Custom session list header right-side component.</td>
311
+ </tr>
312
+
313
+
314
+ <tr>
315
+ <td rowspan="1" colSpan="1" >className</td>
316
+
317
+
318
+ <td rowspan="1" colSpan="1" >`String`</td>
319
+
320
+
321
+ <td rowspan="1" colSpan="1" >-</td>
322
+
323
+
324
+ <td rowspan="1" colSpan="1" >Specify the custom name for the root element's CSS class.</td>
325
+ </tr>
326
+
327
+
328
+ <tr>
329
+ <td rowspan="1" colSpan="1" >style</td>
330
+
331
+
332
+ <td rowspan="1" colSpan="1" >`React.CSSProperties`</td>
333
+
334
+
335
+ <td rowspan="1" colSpan="1" >-</td>
336
+
337
+
338
+ <td rowspan="1" colSpan="1" >Specify the custom style for the root element.</td>
339
+ </tr>
340
+ </table>
341
+
342
+
343
+ ### Basic customization
344
+
345
+
346
+ Here is an example of adding a new function button on the right side of the Header Component.
347
+ ``` typescript
348
+ import {
349
+ ConversationList,
350
+ ConversationListHeader,
351
+ } from '@tencentcloud/chat-uikit-react';
352
+ import type { ConversationListHeaderProps } from '@tencentcloud/chat-uikit-react';
353
+
354
+
355
+ const CustomConversationListHeader = (props: ConversationListHeaderProps) => {
356
+ const CustomIcon = <div>Custom Icon</div>;
357
+ return (
358
+ <ConversationListHeader {...props} right={CustomIcon} />
359
+ );
360
+ };
361
+
362
+ <ConversationList Header={CustomConversationListHeader} />
363
+ ```
364
+
365
+
366
+ #### Advanced customization
367
+
368
+
369
+ Here is how to implement a simplified conversation grouping feature, distinguishing by All conversations, unread conversations, one-on-one chat sessions, and group chats across four key dimensions. Click different group buttons to execute different filtering rules.
370
+ <table>
371
+ <tr>
372
+ <td rowspan="1" colSpan="1" >**Before modification**</td>
373
+
374
+
375
+ <td rowspan="1" colSpan="1" >**Modified**</td>
376
+ </tr>
377
+
378
+
379
+ <tr>
380
+ <td rowspan="1" colSpan="1" >![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/d55e54fb7b3511ef852f52540075b605.png)</td>
381
+
382
+
383
+ <td rowspan="1" colSpan="1" >![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/7eaf71657b3511efa87a525400bdab9d.png)![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/8d7252bc7b3511efa87a525400bdab9d.png)![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/aad34b767b3511ef80ff525400d5f8ef.png)![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/bd04478f7b3511ef852f52540075b605.png)</td>
384
+ </tr>
385
+ </table>
386
+
387
+
388
+
389
+
390
+
391
+
392
+
393
+
394
+ [React]
395
+ ``` typescript
396
+ import { useState } from 'react';
397
+ import TUIChatEngine from '@tencentcloud/chat-uikit-engine';
398
+ import { ConversationList, UIKitProvider } from '@tencentcloud/chat-uikit-react';
399
+ import type { ConversationListHeaderProps, ConversationModel } from '@tencentcloud/chat-uikit-react';
400
+
401
+
402
+ const App = () => {
403
+ const [currentFilter, setCurrentFilter] = useState<string>('all');
404
+ const conversationGroupFilter: Record<string, (conversationList: ConversationModel[]) => ConversationModel[]> = {
405
+ all: (conversationList: ConversationModel[]) => conversationList,
406
+ unread: (conversationList: ConversationModel[]) => conversationList?.filter((item: ConversationModel) => item.unreadCount > 0),
407
+ c2c: (conversationList: ConversationModel[]) => conversationList?.filter((item: ConversationModel) => item.type === TUIChatEngine.TYPES.CONV_C2C),
408
+ group: (conversationList: ConversationModel[]) => conversationList?.filter((item: ConversationModel) => item.type === TUIChatEngine.TYPES.CONV_GROUP),
409
+ };
410
+
411
+
412
+ const CustomConversationListHeader = (props: IConversationListHeaderProps) => {
413
+ return (
414
+ <div className="conversation-group-wrapper">
415
+ <button className={currentFilter === 'all' ? 'btn-active' : 'btn-default'} onClick={() => setCurrentFilter('all')}>All</button>
416
+ <button className={currentFilter === 'unread' ? 'btn-active' : 'btn-default'} onClick={() => setCurrentFilter('unread')}>Unread</button>
417
+ <button className={currentFilter === 'c2c' ? 'btn-active' : 'btn-default'} onClick={() => setCurrentFilter('c2c')}>C2C</button>
418
+ <button className={currentFilter === 'group' ? 'btn-active' : 'btn-default'} onClick={() => setCurrentFilter('group')}>Group</button>
419
+ </div>
420
+ );
421
+ };
422
+
423
+
424
+ return (
425
+ <UIKitProvider>
426
+ <ConversationList
427
+ style={{ maxWidth: '300px', height: '600px' }}
428
+ Header={CustomConversationListHeader}
429
+ filter={conversationGroupFilter[currentFilter]}
430
+ />
431
+ </UIKitProvider>
432
+ );
433
+ };
434
+ ```
435
+
436
+
437
+ [CSS]
438
+ ``` scss
439
+ .conversation-group-wrapper {
440
+ display: flex;
441
+ justify-content: space-around;
442
+ align-items: center;
443
+ margin: 10px;
444
+ font-size: 14px;
445
+ .btn-default{
446
+ display: flex;
447
+ padding: 5px 10px;
448
+ border: 1px solid #b3b3b4;
449
+ color: #3b3d43;
450
+ background-color: transparent;
451
+ border-radius: 2px;
452
+ }
453
+ .btn-active{
454
+ display: flex;
455
+ padding: 5px 10px;
456
+ border: 1px solid #1c66e5;
457
+ color: #1c66e5;
458
+ background-color: transparent;
459
+ border-radius: 2px;
460
+ }
461
+ }
462
+ ```
463
+
464
+
465
+ Custom List
466
+
467
+
468
+ `ConversationListContent` is responsible for the rendering work of the main list part in `ConversationList`.
469
+
470
+
471
+ Render the precomputed current session list `filteredAndSortedConversationList` from Context as the default wrapping layer.
472
+
473
+
474
+ #### Props
475
+ <table>
476
+ <tr>
477
+ <td rowspan="1" colSpan="1" >**Parameter Name**</td>
478
+
479
+
480
+ <td rowspan="1" colSpan="1" >**Type**</td>
481
+
482
+
483
+ <td rowspan="1" colSpan="1" >**Default Value**</td>
484
+
485
+
486
+ <td rowspan="1" colSpan="1" >**Description**</td>
487
+ </tr>
488
+
489
+
490
+ <tr>
491
+ <td rowspan="1" colSpan="1" >children</td>
492
+
493
+
494
+ <td rowspan="1" colSpan="1" >`ReactNode`</td>
495
+
496
+
497
+ <td rowspan="1" colSpan="1" >-</td>
498
+
499
+
500
+ <td rowspan="1" colSpan="1" >Custom session list content area component.<br>When used in `<ConversationList>`, it imports the `<Preview>` list traversed by `filteredAndSortedConversationList` by default.</td>
501
+ </tr>
502
+
503
+
504
+ <tr>
505
+ <td rowspan="1" colSpan="1" >empty</td>
506
+
507
+
508
+ <td rowspan="1" colSpan="1" >`Boolean`</td>
509
+
510
+
511
+ <td rowspan="1" colSpan="1" >`false`</td>
512
+
513
+
514
+ <td rowspan="1" colSpan="1" >Conversation list identifier bit. When used in `<ConversationList>`, it judges `filteredAndSortedConversationList.length === 0` and imports it.</td>
515
+ </tr>
516
+
517
+
518
+ <tr>
519
+ <td rowspan="1" colSpan="1" >loading</td>
520
+
521
+
522
+ <td rowspan="1" colSpan="1" >`Boolean`</td>
523
+
524
+
525
+ <td rowspan="1" colSpan="1" >`false`</td>
526
+
527
+
528
+ <td rowspan="1" colSpan="1" >Conversation list loading flag bit. When used in `<ConversationList>`, it uses `useConversationList()` to get `isLoading` and imports it.</td>
529
+ </tr>
530
+
531
+
532
+ <tr>
533
+ <td rowspan="1" colSpan="1" >error</td>
534
+
535
+
536
+ <td rowspan="1" colSpan="1" >`Boolean`</td>
537
+
538
+
539
+ <td rowspan="1" colSpan="1" >`false`</td>
540
+
541
+
542
+ <td rowspan="1" colSpan="1" >Conversation list load error flag bit. When used in `<ConversationList>`, it uses `useConversationList()` to get `isLoadError` and imports it.</td>
543
+ </tr>
544
+
545
+
546
+ <tr>
547
+ <td rowspan="1" colSpan="1" >PlaceholderEmptyList</td>
548
+
549
+
550
+ <td rowspan="1" colSpan="1" >`ReactNode`</td>
551
+
552
+
553
+ <td rowspan="1" colSpan="1" >`<PlaceHolder type={PlaceHolderTypes.NO_CONVERSATIONS} />`</td>
554
+
555
+
556
+ <td rowspan="1" colSpan="1" >Placeholder element when the custom session list is empty.</td>
557
+ </tr>
558
+
559
+
560
+ <tr>
561
+ <td rowspan="1" colSpan="1" >PlaceholderLoading</td>
562
+
563
+
564
+ <td rowspan="1" colSpan="1" >`ReactNode`</td>
565
+
566
+
567
+ <td rowspan="1" colSpan="1" >`<PlaceHolder type={PlaceHolderTypes.LOADING} />`</td>
568
+
569
+
570
+ <td rowspan="1" colSpan="1" >Placeholder element for custom session list loading.</td>
571
+ </tr>
572
+
573
+
574
+ <tr>
575
+ <td rowspan="1" colSpan="1" >PlaceholderLoadError</td>
576
+
577
+
578
+ <td rowspan="1" colSpan="1" >`ReactNode`</td>
579
+
580
+
581
+ <td rowspan="1" colSpan="1" >`<PlaceHolder type={PlaceHolderTypes.WRONG} />`</td>
582
+
583
+
584
+ <td rowspan="1" colSpan="1" >Placeholder element for custom session list load error.</td>
585
+ </tr>
586
+
587
+
588
+ <tr>
589
+ <td rowspan="1" colSpan="1" >className</td>
590
+
591
+
592
+ <td rowspan="1" colSpan="1" >`String`</td>
593
+
594
+
595
+ <td rowspan="1" colSpan="1" >-</td>
596
+
597
+
598
+ <td rowspan="1" colSpan="1" >Specify the custom name for the root element's CSS class.</td>
599
+ </tr>
600
+
601
+
602
+ <tr>
603
+ <td rowspan="1" colSpan="1" >style</td>
604
+
605
+
606
+ <td rowspan="1" colSpan="1" >`React.CSSProperties`</td>
607
+
608
+
609
+ <td rowspan="1" colSpan="1" >-</td>
610
+
611
+
612
+ <td rowspan="1" colSpan="1" >Specify the custom style for the root element.</td>
613
+ </tr>
614
+ </table>
615
+
616
+
617
+
618
+
619
+ Basic customization
620
+
621
+
622
+ The UI effects of the `List` component in different statuses are as follows. The trigger timing for each state is handled inside the `ConversationList`.
623
+
624
+
625
+ Meanwhile, you can control the component status through custom input of `empty`, `loading`, and `error`.
626
+ ``` typescript
627
+ import { ConversationList, ConversationListContent } from '@tencentcloud/chat-uikit-react';
628
+ import type { ConversationListContentProps } from '@tencentcloud/chat-uikit-react';
629
+
630
+
631
+ const CustomConversationListContent = (props: ConversationListContentProps) => {
632
+ return <ConversationListContent {...props} loading={true} />;
633
+ };
634
+
635
+
636
+ <ConversationList List={CustomConversationListContent} />
637
+ ```
638
+ <table>
639
+ <tr>
640
+ <td rowspan="1" colSpan="1" >`default`</td>
641
+
642
+
643
+ <td rowspan="1" colSpan="1" >`empty={true}`</td>
644
+
645
+
646
+ <td rowspan="1" colSpan="1" >`loading={true}`</td>
647
+
648
+
649
+ <td rowspan="1" colSpan="1" >`error={true}`</td>
650
+ </tr>
651
+
652
+
653
+ <tr>
654
+ <td rowspan="1" colSpan="1" >![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/672801bf7b3f11efa87e52540055f650.png)</td>
655
+
656
+
657
+ <td rowspan="1" colSpan="1" >![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/38392e897b3f11efb9d8525400f69702.png)</td>
658
+
659
+
660
+ <td rowspan="1" colSpan="1" >![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/4a40aeb27b3f11ef8631525400a9236a.png)</td>
661
+
662
+
663
+ <td rowspan="1" colSpan="1" >![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027119864/5b245e9b7b3f11efb9d8525400f69702.png)</td>
664
+ </tr>
665
+ </table>
666
+
667
+
668
+
669
+
670
+ Custom ConversationPreview
671
+
672
+
673
+ For details, see the [ConversationPreview](https://write.woa.com/document/157860950620008448) chapter.
674
+ ``` typescript
675
+ <ConversationList ConversationPreview={CustomConversationPreview} />
676
+ ```
677
+
678
+
679
+ Custom ConversationActions
680
+
681
+
682
+ For details, see the [ConversationActions](https://write.woa.com/document/157860973841612800) chapter.
683
+ ``` typescript
684
+ <ConversationList ConversationActions={CustomConversationActions} />
685
+ ```
686
+
687
+
688
+ Custom ConversationSearch
689
+
690
+
691
+ For details, see the [ConversationSearch](https://write.woa.com/document/157860965047783424) chapter.
692
+ ``` typescript
693
+ <ConversationList ConversationSearch={CustomConversationSearch} />
694
+ ```
695
+
696
+
697
+ Create and Bind Policy Query Instance Reset Instance Access Password
698
+ ``` typescript
699
+ <ConversationList ConversationCreate={CustomConversationCreate} />
700
+ ```
701
+
702
+
703
+ Custom Avatar
704
+ ``` typescript
705
+ <ConversationList Avatar={CustomAvatar} />
706
+ ```
707
+
708
+
709
+ ## APIs/Props
710
+ <table>
711
+ <tr>
712
+ <td rowspan="1" colSpan="1" >**Parameter Name**</td>
713
+
714
+
715
+ <td rowspan="1" colSpan="1" >**Type**</td>
716
+
717
+
718
+ <td rowspan="1" colSpan="1" >**Default Value**</td>
719
+
720
+
721
+ <td rowspan="1" colSpan="1" >**Description**</td>
722
+ </tr>
723
+
724
+
725
+ <tr>
726
+ <td rowspan="1" colSpan="1" >enableSearch</td>
727
+
728
+
729
+ <td rowspan="1" colSpan="1" >`Boolean`</td>
730
+
731
+
732
+ <td rowspan="1" colSpan="1" >`true`</td>
733
+
734
+
735
+ <td rowspan="1" colSpan="1" >Whether to display the control session search feature.</td>
736
+ </tr>
737
+
738
+
739
+ <tr>
740
+ <td rowspan="1" colSpan="1" >enableCreate</td>
741
+
742
+
743
+ <td rowspan="1" colSpan="1" >`Boolean`</td>
744
+
745
+
746
+ <td rowspan="1" colSpan="1" >`true`</td>
747
+
748
+
749
+ <td rowspan="1" colSpan="1" >Whether to display the control session creation feature.</td>
750
+ </tr>
751
+
752
+
753
+ <tr>
754
+ <td rowspan="1" colSpan="1" >enableActions</td>
755
+
756
+
757
+ <td rowspan="1" colSpan="1" >`Boolean`</td>
758
+
759
+
760
+ <td rowspan="1" colSpan="1" >`true`</td>
761
+
762
+
763
+ <td rowspan="1" colSpan="1" >Whether to display the conversation action feature.</td>
764
+ </tr>
765
+
766
+
767
+ <tr>
768
+ <td rowspan="1" colSpan="1" >actionsConfig</td>
769
+
770
+
771
+ <td rowspan="1" colSpan="1" >`ConversationActionsConfig`</td>
772
+
773
+
774
+ <td rowspan="1" colSpan="1" >-</td>
775
+
776
+
777
+ <td rowspan="1" colSpan="1" >For custom session operation configuration.</td>
778
+ </tr>
779
+
780
+
781
+ <tr>
782
+ <td rowspan="1" colSpan="1" >Header</td>
783
+
784
+
785
+ <td rowspan="1" colSpan="1" >`ReactElement`</td>
786
+
787
+
788
+ <td rowspan="1" colSpan="1" >`Header`</td>
789
+
790
+
791
+ <td rowspan="1" colSpan="1" >Custom Header component.</td>
792
+ </tr>
793
+
794
+
795
+ <tr>
796
+ <td rowspan="1" colSpan="1" >List</td>
797
+
798
+
799
+ <td rowspan="1" colSpan="1" >`ReactElement`</td>
800
+
801
+
802
+ <td rowspan="1" colSpan="1" >`List`</td>
803
+
804
+
805
+ <td rowspan="1" colSpan="1" >Custom session list component.</td>
806
+ </tr>
807
+
808
+
809
+ <tr>
810
+ <td rowspan="1" colSpan="1" >Preview</td>
811
+
812
+
813
+ <td rowspan="1" colSpan="1" >`ReactElement`</td>
814
+
815
+
816
+ <td rowspan="1" colSpan="1" >[ConversationPreview](https://write.woa.com/document/157860950620008448)</td>
817
+
818
+
819
+ <td rowspan="1" colSpan="1" >Session preview component.</td>
820
+ </tr>
821
+
822
+
823
+ <tr>
824
+ <td rowspan="1" colSpan="1" >ConversationCreate</td>
825
+
826
+
827
+ <td rowspan="1" colSpan="1" >`ReactElement`</td>
828
+
829
+
830
+ <td rowspan="1" colSpan="1" >`ConversationCreate`</td>
831
+
832
+
833
+ <td rowspan="1" colSpan="1" >Custom conversation component.</td>
834
+ </tr>
835
+
836
+
837
+ <tr>
838
+ <td rowspan="1" colSpan="1" >ConversationSearch</td>
839
+
840
+
841
+ <td rowspan="1" colSpan="1" >`ReactElement`</td>
842
+
843
+
844
+ <td rowspan="1" colSpan="1" >[ConversationSearch](https://write.woa.com/document/157860965047783424)</td>
845
+
846
+
847
+ <td rowspan="1" colSpan="1" >Custom session search component.</td>
848
+ </tr>
849
+
850
+
851
+ <tr>
852
+ <td rowspan="1" colSpan="1" >ConversationActions</td>
853
+
854
+
855
+ <td rowspan="1" colSpan="1" >`ReactElement`</td>
856
+
857
+
858
+ <td rowspan="1" colSpan="1" >[ConversationActions](https://write.woa.com/document/157860973841612800)</td>
859
+
860
+
861
+ <td rowspan="1" colSpan="1" >Custom Conversation Operation Component.</td>
862
+ </tr>
863
+
864
+
865
+ <tr>
866
+ <td rowspan="1" colSpan="1" >Avatar</td>
867
+
868
+
869
+ <td rowspan="1" colSpan="1" >`ReactElement`</td>
870
+
871
+
872
+ <td rowspan="1" colSpan="1" >`Avatar`</td>
873
+
874
+
875
+ <td rowspan="1" colSpan="1" >Custom avatar component.</td>
876
+ </tr>
877
+
878
+
879
+ <tr>
880
+ <td rowspan="1" colSpan="1" >PlaceholderEmptyList</td>
881
+
882
+
883
+ <td rowspan="1" colSpan="1" >`ReactNode`</td>
884
+
885
+
886
+ <td rowspan="1" colSpan="1" >`<PlaceHolder type={PlaceHolderTypes.NO_CONVERSATIONS} />`</td>
887
+
888
+
889
+ <td rowspan="1" colSpan="1" >Placeholder element when the custom session list is empty.</td>
890
+ </tr>
891
+
892
+
893
+ <tr>
894
+ <td rowspan="1" colSpan="1" >PlaceholderLoading</td>
895
+
896
+
897
+ <td rowspan="1" colSpan="1" >`ReactNode`</td>
898
+
899
+
900
+ <td rowspan="1" colSpan="1" >`<PlaceHolder type={PlaceHolderTypes.LOADING} />`</td>
901
+
902
+
903
+ <td rowspan="1" colSpan="1" >Placeholder element for custom session list loading.</td>
904
+ </tr>
905
+
906
+
907
+ <tr>
908
+ <td rowspan="1" colSpan="1" >PlaceholderLoadError</td>
909
+
910
+
911
+ <td rowspan="1" colSpan="1" >`ReactNode`</td>
912
+
913
+
914
+ <td rowspan="1" colSpan="1" >`<PlaceHolder type={PlaceHolderTypes.WRONG} />`</td>
915
+
916
+
917
+ <td rowspan="1" colSpan="1" >Placeholder element for custom session list load error.</td>
918
+ </tr>
919
+
920
+
921
+ <tr>
922
+ <td rowspan="1" colSpan="1" >filter</td>
923
+
924
+
925
+ <td rowspan="1" colSpan="1" >`(conversationList: ConversationModel[]) => ConversationModel[]`</td>
926
+
927
+
928
+ <td rowspan="1" colSpan="1" >-</td>
929
+
930
+
931
+ <td rowspan="1" colSpan="1" >Functions for filtering session list.</td>
932
+ </tr>
933
+
934
+
935
+ <tr>
936
+ <td rowspan="1" colSpan="1" >sort</td>
937
+
938
+
939
+ <td rowspan="1" colSpan="1" >`(conversationList: ConversationModel[]) => ConversationModel[]`</td>
940
+
941
+
942
+ <td rowspan="1" colSpan="1" >-</td>
943
+
944
+
945
+ <td rowspan="1" colSpan="1" >Functions for sorting session list.</td>
946
+ </tr>
947
+
948
+
949
+ <tr>
950
+ <td rowspan="1" colSpan="1" >onConversationSelect</td>
951
+
952
+
953
+ <td rowspan="1" colSpan="1" >`(conversation: ConversationModel) => void;`</td>
954
+
955
+
956
+ <td rowspan="1" colSpan="1" >-</td>
957
+
958
+
959
+ <td rowspan="1" colSpan="1" >Callback function when clicking a session, with the clicked conversation object as parameter.</td>
960
+ </tr>
961
+
962
+
963
+ <tr>
964
+ <td rowspan="1" colSpan="1" >onBeforeCreateConversation</td>
965
+
966
+
967
+ <td rowspan="1" colSpan="1" >`(params: CreateParams) => CreateParams;`</td>
968
+
969
+
970
+ <td rowspan="1" colSpan="1" >-</td>
971
+
972
+
973
+ <td rowspan="1" colSpan="1" >Custom action executed before session creation, with required parameters for creating a session.</td>
974
+ </tr>
975
+
976
+
977
+ <tr>
978
+ <td rowspan="1" colSpan="1" >onConversationCreate</td>
979
+
980
+
981
+ <td rowspan="1" colSpan="1" >`(conversation: ConversationModel) => void;`</td>
982
+
983
+
984
+ <td rowspan="1" colSpan="1" >-</td>
985
+
986
+
987
+ <td rowspan="1" colSpan="1" >Callback function after session creation, with the created session object as parameter.</td>
988
+ </tr>
989
+
990
+
991
+ <tr>
992
+ <td rowspan="1" colSpan="1" >className</td>
993
+
994
+
995
+ <td rowspan="1" colSpan="1" >`String`</td>
996
+
997
+
998
+ <td rowspan="1" colSpan="1" >-</td>
999
+
1000
+
1001
+ <td rowspan="1" colSpan="1" >Specify the custom name for the root element's CSS class.</td>
1002
+ </tr>
1003
+
1004
+
1005
+ <tr>
1006
+ <td rowspan="1" colSpan="1" >style</td>
1007
+
1008
+
1009
+ <td rowspan="1" colSpan="1" >`React.CSSProperties`</td>
1010
+
1011
+
1012
+ <td rowspan="1" colSpan="1" >-</td>
1013
+
1014
+
1015
+ <td rowspan="1" colSpan="1" >Specify the custom style for the root element.</td>
1016
+ </tr>
1017
+ </table>