@tencentcloud/sdk-mcp 1.3.4 → 1.3.6

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 (126) hide show
  1. package/index.js +4 -4
  2. package/index.js.map +1 -1
  3. package/package.json +1 -1
  4. package/resource/doc/chatuikit/android/features/theme.md +363 -0
  5. package/resource/doc/chatuikit/{android/client_api_android.md → faq/android_sdk/client-api.md} +0 -1
  6. package/resource/doc/chatuikit/faq/{native_sdk/faq.md → common/product.md} +8 -0
  7. package/resource/doc/chatuikit/faq/flutter_sdk/faq.md +54 -0
  8. package/resource/doc/chatuikit/faq/web_sdk/faq.md +1 -1
  9. package/resource/doc/chatuikit/flutter/features/theme.md +379 -0
  10. package/resource/doc/chatuikit/flutter/workflow.md +816 -0
  11. package/resource/doc/chatuikit/iOS/features/theme.md +416 -0
  12. package/resource/doc/chatuikit/iOS/workflow.md +0 -0
  13. package/resource/doc/chatuikit/react/components/chat-setting.md +124 -0
  14. package/resource/doc/chatuikit/react/components/contact-list.md +1331 -0
  15. package/resource/doc/chatuikit/react/components/search.md +885 -0
  16. package/resource/doc/chatuikit/vue/components/chat-setting.md +88 -0
  17. package/resource/doc/chatuikit/vue/components/contact-list.md +679 -0
  18. package/resource/doc/chatuikit/vue/components/search.md +1384 -0
  19. package/resource/doc/livekit/live/android/workflow.md +137 -4
  20. package/resource/doc/livekit/live/flutter/live-audience-list.md +337 -0
  21. package/resource/doc/livekit/live/flutter/live-audio-effect.md +739 -0
  22. package/resource/doc/livekit/live/flutter/live-barrage.md +578 -0
  23. package/resource/doc/livekit/live/flutter/live-base-beauty.md +484 -0
  24. package/resource/doc/livekit/live/flutter/live-co-guest-interaction.md +606 -0
  25. package/resource/doc/livekit/live/flutter/live-gift.md +812 -0
  26. package/resource/doc/livekit/live/flutter/live-host-interaction.md +1113 -0
  27. package/resource/doc/livekit/live/flutter/live-integration.md +1029 -0
  28. package/resource/doc/livekit/live/flutter/live-live-list.md +861 -0
  29. package/resource/doc/livekit/live/ios/live-audience-list.md +335 -0
  30. package/resource/doc/livekit/live/ios/live-audio-effect.md +373 -0
  31. package/resource/doc/livekit/live/ios/live-barrage.md +529 -0
  32. package/resource/doc/livekit/live/ios/live-base-beauty.md +237 -0
  33. package/resource/doc/livekit/live/ios/live-co-guest-interaction.md +483 -0
  34. package/resource/doc/livekit/live/ios/live-gift.md +785 -0
  35. package/resource/doc/livekit/live/ios/live-host-interaction.md +743 -0
  36. package/resource/doc/livekit/live/ios/live-integration.md +822 -0
  37. package/resource/doc/livekit/live/ios/live-live-list.md +535 -0
  38. package/resource/doc/livekit/live/ios/workflow.md +352 -0
  39. package/resource/doc/rtcengine/faq/web/web.md +2 -2
  40. package/resource/doc/rtcengine/web/how_to_integrated_web_sdk.md +2 -2
  41. package/resource/doc/rtcengine/web/plugin/20-advanced-customized-capture-rendering.md +84 -0
  42. package/resource/doc/rtcengine/web/plugin/21-advanced-auto-play-policy.md +86 -0
  43. package/resource/doc/rtcengine/web/plugin/22-advanced-audio-mixer.md +220 -0
  44. package/resource/doc/rtcengine/web/plugin/23-advanced-support-detection.md +217 -0
  45. package/resource/doc/rtcengine/web/plugin/24-advanced-network-quality.md +137 -0
  46. package/resource/doc/rtcengine/web/plugin/25-advanced-device-change.md +97 -0
  47. package/resource/doc/rtcengine/web/plugin/26-advanced-publish-cdn-stream.md +453 -0
  48. package/resource/doc/rtcengine/web/plugin/27-advanced-small-stream.md +180 -0
  49. package/resource/doc/rtcengine/web/plugin/28-advanced-beauty.md +349 -0
  50. package/resource/doc/rtcengine/web/plugin/29-advanced-water-mark.md +149 -0
  51. package/resource/doc/rtcengine/web/plugin/30-advanced-cross-room-link.md +96 -0
  52. package/resource/doc/rtcengine/web/plugin/31-advanced-plugins-overview.md +405 -0
  53. package/resource/doc/rtcengine/web/plugin/34-advanced-proxy.md +244 -0
  54. package/resource/doc/rtcengine/web/plugin/35-advanced-ai-denoiser.md +84 -0
  55. package/resource/doc/rtcengine/web/plugin/36-advanced-virtual-background.md +202 -0
  56. package/resource/doc/rtcengine/web/plugin/37-advanced-voice-changer.md +98 -0
  57. package/resource/doc/rtcengine/web/plugin/38-advanced-basic-beauty.md +95 -0
  58. package/resource/doc/rtcengine/web/plugin/39-advanced-video-decoder.md +33 -0
  59. package/resource/doc/rtcengine/web/plugin/40-advanced-video-mixer.md +380 -0
  60. package/resource/doc/rtcengine/web/plugin/41-advanced-small-stream-auto-switcher.md +91 -0
  61. package/resource/doc/rtcengine/web/plugin/42-advanced-realtime-transcriber.md +314 -0
  62. package/resource/doc/rtcengine/web/plugin/43-advanced-face-detection.md +180 -0
  63. package/resource/doc/tuicallkit/android/workflow.md +0 -0
  64. package/resource/doc/tuicallkit/flutter/integration.md +510 -0
  65. package/resource/doc/tuicallkit/flutter/workflow.md +331 -0
  66. package/tools/call/get-native-call-integration.js +27 -11
  67. package/tools/call/get-native-call-integration.js.map +1 -1
  68. package/tools/chat/get-native-chat-feature-detail.js +30 -0
  69. package/tools/chat/get-native-chat-feature-detail.js.map +1 -0
  70. package/tools/chat/get-native-chat-integration.js +30 -12
  71. package/tools/chat/get-native-chat-integration.js.map +1 -1
  72. package/tools/common/get-faq.js +2 -4
  73. package/tools/common/get-faq.js.map +1 -1
  74. package/tools/definitions/get_native_call_uikit_integration_def.js +16 -6
  75. package/tools/definitions/get_native_call_uikit_integration_def.js.map +1 -1
  76. package/tools/definitions/get_native_chat_feature_detail_def.js +32 -0
  77. package/tools/definitions/get_native_chat_feature_detail_def.js.map +1 -0
  78. package/tools/definitions/get_native_chat_uikit_integration_def.js +18 -6
  79. package/tools/definitions/get_native_chat_uikit_integration_def.js.map +1 -1
  80. package/tools/definitions/{get_native_live_extra_features_def.js → get_native_live_uikit_extra_features_def.js} +3 -3
  81. package/tools/definitions/get_native_live_uikit_extra_features_def.js.map +1 -0
  82. package/tools/definitions/{get_native_live_interaction_def.js → get_native_live_uikit_interaction_def.js} +3 -3
  83. package/tools/definitions/get_native_live_uikit_interaction_def.js.map +1 -0
  84. package/tools/definitions/get_web_chat_uikit_component_detail_def.js +46 -7
  85. package/tools/definitions/get_web_chat_uikit_component_detail_def.js.map +1 -1
  86. package/tools/index.js +6 -4
  87. package/tools/index.js.map +1 -1
  88. package/tools/live/{get_native_live_extra_features.js → get_native_live_uikit_extra_features.js} +4 -4
  89. package/tools/live/get_native_live_uikit_extra_features.js.map +1 -0
  90. package/tools/live/{get_native_live_interaction.js → get_native_live_uikit_interaction.js} +4 -4
  91. package/tools/live/get_native_live_uikit_interaction.js.map +1 -0
  92. package/tools/rtcengine/get-trtc-web-sdk-faq.js +1 -1
  93. package/tools/rtcengine/get-trtc-web-sdk-plugin.js +45 -0
  94. package/tools/rtcengine/get-trtc-web-sdk-plugin.js.map +1 -0
  95. package/utils/handle-component-name.js +0 -16
  96. package/utils/handle-component-name.js.map +1 -1
  97. package/utils/report-cls-client.js +1 -1
  98. package/utils/report-es-client.js +1 -1
  99. package/resource/doc/chatuikit/android/integrate_tuichat_only_android.md +0 -382
  100. package/resource/doc/chatuikit/android/ui_api_android.md +0 -418
  101. package/resource/doc/chatuikit/iOS/integrate_tuichat_only_iOS.md +0 -993
  102. package/resource/doc/chatuikit/iOS/ui_api_iOS.md +0 -526
  103. package/resource/doc/tuicallkit/flutter/how_to_integrated_flutter_callkit.md +0 -226
  104. package/resource/doc/tuicallkit/flutter/how_to_run_flutter_callkit_demo.md +0 -101
  105. package/resource/doc/tuicallkit/iOS/how_to_run_iOS_callkit_demo.md +0 -98
  106. package/tools/definitions/get_native_live_extra_features_def.js.map +0 -1
  107. package/tools/definitions/get_native_live_interaction_def.js.map +0 -1
  108. package/tools/live/get_native_live_extra_features.js.map +0 -1
  109. package/tools/live/get_native_live_interaction.js.map +0 -1
  110. /package/resource/doc/chatuikit/android/{integrate_tuikit_android.md → integration.md} +0 -0
  111. /package/resource/doc/{tuicallkit/android/.gitkeep → chatuikit/android/workflow.md} +0 -0
  112. /package/resource/doc/chatuikit/{flutter/client_api_Flutter.md → faq/flutter_sdk/client-api.md} +0 -0
  113. /package/resource/doc/chatuikit/{iOS/client_api_iOS.md → faq/ios_sdk/client-api.md} +0 -0
  114. /package/resource/doc/chatuikit/flutter/{integrate_tuikit_Flutter.md → integration.md} +0 -0
  115. /package/resource/doc/chatuikit/iOS/{integrate_tuikit_iOS.md → integration.md} +0 -0
  116. /package/resource/doc/chatuikit/react/components/{chatheader.md → chat-header.md} +0 -0
  117. /package/resource/doc/chatuikit/vue/components/{chatheader.md → chat-header.md} +0 -0
  118. /package/resource/doc/tuicallkit/android/{how_to_integrated_android_callkit.md → integration.md} +0 -0
  119. /package/resource/doc/tuicallkit/{android/api_TUICallObserver.md → faq/android_sdk/call-observer-api.md} +0 -0
  120. /package/resource/doc/tuicallkit/{android/api_TUICallKit.md → faq/android_sdk/callkit-api.md} +0 -0
  121. /package/resource/doc/tuicallkit/{flutter/api_TUICallDefine.md → faq/flutter_sdk/call-define-api.md} +0 -0
  122. /package/resource/doc/tuicallkit/{flutter/api_TUICallObserver.md → faq/flutter_sdk/call-observer-api.md} +0 -0
  123. /package/resource/doc/tuicallkit/{flutter/api_TUICallKit.md → faq/flutter_sdk/callkit-api.md} +0 -0
  124. /package/resource/doc/tuicallkit/{iOS/api_TUICallObserver.md → faq/ios_sdk/call-observer-api.md} +0 -0
  125. /package/resource/doc/tuicallkit/{iOS/api_TUICallKit.md → faq/ios_sdk/callkit-api.md} +0 -0
  126. /package/resource/doc/tuicallkit/iOS/{how_to_integrated_iOS_callkit.md → integration.md} +0 -0
@@ -0,0 +1,679 @@
1
+ ## 概述
2
+
3
+ ContactList 是一个高度可配置的联系人列表组件。该组件支持好友列表、群组列表、黑名单和申请管理,提供分组折叠、搜索过滤、自定义渲染等核心功能,适用于即时通讯、社交应用等场景的联系人管理界面。
4
+
5
+ ![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027116646/e81dc6d883b511f0b6b0525400bf7822.png)
6
+
7
+
8
+ ## ContactList Props
9
+ <table>
10
+ <tr>
11
+ <td rowspan="1" colSpan="1" >字段</td>
12
+
13
+ <td rowspan="1" colSpan="1" >类型</td>
14
+
15
+ <td rowspan="1" colSpan="1" >默认值</td>
16
+
17
+ <td rowspan="1" colSpan="1" >描述</td>
18
+ </tr>
19
+
20
+ <tr>
21
+ <td rowspan="1" colSpan="1" >activeContactItem</td>
22
+
23
+ <td rowspan="1" colSpan="1" >ContactGroupItem \| undefined</td>
24
+
25
+ <td rowspan="1" colSpan="1" >undefined</td>
26
+
27
+ <td rowspan="1" colSpan="1" >当前激活的联系人项</td>
28
+ </tr>
29
+
30
+ <tr>
31
+ <td rowspan="1" colSpan="1" >enableSearch</td>
32
+
33
+ <td rowspan="1" colSpan="1" >boolean</td>
34
+
35
+ <td rowspan="1" colSpan="1" >true</td>
36
+
37
+ <td rowspan="1" colSpan="1" >是否启用搜索功能</td>
38
+ </tr>
39
+
40
+ <tr>
41
+ <td rowspan="1" colSpan="1" >groupConfig</td>
42
+
43
+ <td rowspan="1" colSpan="1" >Partial<Record<ContactItemType, CustomGroupConfig>></td>
44
+
45
+ <td rowspan="1" colSpan="1" >{}</td>
46
+
47
+ <td rowspan="1" colSpan="1" >自定义分组配置</td>
48
+ </tr>
49
+
50
+ <tr>
51
+ <td rowspan="1" colSpan="1" >searchPlaceholder</td>
52
+
53
+ <td rowspan="1" colSpan="1" >string</td>
54
+
55
+ <td rowspan="1" colSpan="1" >'Search contacts'</td>
56
+
57
+ <td rowspan="1" colSpan="1" >搜索框占位符文本</td>
58
+ </tr>
59
+
60
+ <tr>
61
+ <td rowspan="1" colSpan="1" >emptyText</td>
62
+
63
+ <td rowspan="1" colSpan="1" >string</td>
64
+
65
+ <td rowspan="1" colSpan="1" >'No contacts'</td>
66
+
67
+ <td rowspan="1" colSpan="1" >空状态提示文本</td>
68
+ </tr>
69
+
70
+ <tr>
71
+ <td rowspan="1" colSpan="1" >ContactItem</td>
72
+
73
+ <td rowspan="1" colSpan="1" >Component \| undefined</td>
74
+
75
+ <td rowspan="1" colSpan="1" >ContactListItem</td>
76
+
77
+ <td rowspan="1" colSpan="1" >自定义联系人项组件</td>
78
+ </tr>
79
+
80
+ <tr>
81
+ <td rowspan="1" colSpan="1" >ContactSearchComponent</td>
82
+
83
+ <td rowspan="1" colSpan="1" >Component \| undefined</td>
84
+
85
+ <td rowspan="1" colSpan="1" >ContactSearch</td>
86
+
87
+ <td rowspan="1" colSpan="1" >自定义搜索组件</td>
88
+ </tr>
89
+
90
+ <tr>
91
+ <td rowspan="1" colSpan="1" >GroupHeader</td>
92
+
93
+ <td rowspan="1" colSpan="1" >Component \| undefined</td>
94
+
95
+ <td rowspan="1" colSpan="1" >默认分组头</td>
96
+
97
+ <td rowspan="1" colSpan="1" >自定义分组头部组件</td>
98
+ </tr>
99
+
100
+ <tr>
101
+ <td rowspan="1" colSpan="1" >PlaceholderEmptyList</td>
102
+
103
+ <td rowspan="1" colSpan="1" >Component \| undefined</td>
104
+
105
+ <td rowspan="1" colSpan="1" >默认空状态</td>
106
+
107
+ <td rowspan="1" colSpan="1" >自定义空状态组件</td>
108
+ </tr>
109
+
110
+ <tr>
111
+ <td rowspan="1" colSpan="1" >onContactItemClick</td>
112
+
113
+ <td rowspan="1" colSpan="1" >(item: ContactGroupItem) => void</td>
114
+
115
+ <td rowspan="1" colSpan="1" >undefined</td>
116
+
117
+ <td rowspan="1" colSpan="1" >联系人项点击事件</td>
118
+ </tr>
119
+
120
+ <tr>
121
+ <td rowspan="1" colSpan="1" >onFriendApplicationAction</td>
122
+
123
+ <td rowspan="1" colSpan="1" >(action: 'accept' \| 'refuse', application: FriendApplication) => void</td>
124
+
125
+ <td rowspan="1" colSpan="1" >undefined</td>
126
+
127
+ <td rowspan="1" colSpan="1" >好友申请操作事件</td>
128
+ </tr>
129
+
130
+ <tr>
131
+ <td rowspan="1" colSpan="1" >onGroupApplicationAction</td>
132
+
133
+ <td rowspan="1" colSpan="1" >(action: 'accept' \| 'refuse', application: GroupApplication) => void</td>
134
+
135
+ <td rowspan="1" colSpan="1" >undefined</td>
136
+
137
+ <td rowspan="1" colSpan="1" >群组申请操作事件</td>
138
+ </tr>
139
+ </table>
140
+
141
+
142
+ ## ContactList Events
143
+ <table>
144
+ <tr>
145
+ <td rowspan="1" colSpan="1" >事件名</td>
146
+
147
+ <td rowspan="1" colSpan="1" >参数</td>
148
+
149
+ <td rowspan="1" colSpan="1" >描述</td>
150
+ </tr>
151
+
152
+ <tr>
153
+ <td rowspan="1" colSpan="1" >contact-item-click</td>
154
+
155
+ <td rowspan="1" colSpan="1" >(item: ContactGroupItem)</td>
156
+
157
+ <td rowspan="1" colSpan="1" >联系人项点击事件</td>
158
+ </tr>
159
+
160
+ <tr>
161
+ <td rowspan="1" colSpan="1" >friend-application-action</td>
162
+
163
+ <td rowspan="1" colSpan="1" >(action: 'accept' \| 'refuse', application: FriendApplication)</td>
164
+
165
+ <td rowspan="1" colSpan="1" >好友申请操作事件</td>
166
+ </tr>
167
+
168
+ <tr>
169
+ <td rowspan="1" colSpan="1" >group-application-action</td>
170
+
171
+ <td rowspan="1" colSpan="1" >(action: 'accept' \| 'refuse', application: GroupApplication)</td>
172
+
173
+ <td rowspan="1" colSpan="1" >群组申请操作事件</td>
174
+ </tr>
175
+ </table>
176
+
177
+
178
+ ## ContactInfo Props
179
+ <table>
180
+ <tr>
181
+ <td rowspan="1" colSpan="1" >字段</td>
182
+
183
+ <td rowspan="1" colSpan="1" >类型</td>
184
+
185
+ <td rowspan="1" colSpan="1" >默认值</td>
186
+
187
+ <td rowspan="1" colSpan="1" >描述</td>
188
+ </tr>
189
+
190
+ <tr>
191
+ <td rowspan="1" colSpan="1" >contactItem</td>
192
+
193
+ <td rowspan="1" colSpan="1" >ContactGroupItem \| undefined</td>
194
+
195
+ <td rowspan="1" colSpan="1" >undefined</td>
196
+
197
+ <td rowspan="1" colSpan="1" >当前显示的联系人项</td>
198
+ </tr>
199
+
200
+ <tr>
201
+ <td rowspan="1" colSpan="1" >showActions</td>
202
+
203
+ <td rowspan="1" colSpan="1" >boolean</td>
204
+
205
+ <td rowspan="1" colSpan="1" >true</td>
206
+
207
+ <td rowspan="1" colSpan="1" >是否显示操作按钮</td>
208
+ </tr>
209
+
210
+ <tr>
211
+ <td rowspan="1" colSpan="1" >PlaceholderEmpty</td>
212
+
213
+ <td rowspan="1" colSpan="1" >Component \| undefined</td>
214
+
215
+ <td rowspan="1" colSpan="1" >undefined</td>
216
+
217
+ <td rowspan="1" colSpan="1" >空状态占位组件</td>
218
+ </tr>
219
+
220
+ <tr>
221
+ <td rowspan="1" colSpan="1" >FriendInfoComponent</td>
222
+
223
+ <td rowspan="1" colSpan="1" >Component</td>
224
+
225
+ <td rowspan="1" colSpan="1" >FriendInfo</td>
226
+
227
+ <td rowspan="1" colSpan="1" >好友信息组件</td>
228
+ </tr>
229
+
230
+ <tr>
231
+ <td rowspan="1" colSpan="1" >GroupInfoComponent</td>
232
+
233
+ <td rowspan="1" colSpan="1" >Component</td>
234
+
235
+ <td rowspan="1" colSpan="1" >GroupInfo</td>
236
+
237
+ <td rowspan="1" colSpan="1" >群组信息组件</td>
238
+ </tr>
239
+
240
+ <tr>
241
+ <td rowspan="1" colSpan="1" >BlacklistInfoComponent</td>
242
+
243
+ <td rowspan="1" colSpan="1" >Component</td>
244
+
245
+ <td rowspan="1" colSpan="1" >BlacklistInfo</td>
246
+
247
+ <td rowspan="1" colSpan="1" >黑名单信息组件</td>
248
+ </tr>
249
+
250
+ <tr>
251
+ <td rowspan="1" colSpan="1" >FriendApplicationInfoComponent</td>
252
+
253
+ <td rowspan="1" colSpan="1" >Component</td>
254
+
255
+ <td rowspan="1" colSpan="1" >FriendApplicationInfo</td>
256
+
257
+ <td rowspan="1" colSpan="1" >好友申请信息组件</td>
258
+ </tr>
259
+
260
+ <tr>
261
+ <td rowspan="1" colSpan="1" >GroupApplicationInfoComponent</td>
262
+
263
+ <td rowspan="1" colSpan="1" >Component</td>
264
+
265
+ <td rowspan="1" colSpan="1" >GroupApplicationInfo</td>
266
+
267
+ <td rowspan="1" colSpan="1" >群组申请信息组件</td>
268
+ </tr>
269
+
270
+ <tr>
271
+ <td rowspan="1" colSpan="1" >SearchGroupInfoComponent</td>
272
+
273
+ <td rowspan="1" colSpan="1" >Component</td>
274
+
275
+ <td rowspan="1" colSpan="1" >SearchGroupInfo</td>
276
+
277
+ <td rowspan="1" colSpan="1" >搜索群组信息组件</td>
278
+ </tr>
279
+
280
+ <tr>
281
+ <td rowspan="1" colSpan="1" >SearchUserInfoComponent</td>
282
+
283
+ <td rowspan="1" colSpan="1" >Component</td>
284
+
285
+ <td rowspan="1" colSpan="1" >SearchUserInfo</td>
286
+
287
+ <td rowspan="1" colSpan="1" >搜索用户信息组件</td>
288
+ </tr>
289
+ </table>
290
+
291
+
292
+ ## ContactInfo Events
293
+ <table>
294
+ <tr>
295
+ <td rowspan="1" colSpan="1" >事件名</td>
296
+
297
+ <td rowspan="1" colSpan="1" >参数</td>
298
+
299
+ <td rowspan="1" colSpan="1" >描述</td>
300
+ </tr>
301
+
302
+ <tr>
303
+ <td rowspan="1" colSpan="1" >close</td>
304
+
305
+ <td rowspan="1" colSpan="1" >-</td>
306
+
307
+ <td rowspan="1" colSpan="1" >关闭信息面板事件</td>
308
+ </tr>
309
+
310
+ <tr>
311
+ <td rowspan="1" colSpan="1" >sendMessage</td>
312
+
313
+ <td rowspan="1" colSpan="1" >(friend: Friend)</td>
314
+
315
+ <td rowspan="1" colSpan="1" >发送消息事件</td>
316
+ </tr>
317
+
318
+ <tr>
319
+ <td rowspan="1" colSpan="1" >deleteFriend</td>
320
+
321
+ <td rowspan="1" colSpan="1" >(friend: Friend)</td>
322
+
323
+ <td rowspan="1" colSpan="1" >删除好友事件</td>
324
+ </tr>
325
+
326
+ <tr>
327
+ <td rowspan="1" colSpan="1" >addToBlacklist</td>
328
+
329
+ <td rowspan="1" colSpan="1" >(friend: Friend)</td>
330
+
331
+ <td rowspan="1" colSpan="1" >添加到黑名单事件</td>
332
+ </tr>
333
+
334
+ <tr>
335
+ <td rowspan="1" colSpan="1" >removeFromBlacklist</td>
336
+
337
+ <td rowspan="1" colSpan="1" >(profile: UserProfile)</td>
338
+
339
+ <td rowspan="1" colSpan="1" >从黑名单移除事件</td>
340
+ </tr>
341
+
342
+ <tr>
343
+ <td rowspan="1" colSpan="1" >updateFriendRemark</td>
344
+
345
+ <td rowspan="1" colSpan="1" >(friend: Friend)</td>
346
+
347
+ <td rowspan="1" colSpan="1" >更新好友备注事件</td>
348
+ </tr>
349
+
350
+ <tr>
351
+ <td rowspan="1" colSpan="1" >enterGroup</td>
352
+
353
+ <td rowspan="1" colSpan="1" >(group: GroupModel)</td>
354
+
355
+ <td rowspan="1" colSpan="1" >进入群组事件</td>
356
+ </tr>
357
+
358
+ <tr>
359
+ <td rowspan="1" colSpan="1" >leaveGroup</td>
360
+
361
+ <td rowspan="1" colSpan="1" >(group: GroupModel)</td>
362
+
363
+ <td rowspan="1" colSpan="1" >退出群组事件</td>
364
+ </tr>
365
+
366
+ <tr>
367
+ <td rowspan="1" colSpan="1" >dismissGroup</td>
368
+
369
+ <td rowspan="1" colSpan="1" >(group: GroupModel)</td>
370
+
371
+ <td rowspan="1" colSpan="1" >解散群组事件</td>
372
+ </tr>
373
+
374
+ <tr>
375
+ <td rowspan="1" colSpan="1" >friendApplicationAction</td>
376
+
377
+ <td rowspan="1" colSpan="1" >(action: 'accept' \| 'refuse', application: FriendApplication)</td>
378
+
379
+ <td rowspan="1" colSpan="1" >好友申请操作事件</td>
380
+ </tr>
381
+
382
+ <tr>
383
+ <td rowspan="1" colSpan="1" >groupApplicationAction</td>
384
+
385
+ <td rowspan="1" colSpan="1" >(action: 'accept' \| 'refuse', application: GroupApplication)</td>
386
+
387
+ <td rowspan="1" colSpan="1" >群组申请操作事件</td>
388
+ </tr>
389
+
390
+ <tr>
391
+ <td rowspan="1" colSpan="1" >addFriend</td>
392
+
393
+ <td rowspan="1" colSpan="1" >(user: UserProfile, wording: string)</td>
394
+
395
+ <td rowspan="1" colSpan="1" >添加好友事件</td>
396
+ </tr>
397
+
398
+ <tr>
399
+ <td rowspan="1" colSpan="1" >joinGroup</td>
400
+
401
+ <td rowspan="1" colSpan="1" >(group: GroupModel, note: string)</td>
402
+
403
+ <td rowspan="1" colSpan="1" >加入群组事件</td>
404
+ </tr>
405
+ </table>
406
+
407
+
408
+ ## 基础用法
409
+ ``` typescript
410
+ <template>
411
+ <div class="contact-container">
412
+ <ContactList />
413
+ <ContactInfo />
414
+ </div>
415
+ </template>
416
+
417
+ <script setup lang="ts">
418
+ import { ContactList, ContactInfo } from '@tencentcloud/chat-uikit-vue3';
419
+ </script>
420
+
421
+ <style scoped>
422
+ .contact-container {
423
+ display: flex;
424
+ height: 100vh;
425
+ }
426
+ </style>
427
+ ```
428
+
429
+ ## 自定义
430
+
431
+ ### 自定义联系列表搜索功能开关
432
+
433
+ 通过设置 `enableSearch` 参数,您可以灵活地控制 ContactList 中的搜索好友群组功能的显示。
434
+ ``` typescript
435
+ <template>
436
+ <ContactList :enableSearch="false" />
437
+ </template>
438
+ ```
439
+ <table>
440
+ <tr>
441
+ <td rowspan="1" colSpan="1" >enableSearch="true"</td>
442
+
443
+ <td rowspan="1" colSpan="1" >enableSearch="false"</td>
444
+ </tr>
445
+
446
+ <tr>
447
+ <td rowspan="1" colSpan="1" ><br>![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027116646/0f52214383ad11f0b321525400e889b2.png)</td>
448
+
449
+ <td rowspan="1" colSpan="1" ><br>![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027116646/ed273b0683ac11f0818a52540099c741.png)</td>
450
+ </tr>
451
+ </table>
452
+
453
+
454
+ ### 自定义联系列表联系人分组配置
455
+
456
+ `groupConfig` 用于自定义分组配置,包括标题、显示顺序、隐藏分组等。
457
+ ``` typescript
458
+ <template>
459
+ <ContactList :groupConfig="customGroupConfig" />
460
+ </template>
461
+
462
+ <script setup lang="ts">
463
+ import { ContactList } from '@tencentcloud/chat-uikit-vue3';
464
+ import { ContactItemType } from '@tencentcloud/chat-uikit-vue3';
465
+
466
+ const customGroupConfig = {
467
+ [ContactItemType.FRIEND]: {
468
+ title: '我的朋友们',
469
+ order: 1,
470
+ },
471
+ [ContactItemType.GROUP]: {
472
+ title: '群聊列表',
473
+ order: 2,
474
+ },
475
+ [ContactItemType.BLACK]: {
476
+ hidden: true,
477
+ },
478
+ [ContactItemType.FRIEND_REQUEST]: {
479
+ title: '好友请求',
480
+ order: 0,
481
+ }
482
+ };
483
+ </script>
484
+ ```
485
+ <table>
486
+ <tr>
487
+ <td rowspan="1" colSpan="1" >修改前</td>
488
+
489
+ <td rowspan="1" colSpan="1" >修改后</td>
490
+ </tr>
491
+
492
+ <tr>
493
+ <td rowspan="1" colSpan="1" ><br>![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027116646/0f52214383ad11f0b321525400e889b2.png)</td>
494
+
495
+ <td rowspan="1" colSpan="1" ><br>![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027116646/c127e97583ad11f0818a52540099c741.png)</td>
496
+ </tr>
497
+ </table>
498
+
499
+
500
+ ### 自定义联系列表子项
501
+
502
+ 您可以通过传入自定义的 `ContactItem` 组件来完全控制联系人列表项的渲染。
503
+ ``` typescript
504
+ <template>
505
+ <div class="custom-contact-item" @click="handleClick">
506
+ <label>自定义联系人</label>
507
+ <span v-if="props.contactItem.type === ContactItemType.FRIEND">{{ props.contactItem.data.nick }}</span>
508
+ <span v-if="props.contactItem.type === ContactItemType.GROUP">{{ props.contactItem.data.name }}</span>
509
+ </div>
510
+ </template>
511
+ <script setup lang="ts">
512
+ import { ContactItemType } from '@tencentcloud/chat-uikit-vue3';
513
+
514
+ const props = defineProps<{
515
+ contactItem: any;
516
+ }>();
517
+ const emit = defineEmits<{
518
+ click: [type: ContactItemType, item: any];
519
+ }>();
520
+ const handleClick = () => {
521
+ emit('click', props.contactItem.type, props.contactItem.data);
522
+ };
523
+ </script>
524
+ <style scoped>
525
+ .custom-contact-item {
526
+ display: flex;
527
+ align-items: center;
528
+ gap: 10px;
529
+ padding: 10px 20px;
530
+ border-bottom: 1px solid #eee;
531
+ }
532
+ </style>
533
+
534
+ ```
535
+ ``` typescript
536
+ <template>
537
+ <ContactList :ContactItem="CustomContactItem" />
538
+ </template>
539
+
540
+ <script setup lang="ts">
541
+ import { ContactList } from '@tencentcloud/chat-uikit-vue3';
542
+ import CustomContactItem from './CustomContactItem.vue';
543
+ </script>
544
+ ```
545
+ <table>
546
+ <tr>
547
+ <td rowspan="1" colSpan="1" >修改前</td>
548
+
549
+ <td rowspan="1" colSpan="1" >修改后</td>
550
+ </tr>
551
+
552
+ <tr>
553
+ <td rowspan="1" colSpan="1" ><br>![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027116646/fc596af883af11f093f45254005ef0f7.png)</td>
554
+
555
+ <td rowspan="1" colSpan="1" >![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027116646/e990a2d983af11f0ae9d5254001c06ec.png)</td>
556
+ </tr>
557
+ </table>
558
+
559
+
560
+ ### 自定义联系人详情操作按钮开关
561
+
562
+ 通过设置 `showActions` 参数,您可以控制联系人详情页面中操作按钮的显示。
563
+ ``` typescript
564
+ <template>
565
+ <ContactInfo
566
+ :showActions="false"
567
+ />
568
+ </template>
569
+ ```
570
+ <table>
571
+ <tr>
572
+ <td rowspan="1" colSpan="1" >修改前</td>
573
+
574
+ <td rowspan="1" colSpan="1" >修改后</td>
575
+ </tr>
576
+
577
+ <tr>
578
+ <td rowspan="1" colSpan="1" ><br>![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027116646/26c5a53f83b011f0818a52540099c741.png)</td>
579
+
580
+ <td rowspan="1" colSpan="1" ><br>![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027116646/4f25ef6b83b011f0b6b0525400bf7822.png)</td>
581
+ </tr>
582
+ </table>
583
+
584
+
585
+ ### 自定义联系人详情空状态
586
+
587
+ 当没有选中任何联系人时,您可以自定义显示的空状态组件。
588
+ ``` typescript
589
+ <template>
590
+ <div>
591
+ 自定义空状态
592
+ </div>
593
+ </template>
594
+ ```
595
+ ``` typescript
596
+ <template>
597
+ <ContactInfo
598
+ :PlaceholderEmpty="CustomEmpty"
599
+ />
600
+ </template>
601
+
602
+ <script setup lang="ts">
603
+ import { ContactList } from '@tencentcloud/chat-uikit-vue3';
604
+ import CustomEmpty from './CustomEmpty.vue';
605
+ </script>
606
+ ```
607
+
608
+ ### 自定义好友详情组件
609
+
610
+ 您可以为不同类型的联系人自定义详情显示组件。
611
+ ``` typescript
612
+ <template>
613
+ <div class="custom-contact-info">
614
+ <label>自定义好友详情</label>
615
+ <div class="friend-info">
616
+ <img
617
+ class="avatar"
618
+ :src="friend.avatar"
619
+ alt=""
620
+ >
621
+ <span>{{ friend.nick }}</span>
622
+ </div>
623
+ </div>
624
+ </template>
625
+ <script setup lang="ts">
626
+ import type { Friend } from '@tencentcloud/chat-uikit-vue3';
627
+
628
+ defineProps<{
629
+ friend: Friend;
630
+ }>();
631
+ </script>
632
+ <style scoped>
633
+ .custom-contact-info {
634
+ display: flex;
635
+ flex-direction: column;
636
+ gap: 10px;
637
+ padding: 20px;
638
+ }
639
+ .friend-info {
640
+ display: flex;
641
+ justify-content: space-between;
642
+ align-items: center;
643
+ gap: 10px;
644
+ }
645
+ .avatar {
646
+ width: 60px;
647
+ height: 60px;
648
+ border-radius: 50%
649
+ }
650
+ </style>
651
+
652
+ ```
653
+ ``` typescript
654
+ <template>
655
+ <ContactInfo
656
+ :FriendInfoComponent="CustomFriendInfo"
657
+ />
658
+ </template>
659
+
660
+ <script setup lang="ts">
661
+ import { defineComponent, h } from 'vue';
662
+ import type { FriendInfoProps, GroupInfoProps } from '@tencentcloud/chat-uikit-vue3';
663
+ import CustomFriendInfo from './CustomFriendInfo.vue';
664
+ </script>
665
+ ```
666
+ <table>
667
+ <tr>
668
+ <td rowspan="1" colSpan="1" >修改前</td>
669
+
670
+ <td rowspan="1" colSpan="1" >修改后</td>
671
+ </tr>
672
+
673
+ <tr>
674
+ <td rowspan="1" colSpan="1" ><br>![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027116646/d853594483b211f0818a52540099c741.png)</td>
675
+
676
+ <td rowspan="1" colSpan="1" ><br>![](https://write-document-release-1258344699.cos.ap-guangzhou.tencentcos.cn/100027116646/c084ae7b83b211f0992e52540044a08e.png)</td>
677
+ </tr>
678
+ </table>
679
+