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
@@ -0,0 +1,601 @@
1
+ <template>
2
+ <div class="positionView">
3
+ <div class="positionContainer" :class="splitParagraph.length > 1 && fileType !== 'XLS' && fileType !== 'XLSX' ? 'has-footer' : 'no-footer'">
4
+ <doc-view
5
+ v-if="fileType === 'TXT' || fileType === 'DOCX' || fileType === 'DOC' || fileType === 'HTML' || fileType === 'MD'"
6
+ :html_result="html_result"
7
+ :split_paragraphs="splitParagraph"
8
+ ref="docView"
9
+ :fileSuffix="fileType"
10
+ :textWatermarkStr="textWatermarkStr"
11
+ :isLining="isLining"
12
+ ></doc-view>
13
+ <excel-view v-else-if="fileType === 'XLS' || fileType === 'XLSX'"
14
+ ref="excelView"
15
+ :headerData="excelHeaderData"
16
+ :excelRowList="excelRowList"
17
+ :tableChunkData="tableChunkData"
18
+ :textWatermarkStr="textWatermarkStr"
19
+ ></excel-view>
20
+ <pdf-view v-else-if="fileType === 'PDF'" ref="pdfView" :split_paragraphs="splitParagraph" :ossPath="url" :isPC="isPC" :textWatermarkStr="textWatermarkStr"></pdf-view>
21
+ <mark-down-view v-else-if="fileType === 'MD'" :url="url" :split_paragraphs="splitParagraph" :textWatermarkStr="textWatermarkStr"></mark-down-view>
22
+ <template v-else-if="fileType === 'URL'">
23
+ <div class="preview_iframe_html" id="preview_iframe_html" style="text-align:left" v-html="fileText"></div>
24
+ </template>
25
+ </div>
26
+ <template v-if="splitParagraph.length > 1 && fileType !== 'XLS' && fileType !== 'XLSX'">
27
+ <div class="btn_footer" v-if="!isPC">
28
+ <div class="prev" @click="prev">{{$t('dragonCommon.previous')}}</div>
29
+ <div class="next" @click="next">{{$t('dragonCommon.next')}}</div>
30
+ </div>
31
+ <div id="pagination" v-if="isPC">
32
+ <el-pagination :current-page="currentPage + 1" @current-change="currentChange" @prev-click="prev"
33
+ @next-click="next" layout="slot, prev, pager, next" :page-size="1" :total="splitParagraph.length">
34
+ <span class="total-class">{{$t('dragonCommon.answersGeneratedByPre')}} {{ splitParagraph.length }} {{$t('dragonCommon.answersGeneratedByAfter')}}</span>
35
+ </el-pagination>
36
+ </div>
37
+ </template>
38
+ </div>
39
+ </template>
40
+
41
+ <script>
42
+ import DocView from "./docView";
43
+ import ExcelView from "./excelView";
44
+ import PdfView from "./pdfView";
45
+ import MarkDownView from "./markDownView";
46
+ import { newInitWaterMark } from "../../assets/js/common";
47
+ export default {
48
+ name: "newPositionPreview",
49
+ components: { MarkDownView, PdfView, ExcelView, DocView },
50
+ data(){
51
+ return{
52
+ tagId:[],
53
+ newVersion:false,
54
+ html_result:"",
55
+ parseInfo:{},
56
+ fileType:"",
57
+ splitParagraph:[],
58
+ isPC:true,
59
+ currentPage:0,
60
+ excelHeaderData:"",
61
+ excelRowList:[],
62
+ tableChunkData:[],
63
+ fileText:"",
64
+ colors: ['#E3EBFF', '#FFF5DC', '#FFE8D8','#D6F3EA','#FFF1C3'],
65
+ }
66
+ },
67
+ props:{
68
+ knowledgeId:{
69
+ type:String,
70
+ default:""
71
+ },
72
+ tagIds:{
73
+ type:Array,
74
+ default(){
75
+ return []
76
+ }
77
+ },
78
+ url:{
79
+ type:String,
80
+ default:""
81
+ },
82
+ textWatermarkStr:{
83
+ type:String,
84
+ default:""
85
+ },
86
+ previewOssPath:{
87
+ type:String,
88
+ default:""
89
+ },
90
+ isLining:{
91
+ type:Boolean,
92
+ default:false
93
+ }
94
+ },
95
+ methods:{
96
+ getLocationInfo(){
97
+ this.$http.get('/knowledge-api/knowledge/knowledge-part-location-info/list?ids=' + this.tagIds.join(',')).then(res => {
98
+ if (res.data.code == 0){
99
+ if (res.data.data && res.data.data.length){
100
+ let original_paragraph = []
101
+ for (let i=0;i<res.data.data.length;i++){
102
+ if (res.data.data[i].paragraphChunkInfo && res.data.data[i].paragraphChunkInfo.splitParagraph){
103
+ this.splitParagraph.push(res.data.data[i].paragraphChunkInfo.splitParagraph)
104
+ }
105
+ if (res.data.data[i].paragraphChunkInfo && res.data.data[i].paragraphChunkInfo.tableChunkData){
106
+ if (res.data.data[i].paragraphChunkInfo.tableChunkData.bbox && res.data.data[i].paragraphChunkInfo.tableChunkData.bbox.length > 0){
107
+ let obj = {
108
+ page:res.data.data[i].paragraphChunkInfo.tableChunkData.page,
109
+ position:res.data.data[i].paragraphChunkInfo.tableChunkData.bbox
110
+ }
111
+ original_paragraph.push(obj)
112
+ } else {
113
+ this.tableChunkData.push(res.data.data[i].paragraphChunkInfo.tableChunkData)
114
+ }
115
+ }
116
+ }
117
+ if (original_paragraph.length > 0){
118
+ this.splitParagraph.push({
119
+ original_paragraph
120
+ })
121
+ }
122
+ }
123
+ }
124
+ this.splitParagraph = this.splitParagraph.concat(this.tableChunkData);
125
+ console.log('splitParagraph',this.splitParagraph,this.tableChunkData)
126
+ this.getParseInfo();
127
+ })
128
+ },
129
+ getParseInfo(){
130
+ let url = '/knowledge-api/correction/knowledge-parse-info/' + this.knowledgeId;
131
+ this.$http.get(url).then(res => {
132
+ console.log('getParseInfo',res)
133
+ if (res.data.code == 0 && res.data.data){
134
+ this.parseInfo = res.data.data;
135
+ if (res.data.data.extractChunkInfo && res.data.data.extractChunkInfo.docChunkData){
136
+ this.html_result = res.data.data.extractChunkInfo.docChunkData.html_result;
137
+ }
138
+ if (res.data.data.extractChunkInfo && res.data.data.extractChunkInfo.tableChunkData && res.data.data.extractChunkInfo.tableChunkData.length > 0){
139
+ this.excelHeaderData = res.data.data.extractChunkInfo.tableChunkData[0].table_md.table_header;
140
+ this.excelRowList = res.data.data.extractChunkInfo.tableChunkData[0].table_md.table_data;
141
+ }
142
+ this.fileType = res.data.data.fileType
143
+ // 判断是否为 HTTP 链接,但排除包含 aliyuncs 的OSS链接
144
+ if (this.html_result && !this.isLining && ((this.previewOssPath.startsWith('http://') || this.previewOssPath.startsWith('https://')) && !this.previewOssPath.includes('aliyuncs'))) {
145
+ this.fileType = 'URL';
146
+ this.getUrlContent(this.html_result)
147
+ }
148
+ }
149
+ this.$nextTick(() => {
150
+ if (this.fileType === 'XLS' || this.fileType === 'XLSX'){
151
+ let dom = document.getElementById('drawer_content_pre');
152
+ if (dom){
153
+ dom.style.height = 'calc(100% - 90px)'
154
+ }
155
+ }
156
+ })
157
+ })
158
+ },
159
+ currentChange (value) {
160
+ this.currentPage = value - 1;
161
+ this.scrollToParagraph()
162
+ },
163
+ prev(){
164
+ if (this.currentPage == 0){
165
+ return
166
+ }
167
+ this.currentPage--;
168
+ this.scrollToParagraph()
169
+ },
170
+ next(){
171
+ if (this.currentPage === (this.splitParagraph.length - 1)){
172
+ return
173
+ }
174
+ this.currentPage++;
175
+ this.scrollToParagraph()
176
+ },
177
+ async scrollToParagraph(type){
178
+ if (this.fileType == 'PDF') {
179
+ let currentPage = this.splitParagraph[this.currentPage];
180
+ let page = 1;
181
+ if (currentPage){
182
+ page = currentPage.original_paragraph[0].page
183
+ }
184
+ await this.$refs.pdfView.loadPage(page);
185
+ this.$refs.pdfView.jumpToHighlight(this.currentPage)
186
+ } else if (this.fileType == 'DOC' || this.fileType == 'DOCX' || this.fileType == 'TXT' || this.fileType == 'MD' || this.fileType == 'HTML' || this.fileType == 'URL'){
187
+ if (this.splitParagraph[this.currentPage] && this.splitParagraph[this.currentPage].original_paragraph){
188
+ const id = this.splitParagraph[this.currentPage].original_paragraph[0].paragraph_id;
189
+ let dom = document.getElementById(id);
190
+ let paragraphs = this.$el.querySelectorAll(`[paragraph-id="${this.splitParagraph[this.currentPage].original_paragraph[0].paragraph_id}"]`);
191
+ if (this.fileType == 'HTML' || this.fileType == 'URL'){
192
+ if (this.splitParagraph[this.currentPage].original_paragraph[0].images && this.splitParagraph[this.currentPage].original_paragraph[0].images.length > 0){
193
+ paragraphs = this.$el.querySelectorAll(`[data-paragraph-id="${this.splitParagraph[this.currentPage].original_paragraph[1].paragraph_id}"]`);
194
+ } else {
195
+ paragraphs = this.$el.querySelectorAll(`[data-paragraph-id="${this.splitParagraph[this.currentPage].original_paragraph[0].paragraph_id}"]`);
196
+ }
197
+
198
+ }
199
+ console.debug('scrollToParagraph',dom,paragraphs,type)
200
+ if (dom){
201
+ dom.scrollIntoView({ behavior: 'smooth' });
202
+ }
203
+ if (paragraphs && paragraphs.length > 0){
204
+ paragraphs[0].scrollIntoView({ behavior: 'smooth' })
205
+ }
206
+ if (type === 'first'){
207
+ if (dom){
208
+ dom.classList.add('animation')
209
+ setTimeout(() => {
210
+ dom.classList.remove('animation')
211
+ }, 3000)
212
+ }
213
+ if (paragraphs && paragraphs.length > 0){
214
+ paragraphs[0].classList.add('animation')
215
+ setTimeout(() => {
216
+ paragraphs[0].classList.remove('animation')
217
+ }, 3000)
218
+ }
219
+ } else {
220
+ for (let i=0;i<this.splitParagraph[this.currentPage].original_paragraph.length;i++){
221
+ const id = this.splitParagraph[this.currentPage].original_paragraph[i].paragraph_id;
222
+ const dom = document.getElementById(id);
223
+ if (dom){
224
+ dom.classList.add('animation')
225
+ setTimeout(() => {
226
+ dom.classList.remove('animation')
227
+ }, 3000)
228
+ }
229
+ if (paragraphs && paragraphs.length > 0){
230
+ paragraphs[0].classList.add('animation')
231
+ setTimeout(() => {
232
+ paragraphs[0].classList.remove('animation')
233
+ }, 3000)
234
+ }
235
+ }
236
+ }
237
+ } else if (this.splitParagraph[this.currentPage] && this.splitParagraph[this.currentPage].tableId){
238
+ const id = this.splitParagraph[this.currentPage].tableId;
239
+ const dom = document.getElementById(id);
240
+ if (dom){
241
+ dom.scrollIntoView({ behavior: 'smooth' });
242
+ }
243
+ }
244
+ }
245
+ },
246
+ // 新增方法:获取URL内容并对图片地址进行签名处理
247
+ getUrlContent(url) {
248
+ this.loading = true;
249
+ console.log('url',url)
250
+ this.$http.get(url).then((res) => {
251
+ if (res.status === 200) {
252
+ // 处理HTML内容中的图片地址,添加签名
253
+ this.processImageUrls(res.data);
254
+ } else {
255
+ console.error('获取URL内容失败');
256
+ this.loading = false;
257
+ }
258
+ }).catch((err) => {
259
+ console.error('获取URL内容失败:', err);
260
+ this.loading = false;
261
+ });
262
+ },
263
+ setColor(){
264
+ this.splitParagraph.forEach((item,index) => {
265
+ const colorIndex = index % this.colors.length;
266
+ if (item.original_paragraph){
267
+ item.original_paragraph.forEach(items => {
268
+ const paragraphs = this.$el.querySelectorAll(`[data-paragraph-id="${items.paragraph_id}"]`);
269
+ paragraphs.forEach(paragraph => {
270
+ paragraph.style.background = this.colors[colorIndex]
271
+ })
272
+ })
273
+ }
274
+ })
275
+ },
276
+ // 处理HTML内容中的图片地址,为OSS图片添加签名
277
+ processImageUrls(htmlContent) {
278
+ // 创建临时DOM元素来解析HTML
279
+ const tempDiv = document.createElement('div');
280
+ tempDiv.innerHTML = htmlContent;
281
+
282
+ // 查找所有图片标签
283
+ const imgTags = tempDiv.querySelectorAll('img');
284
+ let processedCount = 0;
285
+ let totalImages = imgTags.length;
286
+
287
+ if (totalImages === 0) {
288
+ // 没有图片,直接显示内容
289
+ this.fileText = htmlContent;
290
+ this.loading = false;
291
+ this.$nextTick(() => {
292
+ let dom = document.getElementById('drawer_content_pre');
293
+ if (dom){
294
+ dom.style.backgroundImage = 'none';
295
+ }
296
+ this.setColor()
297
+ if (this.textWatermarkStr){
298
+ newInitWaterMark('preview_iframe_html',this.textWatermarkStr)
299
+ }
300
+ })
301
+ this.$emit('loadingSuccess');
302
+ return;
303
+ }
304
+
305
+ // 处理每个图片地址
306
+ imgTags.forEach((img) => {
307
+ const imgSrc = img.getAttribute('src');
308
+ if (imgSrc && (imgSrc.includes('aliyuncs') || imgSrc.includes('oss-'))) {
309
+ // 为OSS图片获取签名URL
310
+ this.getSignedImageUrl(imgSrc, (signedUrl) => {
311
+ if (signedUrl) {
312
+ img.setAttribute('src', signedUrl);
313
+ }
314
+ processedCount++;
315
+
316
+ // 所有图片处理完成后,更新内容
317
+ if (processedCount === totalImages) {
318
+ this.fileText = tempDiv.innerHTML;
319
+ this.loading = false;
320
+ this.$nextTick(() => {
321
+ let dom = document.getElementById('drawer_content_pre');
322
+ if (dom){
323
+ dom.style.backgroundImage = 'none';
324
+ }
325
+ this.setColor()
326
+ if (this.textWatermarkStr){
327
+ newInitWaterMark('preview_iframe_html',this.textWatermarkStr)
328
+ }
329
+ })
330
+ this.$emit('loadingSuccess');
331
+ }
332
+ });
333
+ } else {
334
+ // 非OSS图片,直接跳过
335
+ processedCount++;
336
+ if (processedCount === totalImages) {
337
+ this.fileText = tempDiv.innerHTML;
338
+ this.loading = false;
339
+ this.$nextTick(() => {
340
+ let dom = document.getElementById('drawer_content_pre');
341
+ if (dom){
342
+ dom.style.backgroundImage = 'none';
343
+ }
344
+ this.setColor()
345
+ if (this.textWatermarkStr){
346
+ newInitWaterMark('preview_iframe_html',this.textWatermarkStr)
347
+ }
348
+ })
349
+ this.$emit('loadingSuccess');
350
+ }
351
+ }
352
+ });
353
+ },
354
+
355
+ // 获取图片的签名URL
356
+ getSignedImageUrl(imgSrc, callback) {
357
+ // 检查是否是相对路径,如果是则拼接完整URL
358
+ let fullImgUrl = imgSrc;
359
+ if (imgSrc.startsWith('/') || !imgSrc.startsWith('http')) {
360
+ // 从当前URL中提取域名
361
+ const urlObj = new URL(this.url);
362
+ fullImgUrl = urlObj.origin + (imgSrc.startsWith('/') ? imgSrc : '/' + imgSrc);
363
+ }
364
+
365
+ // 调用获取临时证书的API
366
+ this.$http.post('/knowledge-api/knowledge/getTemporaryCertificate', {
367
+ "fileInOssPath": fullImgUrl
368
+ }, {
369
+ params: { needEncrypt: false }
370
+ }).then(res => {
371
+ if (res.data.code === '0') {
372
+ callback(res.data.data);
373
+ } else {
374
+ console.error('获取图片签名失败:', res.data.message);
375
+ callback(null);
376
+ }
377
+ }).catch(err => {
378
+ console.error('获取图片签名失败:', err);
379
+ callback(null);
380
+ });
381
+ },
382
+ },
383
+ mounted() {
384
+ this.getLocationInfo();
385
+ if (/(iPhone|iPad|iPod|iOS|Android)/i.test(navigator.userAgent)) {
386
+ this.isPC = false
387
+ } else {
388
+ this.isPC = true
389
+ }
390
+ }
391
+ };
392
+ </script>
393
+
394
+ <style scoped lang="less">
395
+ @import "../../assets/less/variables.less";
396
+
397
+ .positionView{
398
+ height: 100%;
399
+ .has-footer{
400
+ height: calc(100% - 60px);
401
+ }
402
+ .no-footer{
403
+ height: 100%;
404
+ }
405
+ .btn_footer {
406
+ width: 100%;
407
+ height: 60px;
408
+ display: flex;
409
+ align-items: center;
410
+ justify-content: space-around;
411
+ position: absolute;
412
+ bottom: 0px;
413
+ left: 0;
414
+ z-index: 999;
415
+ background: @background-color-light;
416
+
417
+ .prev,
418
+ .next {
419
+ width: 35%;
420
+ height: 40px;
421
+ display: flex;
422
+ align-items: center;
423
+ justify-content: center;
424
+ border-radius: 50px;
425
+ cursor: pointer;
426
+ }
427
+
428
+ .prev {
429
+ background: @background-color-custom;
430
+ color: @font-primary-color;
431
+ }
432
+
433
+ .next {
434
+ background: @primary-color;
435
+ color: @font-primary-light-color;
436
+ }
437
+ }
438
+ #pagination {
439
+ .total-class {
440
+ margin-right: 13px;
441
+ font-weight: 400;
442
+ }
443
+
444
+ position: absolute;
445
+ bottom: 0px;
446
+ right: 0;
447
+ width: 100%;
448
+ display: flex;
449
+ align-items: center;
450
+ justify-content: center;
451
+ height: 50px;
452
+ background-color: @background-color-light;
453
+ box-shadow: 0px 0px 18px 0px rgba(29, 55, 129, 0.07);
454
+ border-radius: 5px;
455
+ z-index: 1000;
456
+
457
+
458
+
459
+ /deep/.el-pagination {
460
+ margin-right: 110px;
461
+ }
462
+
463
+ /deep/.el-pager {
464
+ background: @background-color-pagination;
465
+ border-radius: 15px;
466
+ }
467
+
468
+ /deep/.el-pagination.is-background .btn-next {
469
+ width: 30px;
470
+ height: 30px;
471
+ background: @background-color-pagination;
472
+ border-radius: 50%;
473
+ }
474
+
475
+ /deep/.el-pagination .btn-next {
476
+ width: 30px;
477
+ height: 30px;
478
+ background: @background-color-pagination;
479
+ border-radius: 50%;
480
+ padding-left: 0;
481
+ margin-left: 5px;
482
+ }
483
+
484
+ /deep/.el-pagination .btn-prev {
485
+ width: 30px;
486
+ height: 30px;
487
+ background: @background-color-pagination;
488
+ border-radius: 50%;
489
+ padding-right: 0;
490
+ margin-right: 5px;
491
+ }
492
+
493
+ /deep/.el-pagination button {
494
+ padding: 0;
495
+ min-width: 30px;
496
+ }
497
+
498
+ /deep/.el-pager li {
499
+ background: @background-color-pagination;
500
+ height: 30px;
501
+ min-width: 30px;
502
+ line-height: 30px;
503
+ font-size: 12px;
504
+ color: @font-pagination-color;
505
+ }
506
+
507
+ /deep/.el-pager li:first-child {
508
+ border-bottom-left-radius: 15px !important;
509
+ border-top-left-radius: 15px !important;
510
+ }
511
+
512
+ /deep/.el-pager li:last-child {
513
+ border-top-right-radius: 15px !important;
514
+ border-bottom-right-radius: 15px !important;
515
+ }
516
+
517
+ /deep/.el-pager li.active {
518
+ width: 30px;
519
+ height: 30px;
520
+ min-width: 30px;
521
+ background: @primary-color;
522
+ border: 3px solid @border-color-copy;
523
+ border-radius: 50%;
524
+ line-height: 24px;
525
+ color: @font-primary-light-color;
526
+ }
527
+
528
+ /deep/.el-pagination.is-background .el-pager li:not(.disabled).active {
529
+ background: @primary-color;
530
+ }
531
+ }
532
+ }
533
+ .preview_iframe_html {
534
+ width: 100%;
535
+ height: 100%;
536
+ overflow-y: scroll;
537
+ text-align: left;
538
+ box-sizing: border-box;
539
+ padding: 16px;
540
+
541
+ /deep/.lake-content {
542
+ margin-left: 10px;
543
+ }
544
+
545
+ /deep/a:link {
546
+ color: #0000ee !important;
547
+ }
548
+
549
+ /deep/a:visited {
550
+ color: #0000ee !important;
551
+ }
552
+
553
+ /deep/a:hover {
554
+ color: #0000ee !important;
555
+ }
556
+
557
+ /deep/a:active {
558
+ color: #0000ee !important;
559
+ }
560
+
561
+ /deep/li:not(.rich-text-li),
562
+ ol:not(.list-paddingleft-2),
563
+ ul:not(.list-paddingleft-2) {
564
+ list-style-type: auto !important;
565
+ }
566
+
567
+ /deep/img {
568
+ width: auto;
569
+ }
570
+
571
+ /deep/.ne-table {
572
+ width: 100% !important;
573
+ }
574
+ }
575
+ .animation {
576
+ animation-name: highlight;
577
+ animation-duration: 4s;
578
+ }
579
+
580
+ @keyframes highlight {
581
+ 0% {
582
+ background: rgba(255, 136, 0, 0.3);
583
+ }
584
+
585
+ 25% {
586
+ background: rgba(255, 136, 0, 0.6);
587
+ }
588
+
589
+ 50% {
590
+ background: rgba(255, 136, 0, 0.3);
591
+ }
592
+
593
+ 75% {
594
+ background: rgba(255, 136, 0, 0.6);
595
+ }
596
+
597
+ 100% {
598
+ background: rgba(255, 136, 0, 0.3);
599
+ }
600
+ }
601
+ </style>