@aochuang/client-sdk 1.0.363 → 1.0.365

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 (168) hide show
  1. package/components/index.js +1 -6
  2. package/components/layout/layout.vue +4 -1
  3. package/components/session-select/session-select-item.vue +9 -8
  4. package/components/wechat-chat-control/image/image.vue +8 -13
  5. package/components/wechat-chat-control/url/url-miniprogram.vue +5 -1
  6. package/components/wework-chat-control/channel-live/channel-live.vue +2 -7
  7. package/components/wework-chat-control/company-card/company-card.vue +1 -1
  8. package/components/wework-chat-control/custom-expression/custom-expression.vue +1 -2
  9. package/components/wework-chat-control/file-url/file-url.vue +16 -34
  10. package/components/wework-chat-control/image/image.vue +2 -137
  11. package/components/wework-chat-control/index.js +7 -15
  12. package/components/wework-chat-control/location/location.vue +3 -3
  13. package/components/wework-chat-control/red-envelopes/red-envelopes.vue +2 -3
  14. package/components/wework-chat-control/text/text.vue +144 -24
  15. package/components/wework-chat-control/url/url-miniprogram.vue +7 -6
  16. package/components/wework-chat-control/url/url.vue +2 -26
  17. package/components/wework-chat-control/util.js +17 -26
  18. package/components/wework-chat-control/video/video.vue +2 -10
  19. package/components/wework-chat-control/voice/voice.vue +2 -9
  20. package/components/wework-chat-panel/chat-panel-controls/company-card/company-card.vue +35 -0
  21. package/components/wework-chat-panel/chat-panel-controls/expression/expression.vue +36 -0
  22. package/components/wework-chat-panel/chat-panel-controls/file-url/file-url.vue +35 -0
  23. package/components/wework-chat-panel/chat-panel-controls/image/image.vue +36 -0
  24. package/components/wework-chat-panel/chat-panel-controls/index.js +35 -0
  25. package/components/wework-chat-panel/chat-panel-controls/jx-sys-text/jx-sys-text.vue +28 -0
  26. package/components/wework-chat-panel/chat-panel-controls/link/link.vue +35 -0
  27. package/components/wework-chat-panel/chat-panel-controls/location/location.vue +35 -0
  28. package/components/wework-chat-panel/chat-panel-controls/text/text.vue +43 -0
  29. package/components/wework-chat-panel/chat-panel-controls/unkonw/unkonw.vue +39 -0
  30. package/components/wework-chat-panel/chat-panel-controls/video/video.vue +37 -0
  31. package/components/wework-chat-panel/chat-panel-controls/voice/voice.vue +35 -0
  32. package/components/wework-chat-panel/chat-panel-item.vue +25 -56
  33. package/components/wework-chat-panel/chat-panel.vue +13 -96
  34. package/package.json +3 -10
  35. package/services/client-chat/client-chat-wechat/client-chat-session.js +290 -79
  36. package/services/client-chat/client-chat-wechat/client-chat.js +69 -99
  37. package/services/client-chat/client-chat-wework/client-chat-account.js +1 -84
  38. package/services/client-chat/client-chat-wework/client-chat-concats.js +17 -81
  39. package/services/client-chat/client-chat-wework/client-chat-message.js +5 -45
  40. package/services/client-chat/client-chat-wework/client-chat-session.js +4 -59
  41. package/services/client-chat/client-chat-wework/client-chat-socket.js +1 -13
  42. package/services/client-chat/client-chat-wework/client-chat.js +11 -320
  43. package/services/client-chat/client-chat-wework/utils.js +5 -5
  44. package/uni-common/account-portray/account-portray.vue +51 -0
  45. package/uni-common/account-select/account-select-item.vue +172 -0
  46. package/uni-common/account-select/account-select.vue +252 -0
  47. package/uni-common/all-friend-avatar/all-friend-avatar.vue +49 -0
  48. package/uni-common/friend-avatar/default.svg +1 -0
  49. package/uni-common/friend-avatar/friend-avatar.vue +27 -0
  50. package/uni-common/friend-avatar/index.js +3 -0
  51. package/uni-common/friend-loader/friend-loader.vue +53 -0
  52. package/uni-common/friend-portray/friend-portray.vue +56 -0
  53. package/uni-common/group-avatar/default.svg +1 -0
  54. package/uni-common/group-avatar/group-avatar.vue +18 -0
  55. package/uni-common/group-avatar/index.js +3 -0
  56. package/uni-common/room-avatar/default.svg +6 -0
  57. package/uni-common/room-avatar/index.js +3 -0
  58. package/uni-common/room-avatar/room-avatar.vue +27 -0
  59. package/uni-common/room-loader/room-loader.vue +53 -0
  60. package/uni-common/room-portray/room-portray.vue +56 -0
  61. package/uni-components/chat-control/calling/calling.vue +91 -0
  62. package/uni-components/chat-control/calling/phone-fill.svg +1 -0
  63. package/uni-components/chat-control/calling/vidicon-fill.svg +1 -0
  64. package/uni-components/chat-control/channel-video/channel-video.vue +89 -0
  65. package/uni-components/chat-control/channel-video-card/channel-video-card.vue +105 -0
  66. package/uni-components/chat-control/channel-video-live/channel-video-live.vue +92 -0
  67. package/uni-components/chat-control/chat-control-config-item/chat-control-config-item.vue +20 -0
  68. package/uni-components/chat-control/chat-control-config-item/index.js +3 -0
  69. package/uni-components/chat-control/chat-control-config-msg/chat-control-config-msg-app.vue +25 -0
  70. package/uni-components/chat-control/chat-control-config-msg/chat-control-config-msg-h5.vue +21 -0
  71. package/{components/wework-chat-control/wework-chat-control-config.vue → uni-components/chat-control/chat-control-config.vue} +13 -16
  72. package/uni-components/chat-control/chat-control.vue +218 -0
  73. package/uni-components/chat-control/company-card/company-card.vue +123 -0
  74. package/uni-components/chat-control/const.js +28 -0
  75. package/uni-components/chat-control/expression/expression.vue +41 -0
  76. package/uni-components/chat-control/image/image.vue +68 -0
  77. package/uni-components/chat-control/index.js +89 -0
  78. package/uni-components/chat-control/location/location.vue +110 -0
  79. package/uni-components/chat-control/member-change/member-change.vue +32 -0
  80. package/uni-components/chat-control/quote-message/quote-message.vue +216 -0
  81. package/uni-components/chat-control/real-time-position/real-time-position.vue +62 -0
  82. package/uni-components/chat-control/redpacket/red-envelope.svg +1 -0
  83. package/uni-components/chat-control/redpacket/redpacket.vue +75 -0
  84. package/uni-components/chat-control/share-card/share-card.vue +101 -0
  85. package/uni-components/chat-control/system/system.vue +69 -0
  86. package/uni-components/chat-control/system-batch-message/system-batch-message.vue +30 -0
  87. package/uni-components/chat-control/system-text/system-text.vue +32 -0
  88. package/uni-components/chat-control/text/text.vue +67 -0
  89. package/uni-components/chat-control/text-with-at/text-with-at.vue +51 -0
  90. package/uni-components/chat-control/transfer/red-transfer.svg +1 -0
  91. package/uni-components/chat-control/transfer/transfer.vue +80 -0
  92. package/uni-components/chat-control/unkonw/unkonw.vue +37 -0
  93. package/uni-components/chat-control/url/icons/file-excel-line.svg +1 -0
  94. package/uni-components/chat-control/url/icons/file-info-line.svg +1 -0
  95. package/uni-components/chat-control/url/icons/file-music-line.svg +1 -0
  96. package/uni-components/chat-control/url/icons/file-pdf-line.svg +1 -0
  97. package/uni-components/chat-control/url/icons/file-ppt-line.svg +1 -0
  98. package/uni-components/chat-control/url/icons/file-settings-line.svg +1 -0
  99. package/uni-components/chat-control/url/icons/file-text-line.svg +1 -0
  100. package/uni-components/chat-control/url/icons/file-unknow-line.svg +1 -0
  101. package/uni-components/chat-control/url/icons/file-word-line.svg +1 -0
  102. package/uni-components/chat-control/url/icons/file-zip-line.svg +1 -0
  103. package/uni-components/chat-control/url/icons/index.js +24 -0
  104. package/uni-components/chat-control/url/miniprogram.svg +1 -0
  105. package/uni-components/chat-control/url/url-miniprogram.vue +116 -0
  106. package/uni-components/chat-control/url/url.vue +306 -0
  107. package/uni-components/chat-control/url-new/icons/file-excel-line.svg +1 -0
  108. package/uni-components/chat-control/url-new/icons/file-info-line.svg +1 -0
  109. package/uni-components/chat-control/url-new/icons/file-music-line.svg +1 -0
  110. package/uni-components/chat-control/url-new/icons/file-pdf-line.svg +1 -0
  111. package/uni-components/chat-control/url-new/icons/file-ppt-line.svg +1 -0
  112. package/uni-components/chat-control/url-new/icons/file-settings-line.svg +1 -0
  113. package/uni-components/chat-control/url-new/icons/file-text-line.svg +1 -0
  114. package/uni-components/chat-control/url-new/icons/file-unknow-line.svg +1 -0
  115. package/uni-components/chat-control/url-new/icons/file-word-line.svg +1 -0
  116. package/uni-components/chat-control/url-new/icons/file-zip-line.svg +1 -0
  117. package/uni-components/chat-control/url-new/icons/index.js +24 -0
  118. package/uni-components/chat-control/url-new/url-new.vue +110 -0
  119. package/uni-components/chat-control/utils.js +12 -0
  120. package/uni-components/chat-control/video/video.vue +156 -0
  121. package/uni-components/chat-control/voice/voice.vue +166 -0
  122. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet-collect.vue +84 -0
  123. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet-system.vue +28 -0
  124. package/uni-components/chat-editor/chat-editor-chartlet/chat-editor-chartlet.vue +85 -0
  125. package/uni-components/chat-editor/chat-editor-func/chat-editor-func.vue +157 -0
  126. package/uni-components/chat-editor/chat-editor-func-at/chat-editor-func-at-panel.vue +158 -0
  127. package/uni-components/chat-editor/chat-editor-func-at/chat-editor-func-at.vue +61 -0
  128. package/uni-components/chat-editor/chat-editor-func-button/chat-editor-func-button.vue +58 -0
  129. package/uni-components/chat-editor/chat-editor-func-file/chat-editor-func-file.vue +54 -0
  130. package/uni-components/chat-editor/chat-editor-func-image/chat-editor-func-image.vue +42 -0
  131. package/uni-components/chat-editor/chat-editor-func-video/chat-editor-func-video.vue +42 -0
  132. package/uni-components/chat-editor/chat-editor-func-voice/chat-editor-func-voice.vue +25 -0
  133. package/uni-components/chat-editor/chat-editor-message-send/chat-editor-message-send.vue +158 -0
  134. package/uni-components/chat-editor/chat-editor-quote/chat-editor-quote.vue +75 -0
  135. package/uni-components/chat-editor/chat-editor.vue +257 -0
  136. package/uni-components/chat-editor/index.js +10 -0
  137. package/uni-components/chat-editor/util.js +65 -0
  138. package/uni-components/chat-panel/chat-panel-chats-box.vue +238 -0
  139. package/uni-components/chat-panel/chat-panel-chats-forward/chat-panel-chats-forward.vue +273 -0
  140. package/uni-components/chat-panel/chat-panel-chats-item.vue +578 -0
  141. package/uni-components/chat-panel/chat-panel-chats-status/chat-panel-chats-status.vue +71 -0
  142. package/uni-components/chat-panel/chat-panel-chats.vue +368 -0
  143. package/uni-components/chat-panel/chat-panel.vue +227 -0
  144. package/uni-components/contacts-group-select/contacts-group-select-item.vue +85 -0
  145. package/uni-components/contacts-group-select/contacts-group-select-panel.vue +119 -0
  146. package/uni-components/contacts-group-select/contacts-group-select.vue +150 -0
  147. package/common/.DS_Store +0 -0
  148. package/components/.DS_Store +0 -0
  149. package/components/wechat-chat-control/.DS_Store +0 -0
  150. package/components/wechat-chat-control/transfer/.DS_Store +0 -0
  151. package/components/wechat-chat-control/url/.DS_Store +0 -0
  152. package/components/wechat-chat-control/voice/.DS_Store +0 -0
  153. package/components/wework-chat-control/channel-card/channel-card.vue +0 -144
  154. package/components/wework-chat-control/link/.DS_Store +0 -0
  155. package/components/wework-chat-control/merge-message/merge-message-panel.vue +0 -63
  156. package/components/wework-chat-control/merge-message/merge-message.vue +0 -84
  157. package/components/wework-chat-control/merge-message/util.js +0 -59
  158. package/components/wework-chat-control/metting/enterprise-wechat.png +0 -0
  159. package/components/wework-chat-control/metting/meeting-video.svg +0 -4
  160. package/components/wework-chat-control/metting/metting.vue +0 -181
  161. package/components/wework-chat-control/text/text-default.vue +0 -99
  162. package/components/wework-chat-control/text/text-quote.vue +0 -105
  163. package/components/wework-chat-control/url/url-channel-live.vue +0 -53
  164. package/components/wework-chat-control/video/.DS_Store +0 -0
  165. package/components/wework-chat-control/wework-chat-control-config-item.vue +0 -24
  166. package/components/wework-chat-control/wework-chat-control-config-msg.vue +0 -25
  167. package/components/wework-chat-panel/chat-panel-chat-status/chat-panel-chat-status.vue +0 -73
  168. package/services/.DS_Store +0 -0
@@ -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,110 @@
1
+ <template>
2
+ <view
3
+ class="bi-chat-control-url-new"
4
+ >
5
+ <template v-if="content && content.type === 'file'">
6
+ <view class="bi-chat-control-url-new__file" @click="handleFileClick">
7
+ <view class="bi-chat-control-url-new__file-main">
8
+ <view class="bi-chat-control-url-new__file-title">
9
+ {{ title }}
10
+ </view>
11
+ <view class="bi-chat-control-url-new__file-size">
12
+ {{ fileSize }}
13
+ </view>
14
+ </view>
15
+ <view class="bi-chat-control-url-new__file-icon" :style="{'background-image': `url(${fileIcon})`}"></view>
16
+ </view>
17
+ </template>
18
+ <template v-else>
19
+ {{ data }}
20
+ </template>
21
+ </view>
22
+ </template>
23
+
24
+ <script>
25
+ import { toJson } from '../../../utils/data.js'
26
+ import { formatFileSize } from '@/utils/file.js'
27
+ import FileIcon from './icons/index.js'
28
+ import { openWebPage } from '@/utils/url.js'
29
+
30
+ export default {
31
+ name: 'BiChatControlUrlNew',
32
+ props: {
33
+ type: {
34
+ type: String,
35
+ default: 'default',
36
+ validator (value) {
37
+ return ['default', 'thumb'].includes(value)
38
+ }
39
+ },
40
+ data: {
41
+ type: String
42
+ }
43
+ },
44
+ computed: {
45
+ content () {
46
+ let content = this.data
47
+ if (typeof this.data === 'string') {
48
+ content = toJson(this.data)
49
+ }
50
+ return content
51
+ },
52
+ title () {
53
+ return this.content.title || this.content.url
54
+ },
55
+ fileIcon () {
56
+ return FileIcon[this.fileExt] || FileIcon.unknow
57
+ },
58
+ fileExt () {
59
+ let ext
60
+ if (this.title) {
61
+ ext = this.title.substr(this.title.lastIndexOf('.') + 1)
62
+ }
63
+ return ext
64
+ },
65
+ fileSize () {
66
+ if (typeof this.content.totalLen === 'number') {
67
+ return formatFileSize(this.content.totalLen)
68
+ }
69
+ return this.content.totalLen
70
+ }
71
+ },
72
+ methods: {
73
+ handleFileClick () {
74
+ if (this.content.url) {
75
+ openWebPage(this.content.url)
76
+ }
77
+ }
78
+ }
79
+ }
80
+ </script>
81
+
82
+ <style lang="less">
83
+ .bi-chat-control-url-new__file{
84
+ width: 200px;
85
+ line-height: 1.7em;;
86
+ display: flex;
87
+ flex-direction: row;
88
+ align-items: flex-start;
89
+ padding: 8px 12px;
90
+ word-break: break-all;
91
+ }
92
+ .bi-chat-control-url-new__file-title{
93
+ display: -webkit-box;
94
+ -webkit-box-orient: vertical;
95
+ -webkit-line-clamp: 2; /* 显示的行数,可以根据需要修改 */
96
+ overflow: hidden;
97
+ text-overflow: ellipsis;
98
+ margin-bottom: 6px;
99
+ }
100
+ .bi-chat-control-url-new__file-icon{
101
+ width: 48px;
102
+ min-width: 48px;
103
+ height: 48px;
104
+ margin-top: 4px;
105
+ margin-left: 12px;
106
+ background-position: 50% 50%;
107
+ background-size: cover;
108
+ background-repeat: no-repeat;
109
+ }
110
+ </style>
@@ -0,0 +1,12 @@
1
+ export function formatSystemMessage (content) {
2
+ if (!content) {
3
+ return
4
+ }
5
+ // 微被异常关闭 <a href=\"weixin://voip/callagain/?username=wxid_ofo60wv6hxeg22&isvideocall=false\">重新拨打</a>
6
+ content = content.replace(/<a .*?>(.*)?<\/a>/, '$1')
7
+ // 你有一笔待接收的<_wc_custom_link_ href=\"weixin://wxpay/transfer/remindrcvmsg?fromusername=wxid_czvz4ar05mzj12&transferid=1000050001202403131427288081709&transfer_msg_type=1\">转账</_wc_custom_link_>
8
+ content = content.replace(/<_wc_custom_link_ .*?>(.*)?<\/_wc_custom_link_>/, '$1')
9
+ // <img src=\"SystemMessages_HongbaoIcon.png\"/> 你领取了黄哒哒的<_wc_custom_link_ color=\"#FD9931\" href=\"weixin://weixinhongbao/opendetail?sendid=1000039901202403067108164737017&sign=aeb7599b2ba534837903a501e7c0f3aaa3449225842552e5d19221a43b1be006d012bcbf25660c6700d3ff1488703edf16e033ec6fb8a35a484ff79b3d4d71bf90c7dd7561af1335314c9ef451b8d36c&ver=6\">红包</_wc_custom_link_>
10
+ content = content.replace(/<img .*?\/>/, '')
11
+ return content
12
+ }
@@ -0,0 +1,156 @@
1
+ <template>
2
+ <view class="bi-chat-control-video" :class="['bi-chat-control-video--' + type]">
3
+ <template v-if="hasPreviewImage">
4
+ <image class="bi-chat-control-video__cover" mode="widthFix" :src="content.previewImage"></image>
5
+ <view class="bi-chat-control-video__play" @click.stop="handlePlayClick">
6
+ <ui-icon name="arrow-down-circle-line" size="32px"></ui-icon>
7
+ </view>
8
+ </template>
9
+ <template v-else>
10
+ <view class="bi-chat-control-video__poster" @click.stop="handlePosterClick">
11
+ <ui-icon name="play-circle-line" size="32px"></ui-icon>
12
+ </view>
13
+ </template>
14
+ <uv-overlay :show="showOverlay" :opacity="0.8" @click.stop="handleOverlayClick">
15
+ <view class="bi-chat-control-video__player" v-if="showOverlay">
16
+ <ui-video class="bi-chat-control-video__control" :src="innerSrc" @click.stop></ui-video>
17
+ </view>
18
+ </uv-overlay>
19
+ </view>
20
+ </template>
21
+
22
+ <script>
23
+ import { toJson } from '../../../utils/data.js'
24
+ import { formatOssPath } from '@aochuang/common/utils/oss'
25
+ import UiIcon from '@aochuang/common/uni-components/icon/icon.vue'
26
+ import UiVideo from '@aochuang/common/uni-components/video'
27
+
28
+ export default {
29
+ name: 'BiChatControlVideo',
30
+ components: {
31
+ UiIcon,
32
+ UiVideo
33
+ },
34
+ props: {
35
+ data: {
36
+ type: String
37
+ },
38
+ type: {
39
+ type: String,
40
+ default: 'default',
41
+ validator (value) {
42
+ return ['default', 'quote', 'thumb'].includes(value)
43
+ }
44
+ },
45
+ downloadMethod: {
46
+ type: Function
47
+ }
48
+ },
49
+ data () {
50
+ return {
51
+ showOverlay: false,
52
+ loading: false
53
+ }
54
+ },
55
+ computed: {
56
+ content () {
57
+ return toJson(this.data)
58
+ },
59
+ innerSrc () {
60
+ let src
61
+ if (typeof this.content === 'string') {
62
+ src = formatOssPath(this.content)
63
+ }
64
+ return src
65
+ },
66
+ hasPreviewImage () {
67
+ return this.content && this.content.previewImage
68
+ }
69
+ },
70
+ methods: {
71
+ handlePosterClick () {
72
+ this.showOverlay = true
73
+ },
74
+ handleOverlayClick () {
75
+ this.showOverlay = false
76
+ },
77
+ handlePlayClick () {
78
+ if (this.downloadMethod) {
79
+ this.downloadMethod({
80
+ data: this.content
81
+ }).then(() => {
82
+ this.$success('下载视频命令已下发,请耐心等待!')
83
+ })
84
+ }
85
+ }
86
+ }
87
+ }
88
+ </script>
89
+
90
+ <style lang="less">
91
+ .bi-chat-control-video--default {
92
+ .bi-chat-control-video__control{
93
+ max-width: 240px;
94
+ width: 240px;
95
+ }
96
+ .bi-chat-control-video__cover{
97
+ max-width: 160px;
98
+ width: 160px;
99
+ }
100
+ .bi-chat-control-video__poster{
101
+ width: 200px;
102
+ height: 180px;
103
+ }
104
+ }
105
+ .bi-chat-control-video--thumb {
106
+ width: 100%;
107
+ .bi-chat-control-video__control{
108
+ max-width: 100%;
109
+ }
110
+ .bi-chat-control-video__cover{
111
+ max-width: 100%;
112
+ }
113
+ .bi-chat-control-video__poster{
114
+ height: 140px;
115
+ width: 100%;
116
+ max-width: 100%;
117
+ }
118
+ }
119
+ .bi-chat-control-video{
120
+ display: inline-block;
121
+ position: relative;
122
+ }
123
+ .bi-chat-control-video__play{
124
+ position: absolute;
125
+ left: 0;
126
+ right: 0;
127
+ bottom: 0;
128
+ top: 0;
129
+ background-color: rgba(0,0,0,.1);
130
+ display: flex;
131
+ flex-direction: column;
132
+ align-items: center;
133
+ justify-content: center;
134
+ color: #fff;
135
+ }
136
+ .bi-chat-control-video__cover{
137
+ height: auto;
138
+ border-radius: 4px;
139
+ }
140
+ .bi-chat-control-video__poster{
141
+ background-color: #020202;
142
+ display: flex;
143
+ flex-direction: column;
144
+ align-items: center;
145
+ justify-content: center;
146
+ color: #fff;
147
+ }
148
+ .bi-chat-control-video__player{
149
+ display: flex;
150
+ flex-direction: column;
151
+ align-items: center;
152
+ justify-content: center;
153
+ width: 100%;
154
+ height: 100%;
155
+ }
156
+ </style>
@@ -0,0 +1,166 @@
1
+ <template>
2
+ <view class="bi-chat-control-voice" :class="['bi-chat-control-voice--' + type]">
3
+ <view class="bi-chat-control-voice__control" @click.stop>
4
+ <ui-voice class="bi-chat-control-voice__audio" :src="innerSrc"></ui-voice>
5
+ </view>
6
+ <view class="bi-chat-control-voice__vvt">
7
+ <div class="bi-chat-control-voice__result" v-if="transformStatus !== -1">
8
+ <template v-if="transformStatus === 1">
9
+ <div class="bi-chat-control-voice__result-status">
10
+ <ui-icon class="bi-chat-control-voice__result-stat-icon" name="loading"></ui-icon>转换中
11
+ </div>
12
+ </template>
13
+ <template v-if="transformStatus === 0">
14
+ <div class="bi-chat-control-voice__result-text" v-if="previewTransformContent" v-html="previewTransformContent"></div>
15
+ <div class="bi-chat-control-voice__result-status">
16
+ <ui-icon class="bi-chat-control-voice__result-stat-icon" name="checkbox-circle-fill"></ui-icon>转换完成
17
+ </div>
18
+ </template>
19
+ <template v-else-if="transformStatus === 2">
20
+ <div class="bi-chat-control-voice__result-text" v-if="transformContent" v-html="transformContent"></div>
21
+ <div class="bi-chat-control-voice__result-status">
22
+ <ui-icon class="bi-chat-control-voice__result-stat-icon" name="close-circle-fill"></ui-icon>转换失败
23
+ </div>
24
+ </template>
25
+ </div>
26
+ </view>
27
+ </view>
28
+ </template>
29
+ <script>
30
+ import { formatOssPath } from '@aochuang/common/utils/oss'
31
+ import UiIcon from '@aochuang/common/uni-components/icon/icon.vue'
32
+ import UiVoice from '@aochuang/common/uni-components/voice'
33
+
34
+ import { toJson } from '../../../utils/data.js'
35
+ const ConvertStatusEnum = {
36
+ NORMAL: -1, // 没有转换
37
+ ERROR: 2, // 转换失败
38
+ CONVERTING: 1, // 转换中
39
+ COMPLETE: 0 // 转换成功
40
+ }
41
+
42
+ export default {
43
+ name: 'BiChatControlVoice',
44
+ components: {
45
+ UiIcon,
46
+ UiVoice
47
+ },
48
+ props: {
49
+ dir: {
50
+ type: String,
51
+ default: 'left',
52
+ validator (value) {
53
+ return ['left', 'right'].includes(value)
54
+ }
55
+ },
56
+ type: {
57
+ type: String,
58
+ default: 'default',
59
+ validator (value) {
60
+ return ['default', 'quote', 'thumb'].includes(value)
61
+ }
62
+ },
63
+ data: {
64
+ type: String
65
+ },
66
+ convertStatus: {
67
+ type: Number
68
+ }
69
+ },
70
+ data () {
71
+ return {
72
+ transformStatus: typeof this.convertStatus === 'number' ? this.convertStatus : ConvertStatusEnum.NORMAL,
73
+ transformContent: null
74
+ }
75
+ },
76
+ computed: {
77
+ content () {
78
+ return toJson(this.data) || {}
79
+ },
80
+ innerSrc () {
81
+ if (!this.content.url) {
82
+ return
83
+ }
84
+ return formatOssPath(this.content.url)
85
+ },
86
+ innerTransformContent () {
87
+ if (this.transformStatus === 0 && this.formatter) {
88
+ const content = this.formatter({
89
+ content: this.transformContent
90
+ })
91
+ if (!content) {
92
+ return ''
93
+ }
94
+ return content
95
+ } else {
96
+ return this.transformContent
97
+ }
98
+ },
99
+ previewTransformContent () {
100
+ if (Array.isArray(this.transformContent)) {
101
+ return this.transformContent.map(v => v.text).join('\n')
102
+ } else {
103
+ return this.innerTransformContent
104
+ }
105
+ }
106
+ },
107
+ created () {
108
+ this.transformContent = this.content.text
109
+ },
110
+ methods: {
111
+ handlePlayClick () {
112
+ error('暂不支持播放')
113
+ }
114
+ }
115
+ }
116
+ </script>
117
+
118
+ <style lang="less">
119
+ .bi-chat-control-voice--default {
120
+ width: 240px;
121
+ }
122
+ .bi-chat-control-voice--thumb {
123
+ background-color: #f8f8f8;
124
+ border-radius: 3px;
125
+ .bi-chat-control-voice__control{
126
+ width: 65px;
127
+ height: 65px;
128
+ margin: 0 auto;
129
+ overflow: hidden;
130
+ border: 1px solid #eee;
131
+ border-radius: 3px;
132
+ /deep/ .uni-audio-default{
133
+ border: 0;
134
+ }
135
+ }
136
+ }
137
+ .bi-chat-control-voice__audio{
138
+ vertical-align: top;
139
+ /deep/ .uni-audio-default {
140
+ min-width: 240px;
141
+ }
142
+ }
143
+ .bi-chat-control-voice__result{
144
+ background-color: #fff;
145
+ border-radius: 3px;
146
+ max-width: 282px;
147
+ margin-top: 6px;
148
+ }
149
+ .bi-chat-control-voice__result-text{
150
+ padding: 10px 12px 0;
151
+ text-align: left;
152
+ max-height: 360px;
153
+ overflow: auto;
154
+ }
155
+ .bi-chat-control-voice__result-status{
156
+ padding: 6px 12px;
157
+ color: #888;
158
+ font-size: 12px;
159
+ display: flex;
160
+ flex-direction: row;
161
+ align-items: center;
162
+ }
163
+ .bi-chat-control-voice__result-stat-icon{
164
+ margin-right: 4px;
165
+ }
166
+ </style>
@@ -0,0 +1,84 @@
1
+ <template>
2
+ <view class="sdk-chat-editor-chartlet-collect">
3
+ <bi-scroll-load-more
4
+ :data="collectData"
5
+ @query="handleQueryCollectData"
6
+ >
7
+ <view class="sdk-chat-editor-chartlet-collect__list">
8
+ <view
9
+ class="sdk-chat-editor-chartlet-collect__item"
10
+ v-for="item in collectData"
11
+ :key="item.id"
12
+ >
13
+ <uv-image
14
+ :src="item.data.url"
15
+ width="80px"
16
+ height="80px"
17
+ @click="handleImageClick(item)"
18
+ ></uv-image>
19
+ </view>
20
+ </view>
21
+ </bi-scroll-load-more>
22
+ </view>
23
+ </template>
24
+
25
+ <script>
26
+ import { loadCollectionData } from '@/apis/collection.js'
27
+ import BiScrollLoadMore from '@aochuang/common/uni-common/scroll-load-more/scroll-load-more.vue'
28
+
29
+ export default {
30
+ name: 'SdkChatEditorChartletCollect',
31
+ components: {
32
+ BiScrollLoadMore
33
+ },
34
+ data () {
35
+ return {
36
+ collectData: []
37
+ }
38
+ },
39
+ methods: {
40
+ handleImageClick (item) {
41
+ this.$emit('select', {
42
+ item
43
+ })
44
+ },
45
+ handleQueryCollectData ({ setCallback }) {
46
+ setCallback(({ pageSize, pageIndex }) => {
47
+ return loadCollectionData({
48
+ pageSize,
49
+ pageIndex
50
+ }).then((rs) => {
51
+ const data = (rs.data || {}).results || []
52
+ this.collectData = [].concat(this.collectData, data)
53
+ return {
54
+ data
55
+ }
56
+ })
57
+ })
58
+ }
59
+ }
60
+ }
61
+ </script>
62
+
63
+ <style lang="less">
64
+ .sdk-chat-editor-chartlet-collect{
65
+ height: 100%;
66
+ }
67
+ .sdk-chat-editor-chartlet-collect__list{
68
+ &:after {
69
+ content: '';
70
+ display: block;
71
+ clear: both;
72
+ }
73
+ }
74
+ .sdk-chat-editor-chartlet-collect__item{
75
+ width: 33.33%;
76
+ float: left;
77
+ display: flex;
78
+ flex-direction: column;
79
+ align-items: center;
80
+ justify-content: center;
81
+ padding: 8px;
82
+ box-sizing: border-box;
83
+ }
84
+ </style>
@@ -0,0 +1,28 @@
1
+ <template>
2
+ <view class="sdk-chat-editor-chartlet-system">
3
+ <bi-wechat-emoji @select="handleSelect"></bi-wechat-emoji>
4
+ </view>
5
+ </template>
6
+
7
+ <script>
8
+ import BiWechatEmoji from '@aochuang/common/uni-common/wechat-emoji'
9
+
10
+ export default {
11
+ name: 'SdkChatEditorChartletSystem',
12
+ components: {
13
+ BiWechatEmoji
14
+ },
15
+ methods: {
16
+ handleSelect (evt) {
17
+ this.$emit('select', evt)
18
+ }
19
+ }
20
+ }
21
+ </script>
22
+
23
+ <style lang="less">
24
+ .sdk-chat-editor-chartlet-system{
25
+ height: 100%;
26
+ overflow: auto;
27
+ }
28
+ </style>