askbot-dragon 1.6.76-beta → 1.6.76

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 (308) hide show
  1. package/README.md +27 -27
  2. package/babel.config.js +6 -6
  3. package/dragon.iml +7 -7
  4. package/package.json +58 -55
  5. package/public/index.html +75 -72
  6. package/public/pdfjs/cmaps/78-EUC-H.bcmap +0 -0
  7. package/public/pdfjs/cmaps/78-EUC-V.bcmap +0 -0
  8. package/public/pdfjs/cmaps/78-H.bcmap +0 -0
  9. package/public/pdfjs/cmaps/78-RKSJ-H.bcmap +0 -0
  10. package/public/pdfjs/cmaps/78-RKSJ-V.bcmap +0 -0
  11. package/public/pdfjs/cmaps/78-V.bcmap +0 -0
  12. package/public/pdfjs/cmaps/78ms-RKSJ-H.bcmap +0 -0
  13. package/public/pdfjs/cmaps/78ms-RKSJ-V.bcmap +0 -0
  14. package/public/pdfjs/cmaps/83pv-RKSJ-H.bcmap +0 -0
  15. package/public/pdfjs/cmaps/90ms-RKSJ-H.bcmap +0 -0
  16. package/public/pdfjs/cmaps/90ms-RKSJ-V.bcmap +0 -0
  17. package/public/pdfjs/cmaps/90msp-RKSJ-H.bcmap +0 -0
  18. package/public/pdfjs/cmaps/90msp-RKSJ-V.bcmap +0 -0
  19. package/public/pdfjs/cmaps/90pv-RKSJ-H.bcmap +0 -0
  20. package/public/pdfjs/cmaps/90pv-RKSJ-V.bcmap +0 -0
  21. package/public/pdfjs/cmaps/Add-H.bcmap +0 -0
  22. package/public/pdfjs/cmaps/Add-RKSJ-H.bcmap +0 -0
  23. package/public/pdfjs/cmaps/Add-RKSJ-V.bcmap +0 -0
  24. package/public/pdfjs/cmaps/Add-V.bcmap +0 -0
  25. package/public/pdfjs/cmaps/Adobe-CNS1-0.bcmap +0 -0
  26. package/public/pdfjs/cmaps/Adobe-CNS1-1.bcmap +0 -0
  27. package/public/pdfjs/cmaps/Adobe-CNS1-2.bcmap +0 -0
  28. package/public/pdfjs/cmaps/Adobe-CNS1-3.bcmap +0 -0
  29. package/public/pdfjs/cmaps/Adobe-CNS1-4.bcmap +0 -0
  30. package/public/pdfjs/cmaps/Adobe-CNS1-5.bcmap +0 -0
  31. package/public/pdfjs/cmaps/Adobe-CNS1-6.bcmap +0 -0
  32. package/public/pdfjs/cmaps/Adobe-CNS1-UCS2.bcmap +0 -0
  33. package/public/pdfjs/cmaps/Adobe-GB1-0.bcmap +0 -0
  34. package/public/pdfjs/cmaps/Adobe-GB1-1.bcmap +0 -0
  35. package/public/pdfjs/cmaps/Adobe-GB1-2.bcmap +0 -0
  36. package/public/pdfjs/cmaps/Adobe-GB1-3.bcmap +0 -0
  37. package/public/pdfjs/cmaps/Adobe-GB1-4.bcmap +0 -0
  38. package/public/pdfjs/cmaps/Adobe-GB1-5.bcmap +0 -0
  39. package/public/pdfjs/cmaps/Adobe-GB1-UCS2.bcmap +0 -0
  40. package/public/pdfjs/cmaps/Adobe-Japan1-0.bcmap +0 -0
  41. package/public/pdfjs/cmaps/Adobe-Japan1-1.bcmap +0 -0
  42. package/public/pdfjs/cmaps/Adobe-Japan1-2.bcmap +0 -0
  43. package/public/pdfjs/cmaps/Adobe-Japan1-3.bcmap +0 -0
  44. package/public/pdfjs/cmaps/Adobe-Japan1-4.bcmap +0 -0
  45. package/public/pdfjs/cmaps/Adobe-Japan1-5.bcmap +0 -0
  46. package/public/pdfjs/cmaps/Adobe-Japan1-6.bcmap +0 -0
  47. package/public/pdfjs/cmaps/Adobe-Japan1-UCS2.bcmap +0 -0
  48. package/public/pdfjs/cmaps/Adobe-Korea1-0.bcmap +0 -0
  49. package/public/pdfjs/cmaps/Adobe-Korea1-1.bcmap +0 -0
  50. package/public/pdfjs/cmaps/Adobe-Korea1-2.bcmap +0 -0
  51. package/public/pdfjs/cmaps/Adobe-Korea1-UCS2.bcmap +0 -0
  52. package/public/pdfjs/cmaps/B5-H.bcmap +0 -0
  53. package/public/pdfjs/cmaps/B5-V.bcmap +0 -0
  54. package/public/pdfjs/cmaps/B5pc-H.bcmap +0 -0
  55. package/public/pdfjs/cmaps/B5pc-V.bcmap +0 -0
  56. package/public/pdfjs/cmaps/CNS-EUC-H.bcmap +0 -0
  57. package/public/pdfjs/cmaps/CNS-EUC-V.bcmap +0 -0
  58. package/public/pdfjs/cmaps/CNS1-H.bcmap +0 -0
  59. package/public/pdfjs/cmaps/CNS1-V.bcmap +0 -0
  60. package/public/pdfjs/cmaps/CNS2-H.bcmap +0 -0
  61. package/public/pdfjs/cmaps/CNS2-V.bcmap +3 -0
  62. package/public/pdfjs/cmaps/ETHK-B5-H.bcmap +0 -0
  63. package/public/pdfjs/cmaps/ETHK-B5-V.bcmap +0 -0
  64. package/public/pdfjs/cmaps/ETen-B5-H.bcmap +0 -0
  65. package/public/pdfjs/cmaps/ETen-B5-V.bcmap +0 -0
  66. package/public/pdfjs/cmaps/ETenms-B5-H.bcmap +3 -0
  67. package/public/pdfjs/cmaps/ETenms-B5-V.bcmap +0 -0
  68. package/public/pdfjs/cmaps/EUC-H.bcmap +0 -0
  69. package/public/pdfjs/cmaps/EUC-V.bcmap +0 -0
  70. package/public/pdfjs/cmaps/Ext-H.bcmap +0 -0
  71. package/public/pdfjs/cmaps/Ext-RKSJ-H.bcmap +0 -0
  72. package/public/pdfjs/cmaps/Ext-RKSJ-V.bcmap +0 -0
  73. package/public/pdfjs/cmaps/Ext-V.bcmap +0 -0
  74. package/public/pdfjs/cmaps/GB-EUC-H.bcmap +0 -0
  75. package/public/pdfjs/cmaps/GB-EUC-V.bcmap +0 -0
  76. package/public/pdfjs/cmaps/GB-H.bcmap +4 -0
  77. package/public/pdfjs/cmaps/GB-V.bcmap +0 -0
  78. package/public/pdfjs/cmaps/GBK-EUC-H.bcmap +0 -0
  79. package/public/pdfjs/cmaps/GBK-EUC-V.bcmap +0 -0
  80. package/public/pdfjs/cmaps/GBK2K-H.bcmap +0 -0
  81. package/public/pdfjs/cmaps/GBK2K-V.bcmap +0 -0
  82. package/public/pdfjs/cmaps/GBKp-EUC-H.bcmap +0 -0
  83. package/public/pdfjs/cmaps/GBKp-EUC-V.bcmap +0 -0
  84. package/public/pdfjs/cmaps/GBT-EUC-H.bcmap +0 -0
  85. package/public/pdfjs/cmaps/GBT-EUC-V.bcmap +0 -0
  86. package/public/pdfjs/cmaps/GBT-H.bcmap +0 -0
  87. package/public/pdfjs/cmaps/GBT-V.bcmap +0 -0
  88. package/public/pdfjs/cmaps/GBTpc-EUC-H.bcmap +0 -0
  89. package/public/pdfjs/cmaps/GBTpc-EUC-V.bcmap +0 -0
  90. package/public/pdfjs/cmaps/GBpc-EUC-H.bcmap +0 -0
  91. package/public/pdfjs/cmaps/GBpc-EUC-V.bcmap +0 -0
  92. package/public/pdfjs/cmaps/H.bcmap +0 -0
  93. package/public/pdfjs/cmaps/HKdla-B5-H.bcmap +0 -0
  94. package/public/pdfjs/cmaps/HKdla-B5-V.bcmap +0 -0
  95. package/public/pdfjs/cmaps/HKdlb-B5-H.bcmap +0 -0
  96. package/public/pdfjs/cmaps/HKdlb-B5-V.bcmap +0 -0
  97. package/public/pdfjs/cmaps/HKgccs-B5-H.bcmap +0 -0
  98. package/public/pdfjs/cmaps/HKgccs-B5-V.bcmap +0 -0
  99. package/public/pdfjs/cmaps/HKm314-B5-H.bcmap +0 -0
  100. package/public/pdfjs/cmaps/HKm314-B5-V.bcmap +0 -0
  101. package/public/pdfjs/cmaps/HKm471-B5-H.bcmap +0 -0
  102. package/public/pdfjs/cmaps/HKm471-B5-V.bcmap +0 -0
  103. package/public/pdfjs/cmaps/HKscs-B5-H.bcmap +0 -0
  104. package/public/pdfjs/cmaps/HKscs-B5-V.bcmap +0 -0
  105. package/public/pdfjs/cmaps/Hankaku.bcmap +0 -0
  106. package/public/pdfjs/cmaps/Hiragana.bcmap +0 -0
  107. package/public/pdfjs/cmaps/KSC-EUC-H.bcmap +0 -0
  108. package/public/pdfjs/cmaps/KSC-EUC-V.bcmap +0 -0
  109. package/public/pdfjs/cmaps/KSC-H.bcmap +0 -0
  110. package/public/pdfjs/cmaps/KSC-Johab-H.bcmap +0 -0
  111. package/public/pdfjs/cmaps/KSC-Johab-V.bcmap +0 -0
  112. package/public/pdfjs/cmaps/KSC-V.bcmap +0 -0
  113. package/public/pdfjs/cmaps/KSCms-UHC-H.bcmap +0 -0
  114. package/public/pdfjs/cmaps/KSCms-UHC-HW-H.bcmap +0 -0
  115. package/public/pdfjs/cmaps/KSCms-UHC-HW-V.bcmap +0 -0
  116. package/public/pdfjs/cmaps/KSCms-UHC-V.bcmap +0 -0
  117. package/public/pdfjs/cmaps/KSCpc-EUC-H.bcmap +0 -0
  118. package/public/pdfjs/cmaps/KSCpc-EUC-V.bcmap +0 -0
  119. package/public/pdfjs/cmaps/Katakana.bcmap +0 -0
  120. package/public/pdfjs/cmaps/LICENSE +36 -0
  121. package/public/pdfjs/cmaps/NWP-H.bcmap +0 -0
  122. package/public/pdfjs/cmaps/NWP-V.bcmap +0 -0
  123. package/public/pdfjs/cmaps/RKSJ-H.bcmap +0 -0
  124. package/public/pdfjs/cmaps/RKSJ-V.bcmap +0 -0
  125. package/public/pdfjs/cmaps/Roman.bcmap +0 -0
  126. package/public/pdfjs/cmaps/UniCNS-UCS2-H.bcmap +0 -0
  127. package/public/pdfjs/cmaps/UniCNS-UCS2-V.bcmap +0 -0
  128. package/public/pdfjs/cmaps/UniCNS-UTF16-H.bcmap +0 -0
  129. package/public/pdfjs/cmaps/UniCNS-UTF16-V.bcmap +0 -0
  130. package/public/pdfjs/cmaps/UniCNS-UTF32-H.bcmap +0 -0
  131. package/public/pdfjs/cmaps/UniCNS-UTF32-V.bcmap +0 -0
  132. package/public/pdfjs/cmaps/UniCNS-UTF8-H.bcmap +0 -0
  133. package/public/pdfjs/cmaps/UniCNS-UTF8-V.bcmap +0 -0
  134. package/public/pdfjs/cmaps/UniGB-UCS2-H.bcmap +0 -0
  135. package/public/pdfjs/cmaps/UniGB-UCS2-V.bcmap +0 -0
  136. package/public/pdfjs/cmaps/UniGB-UTF16-H.bcmap +0 -0
  137. package/public/pdfjs/cmaps/UniGB-UTF16-V.bcmap +0 -0
  138. package/public/pdfjs/cmaps/UniGB-UTF32-H.bcmap +0 -0
  139. package/public/pdfjs/cmaps/UniGB-UTF32-V.bcmap +0 -0
  140. package/public/pdfjs/cmaps/UniGB-UTF8-H.bcmap +0 -0
  141. package/public/pdfjs/cmaps/UniGB-UTF8-V.bcmap +0 -0
  142. package/public/pdfjs/cmaps/UniJIS-UCS2-H.bcmap +0 -0
  143. package/public/pdfjs/cmaps/UniJIS-UCS2-HW-H.bcmap +0 -0
  144. package/public/pdfjs/cmaps/UniJIS-UCS2-HW-V.bcmap +0 -0
  145. package/public/pdfjs/cmaps/UniJIS-UCS2-V.bcmap +0 -0
  146. package/public/pdfjs/cmaps/UniJIS-UTF16-H.bcmap +0 -0
  147. package/public/pdfjs/cmaps/UniJIS-UTF16-V.bcmap +0 -0
  148. package/public/pdfjs/cmaps/UniJIS-UTF32-H.bcmap +0 -0
  149. package/public/pdfjs/cmaps/UniJIS-UTF32-V.bcmap +0 -0
  150. package/public/pdfjs/cmaps/UniJIS-UTF8-H.bcmap +0 -0
  151. package/public/pdfjs/cmaps/UniJIS-UTF8-V.bcmap +0 -0
  152. package/public/pdfjs/cmaps/UniJIS2004-UTF16-H.bcmap +0 -0
  153. package/public/pdfjs/cmaps/UniJIS2004-UTF16-V.bcmap +0 -0
  154. package/public/pdfjs/cmaps/UniJIS2004-UTF32-H.bcmap +0 -0
  155. package/public/pdfjs/cmaps/UniJIS2004-UTF32-V.bcmap +0 -0
  156. package/public/pdfjs/cmaps/UniJIS2004-UTF8-H.bcmap +0 -0
  157. package/public/pdfjs/cmaps/UniJIS2004-UTF8-V.bcmap +0 -0
  158. package/public/pdfjs/cmaps/UniJISPro-UCS2-HW-V.bcmap +0 -0
  159. package/public/pdfjs/cmaps/UniJISPro-UCS2-V.bcmap +0 -0
  160. package/public/pdfjs/cmaps/UniJISPro-UTF8-V.bcmap +0 -0
  161. package/public/pdfjs/cmaps/UniJISX0213-UTF32-H.bcmap +0 -0
  162. package/public/pdfjs/cmaps/UniJISX0213-UTF32-V.bcmap +0 -0
  163. package/public/pdfjs/cmaps/UniJISX02132004-UTF32-H.bcmap +0 -0
  164. package/public/pdfjs/cmaps/UniJISX02132004-UTF32-V.bcmap +0 -0
  165. package/public/pdfjs/cmaps/UniKS-UCS2-H.bcmap +0 -0
  166. package/public/pdfjs/cmaps/UniKS-UCS2-V.bcmap +0 -0
  167. package/public/pdfjs/cmaps/UniKS-UTF16-H.bcmap +0 -0
  168. package/public/pdfjs/cmaps/UniKS-UTF16-V.bcmap +0 -0
  169. package/public/pdfjs/cmaps/UniKS-UTF32-H.bcmap +0 -0
  170. package/public/pdfjs/cmaps/UniKS-UTF32-V.bcmap +0 -0
  171. package/public/pdfjs/cmaps/UniKS-UTF8-H.bcmap +0 -0
  172. package/public/pdfjs/cmaps/UniKS-UTF8-V.bcmap +0 -0
  173. package/public/pdfjs/cmaps/V.bcmap +0 -0
  174. package/public/pdfjs/cmaps/WP-Symbol.bcmap +0 -0
  175. package/public/pdfjs/standard_fonts/FoxitDingbats.pfb +0 -0
  176. package/public/pdfjs/standard_fonts/FoxitFixed.pfb +0 -0
  177. package/public/pdfjs/standard_fonts/FoxitFixedBold.pfb +0 -0
  178. package/public/pdfjs/standard_fonts/FoxitFixedBoldItalic.pfb +0 -0
  179. package/public/pdfjs/standard_fonts/FoxitFixedItalic.pfb +0 -0
  180. package/public/pdfjs/standard_fonts/FoxitSans.pfb +0 -0
  181. package/public/pdfjs/standard_fonts/FoxitSansBold.pfb +0 -0
  182. package/public/pdfjs/standard_fonts/FoxitSansBoldItalic.pfb +0 -0
  183. package/public/pdfjs/standard_fonts/FoxitSansItalic.pfb +0 -0
  184. package/public/pdfjs/standard_fonts/FoxitSerif.pfb +0 -0
  185. package/public/pdfjs/standard_fonts/FoxitSerifBold.pfb +0 -0
  186. package/public/pdfjs/standard_fonts/FoxitSerifBoldItalic.pfb +0 -0
  187. package/public/pdfjs/standard_fonts/FoxitSerifItalic.pfb +0 -0
  188. package/public/pdfjs/standard_fonts/FoxitSymbol.pfb +0 -0
  189. package/public/pdfjs/standard_fonts/LICENSE_FOXIT +27 -0
  190. package/public/pdfjs/standard_fonts/LICENSE_LIBERATION +102 -0
  191. package/public/pdfjs/standard_fonts/LiberationSans-Bold.ttf +0 -0
  192. package/public/pdfjs/standard_fonts/LiberationSans-BoldItalic.ttf +0 -0
  193. package/public/pdfjs/standard_fonts/LiberationSans-Italic.ttf +0 -0
  194. package/public/pdfjs/standard_fonts/LiberationSans-Regular.ttf +0 -0
  195. package/src/App.vue +31 -31
  196. package/src/api/index.js +1 -1
  197. package/src/api/mock.http +2 -2
  198. package/src/api/requestUrl.js +185 -185
  199. package/src/assets/image/default_avt_ui.png +0 -0
  200. package/src/assets/image/filtType/audio.png +0 -0
  201. package/src/assets/image/filtType/excel1.png +0 -0
  202. package/src/assets/image/filtType/general.png +0 -0
  203. package/src/assets/image/filtType/html.png +0 -0
  204. package/src/assets/image/filtType/image1.png +0 -0
  205. package/src/assets/image/filtType/link.png +0 -0
  206. package/src/assets/image/filtType/md2.png +0 -0
  207. package/src/assets/image/filtType/mode.png +0 -0
  208. package/src/assets/image/filtType/news.png +0 -0
  209. package/src/assets/image/filtType/pdf1.png +0 -0
  210. package/src/assets/image/filtType/ppt1.png +0 -0
  211. package/src/assets/image/filtType/selfadd1.png +0 -0
  212. package/src/assets/image/filtType/txt1.png +0 -0
  213. package/src/assets/image/filtType/video.png +0 -0
  214. package/src/assets/image/filtType/wechat.png +0 -0
  215. package/src/assets/image/filtType/word1.png +0 -0
  216. package/src/assets/image/loading.gif +0 -0
  217. package/src/assets/js/AliyunlssUtil.js +117 -92
  218. package/src/assets/js/Base64Util.js +22 -22
  219. package/src/assets/js/common.js +287 -252
  220. package/src/assets/js/hammer.js +89 -100
  221. package/src/assets/js/script.js +36 -36
  222. package/src/assets/less/common.css +6773 -6773
  223. package/src/assets/less/converSationContainer/common.less +192 -199
  224. package/src/assets/less/converSationContainer/converSatonContainer.less +486 -493
  225. package/src/assets/less/iconfont.css +37 -37
  226. package/src/assets/less/ticketMessage.less +294 -294
  227. package/src/assets/less/variables.less +122 -0
  228. package/src/components/ActionAlertIframe.vue +155 -177
  229. package/src/components/AiGuide.vue +473 -466
  230. package/src/components/AnswerDocknowledge.vue +1207 -1059
  231. package/src/components/AnswerVoice.vue +286 -285
  232. package/src/components/AskIFrame.vue +15 -15
  233. package/src/components/ConversationContainer.vue +10880 -4934
  234. package/src/components/FileType.vue +86 -86
  235. package/src/components/Message.vue +27 -27
  236. package/src/components/MyEditor.vue +343 -351
  237. package/src/components/QwFeedback.vue +304 -0
  238. package/src/components/actionSatisfaction.vue +109 -107
  239. package/src/components/actionSendToBot.vue +64 -62
  240. package/src/components/answerDissatisfaction.vue +64 -62
  241. package/src/components/answerRadio.vue +261 -186
  242. package/src/components/ask-components/DissatisfactionOptions.vue +58 -57
  243. package/src/components/ask-components/Msgloading.vue +38 -37
  244. package/src/components/ask-components/SatisfactionV2.vue +15 -15
  245. package/src/components/askVideo.vue +214 -162
  246. package/src/components/assetDetails.vue +379 -378
  247. package/src/components/assetMessage.vue +231 -228
  248. package/src/components/associationIntention.vue +414 -355
  249. package/src/components/attachmentPreview.vue +92 -90
  250. package/src/components/botActionSatisfactor.vue +70 -68
  251. package/src/components/chatContent.vue +514 -513
  252. package/src/components/feedBack.vue +138 -136
  253. package/src/components/fielListView.vue +352 -351
  254. package/src/components/file/AliyunOssComponents.vue +108 -108
  255. package/src/components/formTemplate.vue +3517 -3572
  256. package/src/components/imgView.vue +32 -0
  257. package/src/components/intelligentSummary.vue +232 -227
  258. package/src/components/interruptComponents/imageSelectionAnswer.vue +203 -0
  259. package/src/components/interruptComponents/multipleChoiceAnswer.vue +134 -0
  260. package/src/components/interruptComponents/singleChoiceAnswer.vue +82 -0
  261. package/src/components/kkview.vue +1130 -1138
  262. package/src/components/loadingProcess.vue +164 -164
  263. package/src/components/markDownText.vue +961 -0
  264. package/src/components/message/ActionAlertIframe.vue +112 -112
  265. package/src/components/message/ShopMessage.vue +164 -164
  266. package/src/components/message/TextMessage.vue +926 -924
  267. package/src/components/message/TicketMessage.vue +201 -201
  268. package/src/components/message/swiper/index.js +4 -4
  269. package/src/components/message/swiper/ticketSwiper.vue +503 -503
  270. package/src/components/message/swiper/ticketSwiperItem.vue +61 -61
  271. package/src/components/msgLoading.vue +231 -231
  272. package/src/components/myPopup.vue +75 -70
  273. package/src/components/outputComponents/outputCom.vue +149 -0
  274. package/src/components/pagination.vue +130 -0
  275. package/src/components/pdfPosition.vue +1337 -1506
  276. package/src/components/popup.vue +230 -227
  277. package/src/components/preview/docView.vue +263 -0
  278. package/src/components/preview/excelView.vue +260 -0
  279. package/src/components/preview/markDownView.vue +70 -0
  280. package/src/components/preview/newPositionPreview.vue +601 -0
  281. package/src/components/preview/pdfView.vue +973 -0
  282. package/src/components/previewDoc.vue +253 -247
  283. package/src/components/previewPdf.vue +1106 -757
  284. package/src/components/previewWisdom.vue +252 -0
  285. package/src/components/receiverMessagePlatform.vue +71 -65
  286. package/src/components/recommend.vue +82 -80
  287. package/src/components/selector/hOption.vue +20 -20
  288. package/src/components/selector/hSelector.vue +199 -199
  289. package/src/components/selector/hWrapper.vue +216 -216
  290. package/src/components/senderMessagePlatform.vue +60 -50
  291. package/src/components/source/BotMessage.vue +24 -24
  292. package/src/components/source/CustomMessage.vue +24 -24
  293. package/src/components/test.vue +260 -260
  294. package/src/components/tree.vue +310 -295
  295. package/src/components/utils/AliyunIssUtil.js +103 -81
  296. package/src/components/utils/ckeditor.js +185 -174
  297. package/src/components/utils/format_date.js +25 -25
  298. package/src/components/utils/index.js +6 -6
  299. package/src/components/utils/math_utils.js +29 -29
  300. package/src/components/voiceComponent.vue +122 -119
  301. package/src/components/welcomeKnowledgeFile.vue +346 -340
  302. package/src/components/welcomeLlmCard.vue +142 -140
  303. package/src/components/welcomeSuggest.vue +99 -97
  304. package/src/locales/cn.json +100 -0
  305. package/src/locales/en.json +99 -0
  306. package/src/main.js +76 -57
  307. package/vue.config.js +54 -54
  308. package/src/components/newPdfPosition.vue +0 -878
@@ -1,514 +1,515 @@
1
- <template>
2
- <view class="chat-message-content" id="messageContent" @touchstart="touchEvent">
3
- <view class="message-notice" v-show="connectSucess"><view class="notice-content">已为您对接专属智能助理</view></view>
4
- <view v-for="(msg, index) in messageList" :key="index">
5
- <!-- <view class="message-notice">
6
- <view class="notice-content" v-if="showTime(msg, index, messageList) && msg.time != null">{{new Date(msg.time).toISOString().slice(0, 10),}}</view>
7
- </view> -->
8
- <view class="message" v-bind:class="msg.speaker == 'user' ? 'message-kf' : 'message'">
9
- <view class="user-detail">
10
- <Msgloading v-if="msg.speaker != 'user' && msg.type == 'msg_loading'"></Msgloading>
11
- <!-- 小程序富文本组件 -->
12
- <view v-if="(msg.type == 'answer_rich_text' || msg.type == 'answer_rich_text_pro')" class="media-body">
13
- <!--<mp-html
14
- lazy-load
15
- scroll-table
16
- selectable
17
- use-anchor
18
- show-with-animation
19
- loading-img
20
- :tag-style="tagStyle"
21
- :content="msg.content.html" />-->
22
- <rich-text :nodes="msg.content.html"></rich-text>
23
- </view>
24
- <!-- <view v-if="msg.type == 'answer_rich_text'" class="media-body">
25
- <view id="msg_text"><rich-text :nodes="strings"></rich-text></view>
26
- </view> -->
27
- <!-- 欢迎语、文本组件 -->
28
- <view v-if="msg.type == 'answer_welcofmetext' || msg.type == 'answer_text'" class="media-body">
29
- <view v-if="msg.speaker == 'user'" v-html="msg.content" @click="tapName" :selectable="true" ref="msg_text" id="msg_text"></view>
30
- <view v-if="msg.speaker != 'user'">
31
- <view
32
- v-for="(span, index) in msg.mini_text"
33
- :key="index"
34
- @click="tapName"
35
- :data-content="span"
36
- :style="span.type == 'url' ? 'color: #007AFF;' : ''"
37
- >
38
- <rich-text :nodes="span.content"></rich-text>
39
- </view>
40
- </view>
41
- </view>
42
-
43
- <!-- web-view组件 -->
44
- <view v-if="msg.type == 'web_view'" class="media-body">
45
- <view class="" v-for="(webCell, webcInd) in msg.arr" :key="webcInd">
46
- <view v-show="webCell.type == 'text'"><rich-text :nodes="webCell.text"></rich-text></view>
47
- <text v-show="webCell.type == 'url'" style="color: #007AFF" class="url" @click="gotoWebview(webCell.url)">点击了解详情</text>
48
- </view>
49
- </view>
50
- <!-- 点选组件 -->
51
- <view v-if="msg.type == 'answer_radio'" class="media-body-ps">
52
- <view v-if="msg.content.description != ''" class="other" v-html="msg.content.description"></view>
53
- <view
54
- v-for="(option, ind) in msg.content.options"
55
- v-bind:class="[ind == msg.content.options.length - 1 && ind != 1 ? 'end' : '', 'ps']"
56
- :key="ind"
57
- @click="sendRadioMessage(msg.id + '_' + ind + '_' + option.value + '_' + option.name, option.name)"
58
- >
59
- {{ option.name }}
60
- <i class="arsenal_icon arsenalangle-right-solid"></i>
61
- </view>
62
- </view>
63
- <!-- 图片组件 -->
64
- <view
65
- :style="msg.type == 'answer_image' ? 'background-color: #ffffff !important;' : ''"
66
- v-if="msg.type == 'answer_image' ||msg.type == 'IMAGE'"
67
- class="media-body-image"
68
- >
69
- <img v-if="msg.content.urls!=null" :src="msg.content.urls[0]" mode="widthFix" @click="onImageClick(msg.content.urls[0])" />
70
- <img v-else :src="msg.content.url" mode="widthFix" @click="onImageClick(msg.content.url)" />
71
- </view>
72
- <!-- 等待语音组件 -->
73
- <view v-if="msg.type == 'answer_loading'" class="media-body">
74
- <view class="loading">
75
- <span></span>
76
- <span></span>
77
- <span></span>
78
- <span></span>
79
- </view>
80
- </view>
81
- <!-- 视频组件 -->
82
- <view v-if="msg.type == 'answer_video'" class="media-body-image"><video id="myVideo" :src="msg.content.url"></video></view>
83
- <view v-if="msg.type == 'VIDEO'" class="media-body-image"><video id="myVideo" :src="msg.content.url"></video></view>
84
- <!-- 反问组件 -->
85
- <view v-if="msg.type == 'action_question'" class="media-body"><view v-html="msg.content"></view></view>
86
- <!-- 满意度组件 -->
87
- <view v-if="msg.type == 'action_satisfaction'" class="media-body-ps">
88
- <view class="other" v-html="msg.content.satisfactionDes"></view>
89
- <view class="ps" @click="sendSatisfaction('user_action_to_satisfaction', '满意', msg.content.satisfactoryAnswer)">满意</view>
90
- <view class="ps end" @click="sendSatisfaction('user_action_to_satisfaction', '不满意', msg.content.unsatisfiedAnswer, msg.content.answerRadio)">
91
- 不满意
92
- </view>
93
- </view>
94
- <view v-if="msg.type == 'USER_ACTION_TO_SATISFACTION_V2' ||msg.type == 'USER_ACTION_TO_DISSATISFACTION_V2'" class="media-body">
95
- <SatisfactionV2 :message='msg'></SatisfactionV2>
96
- </view>
97
- <!-- 不满意选项 -->
98
- <view v-if="msg.type == 'answer_dissatisfaction'"
99
- class="message" v-bind:class="msg.speaker == 'user' ? 'message-kf' : 'message'">
100
- <DissatisfactionOptions :message='msg' @onOption="sendDissatisfaction"></DissatisfactionOptions>
101
-
102
- </view>
103
- <view v-if="msg.type == 'user_action_to_satisfaction' || msg.type == 'user_action_to_unsatisfactory'">
104
- <view class="media-body" v-if="msg.speaker == 'user'"><view v-html="msg.content.input"></view></view>
105
- </view>
106
- </view>
107
- </view>
108
- <view
109
- v-if="(msg.type == 'user_action_to_satisfaction' || msg.type == 'user_action_to_unsatisfactory') && msg.speaker != 'user' && msg.content != null"
110
- class="message"
111
- v-bind:class="msg.speaker == 'user' ? 'message-kf' : 'message'"
112
- >
113
- <view class="user-detail">
114
- <view class="media-body-ps">
115
- <view class="other" v-html="msg.content.reply_text"></view>
116
- <view v-if="msg.content.reply_options != null && msg.content.reply_options.length > 0">
117
- <view
118
- v-for="(reply_option, index) in msg.content.reply_options"
119
- v-bind:class="[index == msg.content.reply_options.length - 1 ? 'end' : '', 'ps']"
120
- :key="index"
121
- >
122
- <view @click="sendSatisfaction4Uni" :data-name="reply_option.name" :data-answer="reply_option.answer">{{ reply_option.name }}</view>
123
- </view>
124
- </view>
125
- </view>
126
- </view>
127
- </view>
128
- </view>
129
- </view>
130
- </template>
131
-
132
- <script>
133
- import Msgloading from "./ask-components/Msgloading";
134
- import SatisfactionV2 from "./ask-components/SatisfactionV2";
135
- import DissatisfactionOptions from "./ask-components/DissatisfactionOptions";
136
- export default {
137
- name: "chatContent",
138
- data(){
139
- return{
140
- connectSucess: false,
141
- }
142
- },
143
- components:{Msgloading,SatisfactionV2,DissatisfactionOptions},
144
- props:['messageList'],
145
- methods:{
146
- touchEvent(){
147
- this.$emit('touchEvent')
148
- },
149
- tapName(){
150
- this.$emit('tapName')
151
- },
152
- gotoWebview(url){
153
- this.$emit('gotoWebview',url)
154
- },
155
- sendRadioMessage(value, showValue){
156
- this.$emit('sendRadioMessage',value,showValue)
157
- },
158
- onImageClick(url){
159
- this.$emit('onImageClick',url)
160
- },
161
- sendDissatisfaction(options){
162
- this.$emit('sendDissatisfaction',options)
163
- },
164
- sendSatisfaction4Uni(e){
165
- this.$emit('sendSatisfaction4Uni',e)
166
- },
167
- sendSatisfaction(type, choose, answer, answerRadio){
168
- this.$emit('sendSatisfaction',type,choose,answer,answerRadio)
169
- }
170
- }
171
- }
172
- </script>
173
-
174
- <style scoped lang="less">
175
- .chat-message-content {
176
- display: flex;
177
- flex-direction: column;
178
- .message-notice {
179
- display: inline-block;
180
- text-align: center;
181
- margin-top: 10px;
182
- margin-bottom: 10px;
183
- width: 100%;
184
- background-color: transparent !important;
185
- }
186
- .notice-content {
187
- display: inline-block;
188
- padding: 5px 10px;
189
- border-radius: 5px;
190
- background-color: #F4F8FC;
191
- color: #666666;
192
- font-size: 12px;
193
- max-width: 80%;
194
- word-wrap: break-word;
195
- word-break: break-all;
196
- overflow: hidden;
197
- }
198
- .notice-content-day {
199
- display: inline-block;
200
- padding: 5px 10px;
201
- .line-left {
202
- display: inline-block;
203
- width: 100px;
204
- height: 1px;
205
- margin-bottom: 5px;
206
- margin-right: 5px;
207
- //background:#dcdcdc;
208
- background: -webkit-linear-gradient(left, #fff -4%, #666666 50%);
209
- }
210
- .line-text {
211
- color: #666666;
212
- font-size: 24px;
213
- }
214
- .line-right {
215
- display: inline-block;
216
- width: 100px;
217
- height: 1px;
218
- margin-bottom: 5px;
219
- margin-left: 5px;
220
- //background:#dcdcdc;
221
- background: -webkit-linear-gradient(left, #666666 50%, #fff 100%);
222
- }
223
- }
224
- .voiceinputting {
225
- position: absolute;
226
- top: 50%;
227
- left: 50%;
228
- }
229
- .message {
230
- display: flex;
231
- margin-bottom: 20px;
232
- justify-content: flex-start;
233
- .user-detail {
234
- display: flex;
235
- -ms-flex-align: start;
236
- align-items: flex-start;
237
- /*max-width: 80%;*/
238
- max-width: calc(100vw - 50px);
239
- .media-body-image{
240
- background-color: #F4F8FC;
241
- border: 1px solid #F4F8FC;
242
- word-break: break-word;
243
- box-shadow: 0px 0px 5px 0px rgba(76,97,255,0.38);
244
- flex: 1;
245
- border-radius: 32px;
246
- border-top-left-radius: 0px;
247
- padding: 5px 5px;
248
- image{
249
- border-radius: 32px !important;
250
- border-top-left-radius: 0px !important;
251
- }
252
- video{
253
- border-radius: 32px !important;
254
- border-top-left-radius: 0px !important;
255
- }
256
- }
257
- .media-body {
258
- //max-width: calc(100vw - 800px);
259
- //background-color: #ecebeb;
260
- background-color: #F4F8FC;
261
- border: 1px solid #F4F8FC;
262
- word-break: break-word;
263
- box-shadow: 0px 0px 5px 0px rgba(76,97,255,0.38);
264
- flex: 1;
265
- min-height: 30px;
266
- line-height: 30px;
267
- border-radius: 32px;
268
- border-top-left-radius: 0px;
269
- padding: 8px 15px;
270
- text-align: left;
271
- margin-left: 5px;
272
- h2 {
273
- font-size: 18px;
274
- }
275
- p {
276
- font-size: 14px;
277
- word-wrap: break-word;
278
- word-break: break-all;
279
- overflow: hidden;
280
- height: auto;
281
- }
282
- img{
283
- max-width: 74vw;
284
- }
285
- .voicemessage {
286
- width: 400px;
287
- height: 70px;
288
- line-height: 70px;
289
- background-color: #e8eaec;
290
- border-radius: 10px;
291
- .icon-vioce {
292
- font-size: 24px;
293
- float: left;
294
- margin-left: 40px;
295
- margin-right: 40px;
296
- }
297
- .time {
298
- font-size: 24px;
299
- margin-left: 40px;
300
- }
301
- }
302
- span {
303
- margin-bottom: 10px;
304
- font-size: 12px;
305
- color: #a3a4a5;
306
- float: left;
307
- }
308
- .botname {
309
- margin-left: 20px;
310
- float: right;
311
- }
312
- .mb-0 {
313
- margin-bottom: 0 !important;
314
- text-align: left;
315
- line-height: 1.3;
316
- margin-top: 0;
317
- font-size: 24px;
318
- }
319
- }
320
- .media-body-ps {
321
- //max-width: calc(100vw - 800px);
322
- background-color: #F4F8FC;
323
- border: 1px solid #F4F8FC;
324
- word-break: break-word;
325
- box-shadow: 0px 0px 5px 0px rgba(76,97,255,0.38);
326
- flex: 1;
327
- min-height: 30px;
328
- line-height: 30px;
329
- border-radius: 32px;
330
- border-top-left-radius: 0px;
331
- overflow: hidden;
332
- text-align: left;
333
- margin-left: 5px;
334
- h2 {
335
- font-size: 18px;
336
- }
337
- .other {
338
- font-size: 14px;
339
- word-wrap: break-word;
340
- word-break: break-all;
341
- overflow: hidden;
342
- padding: 8px 20px 8px 15px;
343
- height: auto;
344
- }
345
- .ps {
346
- padding: 8px 20px 8px 15px;
347
- height: auto;
348
- border-top: 1px solid #F4F8FC;
349
- background-color: #ffffff;
350
- color: #4C61E1;
351
- cursor: pointer;
352
- font-size: 14px;
353
- display: flex;
354
- flex-direction: row;
355
- justify-content: space-between;
356
- i{
357
- margin-left: 20px;
358
- }
359
- }
360
- .end {
361
- border: 1px solid #F4F8FC;
362
- border-bottom-left-radius: 32px !important;
363
- border-bottom-right-radius: 32px !important;
364
- }
365
- .voicemessage {
366
- width: 200px;
367
- height: 35px;
368
- line-height: 35px;
369
- background-color: #e8eaec;
370
- border-radius: 10px;
371
- .icon-vioce {
372
- font-size: 24px;
373
- float: left;
374
- margin-left: 20px;
375
- margin-right: 20px;
376
- }
377
- .time {
378
- font-size: 28px;
379
- margin-left: 20px;
380
- }
381
- }
382
- span {
383
- margin-bottom: 10px;
384
- font-size: 24px;
385
- color: #a3a4a5;
386
- float: left;
387
- }
388
- .botname {
389
- margin-left: 20px;
390
- float: right;
391
- }
392
- .mb-0 {
393
- margin-bottom: 0 !important;
394
- text-align: left;
395
- line-height: 1.3;
396
- margin-top: 0;
397
- font-size: 24px;
398
- }
399
- }
400
- }
401
- .video-player .video-js .vjs-icon-placeholder {
402
- width: 300px;
403
- height: 172px;
404
- display: block;
405
- }
406
- .el-image {
407
- float: right;
408
- width: 300px !important;
409
- height: auto !important;
410
- }
411
- }
412
- .message-kf {
413
- display: flex;
414
- margin-bottom: 20px;
415
- justify-content: flex-end;
416
- margin-right: 20px;
417
- .user-detail {
418
- display: flex;
419
- -ms-flex-align: start;
420
- align-items: flex-start;
421
- max-width: 80%;
422
- .media-body-image{
423
- border: 1px solid #4C61E1 !important;
424
- border: 1px solid #4C61E1 !important;
425
- word-break: break-word;
426
- box-shadow: 0px 0px 5px 0px rgba(76,97,255,0.38);
427
- border-radius: 32px !important;
428
- border-top-right-radius: 0px !important;
429
- padding: 5px 5px;
430
- display: flex;
431
- text-align: center;
432
- overflow: hidden;
433
- image{
434
- border-radius: 32px !important;
435
- border-top-right-radius: 0px !important;
436
- }
437
- video{
438
- border-radius: 32px !important;
439
- border-top-right-radius: 0px !important;
440
- }
441
- }
442
- .media-body {
443
- //max-width: calc(100vw - 800px);
444
- border: 1px solid #4C61E1 !important;
445
- background-color: #4C61E1 !important;
446
- color: #ffffff !important;
447
- word-break: break-word;
448
- border-radius: 32px;
449
- border-top-right-radius: 0px;
450
- padding: 8px 15px;
451
- text-align: left;
452
- h2 {
453
- font-size: 36px;
454
- }
455
- p {
456
- font-size: 28px;
457
- word-wrap: break-word;
458
- word-break: break-all;
459
- overflow: hidden;
460
- font-size: 28px;
461
- height: auto;
462
- }
463
- img{
464
- max-width: 66vw;
465
- }
466
- .voicemessage {
467
- width: 200px;
468
- height: 35px;
469
- line-height: 35px;
470
- background-color: #e8eaec;
471
- border-radius: 10px;
472
- .icon-vioce {
473
- font-size: 24px;
474
- float: left;
475
- margin-left: 20px;
476
- margin-right: 20px;
477
- }
478
- .time {
479
- font-size: 28px;
480
- margin-left: 20px;
481
- }
482
- }
483
- span {
484
- margin-bottom: 10px;
485
- font-size: 24px;
486
- color: #a3a4a5;
487
- float: left;
488
- }
489
- .botname {
490
- margin-left: 20px;
491
- float: right;
492
- }
493
- .mb-0 {
494
- margin-bottom: 0 !important;
495
- text-align: left;
496
- line-height: 1.3;
497
- margin-top: 0;
498
- font-size: 24px;
499
- }
500
- }
501
- }
502
- .video-player .video-js .vjs-icon-placeholder {
503
- width: 300px;
504
- height: 172px;
505
- display: block;
506
- }
507
- .el-image {
508
- float: right;
509
- width: 300px !important;
510
- height: auto !important;
511
- }
512
- }
513
- }
1
+ <template>
2
+ <view class="chat-message-content" id="messageContent" @touchstart="touchEvent">
3
+ <view class="message-notice" v-show="connectSucess"><view class="notice-content">已为您对接专属智能助理</view></view>
4
+ <view v-for="(msg, index) in messageList" :key="index">
5
+ <!-- <view class="message-notice">
6
+ <view class="notice-content" v-if="showTime(msg, index, messageList) && msg.time != null">{{new Date(msg.time).toISOString().slice(0, 10),}}</view>
7
+ </view> -->
8
+ <view class="message" v-bind:class="msg.speaker == 'user' ? 'message-kf' : 'message'">
9
+ <view class="user-detail">
10
+ <Msgloading v-if="msg.speaker != 'user' && msg.type == 'msg_loading'"></Msgloading>
11
+ <!-- 小程序富文本组件 -->
12
+ <view v-if="(msg.type == 'answer_rich_text' || msg.type == 'answer_rich_text_pro')" class="media-body">
13
+ <!--<mp-html
14
+ lazy-load
15
+ scroll-table
16
+ selectable
17
+ use-anchor
18
+ show-with-animation
19
+ loading-img
20
+ :tag-style="tagStyle"
21
+ :content="msg.content.html" />-->
22
+ <rich-text :nodes="msg.content.html"></rich-text>
23
+ </view>
24
+ <!-- <view v-if="msg.type == 'answer_rich_text'" class="media-body">
25
+ <view id="msg_text"><rich-text :nodes="strings"></rich-text></view>
26
+ </view> -->
27
+ <!-- 欢迎语、文本组件 -->
28
+ <view v-if="msg.type == 'answer_welcofmetext' || msg.type == 'answer_text'" class="media-body">
29
+ <view v-if="msg.speaker == 'user'" v-html="msg.content" @click="tapName" :selectable="true" ref="msg_text" id="msg_text"></view>
30
+ <view v-if="msg.speaker != 'user'">
31
+ <view
32
+ v-for="(span, index) in msg.mini_text"
33
+ :key="index"
34
+ @click="tapName"
35
+ :data-content="span"
36
+ :style="span.type == 'url' ? 'color: #007AFF;' : ''"
37
+ >
38
+ <rich-text :nodes="span.content"></rich-text>
39
+ </view>
40
+ </view>
41
+ </view>
42
+
43
+ <!-- web-view组件 -->
44
+ <view v-if="msg.type == 'web_view'" class="media-body">
45
+ <view class="" v-for="(webCell, webcInd) in msg.arr" :key="webcInd">
46
+ <view v-show="webCell.type == 'text'"><rich-text :nodes="webCell.text"></rich-text></view>
47
+ <text v-show="webCell.type == 'url'" style="color: #007AFF" class="url" @click="gotoWebview(webCell.url)">点击了解详情</text>
48
+ </view>
49
+ </view>
50
+ <!-- 点选组件 -->
51
+ <view v-if="msg.type == 'answer_radio'" class="media-body-ps">
52
+ <view v-if="msg.content.description != ''" class="other" v-html="msg.content.description"></view>
53
+ <view
54
+ v-for="(option, ind) in msg.content.options"
55
+ v-bind:class="[ind == msg.content.options.length - 1 && ind != 1 ? 'end' : '', 'ps']"
56
+ :key="ind"
57
+ @click="sendRadioMessage(msg.id + '_' + ind + '_' + option.value + '_' + option.name, option.name)"
58
+ >
59
+ {{ option.name }}
60
+ <i class="arsenal_icon arsenalangle-right-solid"></i>
61
+ </view>
62
+ </view>
63
+ <!-- 图片组件 -->
64
+ <view
65
+ :style="msg.type == 'answer_image' ? 'background-color: #ffffff !important;' : ''"
66
+ v-if="msg.type == 'answer_image' ||msg.type == 'IMAGE'"
67
+ class="media-body-image"
68
+ >
69
+ <img v-if="msg.content.urls!=null" :src="msg.content.urls[0]" mode="widthFix" @click="onImageClick(msg.content.urls[0])" />
70
+ <img v-else :src="msg.content.url" mode="widthFix" @click="onImageClick(msg.content.url)" />
71
+ </view>
72
+ <!-- 等待语音组件 -->
73
+ <view v-if="msg.type == 'answer_loading'" class="media-body">
74
+ <view class="loading">
75
+ <span></span>
76
+ <span></span>
77
+ <span></span>
78
+ <span></span>
79
+ </view>
80
+ </view>
81
+ <!-- 视频组件 -->
82
+ <view v-if="msg.type == 'answer_video'" class="media-body-image"><video id="myVideo" :src="msg.content.url"></video></view>
83
+ <view v-if="msg.type == 'VIDEO'" class="media-body-image"><video id="myVideo" :src="msg.content.url"></video></view>
84
+ <!-- 反问组件 -->
85
+ <view v-if="msg.type == 'action_question'" class="media-body"><view v-html="msg.content"></view></view>
86
+ <!-- 满意度组件 -->
87
+ <view v-if="msg.type == 'action_satisfaction'" class="media-body-ps">
88
+ <view class="other" v-html="msg.content.satisfactionDes"></view>
89
+ <view class="ps" @click="sendSatisfaction('user_action_to_satisfaction', '满意', msg.content.satisfactoryAnswer)">满意</view>
90
+ <view class="ps end" @click="sendSatisfaction('user_action_to_satisfaction', '不满意', msg.content.unsatisfiedAnswer, msg.content.answerRadio)">
91
+ 不满意
92
+ </view>
93
+ </view>
94
+ <view v-if="msg.type == 'USER_ACTION_TO_SATISFACTION_V2' ||msg.type == 'USER_ACTION_TO_DISSATISFACTION_V2'" class="media-body">
95
+ <SatisfactionV2 :message='msg'></SatisfactionV2>
96
+ </view>
97
+ <!-- 不满意选项 -->
98
+ <view v-if="msg.type == 'answer_dissatisfaction'"
99
+ class="message" v-bind:class="msg.speaker == 'user' ? 'message-kf' : 'message'">
100
+ <DissatisfactionOptions :message='msg' @onOption="sendDissatisfaction"></DissatisfactionOptions>
101
+
102
+ </view>
103
+ <view v-if="msg.type == 'user_action_to_satisfaction' || msg.type == 'user_action_to_unsatisfactory'">
104
+ <view class="media-body" v-if="msg.speaker == 'user'"><view v-html="msg.content.input"></view></view>
105
+ </view>
106
+ </view>
107
+ </view>
108
+ <view
109
+ v-if="(msg.type == 'user_action_to_satisfaction' || msg.type == 'user_action_to_unsatisfactory') && msg.speaker != 'user' && msg.content != null"
110
+ class="message"
111
+ v-bind:class="msg.speaker == 'user' ? 'message-kf' : 'message'"
112
+ >
113
+ <view class="user-detail">
114
+ <view class="media-body-ps">
115
+ <view class="other" v-html="msg.content.reply_text"></view>
116
+ <view v-if="msg.content.reply_options != null && msg.content.reply_options.length > 0">
117
+ <view
118
+ v-for="(reply_option, index) in msg.content.reply_options"
119
+ v-bind:class="[index == msg.content.reply_options.length - 1 ? 'end' : '', 'ps']"
120
+ :key="index"
121
+ >
122
+ <view @click="sendSatisfaction4Uni" :data-name="reply_option.name" :data-answer="reply_option.answer">{{ reply_option.name }}</view>
123
+ </view>
124
+ </view>
125
+ </view>
126
+ </view>
127
+ </view>
128
+ </view>
129
+ </view>
130
+ </template>
131
+
132
+ <script>
133
+ import Msgloading from "./ask-components/Msgloading";
134
+ import SatisfactionV2 from "./ask-components/SatisfactionV2";
135
+ import DissatisfactionOptions from "./ask-components/DissatisfactionOptions";
136
+ export default {
137
+ name: "chatContent",
138
+ data(){
139
+ return{
140
+ connectSucess: false,
141
+ }
142
+ },
143
+ components:{Msgloading,SatisfactionV2,DissatisfactionOptions},
144
+ props:['messageList'],
145
+ methods:{
146
+ touchEvent(){
147
+ this.$emit('touchEvent')
148
+ },
149
+ tapName(){
150
+ this.$emit('tapName')
151
+ },
152
+ gotoWebview(url){
153
+ this.$emit('gotoWebview',url)
154
+ },
155
+ sendRadioMessage(value, showValue){
156
+ this.$emit('sendRadioMessage',value,showValue)
157
+ },
158
+ onImageClick(url){
159
+ this.$emit('onImageClick',url)
160
+ },
161
+ sendDissatisfaction(options){
162
+ this.$emit('sendDissatisfaction',options)
163
+ },
164
+ sendSatisfaction4Uni(e){
165
+ this.$emit('sendSatisfaction4Uni',e)
166
+ },
167
+ sendSatisfaction(type, choose, answer, answerRadio){
168
+ this.$emit('sendSatisfaction',type,choose,answer,answerRadio)
169
+ }
170
+ }
171
+ }
172
+ </script>
173
+
174
+ <style scoped lang="less">
175
+ @import "../assets/less/variables.less";
176
+ .chat-message-content {
177
+ display: flex;
178
+ flex-direction: column;
179
+ .message-notice {
180
+ display: inline-block;
181
+ text-align: center;
182
+ margin-top: 10px;
183
+ margin-bottom: 10px;
184
+ width: 100%;
185
+ background-color: transparent !important;
186
+ }
187
+ .notice-content {
188
+ display: inline-block;
189
+ padding: 5px 10px;
190
+ border-radius: 5px;
191
+ background-color: @background-content-color;
192
+ color: @font-secondary-color;
193
+ font-size: 12px;
194
+ max-width: 80%;
195
+ word-wrap: break-word;
196
+ word-break: break-all;
197
+ overflow: hidden;
198
+ }
199
+ .notice-content-day {
200
+ display: inline-block;
201
+ padding: 5px 10px;
202
+ .line-left {
203
+ display: inline-block;
204
+ width: 100px;
205
+ height: 1px;
206
+ margin-bottom: 5px;
207
+ margin-right: 5px;
208
+ //background:#dcdcdc;
209
+ background: -webkit-linear-gradient(left, #fff -4%, #666666 50%);
210
+ }
211
+ .line-text {
212
+ color: @font-secondary-color;
213
+ font-size: 24px;
214
+ }
215
+ .line-right {
216
+ display: inline-block;
217
+ width: 100px;
218
+ height: 1px;
219
+ margin-bottom: 5px;
220
+ margin-left: 5px;
221
+ //background:#dcdcdc;
222
+ background: -webkit-linear-gradient(left, #666666 50%, #fff 100%);
223
+ }
224
+ }
225
+ .voiceinputting {
226
+ position: absolute;
227
+ top: 50%;
228
+ left: 50%;
229
+ }
230
+ .message {
231
+ display: flex;
232
+ margin-bottom: 20px;
233
+ justify-content: flex-start;
234
+ .user-detail {
235
+ display: flex;
236
+ -ms-flex-align: start;
237
+ align-items: flex-start;
238
+ /*max-width: 80%;*/
239
+ max-width: calc(100vw - 50px);
240
+ .media-body-image{
241
+ background-color: @background-content-color;
242
+ border: 1px solid @border-color-r2;
243
+ word-break: break-word;
244
+ box-shadow: 0px 0px 5px 0px rgba(76,97,255,0.38);
245
+ flex: 1;
246
+ border-radius: 32px;
247
+ border-top-left-radius: 0px;
248
+ padding: 5px 5px;
249
+ image{
250
+ border-radius: 32px !important;
251
+ border-top-left-radius: 0px !important;
252
+ }
253
+ video{
254
+ border-radius: 32px !important;
255
+ border-top-left-radius: 0px !important;
256
+ }
257
+ }
258
+ .media-body {
259
+ //max-width: calc(100vw - 800px);
260
+ //background-color: #ecebeb;
261
+ background-color: @background-content-color;
262
+ border: 1px solid @border-color-r2;
263
+ word-break: break-word;
264
+ box-shadow: 0px 0px 5px 0px rgba(76,97,255,0.38);
265
+ flex: 1;
266
+ min-height: 30px;
267
+ line-height: 30px;
268
+ border-radius: 32px;
269
+ border-top-left-radius: 0px;
270
+ padding: 8px 15px;
271
+ text-align: left;
272
+ margin-left: 5px;
273
+ h2 {
274
+ font-size: 18px;
275
+ }
276
+ p {
277
+ font-size: 14px;
278
+ word-wrap: break-word;
279
+ word-break: break-all;
280
+ overflow: hidden;
281
+ height: auto;
282
+ }
283
+ img{
284
+ max-width: 74vw;
285
+ }
286
+ .voicemessage {
287
+ width: 400px;
288
+ height: 70px;
289
+ line-height: 70px;
290
+ background-color: #e8eaec;
291
+ border-radius: 10px;
292
+ .icon-vioce {
293
+ font-size: 24px;
294
+ float: left;
295
+ margin-left: 40px;
296
+ margin-right: 40px;
297
+ }
298
+ .time {
299
+ font-size: 24px;
300
+ margin-left: 40px;
301
+ }
302
+ }
303
+ span {
304
+ margin-bottom: 10px;
305
+ font-size: 12px;
306
+ color: @font-primary-color-r4;
307
+ float: left;
308
+ }
309
+ .botname {
310
+ margin-left: 20px;
311
+ float: right;
312
+ }
313
+ .mb-0 {
314
+ margin-bottom: 0 !important;
315
+ text-align: left;
316
+ line-height: 1.3;
317
+ margin-top: 0;
318
+ font-size: 24px;
319
+ }
320
+ }
321
+ .media-body-ps {
322
+ //max-width: calc(100vw - 800px);
323
+ background-color: @background-content-color;
324
+ border: 1px solid @border-color-r2;
325
+ word-break: break-word;
326
+ box-shadow: 0px 0px 5px 0px rgba(76,97,255,0.38);
327
+ flex: 1;
328
+ min-height: 30px;
329
+ line-height: 30px;
330
+ border-radius: 32px;
331
+ border-top-left-radius: 0px;
332
+ overflow: hidden;
333
+ text-align: left;
334
+ margin-left: 5px;
335
+ h2 {
336
+ font-size: 18px;
337
+ }
338
+ .other {
339
+ font-size: 14px;
340
+ word-wrap: break-word;
341
+ word-break: break-all;
342
+ overflow: hidden;
343
+ padding: 8px 20px 8px 15px;
344
+ height: auto;
345
+ }
346
+ .ps {
347
+ padding: 8px 20px 8px 15px;
348
+ height: auto;
349
+ border-top: 1px solid @border-color-r2;
350
+ background-color: @background-color-light;
351
+ color: @font-primary-accent-color;
352
+ cursor: pointer;
353
+ font-size: 14px;
354
+ display: flex;
355
+ flex-direction: row;
356
+ justify-content: space-between;
357
+ i{
358
+ margin-left: 20px;
359
+ }
360
+ }
361
+ .end {
362
+ border: 1px solid @background-content-color;
363
+ border-bottom-left-radius: 32px !important;
364
+ border-bottom-right-radius: 32px !important;
365
+ }
366
+ .voicemessage {
367
+ width: 200px;
368
+ height: 35px;
369
+ line-height: 35px;
370
+ background-color: #e8eaec;
371
+ border-radius: 10px;
372
+ .icon-vioce {
373
+ font-size: 24px;
374
+ float: left;
375
+ margin-left: 20px;
376
+ margin-right: 20px;
377
+ }
378
+ .time {
379
+ font-size: 28px;
380
+ margin-left: 20px;
381
+ }
382
+ }
383
+ span {
384
+ margin-bottom: 10px;
385
+ font-size: 24px;
386
+ color: @font-primary-color-r4;
387
+ float: left;
388
+ }
389
+ .botname {
390
+ margin-left: 20px;
391
+ float: right;
392
+ }
393
+ .mb-0 {
394
+ margin-bottom: 0 !important;
395
+ text-align: left;
396
+ line-height: 1.3;
397
+ margin-top: 0;
398
+ font-size: 24px;
399
+ }
400
+ }
401
+ }
402
+ .video-player .video-js .vjs-icon-placeholder {
403
+ width: 300px;
404
+ height: 172px;
405
+ display: block;
406
+ }
407
+ .el-image {
408
+ float: right;
409
+ width: 300px !important;
410
+ height: auto !important;
411
+ }
412
+ }
413
+ .message-kf {
414
+ display: flex;
415
+ margin-bottom: 20px;
416
+ justify-content: flex-end;
417
+ margin-right: 20px;
418
+ .user-detail {
419
+ display: flex;
420
+ -ms-flex-align: start;
421
+ align-items: flex-start;
422
+ max-width: 80%;
423
+ .media-body-image{
424
+ border: 1px solid @border-color-primary !important;
425
+ border: 1px solid @border-color-primary !important;
426
+ word-break: break-word;
427
+ box-shadow: 0px 0px 5px 0px rgba(76,97,255,0.38);
428
+ border-radius: 32px !important;
429
+ border-top-right-radius: 0px !important;
430
+ padding: 5px 5px;
431
+ display: flex;
432
+ text-align: center;
433
+ overflow: hidden;
434
+ image{
435
+ border-radius: 32px !important;
436
+ border-top-right-radius: 0px !important;
437
+ }
438
+ video{
439
+ border-radius: 32px !important;
440
+ border-top-right-radius: 0px !important;
441
+ }
442
+ }
443
+ .media-body {
444
+ //max-width: calc(100vw - 800px);
445
+ border: 1px solid @border-color-primary !important;
446
+ background-color: @border-color-primary !important;
447
+ color: #ffffff !important;
448
+ word-break: break-word;
449
+ border-radius: 32px;
450
+ border-top-right-radius: 0px;
451
+ padding: 8px 15px;
452
+ text-align: left;
453
+ h2 {
454
+ font-size: 36px;
455
+ }
456
+ p {
457
+ font-size: 28px;
458
+ word-wrap: break-word;
459
+ word-break: break-all;
460
+ overflow: hidden;
461
+ font-size: 28px;
462
+ height: auto;
463
+ }
464
+ img{
465
+ max-width: 66vw;
466
+ }
467
+ .voicemessage {
468
+ width: 200px;
469
+ height: 35px;
470
+ line-height: 35px;
471
+ background-color: #e8eaec;
472
+ border-radius: 10px;
473
+ .icon-vioce {
474
+ font-size: 24px;
475
+ float: left;
476
+ margin-left: 20px;
477
+ margin-right: 20px;
478
+ }
479
+ .time {
480
+ font-size: 28px;
481
+ margin-left: 20px;
482
+ }
483
+ }
484
+ span {
485
+ margin-bottom: 10px;
486
+ font-size: 24px;
487
+ color: @font-primary-color-r4;
488
+ float: left;
489
+ }
490
+ .botname {
491
+ margin-left: 20px;
492
+ float: right;
493
+ }
494
+ .mb-0 {
495
+ margin-bottom: 0 !important;
496
+ text-align: left;
497
+ line-height: 1.3;
498
+ margin-top: 0;
499
+ font-size: 24px;
500
+ }
501
+ }
502
+ }
503
+ .video-player .video-js .vjs-icon-placeholder {
504
+ width: 300px;
505
+ height: 172px;
506
+ display: block;
507
+ }
508
+ .el-image {
509
+ float: right;
510
+ width: 300px !important;
511
+ height: auto !important;
512
+ }
513
+ }
514
+ }
514
515
  </style>