@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,158 @@
1
+ <template>
2
+ <view class="bi-chat-editor-message-send" @click.stop>
3
+ <view class="bi-chat-editor-message-send__target">
4
+ <view class="bi-chat-editor-message-send__target-label">发送给:</view>
5
+ <view class="bi-chat-editor-message-send__target-object">
6
+ <template v-if="sendTarget">
7
+ <template v-if="sendTarget.chatroomId">
8
+ <bi-portray :name="sendTarget.nickname" :avatar="sendTarget.chatroomAvatar"></bi-portray>
9
+ </template>
10
+ <template v-else>
11
+ <bi-portray :name="sendTarget.nickname" :avatar="sendTarget.avatar"></bi-portray>
12
+ </template>
13
+ </template>
14
+ </view>
15
+ </view>
16
+ <view class="bi-chat-editor-message-send__content">
17
+ <template v-if="messageType === MESSAGE_TYPE.IMAGE">
18
+ <chat-control-image :data="innerMessageContent"></chat-control-image>
19
+ </template>
20
+ <template v-else-if="messageType === MESSAGE_TYPE.VIDEO">
21
+ <chat-control-video :data="innerMessageContent"></chat-control-video>
22
+ </template>
23
+ <template v-else-if="messageType === MESSAGE_TYPE.URL">
24
+ <chat-control-url :data="innerMessageContent"></chat-control-url>
25
+ </template>
26
+ </view>
27
+ <view class="bi-chat-editor-message-send__toolbar">
28
+ <view class="bi-chat-editor-message-send__toolbar-item">
29
+ <uv-button size="small" @click="handleCancelClick">取消</uv-button>
30
+ </view>
31
+ <view class="bi-chat-editor-message-send__toolbar-item">
32
+ <uv-button size="small" type="primary" :disabled="uploading" :loading="sending" @click="handleSendClick">发送</uv-button>
33
+ </view>
34
+ </view>
35
+ </view>
36
+ </template>
37
+
38
+ <script>
39
+ import BiPortray from '@aochuang/common/uni-common/portray/portray.vue'
40
+ import BiUpload from '@/common/upload/upload.vue'
41
+ import ChatControlImage from 'client-sdk/uni-components/chat-control/image/image.vue'
42
+ import ChatControlVideo from 'client-sdk/uni-components/chat-control/video/video.vue'
43
+ import ChatControlUrl from 'client-sdk/uni-components/chat-control/url/url.vue'
44
+ import { MESSAGE_TYPE } from 'client-sdk/uni-components/chat-control/index.js'
45
+
46
+ export default {
47
+ name: 'BiChatEditorMessageSend',
48
+ components: {
49
+ BiPortray,
50
+ BiUpload,
51
+ ChatControlImage,
52
+ ChatControlUrl,
53
+ ChatControlVideo
54
+ },
55
+ props: {
56
+ sendTarget: {
57
+ type: Object,
58
+ required: true
59
+ },
60
+ submitMethod: {
61
+ type: Function,
62
+ required: true
63
+ },
64
+ messageType: {
65
+ type: [String, Number],
66
+ validator (value) {
67
+ return [MESSAGE_TYPE.IMAGE, MESSAGE_TYPE.VIDEO, MESSAGE_TYPE.URL].includes(value)
68
+ }
69
+ },
70
+ messageContent: {
71
+ type: [String, Object]
72
+ }
73
+ },
74
+ data () {
75
+ return {
76
+ MESSAGE_TYPE,
77
+ uploading: false,
78
+ sending: false,
79
+ innerMessageContent: this.messageContent
80
+ }
81
+ },
82
+ computed: {
83
+ previewFileData () {
84
+ if (this.MESSAGE_TYPE.URL !== this.messageType) {
85
+ return
86
+ }
87
+ return this.messageContent
88
+ }
89
+ },
90
+ methods: {
91
+ handleCancelClick () {
92
+ this.$emit('cancel')
93
+ },
94
+ handleUploading () {
95
+ this.uploading = true
96
+ },
97
+ handleUploadComplete () {
98
+ this.uploading = false
99
+ },
100
+ handleSendClick () {
101
+ this.sending = true
102
+ let content = this.innerMessageContent
103
+ if (this.messageType === MESSAGE_TYPE.URL) {
104
+ if (this.messageFile) {
105
+ content = JSON.stringify({
106
+ type: 'file',
107
+ totalLen: this.messageFile.size,
108
+ title: this.messageFile.name,
109
+ url: this.innerMessageContent
110
+ })
111
+ }
112
+ }
113
+ this.submitMethod({
114
+ data: {
115
+ content,
116
+ messageType: this.messageType
117
+ }
118
+ }).finally(() => {
119
+ this.sending = false
120
+ })
121
+ }
122
+ }
123
+ }
124
+ </script>
125
+
126
+ <style lang="less">
127
+ .bi-chat-editor-message-send{
128
+ background-color: #fff;
129
+ width: 80vw;
130
+ max-width: 420px;
131
+ max-height: 80vh;
132
+ border-radius: 4px;
133
+ }
134
+ .bi-chat-editor-message-send__target{
135
+ padding: 12px 0;
136
+ margin: 0 12px;
137
+ border-bottom: 1px solid #eee;
138
+ }
139
+ .bi-chat-editor-message-send__target-label{
140
+ margin-bottom: 6px;
141
+ }
142
+ .bi-chat-editor-message-send__content{
143
+ padding: 12px;
144
+ border-bottom: 1px solid #eee;
145
+ max-height: 300px;
146
+ overflow: auto;
147
+ }
148
+ .bi-chat-editor-message-send__toolbar{
149
+ display: flex;
150
+ flex-direction: row;
151
+ align-items: center;
152
+ justify-content: flex-end;
153
+ padding: 12px;
154
+ }
155
+ .bi-chat-editor-message-send__toolbar-item{
156
+ margin-left: 12px;
157
+ }
158
+ </style>
@@ -0,0 +1,75 @@
1
+ <template>
2
+ <view class="bi-chat-eidtor-quote">
3
+ <sdk-chat-control
4
+ type="quote"
5
+ :msg-type="quoteChat.msgType"
6
+ :content="quotaChatContent"
7
+ ></sdk-chat-control>
8
+ <view class="bi-chat-eidtor-quote__remove" @click="handleRemoveClick"></view>
9
+ </view>
10
+ </template>
11
+
12
+ <script>
13
+ import SdkChatControl from 'client-sdk/uni-components/chat-control/chat-control.vue'
14
+
15
+ export default {
16
+ name: 'BiChatEditorQuote',
17
+ components: {
18
+ SdkChatControl
19
+ },
20
+ props: {
21
+ quoteChat: {
22
+ type: Object,
23
+ required: true
24
+ }
25
+ },
26
+ computed: {
27
+ quotaChatContent () {
28
+ return this.quoteChat.content
29
+ }
30
+ },
31
+ methods: {
32
+ handleRemoveClick () {
33
+ this.$emit('remove')
34
+ }
35
+ }
36
+ }
37
+ </script>
38
+
39
+ <style lang="less">
40
+ .bi-chat-eidtor-quote{
41
+ display: block;
42
+ background-color: rgba(0,0,0,.1);
43
+ border-radius: 4px;
44
+ padding: 6px 30px 6px 6px;
45
+ position: relative;
46
+ }
47
+ .bi-chat-eidtor-quote__remove{
48
+ position: absolute;
49
+ width: 16px;
50
+ height: 16px;
51
+ background-color: #999;
52
+ top: 50%;
53
+ right: 12px;
54
+ border-radius: 50%;
55
+ transform: rotate(45deg) translateY(-50%);
56
+ cursor: pointer;
57
+ transition: all .25s;
58
+ &:before, &:after {
59
+ content: '';
60
+ position: absolute;
61
+ left: 50%;
62
+ top: 50%;
63
+ transform: translate(-50%, -50%);
64
+ background-color: #fff;
65
+ }
66
+ &:before {
67
+ width: 10px;
68
+ height: 1px;
69
+ }
70
+ &:after {
71
+ width: 1px;
72
+ height: 10px;
73
+ }
74
+ }
75
+ </style>
@@ -0,0 +1,257 @@
1
+ <template>
2
+ <view class="bi-chat-editor">
3
+ <view class="bi-chat-editor__inner">
4
+ <view class="bi-chat-editor__tools" v-if="false">
5
+ <view class="bi-chat-editor__tools-item">
6
+ <view class="bi-chat-editor__button" @click.stop="handleAtMemberClick">
7
+ <bi-icon name="at-line" size="24px"></bi-icon>
8
+ </view>
9
+ </view>
10
+ </view>
11
+ <view class="bi-chat-editor__main">
12
+ <view class="bi-chat-editor__input" @click.stop="handleInputClick">
13
+ <uv-textarea
14
+ v-model="formData.content"
15
+ :focus="inputFocus"
16
+ :cursor="inputCursor"
17
+ :maxlength="2000"
18
+ border="none"
19
+ autoHeight
20
+ placeholder="输入消息内容"
21
+ @blur="handleInputBlur"
22
+ @focus="handleInputFocus"
23
+ ></uv-textarea>
24
+ </view>
25
+ <template v-if="$slots.addon">
26
+ <view class="bi-chat-eidtor__addon">
27
+ <slot name="addon"></slot>
28
+ </view>
29
+ </template>
30
+ </view>
31
+ <view class="bi-chat-editor__tools">
32
+ <view class="bi-chat-editor__tools-item" @click.stop>
33
+ <template v-if="extendName != 'chartlet'">
34
+ <view class="bi-chat-editor__button" @click="handleChartletClick">
35
+ <bi-icon name="face-1-line" size="24px"></bi-icon>
36
+ </view>
37
+ </template>
38
+ <template v-else>
39
+ <view class="bi-chat-editor__button" @click="handleKeyboardClick">
40
+ <bi-icon name="keyboard-1-line" size="24px"></bi-icon>
41
+ </view>
42
+ </template>
43
+ </view>
44
+ <view class="bi-chat-editor__tools-item" v-if="hasContent">
45
+ <view class="bi-chat-editor__button is-primary" shape="circle" @click="handleSendClick">
46
+ <bi-icon name="send-plane-fill" color="#fff"></bi-icon>
47
+ </view>
48
+ </view>
49
+ <view class="bi-chat-editor__tools-item" v-else @click.stop>
50
+ <view class="bi-chat-editor__button" @click="handleFunctionClick">
51
+ <bi-icon name="plus-1-line" size="24px"></bi-icon>
52
+ </view>
53
+ </view>
54
+ </view>
55
+ </view>
56
+ <view class="bi-chat-editor__extend" v-if="!!extendName" @click.stop>
57
+ <template v-if="extendName === 'function'">
58
+ <view class="bi-chat-editor__function">
59
+ <chat-editor-func
60
+ :upload-root-directory="uploadRootDirectory"
61
+ :send-target="sendTarget"
62
+ :submit-method="submitMethod"
63
+ >
64
+ <template slot="atmember">
65
+ <slot name="atmember"></slot>
66
+ </template>
67
+ <template slot="notread">
68
+ <slot name="notread"></slot>
69
+ </template>
70
+ <template slot="reply">
71
+ <slot name="reply"></slot>
72
+ </template>
73
+ <template slot="material">
74
+ <slot name="material"></slot>
75
+ </template>
76
+ </chat-editor-func>
77
+ </view>
78
+ </template>
79
+ <template v-else-if="extendName === 'chartlet'">
80
+ <view class="bi-chat-editor__chartlet">
81
+ <chat-editor-chartlet
82
+ :submit-method="submitMethod"
83
+ :insert-text-method="insertInputText"
84
+ ></chat-editor-chartlet>
85
+ </view>
86
+ </template>
87
+ </view>
88
+ <view class="bi-chat-editor__safe"></view>
89
+ </view>
90
+ </template>
91
+
92
+ <script>
93
+ import ChatEditorFunc from './chat-editor-func/chat-editor-func.vue'
94
+ import ChatEditorChartlet from './chat-editor-chartlet/chat-editor-chartlet.vue'
95
+ import { MESSAGE_TYPE } from 'client-sdk/uni-components/chat-control/index.js'
96
+
97
+ export default {
98
+ name: 'BiChatEditor',
99
+ components: {
100
+ ChatEditorFunc,
101
+ ChatEditorChartlet
102
+ },
103
+ props: {
104
+ uploadRootDirectory: {
105
+ type: String,
106
+ required: true
107
+ },
108
+ allowAtMember: {
109
+ type: Boolean,
110
+ default: false
111
+ },
112
+ sendTarget: {
113
+ type: Object,
114
+ required: true
115
+ },
116
+ submitMethod: {
117
+ type: Function
118
+ }
119
+ },
120
+ data () {
121
+ return {
122
+ inputMode: 'text', // 输入方式,text文本,voice录音
123
+ extendName: 'keyboard',
124
+ inputFocus: false,
125
+ inputCursor: null,
126
+ inputLastCursor: null,
127
+ formData: {
128
+ content: ''
129
+ }
130
+ }
131
+ },
132
+ computed: {
133
+ hasContent () {
134
+ return !!this.formData.content
135
+ }
136
+ },
137
+ methods: {
138
+ handleChartletClick () {
139
+ this.extendName = 'chartlet'
140
+ },
141
+ handleKeyboardClick () {
142
+ this.extendName = 'keyboard'
143
+ this.inputFocus = true
144
+ },
145
+ handleFunctionClick () {
146
+ this.extendName = 'function'
147
+ },
148
+ handleInputClick (evt) {
149
+ this.extendName = 'keyboard'
150
+ },
151
+ handleInputBlur (evt) {
152
+ this.inputLastCursor = evt.detail.cursor
153
+ this.inputFocus = false
154
+ },
155
+ handleInputFocus () {
156
+ this.inputFocus = true
157
+ },
158
+ handleSendClick () {
159
+ if (this.submitMethod) {
160
+ this.submitMethod({
161
+ data: {
162
+ content: this.formData.content,
163
+ messageType: MESSAGE_TYPE.TEXT
164
+ }
165
+ }).then(() => {
166
+ this.formData.content = ''
167
+ })
168
+ }
169
+ },
170
+ insertInputText (text) {
171
+ this.inputFocus = true
172
+ this.inputCursor = this.inputLastCursor
173
+ const prependText = this.formData.content.substr(0, this.inputCursor || 0)
174
+ const appendText = this.formData.content.substr(this.inputCursor || 0)
175
+ this.formData.content = prependText + (text || '') + appendText
176
+ },
177
+ collapsePanel () {
178
+ this.extendName = 'keyboard'
179
+ }
180
+ }
181
+ }
182
+ </script>
183
+
184
+ <style lang="less">
185
+ .bi-chat-editor{
186
+ background-color: #f7f7f7;
187
+ border-top: 1px solid rgba(0,0,0,.03);
188
+ box-shadow: 0 -3px 6px rgba(0,0,0,.03);
189
+ }
190
+ .bi-chat-editor__inner{
191
+ display: flex;
192
+ flex-direction: row;
193
+ align-items: flex-end;
194
+ padding: 6px 12px;
195
+ }
196
+ .bi-chat-editor__main{
197
+ flex: 1;
198
+ min-width: 0;
199
+ margin: 0 12px 0 0;
200
+ }
201
+ .bi-chat-editor__input{
202
+ max-height: 240px;
203
+ overflow: auto;
204
+ background-color: #fff;
205
+ border-radius: 3px;
206
+ }
207
+ .bi-chat-eidtor__addon{
208
+ margin-top: 12px;
209
+ }
210
+ .bi-chat-editor__tools{
211
+ display: flex;
212
+ flex-direction: row;
213
+ + .bi-chat-editor__main{
214
+ margin-left: 12px;
215
+ }
216
+ }
217
+ .bi-chat-editor__tools-item {
218
+ height: 39px;
219
+ display: flex;
220
+ flex-direction: column;
221
+ align-items: center;
222
+ justify-content: center;
223
+ &:not(:last-child) {
224
+ margin-right: 12px;
225
+ }
226
+ }
227
+ .bi-chat-editor__extend{
228
+ border-top: 1px solid rgba(0,0,0,.03);
229
+ }
230
+ .bi-chat-editor__function{
231
+ height: 240px;
232
+ padding: 12px;
233
+ box-sizing: border-box;
234
+ }
235
+ .bi-chat-editor__chartlet{
236
+ height: 240px;
237
+ }
238
+ .bi-chat-editor__atmember{
239
+ height: 240px;
240
+ }
241
+ .bi-chat-editor__button{
242
+ width: 24px;
243
+ height: 24px;
244
+ text-align: center;
245
+ line-height: 24px;
246
+ border-radius: 50%;
247
+ &.is-primary {
248
+ background-color: #244ac0;
249
+ border-color: #244ac0;
250
+ color: #fff;
251
+ }
252
+ }
253
+ .bi-chat-editor__safe{
254
+ padding-bottom: calc(constant(safe-area-inset-bottom)); /* window-bottom + 适配 iPhoneX */
255
+ padding-bottom: calc(env(safe-area-inset-bottom));
256
+ }
257
+ </style>
@@ -0,0 +1,10 @@
1
+ import SdkChatEditor from './chat-editor.vue'
2
+ import SdkChatEditorFuncButton from './chat-editor-func-button/chat-editor-func-button.vue'
3
+ import { parseAtMemberMessage } from './util'
4
+
5
+ export {
6
+ parseAtMemberMessage,
7
+ SdkChatEditorFuncButton
8
+ }
9
+
10
+ export default SdkChatEditor
@@ -0,0 +1,65 @@
1
+ import { encodeRegexpString } from '../../utils/regexp'
2
+
3
+ /**
4
+ * 解析@成员消息
5
+ * @param { String } content - 消息文本内容
6
+ * @param { Array } memberData - 群成员数据
7
+ * @return
8
+ * {
9
+ * deleteAtItem // 删除@成员项
10
+ * insertAtItem // 插入@成员项
11
+ * getAtItem // 获取@成员项
12
+ * getAllAtItem // 判断是否有@成员项
13
+ * toString // 转位字符串
14
+ * }
15
+ * // 成员项结构
16
+ * {
17
+ * startIndex: 0, // 相对content的起始位置
18
+ * endIndex: 0, // 相对content的截止位置
19
+ * id: null // 成员id
20
+ * }
21
+ */
22
+ export function parseAtMemberMessage (content, memberData) {
23
+ if (!content || !memberData || !memberData.length) {
24
+ return content
25
+ }
26
+ let entity = []
27
+ function refreshEntiry () {
28
+ entity.splice(0, entity.length)
29
+ memberData.forEach(member => {
30
+ const regrex = new RegExp('@' + encodeRegexpString(member.nickname) + '(\\s+|$)')
31
+ const match = content.match(regrex)
32
+ if (match) {
33
+ entity.push({
34
+ id: member.id,
35
+ wechatId: member.wechatId,
36
+ startIndex: match[1],
37
+ endIndex: match[1] + match[0].length
38
+ })
39
+ }
40
+ })
41
+ }
42
+ function deleteAtItem (id) {
43
+
44
+ }
45
+ function insertAtItem () {
46
+
47
+ }
48
+ function getAtItem () {
49
+
50
+ }
51
+ function getAllAtItem () {
52
+ return entity || []
53
+ }
54
+ function toString () {
55
+ return content
56
+ }
57
+ refreshEntiry()
58
+ return {
59
+ deleteAtItem,
60
+ insertAtItem,
61
+ getAtItem,
62
+ getAllAtItem,
63
+ toString
64
+ }
65
+ }