@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,51 @@
1
+ <template>
2
+ <view
3
+ class="bi-chat-control-text-with-at"
4
+ >
5
+ <view class="bi-chat-control-text-with-at__main" v-if="content">
6
+ <uv-parse :content="showText"></uv-parse>
7
+ </view>
8
+ </view>
9
+ </template>
10
+
11
+ <script>
12
+ import { toJson } from '../../../utils/data.js'
13
+ import { parseWechatEmoji } from '@aochuang/common/uni-common/wechat-emoji/index.js'
14
+
15
+ export default {
16
+ name: 'BiChatControlTextWithAt',
17
+ props: {
18
+ dir: {
19
+ type: String,
20
+ default: 'left',
21
+ validator (value) {
22
+ return ['left', 'right'].includes(value)
23
+ }
24
+ },
25
+ type: {
26
+ type: String,
27
+ default: 'default',
28
+ validator (value) {
29
+ return ['default', 'thumb'].includes(value)
30
+ }
31
+ },
32
+ data: {
33
+ type: String
34
+ }
35
+ },
36
+ computed: {
37
+ content () {
38
+ return toJson(this.data)
39
+ },
40
+ showText () {
41
+ return parseWechatEmoji(this.content.text)
42
+ }
43
+ }
44
+ }
45
+ </script>
46
+
47
+ <style lang="less">
48
+ .bi-chat-control-text-with-at__main{
49
+ padding: 12px;
50
+ }
51
+ </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="1710321306225" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5476" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 1024C229.225412 1024 0 794.774588 0 512S229.225412 0 512 0s512 229.225412 512 512-229.225412 512-512 512z m0-120.470588c216.244706 0 391.529412-175.284706 391.529412-391.529412S728.244706 120.470588 512 120.470588 120.470588 295.755294 120.470588 512s175.284706 391.529412 391.529412 391.529412z m-75.294118-421.647059H256l180.705882-195.764706v75.294118h331.294118v120.470588H436.705882z m150.588236 60.235294h180.705882L587.294118 737.882353v-75.294118H256v-120.470588h331.294118z" fill="#ffffff" p-id="5477"></path></svg>
@@ -0,0 +1,80 @@
1
+ <template>
2
+ <view class="bi-chat-control-transfer">
3
+ <view class="bi-chat-control-transfer__main">
4
+ <view class="bi-chat-control-transfer__icon"></view>
5
+ <view class="bi-chat-control-transfer__content">
6
+ <view class="bi-chat-control-transfer__title">{{content.title}}</view>
7
+ <view class="bi-chat-control-transfer__description">{{content.feedesc}}</view>
8
+ </view>
9
+ </view>
10
+ <view class="bi-chat-control-transfer__type">微转账</view>
11
+ </view>
12
+ </template>
13
+ <script>
14
+ import { toJson } from '../../../utils/data.js'
15
+
16
+ export default {
17
+ name: 'BiChatControlTransfer',
18
+ props: {
19
+ dir: {
20
+ type: String
21
+ },
22
+ type: {
23
+ type: String,
24
+ default: 'default',
25
+ validator (value) {
26
+ return ['default', 'thumb'].includes(value)
27
+ }
28
+ },
29
+ data: {
30
+ type: String
31
+ }
32
+ },
33
+ computed: {
34
+ content () {
35
+ let content = this.data
36
+ if (typeof this.data === 'string') {
37
+ content = toJson(this.data)
38
+ }
39
+ return content
40
+ }
41
+ }
42
+ }
43
+ </script>
44
+ <style lang="less">
45
+ .bi-chat-control-transfer__main{
46
+ width: 200px;
47
+ background-color: #f79d46;
48
+ color: #fff;
49
+ border-radius: 4px;
50
+ line-height: 1.5em;
51
+ display: flex;
52
+ flex-direction: row;
53
+ align-items: center;
54
+ padding-bottom: 6px;
55
+ padding: 12px;
56
+ }
57
+ .bi-chat-control-transfer__content{
58
+ margin-left: 12px;
59
+ }
60
+ .bi-chat-control-transfer__title{
61
+ overflow: hidden;
62
+ white-space: nowrap;
63
+ text-overflow: ellipsis;
64
+ font-weight: bold;
65
+ }
66
+ .bi-chat-control-transfer__icon{
67
+ width: 28px;
68
+ height: 28px;
69
+ background: url('./red-transfer.svg') no-repeat 50% 50%;
70
+ background-size: cover;
71
+ }
72
+ .bi-chat-control-transfer__type{
73
+ font-size: 12px;
74
+ height: 24px;
75
+ line-height: 24px;
76
+ padding: 0 12px;
77
+ color: #fff;
78
+ border-top: 1px solid rgba(255, 255, 255, 0.2);
79
+ }
80
+ </style>
@@ -0,0 +1,37 @@
1
+ <template>
2
+ <view
3
+ class="bi-chat-control-unknow"
4
+ >
5
+ <view class="bi-chat-control-unknow__main">抱歉不支持的消息类型{{ type }}</view>
6
+ </view>
7
+ </template>
8
+
9
+ <script>
10
+ export default {
11
+ name: 'BiChatControlUnkonw',
12
+ props: {
13
+ dir: {
14
+ type: String,
15
+ default: 'left',
16
+ validator (value) {
17
+ return ['left', 'right'].includes(value)
18
+ }
19
+ },
20
+ data: {
21
+ type: String
22
+ },
23
+ type: {
24
+ type: [Number, String]
25
+ }
26
+ }
27
+ }
28
+ </script>
29
+
30
+ <style lang="less">
31
+ .bi-chat-control-unknow{
32
+ color: #999;
33
+ }
34
+ .bi-chat-control-unknow__main{
35
+ padding: 8px 12px;
36
+ }
37
+ </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 class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#226a41" d="M563.2 512l119.466667 170.666667h-102.4L512 585.130667 443.733333 682.666667H341.333333l119.466667-170.666667L341.333333 341.333333h102.4l68.266667 97.536L580.266667 341.333333H640V170.666667H213.333333v682.666666h597.333334V341.333333h-128l-119.466667 170.666667zM128 127.658667C128 104.277333 147.072 85.333333 170.624 85.333333H682.666667l213.333333 213.333334v597.034666A42.666667 42.666667 0 0 1 853.632 938.666667H170.368A42.666667 42.666667 0 0 1 128 896.341333V127.658667z" /></svg>
@@ -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 class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#c7b5a0" d="M640 170.666667H213.333333v682.666666h597.333334V341.333333h-170.666667V170.666667zM128 127.658667C128 104.277333 147.072 85.333333 170.624 85.333333H682.666667l213.333333 213.333334v597.034666A42.666667 42.666667 0 0 1 853.632 938.666667H170.368A42.666667 42.666667 0 0 1 128 896.341333V127.658667zM469.333333 469.333333h85.333334v256h-85.333334v-256z m0-170.666666h85.333334v85.333333h-85.333334V298.666667z" /></svg>
@@ -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 class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#ffffff" d="M682.666667 341.333333v85.333334h-128v192a106.666667 106.666667 0 1 1-85.333334-104.533334V341.333333h170.666667V170.666667H213.333333v682.666666h597.333334V341.333333h-128zM128 127.658667C128 104.277333 147.072 85.333333 170.624 85.333333H682.666667l213.333333 213.333334v597.034666A42.666667 42.666667 0 0 1 853.632 938.666667H170.368A42.666667 42.666667 0 0 1 128 896.341333V127.658667z" /></svg>
@@ -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 class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#ca282c" d="M512 682.666667H341.333333V341.333333h170.666667a170.666667 170.666667 0 1 1 0 341.333334z m-85.333333-256v170.666666h85.333333a85.333333 85.333333 0 1 0 0-170.666666h-85.333333z m213.333333-256H213.333333v682.666666h597.333334V341.333333h-170.666667V170.666667zM128 127.658667C128 104.277333 147.072 85.333333 170.624 85.333333H682.666667l213.333333 213.333334v597.034666A42.666667 42.666667 0 0 1 853.632 938.666667H170.368A42.666667 42.666667 0 0 1 128 896.341333V127.658667z" /></svg>
@@ -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 class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#fc974d" d="M128 127.658667C128 104.277333 147.072 85.333333 170.624 85.333333H682.666667l213.333333 213.333334v597.034666A42.666667 42.666667 0 0 1 853.632 938.666667H170.368A42.666667 42.666667 0 0 1 128 896.341333V127.658667zM213.333333 170.666667v682.666666h597.333334V341.333333h-128v256h-256v85.333334H341.333333V341.333333h298.666667V170.666667H213.333333z m213.333334 256v85.333333h170.666666v-85.333333h-170.666666z" /></svg>
@@ -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 class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#ffffff" d="M366.72 546.645333a149.76 149.76 0 0 1 0-69.248l-42.325333-24.448 42.666666-73.898666 42.325334 24.448A149.162667 149.162667 0 0 1 469.333333 368.853333V320h85.333334v48.853333c22.698667 6.741333 43.178667 18.773333 59.946666 34.645334l42.325334-24.448 42.666666 73.898666-42.325333 24.448a149.76 149.76 0 0 1 0 69.205334l42.325333 24.448-42.666666 73.898666-42.325334-24.448a149.162667 149.162667 0 0 1-59.946666 34.645334V704h-85.333334v-48.853333a149.162667 149.162667 0 0 1-59.946666-34.645334l-42.325334 24.448-42.666666-73.898666 42.325333-24.405334zM512 576a64 64 0 1 0 0-128 64 64 0 0 0 0 128zM640 170.666667H213.333333v682.666666h597.333334V341.333333h-170.666667V170.666667zM128 127.658667C128 104.277333 147.072 85.333333 170.624 85.333333H682.666667l213.333333 213.333334v597.034666A42.666667 42.666667 0 0 1 853.632 938.666667H170.368A42.666667 42.666667 0 0 1 128 896.341333V127.658667z" /></svg>
@@ -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 class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#a9adb1" d="M896 341.333333v554.368A42.666667 42.666667 0 0 1 853.632 938.666667H170.368A42.368 42.368 0 0 1 128 896.341333V127.658667C128 104.746667 147.157333 85.333333 170.752 85.333333h469.12L896 341.333333z m-85.333333 42.666667h-213.333334V170.666667H213.333333v682.666666h597.333334V384zM341.333333 298.666667h128v85.333333H341.333333V298.666667z m0 170.666666h341.333334v85.333334H341.333333v-85.333334z m0 170.666667h341.333334v85.333333H341.333333v-85.333333z" /></svg>
@@ -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 class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#b9c8cc" d="M469.333333 640h85.333334v85.333333h-85.333334v-85.333333z m85.333334-70.186667V597.333333h-85.333334v-64a42.666667 42.666667 0 0 1 42.666667-42.666666 64 64 0 1 0-62.762667-76.544l-83.712-16.768A149.376 149.376 0 1 1 554.666667 569.813333zM640 170.666667H213.333333v682.666666h597.333334V341.333333h-170.666667V170.666667zM128 127.658667C128 104.277333 147.072 85.333333 170.624 85.333333H682.666667l213.333333 213.333334v597.034666A42.666667 42.666667 0 0 1 853.632 938.666667H170.368A42.666667 42.666667 0 0 1 128 896.341333V127.658667z" /></svg>
@@ -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 class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#359afc" d="M682.666667 341.333333v341.333334h-85.333334l-85.333333-85.333334-85.333333 85.333334H341.333333V341.333333h85.333334v213.333334l85.333333-85.333334 85.333333 85.333334V341.333333h42.666667V170.666667H213.333333v682.666666h597.333334V341.333333h-128zM128 127.658667C128 104.277333 147.072 85.333333 170.624 85.333333H682.666667l213.333333 213.333334v597.034666A42.666667 42.666667 0 0 1 853.632 938.666667H170.368A42.666667 42.666667 0 0 1 128 896.341333V127.658667z" /></svg>
@@ -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 class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#5fcb9c" d="M853.333333 938.666667H170.666667a42.666667 42.666667 0 0 1-42.666667-42.666667V128a42.666667 42.666667 0 0 1 42.666667-42.666667h682.666666a42.666667 42.666667 0 0 1 42.666667 42.666667v768a42.666667 42.666667 0 0 1-42.666667 42.666667z m-42.666666-85.333334V170.666667H213.333333v682.666666h597.333334z m-213.333334-341.333333v213.333333h-170.666666v-128h85.333333v-85.333333h85.333333z m-85.333333-341.333333h85.333333v85.333333h-85.333333V170.666667z m-85.333333 85.333333h85.333333v85.333333h-85.333333V256z m85.333333 85.333333h85.333333v85.333334h-85.333333V341.333333z m-85.333333 85.333334h85.333333v85.333333h-85.333333v-85.333333z" /></svg>
@@ -0,0 +1,24 @@
1
+ import execl from './file-excel-line.svg'
2
+ import pdf from './file-pdf-line.svg'
3
+ import ppt from './file-ppt-line.svg'
4
+ import unknow from './file-unknow-line.svg'
5
+ import word from './file-word-line.svg'
6
+ import zip from './file-zip-line.svg'
7
+ import info from './file-info-line.svg'
8
+ import text from './file-text-line.svg'
9
+
10
+ export default {
11
+ xlsx: execl,
12
+ xls: execl,
13
+ pdf,
14
+ ppt,
15
+ unknow,
16
+ word,
17
+ zip,
18
+ doc: word,
19
+ docx: word,
20
+ rar: zip,
21
+ ini: info,
22
+ txt: text,
23
+ '7z': zip
24
+ }
@@ -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="1602418855817" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="6268" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M712.388923 10.24A268.918154 268.918154 0 0 0 442.683077 279.788308v408.49723c0 74.830769-61.44 136.270769-136.192 136.27077-74.830769 0-138.870154-61.44-138.870154-138.948923 0-77.430154 61.44-136.113231 136.270769-136.113231a66.166154 66.166154 0 0 0 66.717539-66.796308 66.166154 66.166154 0 0 0-66.796308-66.717538A268.366769 268.366769 0 0 0 44.898462 675.052308C39.384615 824.556308 154.308923 949.956923 303.812923 955.470769a268.918154 268.918154 0 0 0 269.705846-269.784615V277.267692c0-74.830769 61.44-136.192 136.192-136.192 74.752 0 136.113231 61.44 136.113231 136.192 0 74.830769-61.44 136.192-133.435077 136.192H709.710769a66.166154 66.166154 0 0 0-66.796307 66.717539 66.166154 66.166154 0 0 0 66.796307 66.796307 268.918154 268.918154 0 0 0 269.627077-269.705846 264.428308 264.428308 0 0 0-267.027692-267.027692z" p-id="6269" fill="#7b8ac6"></path></svg>
@@ -0,0 +1,116 @@
1
+ <template>
2
+ <view class="bi-chat-control-url-miniprogram" :class="['bi-chat-control-url-miniprogram--' + type]">
3
+ <div class="bi-chat-control-url-miniprogram__head" v-if="content.icon">
4
+ <view class="bi-chat-control-url-miniprogram__icon" v-if="content.icon" :style="{'background-image': `url(${content.icon})`}" />
5
+ </div>
6
+ <div class="bi-chat-control-url-miniprogram__body">
7
+ <div class="bi-chat-control-url-miniprogram__title" v-if="content.title">
8
+ {{content.title}}
9
+ </div>
10
+ <div class="bi-chat-control-url-miniprogram__desc" v-if="content.desc">
11
+ {{content.desc}}
12
+ </div>
13
+ <div class="bi-chat-control-url-miniprogram__content">
14
+ <div :style="{width: '100%', height: '100%', background: 'url('+ content.cover +')', 'background-size': 'cover'}"></div>
15
+ </div>
16
+ </div>
17
+ <div class="bi-chat-control-url-miniprogram__foot">小程序</div>
18
+ </view>
19
+ </template>
20
+
21
+ <script>
22
+ import { parseXml } from '@/utils/data.js'
23
+
24
+ export default {
25
+ name: 'BiChatControlUrlMiniprogram',
26
+ props: {
27
+ type: {
28
+ type: String,
29
+ default: 'default',
30
+ validator (value) {
31
+ return ['default', 'thumb'].includes(value)
32
+ }
33
+ },
34
+ data: {
35
+ type: Object
36
+ }
37
+ },
38
+ computed: {
39
+ innerData () {
40
+ return parseXml(this.data.contentXml) || {}
41
+ },
42
+ content () {
43
+ const miniprogramData = this.innerData
44
+ const miniprogramIcon = miniprogramData.msg && miniprogramData.msg.appmsg && miniprogramData.msg.appmsg.weappinfo ? miniprogramData.msg.appmsg.weappinfo.weappiconurl : ''
45
+ const miniprogramTitle = miniprogramData.msg && miniprogramData.msg.appmsg ? miniprogramData.msg.appmsg.title : ''
46
+ const miniprogramUrl = miniprogramData.msg && miniprogramData.msg.appmsg ? miniprogramData.msg.appmsg.url : ''
47
+ const miniprogramDesc = miniprogramData.msg && miniprogramData.msg.appmsg ? miniprogramData.msg.appmsg.des : ''
48
+ const miniprogramCover = miniprogramData.msg && miniprogramData.msg.appmsg ? (miniprogramData.msg.appmsg.thumburl || this.data.previewImage) : ''
49
+ return {
50
+ icon: miniprogramIcon,
51
+ title: miniprogramTitle,
52
+ url: miniprogramUrl,
53
+ desc: miniprogramDesc,
54
+ cover: miniprogramCover
55
+ }
56
+ }
57
+ }
58
+ }
59
+ </script>
60
+
61
+ <style lang="less">
62
+ .bi-chat-control-url-miniprogram--thumb {
63
+ border: 1px solid #eee;
64
+ border-radius: 3px;
65
+ &.bi-chat-control-url-miniprogram {
66
+ width: 100%;
67
+ }
68
+ }
69
+ .bi-chat-control-url-miniprogram{
70
+ width: 280px;
71
+ color: #404040;
72
+ &:hover{
73
+ color: #404040;
74
+ }
75
+ }
76
+ .bi-chat-control-url-miniprogram__head{
77
+ padding: 6px 12px 0;
78
+ display: flex;
79
+ flex-direction: row;
80
+ align-items: center;
81
+ img {
82
+ margin-right: 6px;
83
+ }
84
+ }
85
+ .bi-chat-control-url-miniprogram__icon{
86
+ display: inline-block;
87
+ width: 22px;
88
+ height: 22px;
89
+ background-repeat: no-repeat;
90
+ background-position: 50% 50%;
91
+ background-size: cover;
92
+ }
93
+ .bi-chat-control-url-miniprogram__body{
94
+ padding: 6px 12px 12px;
95
+ }
96
+ .bi-chat-control-url-miniprogram__title{
97
+ margin-bottom: 6px;
98
+ font-size: 16px;
99
+ }
100
+ .bi-chat-control-url-miniprogram__content{
101
+ height: 150px;
102
+ background-color: #f1f0f5;
103
+ }
104
+ .bi-chat-control-url-miniprogram__desc{
105
+ color: #888;
106
+ margin-bottom: 6px;
107
+ }
108
+ .bi-chat-control-url-miniprogram__foot{
109
+ padding: 3px 12px 3px 26px;
110
+ border-top: 1px solid rgba(0,0,0,.1);
111
+ background: url('./miniprogram.svg') no-repeat 12px 50%;
112
+ background-size: 12px;
113
+ font-size: 12px;
114
+ color: #888;
115
+ }
116
+ </style>
@@ -0,0 +1,306 @@
1
+ <template>
2
+ <view
3
+ class="bi-chat-control-url"
4
+ :class="['bi-chat-control-url--' + type]"
5
+ >
6
+ <template v-if="content && content.type === 'merged'">
7
+ <view class="bi-chat-control-url__merged">
8
+ <view class="bi-chat-control-url__merged-head">
9
+ <view class="bi-chat-control-url__merged-title" @click="handleMergedTitleClick">
10
+ <bi-icon class="bi-chat-control-url__merged-title-icon" name="arrow-down-circle-line"></bi-icon>查看合并消息
11
+ </view>
12
+ </view>
13
+ <view class="bi-chat-control-url__merged-body">
14
+ <template v-if="mergeding">
15
+ <view class="bi-chat-control-url__merged-loading">
16
+ <uv-loading-icon></uv-loading-icon>
17
+ </view>
18
+ </template>
19
+ <template v-else>
20
+ <div
21
+ class="bi-chat-control-url__merged-item"
22
+ v-for="(item, index) in mergedData"
23
+ :key="index"
24
+ >
25
+ <div class="bi-chat-control-url__merged-item-head">
26
+ <span class="bi-chat-control-url__merged-item-user">{{ item.sourcename }}</span>
27
+ <span class="bi-chat-control-url__merged-item-date">{{ handleFormatSourceTime(item.sourcetime) }}</span>
28
+ </div>
29
+ <div class="bi-chat-control-url__merged-item-body" v-html="handleFormatMergedDesc(item.datadesc)"></div>
30
+ </div>
31
+ </template>
32
+ </view>
33
+ <view class="bi-chat-control-url__merged-foot">
34
+ 聊天记录
35
+ </view>
36
+ </view>
37
+ </template>
38
+ <template v-else-if="content && content.type === 'link'">
39
+ <view class="bi-chat-control-url__link" @click="handleLinkClick">
40
+ <view class="bi-chat-control-url__link-head">
41
+ <view class="bi-chat-control-url__link-title">{{ title }}</view>
42
+ </view>
43
+ <view class="bi-chat-control-url__link-body">
44
+ <view class="bi-chat-control-url__link-description">{{ content.desc }}</view>
45
+ <view class="bi-chat-control-url__link-cover" :style="{'background-image': `url(${content.thumbPath})`}"></view>
46
+ </view>
47
+ <view class="bi-chat-control-url__link-foot">
48
+ 超链接
49
+ </view>
50
+ </view>
51
+ </template>
52
+ <template v-else-if="content && content.type === 'file'">
53
+ <view class="bi-chat-control-url__file" @click="handleFileClick">
54
+ <view class="bi-chat-control-url__file-main">
55
+ <view class="bi-chat-control-url__file-title">
56
+ {{ title }}
57
+ </view>
58
+ <view class="bi-chat-control-url__file-size">
59
+ {{ fileSize }}
60
+ </view>
61
+ </view>
62
+ <view class="bi-chat-control-url__file-icon" :style="{'background-image': `url(${fileIcon})`}"></view>
63
+ </view>
64
+ </template>
65
+ <template v-else-if="content && content.type === 'miniprogram'">
66
+ <url-miniprogram
67
+ :data="content"
68
+ :type="type"
69
+ ></url-miniprogram>
70
+ </template>
71
+ <template v-else>
72
+ {{ data }}
73
+ </template>
74
+ </view>
75
+ </template>
76
+
77
+ <script>
78
+ import BiIcon from '@aochuang/common/uni-components/icon/icon.vue'
79
+ import { toJson } from '../../../utils/data.js'
80
+ import { formatFileSize } from '@/utils/file.js'
81
+ import FileIcon from './icons/index.js'
82
+ import { openWebPage } from '@/utils/url.js'
83
+ import UrlMiniprogram from './url-miniprogram.vue'
84
+
85
+ export default {
86
+ name: 'BiChatControlUrl',
87
+ components: {
88
+ BiIcon,
89
+ UrlMiniprogram
90
+ },
91
+ props: {
92
+ type: {
93
+ type: String,
94
+ default: 'default',
95
+ validator (value) {
96
+ return ['default', 'thumb'].includes(value)
97
+ }
98
+ },
99
+ data: {
100
+ type: String
101
+ }
102
+ },
103
+ data () {
104
+ return {
105
+ mergeding: false,
106
+ mergedData: []
107
+ }
108
+ },
109
+ computed: {
110
+ content () {
111
+ let content = this.data
112
+ if (typeof this.data === 'string') {
113
+ content = toJson(this.data)
114
+ }
115
+ return content
116
+ },
117
+ title () {
118
+ return this.content.title || this.content.url
119
+ },
120
+ fileIcon () {
121
+ return FileIcon[this.fileExt] || FileIcon.unknow
122
+ },
123
+ fileExt () {
124
+ let ext
125
+ if (this.title) {
126
+ ext = this.title.substr(this.title.lastIndexOf('.') + 1)
127
+ }
128
+ return ext
129
+ },
130
+ fileSize () {
131
+ if (typeof this.content.totalLen === 'number') {
132
+ return formatFileSize(this.content.totalLen)
133
+ }
134
+ return this.content.totalLen
135
+ }
136
+ },
137
+ methods: {
138
+ handleFileClick () {
139
+ openWebPage(this.content.url)
140
+ },
141
+ handleLinkClick () {
142
+ openWebPage(this.content.url)
143
+ },
144
+ handleFormatSourceTime (date) {
145
+ if (!date) {
146
+ return date
147
+ }
148
+ return date.replace('&#x20;', ' ')
149
+ },
150
+ handleFormatMergedDesc (desc) {
151
+ return desc
152
+ },
153
+ handleMergedTitleClick () {
154
+ if (!this.content.content) {
155
+ return
156
+ }
157
+ if (this.mergeding) {
158
+ return
159
+ }
160
+ this.mergeding = true
161
+ uni.request({
162
+ url: this.content.content,
163
+ method: 'get'
164
+ }).then(({ data }) => {
165
+ this.mergeding = false
166
+ this.mergedData = (data || []).filter(v => {
167
+ return v.datadesc || v.sourcename || v.sourcetime
168
+ })
169
+ }, () => {
170
+ this.mergeding = false
171
+ })
172
+ }
173
+ }
174
+ }
175
+ </script>
176
+
177
+ <style lang="less">
178
+ .bi-chat-control-url--default {
179
+ .bi-chat-control-url__link{
180
+ width: 214px;
181
+ }
182
+ .bi-chat-control-url__merged{
183
+ width: 214px;
184
+ }
185
+ .bi-chat-control-url__file{
186
+ width: 210px;
187
+ }
188
+ }
189
+ .bi-chat-control-url--thumb {
190
+ .bi-chat-control-url__link,
191
+ .bi-chat-control-url__file{
192
+ border: 1px solid #eee;
193
+ border-radius: 3px;
194
+ }
195
+ }
196
+ .bi-chat-control-url__link-head{
197
+ padding: 12px 12px 0;
198
+ margin-bottom: 6px;
199
+ }
200
+ .bi-chat-control-url__link-title {
201
+ display: -webkit-box;
202
+ -webkit-box-orient: vertical;
203
+ -webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
204
+ overflow: hidden;
205
+ text-overflow: ellipsis;
206
+ }
207
+ .bi-chat-control-url__link-body{
208
+ padding: 0 12px 12px;
209
+ display: flex;
210
+ flex-direction: row;
211
+ }
212
+ .bi-chat-control-url__link-description{
213
+ display: -webkit-box;
214
+ -webkit-box-orient: vertical;
215
+ -webkit-line-clamp: 3; /* 显示的行数,可以根据需要修改 */
216
+ overflow: hidden;
217
+ text-overflow: ellipsis;
218
+ color: #999;
219
+ flex: 1;
220
+ min-width: 0;
221
+ }
222
+ .bi-chat-control-url__link-cover{
223
+ width: 48px;
224
+ height: 48px;
225
+ min-width: 48px;
226
+ background-size: cover;
227
+ background-repeat: no-repeat;
228
+ background-position: 50% 50%;
229
+ margin-left: 12px;
230
+ }
231
+ .bi-chat-control-url__link-foot{
232
+ padding: 0 12px;
233
+ font-size: 12px;
234
+ height: 24px;
235
+ line-height: 24px;
236
+ border-top: 1px solid #eee;
237
+ color: #999;
238
+ }
239
+ .bi-chat-control-url__merged-head{
240
+ height: 24px;
241
+ line-height: 24px;
242
+ padding: 8px 12px;
243
+ border-bottom: 1px solid #eee;
244
+ }
245
+ .bi-chat-control-url__merged-foot {
246
+ padding: 0 12px;
247
+ font-size: 12px;
248
+ height: 24px;
249
+ line-height: 24px;
250
+ border-top: 1px solid #eee;
251
+ color: #999;
252
+ margin-top: -1px;
253
+ }
254
+ .bi-chat-control-url__merged-item{
255
+ padding: 6px 12px;
256
+ &:not(:last-child) {
257
+ border-bottom: 1px solid #eee;
258
+ }
259
+ }
260
+ .bi-chat-control-url__merged-title-icon{
261
+ margin-right: 4px;
262
+ }
263
+ .bi-chat-control-url__merged-item-head{
264
+ display: flex;
265
+ flex-direction: row;
266
+ justify-content: space-between;
267
+ align-items: center;
268
+ margin-bottom: 3px;
269
+ }
270
+ .bi-chat-control-url__merged-item-user,
271
+ .bi-chat-control-url__merged-item-date {
272
+ color: #999;
273
+ }
274
+ .bi-chat-control-url__merged-loading{
275
+ padding: 12px;
276
+ }
277
+ .bi-chat-control-url__file{
278
+ line-height: 1.7em;;
279
+ display: flex;
280
+ flex-direction: row;
281
+ align-items: flex-start;
282
+ padding: 8px;
283
+ }
284
+ .bi-chat-control-url__file-main{
285
+ flex: 1;
286
+ min-width: 0;
287
+ }
288
+ .bi-chat-control-url__file-title{
289
+ display: -webkit-box;
290
+ -webkit-box-orient: vertical;
291
+ -webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
292
+ overflow: hidden;
293
+ text-overflow: ellipsis;
294
+ margin-bottom: 6px;
295
+ }
296
+ .bi-chat-control-url__file-icon{
297
+ width: 48px;
298
+ min-width: 48px;
299
+ height: 48px;
300
+ margin-top: 4px;
301
+ margin-left: 12px;
302
+ background-position: 50% 50%;
303
+ background-size: cover;
304
+ background-repeat: no-repeat;
305
+ }
306
+ </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 class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#226a41" d="M563.2 512l119.466667 170.666667h-102.4L512 585.130667 443.733333 682.666667H341.333333l119.466667-170.666667L341.333333 341.333333h102.4l68.266667 97.536L580.266667 341.333333H640V170.666667H213.333333v682.666666h597.333334V341.333333h-128l-119.466667 170.666667zM128 127.658667C128 104.277333 147.072 85.333333 170.624 85.333333H682.666667l213.333333 213.333334v597.034666A42.666667 42.666667 0 0 1 853.632 938.666667H170.368A42.666667 42.666667 0 0 1 128 896.341333V127.658667z" /></svg>
@@ -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 class="icon" width="200px" height="200.00px" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg"><path fill="#c7b5a0" d="M640 170.666667H213.333333v682.666666h597.333334V341.333333h-170.666667V170.666667zM128 127.658667C128 104.277333 147.072 85.333333 170.624 85.333333H682.666667l213.333333 213.333334v597.034666A42.666667 42.666667 0 0 1 853.632 938.666667H170.368A42.666667 42.666667 0 0 1 128 896.341333V127.658667zM469.333333 469.333333h85.333334v256h-85.333334v-256z m0-170.666666h85.333334v85.333333h-85.333334V298.666667z" /></svg>