@aochuang/client-sdk 1.0.278

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 (366) hide show
  1. package/README.md +93 -0
  2. package/common/avatar/avatar.vue +86 -0
  3. package/common/avatar/index.js +3 -0
  4. package/common/badge/badge.vue +105 -0
  5. package/common/badge/index.js +3 -0
  6. package/common/context-menu/context-menu-box.vue +61 -0
  7. package/common/context-menu/context-menu-group.vue +162 -0
  8. package/common/context-menu/context-menu-item.vue +179 -0
  9. package/common/context-menu/context-menu.vue +201 -0
  10. package/common/context-menu/index.js +3 -0
  11. package/common/context-menu/utils.js +138 -0
  12. package/common/friend-avatar/default.svg +1 -0
  13. package/common/friend-avatar/friend-avatar.vue +29 -0
  14. package/common/friend-avatar/index.js +3 -0
  15. package/common/image/index.js +3 -0
  16. package/common/index.js +17 -0
  17. package/common/room-avatar/default.svg +6 -0
  18. package/common/room-avatar/index.js +3 -0
  19. package/common/room-avatar/room-avatar.vue +29 -0
  20. package/common/scroll-load-more/index.js +3 -0
  21. package/common/scroll-load-more/scroll-load-more.vue +195 -0
  22. package/common/user-avatar/default.svg +1 -0
  23. package/common/user-avatar/index.js +3 -0
  24. package/common/user-avatar/user-avatar.vue +29 -0
  25. package/components/account-select/account-select-skeleton.vue +56 -0
  26. package/components/account-select/account-select.vue +205 -0
  27. package/components/account-select/all.svg +1 -0
  28. package/components/account-select/index.js +3 -0
  29. package/components/chat-editor/MENTION_TOKEN_SUMMARY.md +74 -0
  30. package/components/chat-editor/chat-editor-button/chat-editor-button.vue +78 -0
  31. package/components/chat-editor/chat-editor-suggestions/chat-editor-suggestions.vue +329 -0
  32. package/components/chat-editor/chat-editor-toolbar/chat-editor-toolbar-item.vue +28 -0
  33. package/components/chat-editor/chat-editor-toolbar/chat-editor-toolbar.vue +17 -0
  34. package/components/chat-editor/chat-editor.vue +933 -0
  35. package/components/chat-editor/index.js +12 -0
  36. package/components/chat-editor/utils.js +189 -0
  37. package/components/chat-friend-profile/chat-friend-profile.vue +118 -0
  38. package/components/chat-friend-profile/index.js +3 -0
  39. package/components/chat-layout/chat-layout.vue +71 -0
  40. package/components/chat-layout/index.js +3 -0
  41. package/components/chat-panel/chat-panel-box.vue +350 -0
  42. package/components/chat-panel/chat-panel-chat.vue +121 -0
  43. package/components/chat-panel/chat-panel-chats.vue +674 -0
  44. package/components/chat-panel/chat-panel-empty.vue +32 -0
  45. package/components/chat-panel/chat-panel-increment.vue +80 -0
  46. package/components/chat-panel/chat-panel-inner-msg.vue +25 -0
  47. package/components/chat-panel/chat-panel-loading.vue +29 -0
  48. package/components/chat-panel/chat-panel-nearest.vue +136 -0
  49. package/components/chat-panel/chat-panel.vue +292 -0
  50. package/components/chat-panel/index.js +3 -0
  51. package/components/chat-panel/util.js +83 -0
  52. package/components/chat-room-profile/chat-room-profile.vue +103 -0
  53. package/components/chat-room-profile/index.js +3 -0
  54. package/components/contacts-friend-select/contacts-friend-select-skeleton.vue +41 -0
  55. package/components/contacts-friend-select/contacts-friend-select.vue +204 -0
  56. package/components/contacts-friend-select/index.js +3 -0
  57. package/components/contacts-group-select/contacts-group-select-item.vue +98 -0
  58. package/components/contacts-group-select/contacts-group-select-skeleton.vue +81 -0
  59. package/components/contacts-group-select/contacts-group-select.vue +396 -0
  60. package/components/contacts-group-select/index.js +3 -0
  61. package/components/contacts-room-select/contacts-room-select-skeleton.vue +41 -0
  62. package/components/contacts-room-select/contacts-room-select.vue +208 -0
  63. package/components/contacts-room-select/index.js +3 -0
  64. package/components/index.js +43 -0
  65. package/components/layout/index.js +3 -0
  66. package/components/layout/layout.vue +70 -0
  67. package/components/session-select/index.js +11 -0
  68. package/components/session-select/session-select-item-skeleton.vue +59 -0
  69. package/components/session-select/session-select-item.vue +190 -0
  70. package/components/session-select/session-select.vue +386 -0
  71. package/components/wechat-chat-control/calling/calling.vue +227 -0
  72. package/components/wechat-chat-control/calling/phone-fill.svg +1 -0
  73. package/components/wechat-chat-control/calling/vidicon-fill.svg +1 -0
  74. package/components/wechat-chat-control/channel-live/channel-live.vue +198 -0
  75. package/components/wechat-chat-control/channel-live/quote-icon.svg +1 -0
  76. package/components/wechat-chat-control/channel-video/channel-video.vue +180 -0
  77. package/components/wechat-chat-control/channel-video/quote-icon.svg +1 -0
  78. package/components/wechat-chat-control/channel-video-card/channel-video-card.vue +139 -0
  79. package/components/wechat-chat-control/channel-video-card/quote-icon.svg +1 -0
  80. package/components/wechat-chat-control/company-card/company-card.vue +136 -0
  81. package/components/wechat-chat-control/company-card/quote-icon.svg +1 -0
  82. package/components/wechat-chat-control/custom-expression/custom-expression.vue +45 -0
  83. package/components/wechat-chat-control/empty/empty.vue +27 -0
  84. package/components/wechat-chat-control/file-url/file-url.vue +307 -0
  85. package/components/wechat-chat-control/file-url/icons/file-excel-line.svg +1 -0
  86. package/components/wechat-chat-control/file-url/icons/file-info-line.svg +1 -0
  87. package/components/wechat-chat-control/file-url/icons/file-music-line.svg +1 -0
  88. package/components/wechat-chat-control/file-url/icons/file-pdf-line.svg +1 -0
  89. package/components/wechat-chat-control/file-url/icons/file-ppt-line.svg +1 -0
  90. package/components/wechat-chat-control/file-url/icons/file-settings-line.svg +1 -0
  91. package/components/wechat-chat-control/file-url/icons/file-text-line.svg +1 -0
  92. package/components/wechat-chat-control/file-url/icons/file-unknow-line.svg +1 -0
  93. package/components/wechat-chat-control/file-url/icons/file-word-line.svg +1 -0
  94. package/components/wechat-chat-control/file-url/icons/file-zip-line.svg +1 -0
  95. package/components/wechat-chat-control/file-url/icons/index.js +24 -0
  96. package/components/wechat-chat-control/image/image.vue +344 -0
  97. package/components/wechat-chat-control/image/index.js +1 -0
  98. package/components/wechat-chat-control/image/util.js +29 -0
  99. package/components/wechat-chat-control/index.js +104 -0
  100. package/components/wechat-chat-control/jx-sys-text/jx-sys-text.vue +28 -0
  101. package/components/wechat-chat-control/location/location.vue +179 -0
  102. package/components/wechat-chat-control/location/offline-bg.png +0 -0
  103. package/components/wechat-chat-control/member-change/member-change.vue +37 -0
  104. package/components/wechat-chat-control/music/icons/163.png +0 -0
  105. package/components/wechat-chat-control/music/icons/163.svg +12 -0
  106. package/components/wechat-chat-control/music/icons/default.png +0 -0
  107. package/components/wechat-chat-control/music/icons/default.svg +1 -0
  108. package/components/wechat-chat-control/music/icons/kuwo.png +0 -0
  109. package/components/wechat-chat-control/music/icons/qq.png +0 -0
  110. package/components/wechat-chat-control/music/icons/qq.svg +1 -0
  111. package/components/wechat-chat-control/music/music.vue +156 -0
  112. package/components/wechat-chat-control/music/utils.js +30 -0
  113. package/components/wechat-chat-control/quote-message/quote-message.vue +257 -0
  114. package/components/wechat-chat-control/real-time-position/icon.svg +1 -0
  115. package/components/wechat-chat-control/real-time-position/real-time-position.vue +57 -0
  116. package/components/wechat-chat-control/red-envelopes/quote-icon.svg +1 -0
  117. package/components/wechat-chat-control/red-envelopes/red-envelope.svg +1 -0
  118. package/components/wechat-chat-control/red-envelopes/red-envelopes.vue +168 -0
  119. package/components/wechat-chat-control/revoke-me-message/revoke-me-message.vue +41 -0
  120. package/components/wechat-chat-control/revoke-other-message/revoke-other-message.vue +41 -0
  121. package/components/wechat-chat-control/revoke-you-message/revoke-you-message.vue +41 -0
  122. package/components/wechat-chat-control/room-calling/phone-fill.svg +1 -0
  123. package/components/wechat-chat-control/room-calling/room-calling.vue +52 -0
  124. package/components/wechat-chat-control/room-calling/vidicon-fill.svg +1 -0
  125. package/components/wechat-chat-control/share-card/quote-icon.svg +1 -0
  126. package/components/wechat-chat-control/share-card/share-card.vue +140 -0
  127. package/components/wechat-chat-control/system/system.vue +122 -0
  128. package/components/wechat-chat-control/system-batch-message/system-batch-message.vue +28 -0
  129. package/components/wechat-chat-control/system-money/system-money.vue +39 -0
  130. package/components/wechat-chat-control/text/icons/icon.svg +6 -0
  131. package/components/wechat-chat-control/text/text.vue +164 -0
  132. package/components/wechat-chat-control/text-with-at/text-with-at.vue +88 -0
  133. package/components/wechat-chat-control/transfer/collection.svg +1 -0
  134. package/components/wechat-chat-control/transfer/quote-icon.svg +1 -0
  135. package/components/wechat-chat-control/transfer/red-transfer.svg +1 -0
  136. package/components/wechat-chat-control/transfer/refund.svg +1 -0
  137. package/components/wechat-chat-control/transfer/transfer.svg +1 -0
  138. package/components/wechat-chat-control/transfer/transfer.vue +263 -0
  139. package/components/wechat-chat-control/unknow/unknow.vue +21 -0
  140. package/components/wechat-chat-control/url/icons/link.svg +1 -0
  141. package/components/wechat-chat-control/url/icons/video.svg +6 -0
  142. package/components/wechat-chat-control/url/miniprogram.svg +1 -0
  143. package/components/wechat-chat-control/url/url-file.vue +47 -0
  144. package/components/wechat-chat-control/url/url-link.vue +169 -0
  145. package/components/wechat-chat-control/url/url-merge.vue +164 -0
  146. package/components/wechat-chat-control/url/url-miniprogram.vue +259 -0
  147. package/components/wechat-chat-control/url/url.vue +116 -0
  148. package/components/wechat-chat-control/util.js +234 -0
  149. package/components/wechat-chat-control/video/icons/video.svg +1 -0
  150. package/components/wechat-chat-control/video/video.vue +304 -0
  151. package/components/wechat-chat-control/voice/icons/voice.svg +1 -0
  152. package/components/wechat-chat-control/voice/voice.vue +464 -0
  153. package/components/wechat-chat-control/wechat-chat-control-config-item.vue +24 -0
  154. package/components/wechat-chat-control/wechat-chat-control-config-msg.vue +21 -0
  155. package/components/wechat-chat-control/wechat-chat-control-config.vue +57 -0
  156. package/components/wechat-chat-panel/chat-panel-chat-status/chat-panel-chat-status.vue +69 -0
  157. package/components/wechat-chat-panel/chat-panel-item.vue +695 -0
  158. package/components/wechat-chat-panel/chat-panel.vue +257 -0
  159. package/components/wechat-chat-panel/index.js +3 -0
  160. package/components/wework-chat-control/calling/calling.vue +223 -0
  161. package/components/wework-chat-control/calling/phone-fill.svg +1 -0
  162. package/components/wework-chat-control/calling/vidicon-fill.svg +1 -0
  163. package/components/wework-chat-control/channel-live/channel-live.vue +198 -0
  164. package/components/wework-chat-control/channel-live/quote-icon.svg +1 -0
  165. package/components/wework-chat-control/channel-video/channel-video.vue +180 -0
  166. package/components/wework-chat-control/channel-video/quote-icon.svg +1 -0
  167. package/components/wework-chat-control/company-card/company-card.vue +136 -0
  168. package/components/wework-chat-control/company-card/quote-icon.svg +1 -0
  169. package/components/wework-chat-control/custom-expression/custom-expression.vue +34 -0
  170. package/components/wework-chat-control/empty/empty.vue +27 -0
  171. package/components/wework-chat-control/expression/expression.vue +53 -0
  172. package/components/wework-chat-control/file-url/file-url.vue +247 -0
  173. package/components/wework-chat-control/file-url/icons/file-excel-line.svg +1 -0
  174. package/components/wework-chat-control/file-url/icons/file-info-line.svg +1 -0
  175. package/components/wework-chat-control/file-url/icons/file-music-line.svg +1 -0
  176. package/components/wework-chat-control/file-url/icons/file-pdf-line.svg +1 -0
  177. package/components/wework-chat-control/file-url/icons/file-ppt-line.svg +1 -0
  178. package/components/wework-chat-control/file-url/icons/file-settings-line.svg +1 -0
  179. package/components/wework-chat-control/file-url/icons/file-text-line.svg +1 -0
  180. package/components/wework-chat-control/file-url/icons/file-unknow-line.svg +1 -0
  181. package/components/wework-chat-control/file-url/icons/file-word-line.svg +1 -0
  182. package/components/wework-chat-control/file-url/icons/file-zip-line.svg +1 -0
  183. package/components/wework-chat-control/file-url/icons/index.js +24 -0
  184. package/components/wework-chat-control/image/image.vue +296 -0
  185. package/components/wework-chat-control/image/index.js +1 -0
  186. package/components/wework-chat-control/image/util.js +21 -0
  187. package/components/wework-chat-control/index.js +105 -0
  188. package/components/wework-chat-control/jx-sys-text/jx-sys-text.vue +28 -0
  189. package/components/wework-chat-control/link/link.vue +100 -0
  190. package/components/wework-chat-control/location/location.vue +181 -0
  191. package/components/wework-chat-control/location/offline-bg.png +0 -0
  192. package/components/wework-chat-control/red-envelopes/quote-icon.svg +1 -0
  193. package/components/wework-chat-control/red-envelopes/red-envelope.svg +1 -0
  194. package/components/wework-chat-control/red-envelopes/red-envelopes.vue +168 -0
  195. package/components/wework-chat-control/share-card/quote-icon.svg +1 -0
  196. package/components/wework-chat-control/share-card/share-card.vue +140 -0
  197. package/components/wework-chat-control/text/icons/icon.svg +6 -0
  198. package/components/wework-chat-control/text/text.vue +157 -0
  199. package/components/wework-chat-control/unknow/unknow.vue +21 -0
  200. package/components/wework-chat-control/url/icons/link.svg +1 -0
  201. package/components/wework-chat-control/url/icons/video.svg +6 -0
  202. package/components/wework-chat-control/url/miniprogram.svg +1 -0
  203. package/components/wework-chat-control/url/url-file.vue +37 -0
  204. package/components/wework-chat-control/url/url-link.vue +169 -0
  205. package/components/wework-chat-control/url/url-merge.vue +164 -0
  206. package/components/wework-chat-control/url/url-miniprogram.vue +248 -0
  207. package/components/wework-chat-control/url/url.vue +103 -0
  208. package/components/wework-chat-control/util.js +223 -0
  209. package/components/wework-chat-control/video/icons/video.svg +1 -0
  210. package/components/wework-chat-control/video/video.vue +304 -0
  211. package/components/wework-chat-control/voice/icons/voice.svg +1 -0
  212. package/components/wework-chat-control/voice/voice.vue +464 -0
  213. package/components/wework-chat-panel/chat-panel-controls/company-card/company-card.vue +35 -0
  214. package/components/wework-chat-panel/chat-panel-controls/expression/expression.vue +36 -0
  215. package/components/wework-chat-panel/chat-panel-controls/file-url/file-url.vue +35 -0
  216. package/components/wework-chat-panel/chat-panel-controls/image/image.vue +36 -0
  217. package/components/wework-chat-panel/chat-panel-controls/index.js +35 -0
  218. package/components/wework-chat-panel/chat-panel-controls/jx-sys-text/jx-sys-text.vue +28 -0
  219. package/components/wework-chat-panel/chat-panel-controls/link/link.vue +35 -0
  220. package/components/wework-chat-panel/chat-panel-controls/location/location.vue +35 -0
  221. package/components/wework-chat-panel/chat-panel-controls/text/text.vue +43 -0
  222. package/components/wework-chat-panel/chat-panel-controls/unkonw/unkonw.vue +39 -0
  223. package/components/wework-chat-panel/chat-panel-controls/video/video.vue +37 -0
  224. package/components/wework-chat-panel/chat-panel-controls/voice/voice.vue +35 -0
  225. package/components/wework-chat-panel/chat-panel-item.vue +650 -0
  226. package/components/wework-chat-panel/chat-panel.vue +163 -0
  227. package/components/wework-chat-panel/index.js +3 -0
  228. package/package.json +23 -0
  229. package/services/client-chat/client-chat-wechat/client-chat-account.js +426 -0
  230. package/services/client-chat/client-chat-wechat/client-chat-concats.js +1029 -0
  231. package/services/client-chat/client-chat-wechat/client-chat-draft.js +92 -0
  232. package/services/client-chat/client-chat-wechat/client-chat-message.js +588 -0
  233. package/services/client-chat/client-chat-wechat/client-chat-session-manage.js +67 -0
  234. package/services/client-chat/client-chat-wechat/client-chat-session.js +1048 -0
  235. package/services/client-chat/client-chat-wechat/client-chat-socket.js +215 -0
  236. package/services/client-chat/client-chat-wechat/client-chat.js +1065 -0
  237. package/services/client-chat/client-chat-wechat/index.js +3 -0
  238. package/services/client-chat/client-chat-wechat/utils.js +82 -0
  239. package/services/client-chat/client-chat-wework/client-chat-account.js +310 -0
  240. package/services/client-chat/client-chat-wework/client-chat-concats.js +772 -0
  241. package/services/client-chat/client-chat-wework/client-chat-message.js +278 -0
  242. package/services/client-chat/client-chat-wework/client-chat-session.js +929 -0
  243. package/services/client-chat/client-chat-wework/client-chat-socket.js +64 -0
  244. package/services/client-chat/client-chat-wework/client-chat.js +330 -0
  245. package/services/client-chat/client-chat-wework/index.js +3 -0
  246. package/services/client-chat/client-chat-wework/utils.js +82 -0
  247. package/services/index.js +10 -0
  248. package/services/socket/index.js +5 -0
  249. package/services/socket/socket.js +797 -0
  250. package/services/socket/utils.js +7 -0
  251. package/uni-common/account-portray/account-portray.vue +51 -0
  252. package/uni-common/account-select/account-select-item.vue +172 -0
  253. package/uni-common/account-select/account-select.vue +252 -0
  254. package/uni-common/all-friend-avatar/all-friend-avatar.vue +49 -0
  255. package/uni-common/friend-avatar/default.svg +1 -0
  256. package/uni-common/friend-avatar/friend-avatar.vue +27 -0
  257. package/uni-common/friend-avatar/index.js +3 -0
  258. package/uni-common/friend-loader/friend-loader.vue +53 -0
  259. package/uni-common/friend-portray/friend-portray.vue +56 -0
  260. package/uni-common/group-avatar/default.svg +1 -0
  261. package/uni-common/group-avatar/group-avatar.vue +18 -0
  262. package/uni-common/group-avatar/index.js +3 -0
  263. package/uni-common/room-avatar/default.svg +6 -0
  264. package/uni-common/room-avatar/index.js +3 -0
  265. package/uni-common/room-avatar/room-avatar.vue +27 -0
  266. package/uni-common/room-loader/room-loader.vue +53 -0
  267. package/uni-common/room-portray/room-portray.vue +56 -0
  268. package/uni-components/chat-control/calling/calling.vue +91 -0
  269. package/uni-components/chat-control/calling/phone-fill.svg +1 -0
  270. package/uni-components/chat-control/calling/vidicon-fill.svg +1 -0
  271. package/uni-components/chat-control/channel-video/channel-video.vue +89 -0
  272. package/uni-components/chat-control/channel-video-card/channel-video-card.vue +105 -0
  273. package/uni-components/chat-control/channel-video-live/channel-video-live.vue +92 -0
  274. package/uni-components/chat-control/chat-control-config-item/chat-control-config-item.vue +20 -0
  275. package/uni-components/chat-control/chat-control-config-item/index.js +3 -0
  276. package/uni-components/chat-control/chat-control-config-msg/chat-control-config-msg-app.vue +25 -0
  277. package/uni-components/chat-control/chat-control-config-msg/chat-control-config-msg-h5.vue +21 -0
  278. package/uni-components/chat-control/chat-control-config.vue +59 -0
  279. package/uni-components/chat-control/chat-control.vue +218 -0
  280. package/uni-components/chat-control/company-card/company-card.vue +123 -0
  281. package/uni-components/chat-control/const.js +28 -0
  282. package/uni-components/chat-control/expression/expression.vue +41 -0
  283. package/uni-components/chat-control/image/image.vue +68 -0
  284. package/uni-components/chat-control/index.js +89 -0
  285. package/uni-components/chat-control/location/location.vue +110 -0
  286. package/uni-components/chat-control/member-change/member-change.vue +32 -0
  287. package/uni-components/chat-control/quote-message/quote-message.vue +216 -0
  288. package/uni-components/chat-control/real-time-position/real-time-position.vue +62 -0
  289. package/uni-components/chat-control/redpacket/red-envelope.svg +1 -0
  290. package/uni-components/chat-control/redpacket/redpacket.vue +75 -0
  291. package/uni-components/chat-control/share-card/share-card.vue +101 -0
  292. package/uni-components/chat-control/system/system.vue +69 -0
  293. package/uni-components/chat-control/system-batch-message/system-batch-message.vue +30 -0
  294. package/uni-components/chat-control/system-text/system-text.vue +32 -0
  295. package/uni-components/chat-control/text/text.vue +67 -0
  296. package/uni-components/chat-control/text-with-at/text-with-at.vue +51 -0
  297. package/uni-components/chat-control/transfer/red-transfer.svg +1 -0
  298. package/uni-components/chat-control/transfer/transfer.vue +80 -0
  299. package/uni-components/chat-control/unkonw/unkonw.vue +37 -0
  300. package/uni-components/chat-control/url/icons/file-excel-line.svg +1 -0
  301. package/uni-components/chat-control/url/icons/file-info-line.svg +1 -0
  302. package/uni-components/chat-control/url/icons/file-music-line.svg +1 -0
  303. package/uni-components/chat-control/url/icons/file-pdf-line.svg +1 -0
  304. package/uni-components/chat-control/url/icons/file-ppt-line.svg +1 -0
  305. package/uni-components/chat-control/url/icons/file-settings-line.svg +1 -0
  306. package/uni-components/chat-control/url/icons/file-text-line.svg +1 -0
  307. package/uni-components/chat-control/url/icons/file-unknow-line.svg +1 -0
  308. package/uni-components/chat-control/url/icons/file-word-line.svg +1 -0
  309. package/uni-components/chat-control/url/icons/file-zip-line.svg +1 -0
  310. package/uni-components/chat-control/url/icons/index.js +24 -0
  311. package/uni-components/chat-control/url/miniprogram.svg +1 -0
  312. package/uni-components/chat-control/url/url-miniprogram.vue +116 -0
  313. package/uni-components/chat-control/url/url.vue +306 -0
  314. package/uni-components/chat-control/url-new/icons/file-excel-line.svg +1 -0
  315. package/uni-components/chat-control/url-new/icons/file-info-line.svg +1 -0
  316. package/uni-components/chat-control/url-new/icons/file-music-line.svg +1 -0
  317. package/uni-components/chat-control/url-new/icons/file-pdf-line.svg +1 -0
  318. package/uni-components/chat-control/url-new/icons/file-ppt-line.svg +1 -0
  319. package/uni-components/chat-control/url-new/icons/file-settings-line.svg +1 -0
  320. package/uni-components/chat-control/url-new/icons/file-text-line.svg +1 -0
  321. package/uni-components/chat-control/url-new/icons/file-unknow-line.svg +1 -0
  322. package/uni-components/chat-control/url-new/icons/file-word-line.svg +1 -0
  323. package/uni-components/chat-control/url-new/icons/file-zip-line.svg +1 -0
  324. package/uni-components/chat-control/url-new/icons/index.js +24 -0
  325. package/uni-components/chat-control/url-new/url-new.vue +110 -0
  326. package/uni-components/chat-control/utils.js +12 -0
  327. package/uni-components/chat-control/video/video.vue +156 -0
  328. package/uni-components/chat-control/voice/voice.vue +166 -0
  329. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet-collect.vue +84 -0
  330. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet-system.vue +28 -0
  331. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet.vue +85 -0
  332. package/uni-components/chat-editor/chat-editor-func/chat-editor-func.vue +157 -0
  333. package/uni-components/chat-editor/chat-editor-func-at/chat-editor-func-at-panel.vue +158 -0
  334. package/uni-components/chat-editor/chat-editor-func-at/chat-editor-func-at.vue +61 -0
  335. package/uni-components/chat-editor/chat-editor-func-button/chat-editor-func-button.vue +58 -0
  336. package/uni-components/chat-editor/chat-editor-func-file/chat-editor-func-file.vue +54 -0
  337. package/uni-components/chat-editor/chat-editor-func-image/chat-editor-func-image.vue +42 -0
  338. package/uni-components/chat-editor/chat-editor-func-video/chat-editor-func-video.vue +42 -0
  339. package/uni-components/chat-editor/chat-editor-func-voice/chat-editor-func-voice.vue +25 -0
  340. package/uni-components/chat-editor/chat-editor-message-send/chat-editor-message-send.vue +158 -0
  341. package/uni-components/chat-editor/chat-editor-quote/chat-editor-quote.vue +75 -0
  342. package/uni-components/chat-editor/chat-editor.vue +257 -0
  343. package/uni-components/chat-editor/index.js +10 -0
  344. package/uni-components/chat-editor/util.js +65 -0
  345. package/uni-components/chat-panel/chat-panel-chats-box.vue +238 -0
  346. package/uni-components/chat-panel/chat-panel-chats-forward/chat-panel-chats-forward.vue +273 -0
  347. package/uni-components/chat-panel/chat-panel-chats-item.vue +578 -0
  348. package/uni-components/chat-panel/chat-panel-chats-status/chat-panel-chats-status.vue +71 -0
  349. package/uni-components/chat-panel/chat-panel-chats.vue +368 -0
  350. package/uni-components/chat-panel/chat-panel.vue +227 -0
  351. package/uni-components/contacts-group-select/contacts-group-select-item.vue +85 -0
  352. package/uni-components/contacts-group-select/contacts-group-select-panel.vue +119 -0
  353. package/uni-components/contacts-group-select/contacts-group-select.vue +150 -0
  354. package/utils/color.js +178 -0
  355. package/utils/data.js +11 -0
  356. package/utils/date.js +107 -0
  357. package/utils/event.js +3 -0
  358. package/utils/file.js +26 -0
  359. package/utils/index.js +5 -0
  360. package/utils/json.js +40 -0
  361. package/utils/log.js +243 -0
  362. package/utils/queue.js +97 -0
  363. package/utils/regexp.js +9 -0
  364. package/utils/string.js +66 -0
  365. package/utils/url.js +48 -0
  366. package/utils/util.js +130 -0
@@ -0,0 +1,7 @@
1
+ export function isUni () {
2
+ try {
3
+ return !!uni
4
+ } catch (e) {
5
+ return false
6
+ }
7
+ }
@@ -0,0 +1,51 @@
1
+ <template>
2
+ <bi-portray
3
+ :avatar="accountData && accountData.avatar"
4
+ :name="accountData && (accountData.memo || accountData.nickname)"
5
+ :loading="loading"
6
+ ></bi-portray>
7
+ </template>
8
+
9
+ <script>
10
+ import BiPortray from '@aochuang/common/uni-common/portray/portray.vue'
11
+
12
+ export default {
13
+ name: 'BiAccountPortray',
14
+ components: {
15
+ BiPortray
16
+ },
17
+ props: {
18
+ id: {
19
+ type: String,
20
+ required: true
21
+ }
22
+ },
23
+ data () {
24
+ return {
25
+ loading: false,
26
+ accountData: null
27
+ }
28
+ },
29
+ watch: {
30
+ id () {
31
+ this.loadData()
32
+ }
33
+ },
34
+ created () {
35
+ this.loadData()
36
+ },
37
+ methods: {
38
+ loadData () {
39
+ this.loading = true
40
+ this.$clientChat.account.getAccount(this.id).then(rs => {
41
+ this.accountData = rs.data
42
+ }).finally(() => {
43
+ this.loading = false
44
+ })
45
+ }
46
+ }
47
+ }
48
+ </script>
49
+
50
+ <style>
51
+ </style>
@@ -0,0 +1,172 @@
1
+ <template>
2
+ <view
3
+ class="bi-account-select-item"
4
+ :class="['bi-account-select-item--' + type, {'is-active': selected, 'is-online': isAll ? false : data && data.online, 'is-offline': isAll ? false : data && !data.online}]"
5
+ >
6
+ <view class="bi-account-select-item__icon">
7
+ <template v-if="isAll">
8
+ <bi-all-friend-avatar :size="avatarSize" :round="type === 'simple'"></bi-all-friend-avatar>
9
+ </template>
10
+ <template v-else>
11
+ <bi-avatar :src="data.avatar" :size="avatarSize" :round="type === 'simple'"></bi-avatar>
12
+ </template>
13
+ </view>
14
+ <view class="bi-account-select-item__text">
15
+ <template v-if="isAll">全部好友</template>
16
+ <template v-else>
17
+ {{ data.memo || data.nickname }}
18
+ </template>
19
+ </view>
20
+ <bi-badge class="bi-account-select-item__count" :value="unreadCount" :max="99" v-if="unreadCount"></bi-badge>
21
+ </view>
22
+ </template>
23
+
24
+ <script>
25
+ import BiAvatar from '@aochuang/common/uni-components/avatar/avatar.vue'
26
+ import BiBadge from '@aochuang/common/uni-components/badge/badge.vue'
27
+ import BiAllFriendAvatar from '../all-friend-avatar/all-friend-avatar.vue'
28
+
29
+ export default {
30
+ name: 'BiAccountSelectItem',
31
+ components: {
32
+ BiAvatar,
33
+ BiBadge,
34
+ BiAllFriendAvatar
35
+ },
36
+ props: {
37
+ isAll: {
38
+ type: Boolean
39
+ },
40
+ type: {
41
+ type: String,
42
+ validator (value) {
43
+ return ['default', 'simple'].includes(value)
44
+ }
45
+ },
46
+ selected: {
47
+ type: Boolean
48
+ },
49
+ data: {
50
+ type: Object
51
+ }
52
+ },
53
+ computed: {
54
+ avatarSize () {
55
+ return this.type === 'default' ? 'small' : 'mini'
56
+ },
57
+ accountUnreadMessageNumData () {
58
+ return this.$clientChat.account.accountUnreadMessageNumData || []
59
+ },
60
+ unreadCount () {
61
+ if (this.isAll) {
62
+ return this.accountUnreadMessageNumData.reduce((rs, account) => {
63
+ if (account.num) {
64
+ rs += account.num
65
+ }
66
+ return rs
67
+ }, 0)
68
+ } else {
69
+ const unreadMessageNumItem = this.accountUnreadMessageNumData.find(v => v.id === this.data.id)
70
+ return unreadMessageNumItem ? unreadMessageNumItem.num : 0
71
+ }
72
+ }
73
+ },
74
+ created () {
75
+ if (!this.isAll && !this.data) {
76
+ throw new Error('缺少data数据')
77
+ }
78
+ }
79
+ }
80
+ </script>
81
+
82
+ <style lang="less">
83
+ .bi-account-select-item{
84
+ display: flex;
85
+ flex-direction: row;
86
+ align-items: center;
87
+ position: relative;
88
+ transition: all .25s;
89
+ max-width: 100%;
90
+ &.is-active {
91
+ background: #3c9cff;
92
+ color: #fff;
93
+ &:after {
94
+ border-right-color: #fff;
95
+ border-bottom-color: #fff;
96
+ }
97
+ }
98
+ &.is-online {
99
+ .bi-account-select-item__icon{
100
+ &:after {
101
+ opacity: 1;
102
+ background-color: #40bf48;
103
+ border-color: #fff;
104
+ }
105
+ }
106
+ }
107
+ &.is-offline {
108
+ .bi-account-select-item__icon{
109
+ &:after {
110
+ opacity: 1;
111
+ background-color: #ccc;
112
+ border-color: #fff;
113
+ }
114
+ }
115
+ }
116
+ }
117
+ .bi-account-select-item__icon{
118
+ background-color: #eee;
119
+ margin-right: 6px;
120
+ position: relative;
121
+ line-height: 1em;
122
+ &:after {
123
+ content: '';
124
+ width: 8px;
125
+ height: 8px;
126
+ background-color: transparent;
127
+ border-radius: 50%;
128
+ border: 2px solid transparent;
129
+ position: absolute;
130
+ bottom: -2px;
131
+ right: -2px;
132
+ opacity: 0;
133
+ }
134
+ }
135
+ .bi-account-select-item__text{
136
+ flex: 1;
137
+ min-width: 0;
138
+ overflow: hidden;
139
+ text-overflow: ellipsis;
140
+ white-space: nowrap;
141
+ }
142
+ .bi-account-select-item--default {
143
+ padding: 6px 24px 6px 12px;
144
+ &:after {
145
+ content: '';
146
+ width: 6px;
147
+ height: 6px;
148
+ border: 1px solid #ccc;
149
+ border-left: 0;
150
+ border-top: 0;
151
+ transform: rotate(-45deg) translateY(-50%);
152
+ position: absolute;
153
+ right: 12px;
154
+ top: 50%;
155
+ }
156
+ .bi-account-select-item__icon {
157
+ width: 32px;
158
+ height: 32px;
159
+ border-radius: 3px;
160
+ }
161
+ }
162
+ .bi-account-select-item--simple {
163
+ .bi-account-select-item__icon {
164
+ width: 24px;
165
+ height: 24px;
166
+ border-radius: 50%;
167
+ }
168
+ .bi-account-select-item__count{
169
+ transform: scale(.8);
170
+ }
171
+ }
172
+ </style>
@@ -0,0 +1,252 @@
1
+ <template>
2
+ <view class="bi-account-select">
3
+ <view class="bi-account-select__handle" :class="{'is-online': currentAccount && currentAccount.online, 'is-offline': currentAccount && !currentAccount.online}" @click="handleHandleClick">
4
+ <account-select-item
5
+ type="simple"
6
+ :is-all="!currentAccount"
7
+ :data="currentAccount"
8
+ >
9
+ </account-select-item>
10
+ </view>
11
+ <uv-popup
12
+ ref="popup"
13
+ mode="bottom"
14
+ @change="handlePopupChange"
15
+ >
16
+ <view class="bi-account-select__main">
17
+ <view class="bi-account-select__head">
18
+ <view class="bi-account-select__head-left">
19
+ <uv-button size="small" @click="handleCancelClick">取消</uv-button>
20
+ </view>
21
+ <view class="bi-account-select__head-center">
22
+ <view class="bi-account-select__title">微号({{ accountData ? accountData.length : 0 }})</view>
23
+ </view>
24
+ <view class="bi-account-select__head-right">
25
+ <uv-button size="small" type="primary" @click="handleConfirmClick">确定</uv-button>
26
+ </view>
27
+ </view>
28
+ <view class="bi-account-select__body">
29
+ <scroll-view
30
+ scroll-y
31
+ :scroll-into-view="scrollToAccountId"
32
+ class="bi-account-select__list"
33
+ >
34
+ <uv-swipe-action ref="swipeAction">
35
+ <view
36
+ class="bi-account-select__item"
37
+ :class="{'is-active': !currentSelectAccount}"
38
+ @click="handleAccountClick(null)"
39
+ >
40
+ <account-select-item
41
+ type="default"
42
+ :is-all="true"
43
+ :selected="!currentSelectAccount"
44
+ ></account-select-item>
45
+ </view>
46
+ <template
47
+ v-for="account in accountData"
48
+ >
49
+ <uv-swipe-action-item :options="swipeActionOptions" @click="handleSwipeActionClick(account, $event)">
50
+ <view
51
+ :key="account.id"
52
+ :id="`account-${account.id}`"
53
+ class="bi-account-select__item"
54
+ @click="handleAccountClick(account)"
55
+ >
56
+ <account-select-item
57
+ type="default"
58
+ :data="account"
59
+ :selected="currentSelectAccount && currentSelectAccount.id === account.id"
60
+ ></account-select-item>
61
+ </view>
62
+ </uv-swipe-action-item>
63
+ </template>
64
+ </uv-swipe-action>
65
+ </scroll-view>
66
+ <view class="bi-account-select__loading" v-if="loading">
67
+ <uv-loading-icon></uv-loading-icon>
68
+ </view>
69
+ </view>
70
+ </view>
71
+ </uv-popup>
72
+ </view>
73
+ </template>
74
+ <script>
75
+ import BiAvatar from '@aochuang/common/uni-components/avatar/avatar.vue'
76
+ import BiAllFriendAvatar from '../all-friend-avatar/all-friend-avatar.vue'
77
+ import AccountSelectItem from './account-select-item.vue'
78
+
79
+ export default {
80
+ name: 'BiAccountSelect',
81
+ components: {
82
+ BiAvatar,
83
+ BiAllFriendAvatar,
84
+ AccountSelectItem
85
+ },
86
+ props: {
87
+ allowSelectAll: {
88
+ type: Boolean,
89
+ default: true
90
+ }
91
+ },
92
+ data () {
93
+ return {
94
+ loading: false,
95
+ showPopup: false,
96
+ scrollToAccountId: null,
97
+ currentSelectAccount: null
98
+ }
99
+ },
100
+ computed: {
101
+ accountData () {
102
+ return this.$clientChat.account.accountData || []
103
+ },
104
+ currentAccount () {
105
+ return this.$clientChat.account.currentAccount
106
+ },
107
+ swipeActionOptions () {
108
+ return [{
109
+ text: '一键已读',
110
+ style: {
111
+ backgroundColor: '#16d06f'
112
+ },
113
+ click: (account) => {
114
+ this.$confirm('确定要将此微信号所有会话标记已读吗?', () => {
115
+ return this.$clientChat.account.updateAccountMessageRead({
116
+ wechatAccountId: account.id
117
+ }).then(() => {
118
+ this.$success('操作成功')
119
+ this.$refs.swipeAction.closeOther()
120
+ })
121
+ })
122
+ }
123
+ }, {
124
+ text: '清空会话',
125
+ style: {
126
+ backgroundColor: '#f56c6c'
127
+ },
128
+ click: (account) => {
129
+ this.$confirm('确定要将此微信号所有会话清空吗?', () => {
130
+ return this.$clientChat.account.deleteAccountSession({
131
+ wechatAccountId: account.id
132
+ }).then(() => {
133
+ this.$success('操作成功')
134
+ this.$refs.swipeAction.closeOther()
135
+ })
136
+ })
137
+ }
138
+ }]
139
+ }
140
+ },
141
+ created () {
142
+ this.loading = true
143
+ this.$clientChat.account.loadData().then(() => {
144
+ this.currentSelectAccount = this.currentAccount
145
+ }).finally(() => {
146
+ this.loading = false
147
+ })
148
+ },
149
+ methods: {
150
+ handleSwipeActionClick (account, evt) {
151
+ const item = this.swipeActionOptions[evt.index]
152
+ if (!item) {
153
+ return
154
+ }
155
+ item.click && item.click(account)
156
+ },
157
+ handleHandleClick () {
158
+ if (this.currentAccount) {
159
+ this.scrollToAccountId = 'account-' + this.currentAccount.id
160
+ } else {
161
+ this.scrollToAccountId = null
162
+ }
163
+ this.$refs.popup.open()
164
+ },
165
+ handleCancelClick () {
166
+ this.scrollToAccountId = null
167
+ this.$refs.popup.close()
168
+ },
169
+ handleConfirmClick () {
170
+ const nextAccount = this.currentSelectAccount ? this.currentSelectAccount.id : null
171
+ this.$clientChat.account.setCurrentAccount(nextAccount)
172
+ this.$refs.popup.close()
173
+ this.$nextTick(() => {
174
+ this.$emit('change', {
175
+ value: nextAccount
176
+ })
177
+ })
178
+ },
179
+ handlePopupChange ({ show }) {
180
+ this.showPopup = show
181
+ if (show) {
182
+ uni.hideTabBar()
183
+ } else {
184
+ uni.showTabBar()
185
+ }
186
+ },
187
+ handleAccountClick (account) {
188
+ this.currentSelectAccount = account
189
+ }
190
+ }
191
+ }
192
+ </script>
193
+
194
+ <style lang="less">
195
+ .bi-account-select__head{
196
+ display: flex;
197
+ flex-direction: row;
198
+ align-items: center;
199
+ justify-content: space-between;
200
+ padding: 8px 12px;
201
+ border-bottom: 1px solid #eee;
202
+ }
203
+ .bi-account-select__title{
204
+ font-weight: 500;
205
+ }
206
+ .bi-account-select__body{
207
+ height: 70vh;
208
+ background-color: #fff;
209
+ position: relative;
210
+ display: flex;
211
+ flex-direction: column;
212
+ }
213
+ .bi-account-select__loading{
214
+ position: absolute;
215
+ left: 0;
216
+ top: 0;
217
+ right: 0;
218
+ bottom: 0;
219
+ display: flex;
220
+ flex-direction: column;
221
+ justify-content: center;
222
+ align-items: center;
223
+ }
224
+ .bi-account-select__handle{
225
+ position: relative;
226
+ padding-right: 18px;
227
+ padding-top: 1px;
228
+ padding-bottom: 1px;
229
+ height: 32px;
230
+ line-height: 32px;
231
+ &:after {
232
+ content: '';
233
+ width: 6px;
234
+ height: 6px;
235
+ border: 1px solid #ccc;
236
+ border-left: 0;
237
+ border-top: 0;
238
+ transform: rotate(45deg) translateY(-50%);
239
+ position: absolute;
240
+ right: 6px;
241
+ top: 50%;
242
+ margin-top: -3px;
243
+ }
244
+ }
245
+ .bi-account-select__list{
246
+ flex: 1;
247
+ min-height: 0;
248
+ overflow: auto;
249
+ padding-top: 6px;
250
+ padding-bottom: 6px;
251
+ }
252
+ </style>
@@ -0,0 +1,49 @@
1
+ <template>
2
+ <view class="bi-all-friend-avatar" :class="['bi-all-friend-avatar--' + size, {'is-round': round}]">
3
+ <bi-icon name="all-friend-line" :size="size === 'medium' ? '20px' : ''"></bi-icon>
4
+ </view>
5
+ </template>
6
+
7
+ <script>
8
+ export default {
9
+ name: 'BiAllFriendAvatar',
10
+ props: {
11
+ size: {
12
+ type: String,
13
+ default: 'small',
14
+ validator (value) {
15
+ return ['small', 'mini'].includes(value)
16
+ }
17
+ },
18
+ round: {
19
+ type: Boolean,
20
+ default: false
21
+ }
22
+ }
23
+ }
24
+ </script>
25
+
26
+ <style lang="less">
27
+ .bi-all-friend-avatar {
28
+ display: inline-block;
29
+ background-color: #2e2d31;
30
+ color: rgba(255, 255, 255, .9);
31
+ text-align: center;
32
+ &.is-round {
33
+ border-radius: 50%;
34
+ }
35
+ &:not(.is-round) {
36
+ border-radius: 3px;
37
+ }
38
+ }
39
+ .bi-all-friend-avatar--mini {
40
+ width: 24px;
41
+ height: 24px;
42
+ line-height: 22px;
43
+ }
44
+ .bi-all-friend-avatar--small {
45
+ width: 32px;
46
+ height: 32px;
47
+ line-height: 32px;
48
+ }
49
+ </style>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755860383442" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4771" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M0 0m72.576 0l878.848 0q72.576 0 72.576 72.576l0 878.848q0 72.576-72.576 72.576l-878.848 0q-72.576 0-72.576-72.576l0-878.848q0-72.576 72.576-72.576Z" fill="#EFEFEE" p-id="4772"></path><path d="M508.928 750.976h-220.16c-23.808 0-32.512-9.6-33.408-33.408a62.336 62.336 0 0 1 39.68-64c45.952-21.504 91.392-44.416 136.96-66.944 27.776-13.696 32-34.944 12.8-58.368a162.048 162.048 0 0 1-41.088-112.128 309.76 309.76 0 0 1 2.176-64 106.368 106.368 0 0 1 163.712-62.72 102.4 102.4 0 0 1 46.08 87.04 344.704 344.704 0 0 1-3.072 73.472 192 192 0 0 1-41.984 82.432c-15.36 18.688-12.8 38.4 8.704 50.304 40.448 21.376 82.048 40.576 123.136 60.8 19.2 9.344 39.936 15.872 52.736 36.48a72.576 72.576 0 0 1 7.936 48.256c-2.176 15.36-12.8 22.784-30.976 22.784z" fill="#C2C1C1" p-id="4773"></path></svg>
@@ -0,0 +1,27 @@
1
+ <template>
2
+ <bi-avatar :src="innerSrc" :size="size"></bi-avatar>
3
+ </template>
4
+ <script>
5
+ import BiAvatar from '@aochuang/common/uni-components/avatar/avatar.vue'
6
+
7
+ export default {
8
+ name: 'SdkFriendAvatar',
9
+ components: {
10
+ BiAvatar
11
+ },
12
+ props: {
13
+ src: {
14
+ type: String
15
+ },
16
+ size: {
17
+ type: String,
18
+ default: 'small'
19
+ }
20
+ },
21
+ computed: {
22
+ innerSrc () {
23
+ return this.src || require('./default.svg')
24
+ }
25
+ }
26
+ }
27
+ </script>
@@ -0,0 +1,3 @@
1
+ import FriendAvatar from './friend-avatar.vue'
2
+
3
+ export default FriendAvatar
@@ -0,0 +1,53 @@
1
+ <template>
2
+ <view class="bi-friend-loader">
3
+ <template v-if="loading">
4
+ <slot name="loading">
5
+ 数据加载中...
6
+ </slot>
7
+ </template>
8
+ <template v-else-if="friendData">
9
+ <slot :data="friendData"></slot>
10
+ </template>
11
+ <template v-else>
12
+ <template v-if="allowEmpty">
13
+ <slot></slot>
14
+ </template>
15
+ <template v-else>
16
+ 未找到好友数据
17
+ </template>
18
+ </template>
19
+ </view>
20
+ </template>
21
+
22
+ <script>
23
+
24
+ export default {
25
+ name: 'BiFriendProfile',
26
+ props: {
27
+ id: {
28
+ type: String
29
+ },
30
+ allowEmpty: {
31
+ type: Boolean,
32
+ default: false
33
+ }
34
+ },
35
+ data () {
36
+ return {
37
+ loading: false,
38
+ friendData: null
39
+ }
40
+ },
41
+ created () {
42
+ this.loading = true
43
+ this.$clientChat.contacts.getFriend(this.id).then(rs => {
44
+ this.friendData = rs.data
45
+ }).finally(() => {
46
+ this.loading = false
47
+ })
48
+ }
49
+ }
50
+ </script>
51
+
52
+ <style>
53
+ </style>
@@ -0,0 +1,56 @@
1
+ <template>
2
+ <bi-portray
3
+ :name="friendData && (friendData.conRemark || friendData.nickname)"
4
+ :loading="loading"
5
+ >
6
+ <template slot="avatar">
7
+ <sdk-friend-avatar :src="friendData && friendData.avatar"></sdk-friend-avatar>
8
+ </template>
9
+ </bi-portray>
10
+ </template>
11
+
12
+ <script>
13
+ import SdkFriendAvatar from 'client-sdk/uni-common/friend-avatar'
14
+ import BiPortray from '@aochuang/common/uni-common/portray/portray.vue'
15
+
16
+ export default {
17
+ name: 'BiFriendPortray',
18
+ components: {
19
+ BiPortray,
20
+ SdkFriendAvatar
21
+ },
22
+ props: {
23
+ id: {
24
+ type: String,
25
+ required: true
26
+ }
27
+ },
28
+ data () {
29
+ return {
30
+ loading: false,
31
+ friendData: null
32
+ }
33
+ },
34
+ watch: {
35
+ id () {
36
+ this.loadData()
37
+ }
38
+ },
39
+ created () {
40
+ this.loadData()
41
+ },
42
+ methods: {
43
+ loadData () {
44
+ this.loading = true
45
+ this.$clientChat.contacts.getFriend(this.id).then(rs => {
46
+ this.friendData = rs.data
47
+ }).finally(() => {
48
+ this.loading = false
49
+ })
50
+ }
51
+ }
52
+ }
53
+ </script>
54
+
55
+ <style>
56
+ </style>
@@ -0,0 +1 @@
1
+ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1757039867044" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="13568" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M904.85 902.05208333H124.1S62 911.78333333 62 828.87083333V158.65208333S63.35 84.23333333 139.4 84.23333333h273.6s33.13125001-6.91875001 60.75 35.83125c26.26875001 41.484375 41.4 67.78125001 41.4 67.78125s9.73125001 10.96875001 31.865625 10.96875h352.35s62.1-6.91875001 62.1 62.1v572.034375c0.084375 0.084375 9.815625 69.3-56.615625 69.3z m-57.965625-524.953125a30.7125 30.7125 0 0 0-30.31875-30.515625H208.5875c-18 0-31.78125001 13.865625-31.78125001 30.515625v2.7c0 18 13.78125001 31.865625 31.78125001 31.865625h607.95a30.965625 30.965625 0 0 0 30.346875-30.965625v-0.84375 0.05625-2.784375z" fill="#bdbaba" p-id="13569"></path></svg>
@@ -0,0 +1,18 @@
1
+ <template>
2
+ <view class="sdk-group-avatar"></view>
3
+ </template>
4
+ <script>
5
+ export default {
6
+ name: 'SdkGroupAvatar'
7
+ }
8
+ </script>
9
+ <style lang="less">
10
+ .sdk-group-avatar{
11
+ display: inline-block;
12
+ width: 18px;
13
+ height: 18px;
14
+ border-radius: 4px;
15
+ background: url('./default.svg') no-repeat 50% 50%;
16
+ background-size: 18px;
17
+ }
18
+ </style>
@@ -0,0 +1,3 @@
1
+ import GroupAvatar from './group-avatar.vue'
2
+
3
+ export default GroupAvatar