@touchvue/chat 1.0.0-beta.5 → 1.0.0-beta.50

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 (443) hide show
  1. package/README.md +25 -25
  2. package/es/_virtual/_plugin-vue_export-helper.mjs +10 -0
  3. package/es/_virtual/_plugin-vue_export-helper.mjs.map +1 -0
  4. package/es/index.mjs.map +1 -1
  5. package/es/node_modules/.pnpm/@touchvue_a2ui@1.0.0-beta.46/node_modules/@touchvue/a2ui/dist/index.mjs +4816 -0
  6. package/es/node_modules/.pnpm/@touchvue_a2ui@1.0.0-beta.46/node_modules/@touchvue/a2ui/dist/index.mjs.map +1 -0
  7. package/es/node_modules/.pnpm/dompurify@3.3.0/node_modules/dompurify/dist/purify.es.mjs +1380 -0
  8. package/es/node_modules/.pnpm/dompurify@3.3.0/node_modules/dompurify/dist/purify.es.mjs.map +1 -0
  9. package/es/node_modules/.pnpm/html2canvas@1.4.1/node_modules/html2canvas/dist/html2canvas.esm.mjs +7824 -0
  10. package/es/node_modules/.pnpm/html2canvas@1.4.1/node_modules/html2canvas/dist/html2canvas.esm.mjs.map +1 -0
  11. package/es/package.json.css +1 -1
  12. package/es/package.json.mjs +2 -2
  13. package/es/packages/components/index.mjs +1 -1
  14. package/es/packages/components/resolver.mjs.map +1 -1
  15. package/es/packages/components/touchchat/component/AiRobot/HelloChat.vue.mjs +3 -2
  16. package/es/packages/components/touchchat/component/AiRobot/HelloChat.vue.mjs.map +1 -1
  17. package/es/packages/components/touchchat/component/AiRobot/HelloChat.vue2.mjs +219 -159
  18. package/es/packages/components/touchchat/component/AiRobot/HelloChat.vue2.mjs.map +1 -1
  19. package/es/packages/components/touchchat/component/AiRobot/face.vue.mjs +3 -2
  20. package/es/packages/components/touchchat/component/AiRobot/face.vue.mjs.map +1 -1
  21. package/es/packages/components/touchchat/component/AiRobot/face.vue2.mjs +27 -13
  22. package/es/packages/components/touchchat/component/AiRobot/face.vue2.mjs.map +1 -1
  23. package/es/packages/components/touchchat/component/AiRobot/letter.vue.mjs +3 -2
  24. package/es/packages/components/touchchat/component/AiRobot/letter.vue.mjs.map +1 -1
  25. package/es/packages/components/touchchat/component/AiRobot/letter.vue2.mjs +182 -41
  26. package/es/packages/components/touchchat/component/AiRobot/letter.vue2.mjs.map +1 -1
  27. package/es/packages/components/touchchat/component/AiRobot/meterialPrepare.vue.mjs +3 -2
  28. package/es/packages/components/touchchat/component/AiRobot/meterialPrepare.vue.mjs.map +1 -1
  29. package/es/packages/components/touchchat/component/AiRobot/meterialPrepare.vue2.mjs +15 -10
  30. package/es/packages/components/touchchat/component/AiRobot/meterialPrepare.vue2.mjs.map +1 -1
  31. package/es/packages/components/touchchat/component/AiRobot/start.vue.mjs +3 -2
  32. package/es/packages/components/touchchat/component/AiRobot/start.vue.mjs.map +1 -1
  33. package/es/packages/components/touchchat/component/AiRobot/start.vue2.mjs +18 -11
  34. package/es/packages/components/touchchat/component/AiRobot/start.vue2.mjs.map +1 -1
  35. package/es/packages/components/touchchat/component/CardView.vue.mjs +3 -2
  36. package/es/packages/components/touchchat/component/CardView.vue.mjs.map +1 -1
  37. package/es/packages/components/touchchat/component/CardView.vue2.mjs +66 -42
  38. package/es/packages/components/touchchat/component/CardView.vue2.mjs.map +1 -1
  39. package/es/packages/components/touchchat/component/FileContent.vue.mjs +7 -0
  40. package/es/packages/components/touchchat/component/FileContent.vue.mjs.map +1 -0
  41. package/es/packages/components/touchchat/component/FileContent.vue2.mjs +206 -0
  42. package/es/packages/components/touchchat/component/FileContent.vue2.mjs.map +1 -0
  43. package/es/packages/components/touchchat/component/FileView.vue.mjs +3 -2
  44. package/es/packages/components/touchchat/component/FileView.vue.mjs.map +1 -1
  45. package/es/packages/components/touchchat/component/FileView.vue2.mjs +17 -4
  46. package/es/packages/components/touchchat/component/FileView.vue2.mjs.map +1 -1
  47. package/es/packages/components/touchchat/component/HelloChat.vue.mjs +3 -2
  48. package/es/packages/components/touchchat/component/HelloChat.vue.mjs.map +1 -1
  49. package/es/packages/components/touchchat/component/HelloChat.vue2.mjs +26 -14
  50. package/es/packages/components/touchchat/component/HelloChat.vue2.mjs.map +1 -1
  51. package/es/packages/components/touchchat/component/ImageFile.vue.mjs +7 -0
  52. package/es/packages/components/touchchat/component/ImageFile.vue.mjs.map +1 -0
  53. package/es/packages/components/touchchat/component/ImageFile.vue2.mjs +162 -0
  54. package/es/packages/components/touchchat/component/ImageFile.vue2.mjs.map +1 -0
  55. package/es/packages/components/touchchat/component/ImageView.vue.mjs +3 -2
  56. package/es/packages/components/touchchat/component/ImageView.vue.mjs.map +1 -1
  57. package/es/packages/components/touchchat/component/ImageView.vue2.mjs +1 -1
  58. package/es/packages/components/touchchat/component/ImageView.vue2.mjs.map +1 -1
  59. package/es/packages/components/touchchat/component/LinkView.vue.mjs +3 -2
  60. package/es/packages/components/touchchat/component/LinkView.vue.mjs.map +1 -1
  61. package/es/packages/components/touchchat/component/LinkView.vue2.mjs +19 -5
  62. package/es/packages/components/touchchat/component/LinkView.vue2.mjs.map +1 -1
  63. package/es/packages/components/touchchat/component/MarkLayer.vue.mjs +7 -0
  64. package/es/packages/components/touchchat/component/MarkLayer.vue.mjs.map +1 -0
  65. package/es/packages/components/touchchat/component/MarkLayer.vue2.mjs +56 -0
  66. package/es/packages/components/touchchat/component/MarkLayer.vue2.mjs.map +1 -0
  67. package/es/packages/components/touchchat/component/ModuleSelect.vue.mjs +7 -0
  68. package/es/packages/components/touchchat/component/ModuleSelect.vue.mjs.map +1 -0
  69. package/es/packages/components/touchchat/component/ModuleSelect.vue2.mjs +121 -0
  70. package/es/packages/components/touchchat/component/ModuleSelect.vue2.mjs.map +1 -0
  71. package/es/packages/components/touchchat/component/PDFFile.vue.mjs +7 -0
  72. package/es/packages/components/touchchat/component/PDFFile.vue.mjs.map +1 -0
  73. package/es/packages/components/touchchat/component/PDFFile.vue2.mjs +211 -0
  74. package/es/packages/components/touchchat/component/PDFFile.vue2.mjs.map +1 -0
  75. package/es/packages/components/touchchat/component/QuoteContent.vue.mjs +7 -0
  76. package/es/packages/components/touchchat/component/QuoteContent.vue.mjs.map +1 -0
  77. package/es/packages/components/touchchat/component/QuoteContent.vue2.mjs +40 -0
  78. package/es/packages/components/touchchat/component/QuoteContent.vue2.mjs.map +1 -0
  79. package/es/packages/components/touchchat/component/RealtimeVoice.vue.mjs +7 -0
  80. package/es/packages/components/touchchat/component/RealtimeVoice.vue.mjs.map +1 -0
  81. package/es/packages/components/touchchat/component/RealtimeVoice.vue2.mjs +160 -0
  82. package/es/packages/components/touchchat/component/RealtimeVoice.vue2.mjs.map +1 -0
  83. package/es/packages/components/touchchat/component/Screenshot.vue.mjs +7 -0
  84. package/es/packages/components/touchchat/component/Screenshot.vue.mjs.map +1 -0
  85. package/es/packages/components/touchchat/component/Screenshot.vue2.mjs +208 -0
  86. package/es/packages/components/touchchat/component/Screenshot.vue2.mjs.map +1 -0
  87. package/es/packages/components/touchchat/component/ThoughtChain.vue.mjs +7 -0
  88. package/es/packages/components/touchchat/component/ThoughtChain.vue.mjs.map +1 -0
  89. package/es/packages/components/touchchat/component/ThoughtChain.vue2.mjs +69 -0
  90. package/es/packages/components/touchchat/component/ThoughtChain.vue2.mjs.map +1 -0
  91. package/es/packages/components/touchchat/component/UploadView.vue.mjs +7 -0
  92. package/es/packages/components/touchchat/component/UploadView.vue.mjs.map +1 -0
  93. package/es/packages/components/touchchat/component/UploadView.vue2.mjs +186 -0
  94. package/es/packages/components/touchchat/component/UploadView.vue2.mjs.map +1 -0
  95. package/es/packages/components/touchchat/component/UploadView_api.vue.mjs +7 -0
  96. package/es/packages/components/touchchat/component/UploadView_api.vue.mjs.map +1 -0
  97. package/es/packages/components/touchchat/component/UploadView_api.vue2.mjs +166 -0
  98. package/es/packages/components/touchchat/component/UploadView_api.vue2.mjs.map +1 -0
  99. package/es/packages/components/touchchat/component/VideoFile.vue.mjs +7 -0
  100. package/es/packages/components/touchchat/component/VideoFile.vue.mjs.map +1 -0
  101. package/es/packages/components/touchchat/component/VideoFile.vue2.mjs +33 -0
  102. package/es/packages/components/touchchat/component/VideoFile.vue2.mjs.map +1 -0
  103. package/es/packages/components/touchchat/component/VoiceView.vue.mjs +7 -0
  104. package/es/packages/components/touchchat/component/VoiceView.vue.mjs.map +1 -0
  105. package/es/packages/components/touchchat/component/VoiceView.vue2.mjs +165 -0
  106. package/es/packages/components/touchchat/component/VoiceView.vue2.mjs.map +1 -0
  107. package/es/packages/components/touchchat/img/file/doc.png.mjs +4 -0
  108. package/es/packages/components/touchchat/img/file/doc.png.mjs.map +1 -0
  109. package/es/packages/components/touchchat/img/file/docx.png.mjs +4 -0
  110. package/es/packages/components/touchchat/img/file/docx.png.mjs.map +1 -0
  111. package/es/packages/components/touchchat/img/file/gif.png.mjs +4 -0
  112. package/es/packages/components/touchchat/img/file/gif.png.mjs.map +1 -0
  113. package/es/packages/components/touchchat/img/file/html.png.mjs +4 -0
  114. package/es/packages/components/touchchat/img/file/html.png.mjs.map +1 -0
  115. package/es/packages/components/touchchat/img/file/jpg.png.mjs +4 -0
  116. package/es/packages/components/touchchat/img/file/jpg.png.mjs.map +1 -0
  117. package/es/packages/components/touchchat/img/file/mp3.png.mjs +4 -0
  118. package/es/packages/components/touchchat/img/file/mp3.png.mjs.map +1 -0
  119. package/es/packages/components/touchchat/img/file/mp4.png.mjs +4 -0
  120. package/es/packages/components/touchchat/img/file/mp4.png.mjs.map +1 -0
  121. package/es/packages/components/touchchat/img/file/music.png.mjs +4 -0
  122. package/es/packages/components/touchchat/img/file/music.png.mjs.map +1 -0
  123. package/es/packages/components/touchchat/img/file/pdf.png.mjs +4 -0
  124. package/es/packages/components/touchchat/img/file/pdf.png.mjs.map +1 -0
  125. package/es/packages/components/touchchat/img/file/png.png.mjs +4 -0
  126. package/es/packages/components/touchchat/img/file/png.png.mjs.map +1 -0
  127. package/es/packages/components/touchchat/img/file/ppt.png.mjs +4 -0
  128. package/es/packages/components/touchchat/img/file/ppt.png.mjs.map +1 -0
  129. package/es/packages/components/touchchat/img/file/pptx.png.mjs +4 -0
  130. package/es/packages/components/touchchat/img/file/pptx.png.mjs.map +1 -0
  131. package/es/packages/components/touchchat/img/file/txt.png.mjs +4 -0
  132. package/es/packages/components/touchchat/img/file/txt.png.mjs.map +1 -0
  133. package/es/packages/components/touchchat/img/file/xls.png.mjs +4 -0
  134. package/es/packages/components/touchchat/img/file/xls.png.mjs.map +1 -0
  135. package/es/packages/components/touchchat/img/file/xlsx.png.mjs +4 -0
  136. package/es/packages/components/touchchat/img/file/xlsx.png.mjs.map +1 -0
  137. package/es/packages/components/touchchat/img/svg/reset.svg.mjs +4 -0
  138. package/es/packages/components/touchchat/img/svg/reset.svg.mjs.map +1 -0
  139. package/es/packages/components/touchchat/index.mjs +5 -5
  140. package/es/packages/components/touchchat/index.mjs.map +1 -1
  141. package/es/packages/components/touchchat/src/AiChat/AgentsView.vue.mjs +7 -0
  142. package/es/packages/components/touchchat/src/AiChat/AgentsView.vue.mjs.map +1 -0
  143. package/es/packages/components/touchchat/src/AiChat/AgentsView.vue2.mjs +59 -0
  144. package/es/packages/components/touchchat/src/AiChat/AgentsView.vue2.mjs.map +1 -0
  145. package/es/packages/components/touchchat/src/AiChat/AiMessage.vue.mjs +3 -2
  146. package/es/packages/components/touchchat/src/AiChat/AiMessage.vue.mjs.map +1 -1
  147. package/es/packages/components/touchchat/src/AiChat/AiMessage.vue2.mjs +322 -139
  148. package/es/packages/components/touchchat/src/AiChat/AiMessage.vue2.mjs.map +1 -1
  149. package/es/packages/components/touchchat/src/AiChat/Chat/TouchChat.mjs +18 -0
  150. package/es/packages/components/touchchat/src/AiChat/Chat/TouchChat.mjs.map +1 -0
  151. package/es/packages/components/touchchat/src/AiChat/Chat/scriptMatcher.mjs +145 -0
  152. package/es/packages/components/touchchat/src/AiChat/Chat/scriptMatcher.mjs.map +1 -0
  153. package/es/packages/components/touchchat/src/AiChat/Chat/types.mjs +19 -0
  154. package/es/packages/components/touchchat/src/AiChat/Chat/types.mjs.map +1 -0
  155. package/es/packages/components/touchchat/src/AiChat/Chat/useChat.mjs +693 -0
  156. package/es/packages/components/touchchat/src/AiChat/Chat/useChat.mjs.map +1 -0
  157. package/es/packages/components/touchchat/src/AiChat/Chat/useCopy.mjs +55 -0
  158. package/es/packages/components/touchchat/src/AiChat/Chat/useCopy.mjs.map +1 -0
  159. package/es/packages/components/touchchat/src/AiChat/Chat/useMessageRender.mjs +155 -0
  160. package/es/packages/components/touchchat/src/AiChat/Chat/useMessageRender.mjs.map +1 -0
  161. package/es/packages/components/touchchat/src/AiChat/Chat/useSSE.mjs +345 -0
  162. package/es/packages/components/touchchat/src/AiChat/Chat/useSSE.mjs.map +1 -0
  163. package/es/packages/components/touchchat/src/AiChat/Chat/useScroll.mjs +74 -0
  164. package/es/packages/components/touchchat/src/AiChat/Chat/useScroll.mjs.map +1 -0
  165. package/es/packages/components/touchchat/src/AiChat/ChatInput.vue.mjs +3 -2
  166. package/es/packages/components/touchchat/src/AiChat/ChatInput.vue.mjs.map +1 -1
  167. package/es/packages/components/touchchat/src/AiChat/ChatInput.vue2.mjs +472 -44
  168. package/es/packages/components/touchchat/src/AiChat/ChatInput.vue2.mjs.map +1 -1
  169. package/es/packages/components/touchchat/src/AiChat/HistoryList.vue.mjs +3 -2
  170. package/es/packages/components/touchchat/src/AiChat/HistoryList.vue.mjs.map +1 -1
  171. package/es/packages/components/touchchat/src/AiChat/HistoryList.vue2.mjs +180 -98
  172. package/es/packages/components/touchchat/src/AiChat/HistoryList.vue2.mjs.map +1 -1
  173. package/es/packages/components/touchchat/src/AiChat/HistorySidebar.vue.mjs +3 -2
  174. package/es/packages/components/touchchat/src/AiChat/HistorySidebar.vue.mjs.map +1 -1
  175. package/es/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.mjs +29 -12
  176. package/es/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.mjs.map +1 -1
  177. package/es/packages/components/touchchat/src/AiChat/MessageActions.vue.mjs +3 -2
  178. package/es/packages/components/touchchat/src/AiChat/MessageActions.vue.mjs.map +1 -1
  179. package/es/packages/components/touchchat/src/AiChat/MessageActions.vue2.mjs +175 -62
  180. package/es/packages/components/touchchat/src/AiChat/MessageActions.vue2.mjs.map +1 -1
  181. package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue.mjs +3 -2
  182. package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue.mjs.map +1 -1
  183. package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue2.mjs +14 -8
  184. package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue2.mjs.map +1 -1
  185. package/es/packages/components/touchchat/src/AiChat/TouchAgent.vue.mjs +7 -0
  186. package/es/packages/components/touchchat/src/AiChat/TouchAgent.vue.mjs.map +1 -0
  187. package/es/packages/components/touchchat/src/AiChat/TouchAgent.vue2.mjs +1034 -0
  188. package/es/packages/components/touchchat/src/AiChat/TouchAgent.vue2.mjs.map +1 -0
  189. package/es/packages/components/touchchat/src/AiChat/TouchChat.vue.mjs +3 -2
  190. package/es/packages/components/touchchat/src/AiChat/TouchChat.vue.mjs.map +1 -1
  191. package/es/packages/components/touchchat/src/AiChat/TouchChat.vue2.mjs +276 -1004
  192. package/es/packages/components/touchchat/src/AiChat/TouchChat.vue2.mjs.map +1 -1
  193. package/es/packages/components/touchchat/src/AiChat/TouchHistory.vue.mjs +3 -2
  194. package/es/packages/components/touchchat/src/AiChat/TouchHistory.vue.mjs.map +1 -1
  195. package/es/packages/components/touchchat/src/AiChat/TouchHistory.vue2.mjs +346 -122
  196. package/es/packages/components/touchchat/src/AiChat/TouchHistory.vue2.mjs.map +1 -1
  197. package/es/packages/components/touchchat/src/AiChat/UserMessage.vue.mjs +3 -2
  198. package/es/packages/components/touchchat/src/AiChat/UserMessage.vue.mjs.map +1 -1
  199. package/es/packages/components/touchchat/src/AiChat/UserMessage.vue2.mjs +143 -64
  200. package/es/packages/components/touchchat/src/AiChat/UserMessage.vue2.mjs.map +1 -1
  201. package/es/packages/components/touchchat/src/index.vue.mjs +3 -2
  202. package/es/packages/components/touchchat/src/index.vue.mjs.map +1 -1
  203. package/es/packages/components/touchchat/src/index.vue2.mjs +252 -143
  204. package/es/packages/components/touchchat/src/index.vue2.mjs.map +1 -1
  205. package/es/packages/components/touchchat/src/types/a2a.mjs +11 -0
  206. package/es/packages/components/touchchat/src/types/a2a.mjs.map +1 -0
  207. package/es/packages/components/touchchat/utils/a2aService.mjs +316 -0
  208. package/es/packages/components/touchchat/utils/a2aService.mjs.map +1 -0
  209. package/es/packages/components/touchchat/utils/fetchStream.mjs +8 -2
  210. package/es/packages/components/touchchat/utils/fetchStream.mjs.map +1 -1
  211. package/es/packages/components/touchchat/utils/markdown.mjs +31 -13
  212. package/es/packages/components/touchchat/utils/markdown.mjs.map +1 -1
  213. package/es/packages/utils/config.mjs.map +1 -1
  214. package/es/packages/utils/types.mjs.map +1 -1
  215. package/global.d.ts +2 -2
  216. package/lib/_virtual/_plugin-vue_export-helper.js +14 -0
  217. package/lib/_virtual/_plugin-vue_export-helper.js.map +1 -0
  218. package/lib/index.js.map +1 -1
  219. package/lib/node_modules/.pnpm/@touchvue_a2ui@1.0.0-beta.46/node_modules/@touchvue/a2ui/dist/index.js +4819 -0
  220. package/lib/node_modules/.pnpm/@touchvue_a2ui@1.0.0-beta.46/node_modules/@touchvue/a2ui/dist/index.js.map +1 -0
  221. package/lib/node_modules/.pnpm/dompurify@3.3.0/node_modules/dompurify/dist/purify.es.js +1384 -0
  222. package/lib/node_modules/.pnpm/dompurify@3.3.0/node_modules/dompurify/dist/purify.es.js.map +1 -0
  223. package/lib/node_modules/.pnpm/html2canvas@1.4.1/node_modules/html2canvas/dist/html2canvas.esm.js +7828 -0
  224. package/lib/node_modules/.pnpm/html2canvas@1.4.1/node_modules/html2canvas/dist/html2canvas.esm.js.map +1 -0
  225. package/lib/package.json.css +1 -1
  226. package/lib/package.json.js +2 -2
  227. package/lib/packages/components/index.js +2 -2
  228. package/lib/packages/components/resolver.js.map +1 -1
  229. package/lib/packages/components/touchchat/component/AiRobot/HelloChat.vue.js +3 -2
  230. package/lib/packages/components/touchchat/component/AiRobot/HelloChat.vue.js.map +1 -1
  231. package/lib/packages/components/touchchat/component/AiRobot/HelloChat.vue2.js +219 -159
  232. package/lib/packages/components/touchchat/component/AiRobot/HelloChat.vue2.js.map +1 -1
  233. package/lib/packages/components/touchchat/component/AiRobot/face.vue.js +3 -2
  234. package/lib/packages/components/touchchat/component/AiRobot/face.vue.js.map +1 -1
  235. package/lib/packages/components/touchchat/component/AiRobot/face.vue2.js +26 -12
  236. package/lib/packages/components/touchchat/component/AiRobot/face.vue2.js.map +1 -1
  237. package/lib/packages/components/touchchat/component/AiRobot/letter.vue.js +3 -2
  238. package/lib/packages/components/touchchat/component/AiRobot/letter.vue.js.map +1 -1
  239. package/lib/packages/components/touchchat/component/AiRobot/letter.vue2.js +181 -40
  240. package/lib/packages/components/touchchat/component/AiRobot/letter.vue2.js.map +1 -1
  241. package/lib/packages/components/touchchat/component/AiRobot/meterialPrepare.vue.js +3 -2
  242. package/lib/packages/components/touchchat/component/AiRobot/meterialPrepare.vue.js.map +1 -1
  243. package/lib/packages/components/touchchat/component/AiRobot/meterialPrepare.vue2.js +15 -10
  244. package/lib/packages/components/touchchat/component/AiRobot/meterialPrepare.vue2.js.map +1 -1
  245. package/lib/packages/components/touchchat/component/AiRobot/start.vue.js +3 -2
  246. package/lib/packages/components/touchchat/component/AiRobot/start.vue.js.map +1 -1
  247. package/lib/packages/components/touchchat/component/AiRobot/start.vue2.js +17 -10
  248. package/lib/packages/components/touchchat/component/AiRobot/start.vue2.js.map +1 -1
  249. package/lib/packages/components/touchchat/component/CardView.vue.js +3 -2
  250. package/lib/packages/components/touchchat/component/CardView.vue.js.map +1 -1
  251. package/lib/packages/components/touchchat/component/CardView.vue2.js +66 -42
  252. package/lib/packages/components/touchchat/component/CardView.vue2.js.map +1 -1
  253. package/lib/packages/components/touchchat/component/FileContent.vue.js +11 -0
  254. package/lib/packages/components/touchchat/component/FileContent.vue.js.map +1 -0
  255. package/lib/packages/components/touchchat/component/FileContent.vue2.js +210 -0
  256. package/lib/packages/components/touchchat/component/FileContent.vue2.js.map +1 -0
  257. package/lib/packages/components/touchchat/component/FileView.vue.js +3 -2
  258. package/lib/packages/components/touchchat/component/FileView.vue.js.map +1 -1
  259. package/lib/packages/components/touchchat/component/FileView.vue2.js +16 -3
  260. package/lib/packages/components/touchchat/component/FileView.vue2.js.map +1 -1
  261. package/lib/packages/components/touchchat/component/HelloChat.vue.js +3 -2
  262. package/lib/packages/components/touchchat/component/HelloChat.vue.js.map +1 -1
  263. package/lib/packages/components/touchchat/component/HelloChat.vue2.js +26 -14
  264. package/lib/packages/components/touchchat/component/HelloChat.vue2.js.map +1 -1
  265. package/lib/packages/components/touchchat/component/ImageFile.vue.js +11 -0
  266. package/lib/packages/components/touchchat/component/ImageFile.vue.js.map +1 -0
  267. package/lib/packages/components/touchchat/component/ImageFile.vue2.js +166 -0
  268. package/lib/packages/components/touchchat/component/ImageFile.vue2.js.map +1 -0
  269. package/lib/packages/components/touchchat/component/ImageView.vue.js +3 -2
  270. package/lib/packages/components/touchchat/component/ImageView.vue.js.map +1 -1
  271. package/lib/packages/components/touchchat/component/ImageView.vue2.js +1 -1
  272. package/lib/packages/components/touchchat/component/ImageView.vue2.js.map +1 -1
  273. package/lib/packages/components/touchchat/component/LinkView.vue.js +3 -2
  274. package/lib/packages/components/touchchat/component/LinkView.vue.js.map +1 -1
  275. package/lib/packages/components/touchchat/component/LinkView.vue2.js +18 -4
  276. package/lib/packages/components/touchchat/component/LinkView.vue2.js.map +1 -1
  277. package/lib/packages/components/touchchat/component/MarkLayer.vue.js +11 -0
  278. package/lib/packages/components/touchchat/component/MarkLayer.vue.js.map +1 -0
  279. package/lib/packages/components/touchchat/component/MarkLayer.vue2.js +60 -0
  280. package/lib/packages/components/touchchat/component/MarkLayer.vue2.js.map +1 -0
  281. package/lib/packages/components/touchchat/component/ModuleSelect.vue.js +11 -0
  282. package/lib/packages/components/touchchat/component/ModuleSelect.vue.js.map +1 -0
  283. package/lib/packages/components/touchchat/component/ModuleSelect.vue2.js +125 -0
  284. package/lib/packages/components/touchchat/component/ModuleSelect.vue2.js.map +1 -0
  285. package/lib/packages/components/touchchat/component/PDFFile.vue.js +11 -0
  286. package/lib/packages/components/touchchat/component/PDFFile.vue.js.map +1 -0
  287. package/lib/packages/components/touchchat/component/PDFFile.vue2.js +215 -0
  288. package/lib/packages/components/touchchat/component/PDFFile.vue2.js.map +1 -0
  289. package/lib/packages/components/touchchat/component/QuoteContent.vue.js +11 -0
  290. package/lib/packages/components/touchchat/component/QuoteContent.vue.js.map +1 -0
  291. package/lib/packages/components/touchchat/component/QuoteContent.vue2.js +44 -0
  292. package/lib/packages/components/touchchat/component/QuoteContent.vue2.js.map +1 -0
  293. package/lib/packages/components/touchchat/component/RealtimeVoice.vue.js +11 -0
  294. package/lib/packages/components/touchchat/component/RealtimeVoice.vue.js.map +1 -0
  295. package/lib/packages/components/touchchat/component/RealtimeVoice.vue2.js +164 -0
  296. package/lib/packages/components/touchchat/component/RealtimeVoice.vue2.js.map +1 -0
  297. package/lib/packages/components/touchchat/component/Screenshot.vue.js +11 -0
  298. package/lib/packages/components/touchchat/component/Screenshot.vue.js.map +1 -0
  299. package/lib/packages/components/touchchat/component/Screenshot.vue2.js +212 -0
  300. package/lib/packages/components/touchchat/component/Screenshot.vue2.js.map +1 -0
  301. package/lib/packages/components/touchchat/component/ThoughtChain.vue.js +11 -0
  302. package/lib/packages/components/touchchat/component/ThoughtChain.vue.js.map +1 -0
  303. package/lib/packages/components/touchchat/component/ThoughtChain.vue2.js +73 -0
  304. package/lib/packages/components/touchchat/component/ThoughtChain.vue2.js.map +1 -0
  305. package/lib/packages/components/touchchat/component/UploadView.vue.js +11 -0
  306. package/lib/packages/components/touchchat/component/UploadView.vue.js.map +1 -0
  307. package/lib/packages/components/touchchat/component/UploadView.vue2.js +190 -0
  308. package/lib/packages/components/touchchat/component/UploadView.vue2.js.map +1 -0
  309. package/lib/packages/components/touchchat/component/UploadView_api.vue.js +11 -0
  310. package/lib/packages/components/touchchat/component/UploadView_api.vue.js.map +1 -0
  311. package/lib/packages/components/touchchat/component/UploadView_api.vue2.js +170 -0
  312. package/lib/packages/components/touchchat/component/UploadView_api.vue2.js.map +1 -0
  313. package/lib/packages/components/touchchat/component/VideoFile.vue.js +11 -0
  314. package/lib/packages/components/touchchat/component/VideoFile.vue.js.map +1 -0
  315. package/lib/packages/components/touchchat/component/VideoFile.vue2.js +37 -0
  316. package/lib/packages/components/touchchat/component/VideoFile.vue2.js.map +1 -0
  317. package/lib/packages/components/touchchat/component/VoiceView.vue.js +11 -0
  318. package/lib/packages/components/touchchat/component/VoiceView.vue.js.map +1 -0
  319. package/lib/packages/components/touchchat/component/VoiceView.vue2.js +169 -0
  320. package/lib/packages/components/touchchat/component/VoiceView.vue2.js.map +1 -0
  321. package/lib/packages/components/touchchat/img/file/doc.png.js +8 -0
  322. package/lib/packages/components/touchchat/img/file/doc.png.js.map +1 -0
  323. package/lib/packages/components/touchchat/img/file/docx.png.js +8 -0
  324. package/lib/packages/components/touchchat/img/file/docx.png.js.map +1 -0
  325. package/lib/packages/components/touchchat/img/file/gif.png.js +8 -0
  326. package/lib/packages/components/touchchat/img/file/gif.png.js.map +1 -0
  327. package/lib/packages/components/touchchat/img/file/html.png.js +8 -0
  328. package/lib/packages/components/touchchat/img/file/html.png.js.map +1 -0
  329. package/lib/packages/components/touchchat/img/file/jpg.png.js +8 -0
  330. package/lib/packages/components/touchchat/img/file/jpg.png.js.map +1 -0
  331. package/lib/packages/components/touchchat/img/file/mp3.png.js +8 -0
  332. package/lib/packages/components/touchchat/img/file/mp3.png.js.map +1 -0
  333. package/lib/packages/components/touchchat/img/file/mp4.png.js +8 -0
  334. package/lib/packages/components/touchchat/img/file/mp4.png.js.map +1 -0
  335. package/lib/packages/components/touchchat/img/file/music.png.js +8 -0
  336. package/lib/packages/components/touchchat/img/file/music.png.js.map +1 -0
  337. package/lib/packages/components/touchchat/img/file/pdf.png.js +8 -0
  338. package/lib/packages/components/touchchat/img/file/pdf.png.js.map +1 -0
  339. package/lib/packages/components/touchchat/img/file/png.png.js +8 -0
  340. package/lib/packages/components/touchchat/img/file/png.png.js.map +1 -0
  341. package/lib/packages/components/touchchat/img/file/ppt.png.js +8 -0
  342. package/lib/packages/components/touchchat/img/file/ppt.png.js.map +1 -0
  343. package/lib/packages/components/touchchat/img/file/pptx.png.js +8 -0
  344. package/lib/packages/components/touchchat/img/file/pptx.png.js.map +1 -0
  345. package/lib/packages/components/touchchat/img/file/txt.png.js +8 -0
  346. package/lib/packages/components/touchchat/img/file/txt.png.js.map +1 -0
  347. package/lib/packages/components/touchchat/img/file/xls.png.js +8 -0
  348. package/lib/packages/components/touchchat/img/file/xls.png.js.map +1 -0
  349. package/lib/packages/components/touchchat/img/file/xlsx.png.js +8 -0
  350. package/lib/packages/components/touchchat/img/file/xlsx.png.js.map +1 -0
  351. package/lib/packages/components/touchchat/img/svg/reset.svg.js +8 -0
  352. package/lib/packages/components/touchchat/img/svg/reset.svg.js.map +1 -0
  353. package/lib/packages/components/touchchat/index.js +6 -6
  354. package/lib/packages/components/touchchat/index.js.map +1 -1
  355. package/lib/packages/components/touchchat/src/AiChat/AgentsView.vue.js +11 -0
  356. package/lib/packages/components/touchchat/src/AiChat/AgentsView.vue.js.map +1 -0
  357. package/lib/packages/components/touchchat/src/AiChat/AgentsView.vue2.js +63 -0
  358. package/lib/packages/components/touchchat/src/AiChat/AgentsView.vue2.js.map +1 -0
  359. package/lib/packages/components/touchchat/src/AiChat/AiMessage.vue.js +3 -2
  360. package/lib/packages/components/touchchat/src/AiChat/AiMessage.vue.js.map +1 -1
  361. package/lib/packages/components/touchchat/src/AiChat/AiMessage.vue2.js +321 -138
  362. package/lib/packages/components/touchchat/src/AiChat/AiMessage.vue2.js.map +1 -1
  363. package/lib/packages/components/touchchat/src/AiChat/Chat/TouchChat.js +21 -0
  364. package/lib/packages/components/touchchat/src/AiChat/Chat/TouchChat.js.map +1 -0
  365. package/lib/packages/components/touchchat/src/AiChat/Chat/scriptMatcher.js +147 -0
  366. package/lib/packages/components/touchchat/src/AiChat/Chat/scriptMatcher.js.map +1 -0
  367. package/lib/packages/components/touchchat/src/AiChat/Chat/types.js +22 -0
  368. package/lib/packages/components/touchchat/src/AiChat/Chat/types.js.map +1 -0
  369. package/lib/packages/components/touchchat/src/AiChat/Chat/useChat.js +695 -0
  370. package/lib/packages/components/touchchat/src/AiChat/Chat/useChat.js.map +1 -0
  371. package/lib/packages/components/touchchat/src/AiChat/Chat/useCopy.js +57 -0
  372. package/lib/packages/components/touchchat/src/AiChat/Chat/useCopy.js.map +1 -0
  373. package/lib/packages/components/touchchat/src/AiChat/Chat/useMessageRender.js +157 -0
  374. package/lib/packages/components/touchchat/src/AiChat/Chat/useMessageRender.js.map +1 -0
  375. package/lib/packages/components/touchchat/src/AiChat/Chat/useSSE.js +347 -0
  376. package/lib/packages/components/touchchat/src/AiChat/Chat/useSSE.js.map +1 -0
  377. package/lib/packages/components/touchchat/src/AiChat/Chat/useScroll.js +76 -0
  378. package/lib/packages/components/touchchat/src/AiChat/Chat/useScroll.js.map +1 -0
  379. package/lib/packages/components/touchchat/src/AiChat/ChatInput.vue.js +3 -2
  380. package/lib/packages/components/touchchat/src/AiChat/ChatInput.vue.js.map +1 -1
  381. package/lib/packages/components/touchchat/src/AiChat/ChatInput.vue2.js +471 -43
  382. package/lib/packages/components/touchchat/src/AiChat/ChatInput.vue2.js.map +1 -1
  383. package/lib/packages/components/touchchat/src/AiChat/HistoryList.vue.js +3 -2
  384. package/lib/packages/components/touchchat/src/AiChat/HistoryList.vue.js.map +1 -1
  385. package/lib/packages/components/touchchat/src/AiChat/HistoryList.vue2.js +179 -97
  386. package/lib/packages/components/touchchat/src/AiChat/HistoryList.vue2.js.map +1 -1
  387. package/lib/packages/components/touchchat/src/AiChat/HistorySidebar.vue.js +3 -2
  388. package/lib/packages/components/touchchat/src/AiChat/HistorySidebar.vue.js.map +1 -1
  389. package/lib/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.js +28 -11
  390. package/lib/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.js.map +1 -1
  391. package/lib/packages/components/touchchat/src/AiChat/MessageActions.vue.js +3 -2
  392. package/lib/packages/components/touchchat/src/AiChat/MessageActions.vue.js.map +1 -1
  393. package/lib/packages/components/touchchat/src/AiChat/MessageActions.vue2.js +174 -61
  394. package/lib/packages/components/touchchat/src/AiChat/MessageActions.vue2.js.map +1 -1
  395. package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue.js +3 -2
  396. package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue.js.map +1 -1
  397. package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue2.js +14 -8
  398. package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue2.js.map +1 -1
  399. package/lib/packages/components/touchchat/src/AiChat/TouchAgent.vue.js +11 -0
  400. package/lib/packages/components/touchchat/src/AiChat/TouchAgent.vue.js.map +1 -0
  401. package/lib/packages/components/touchchat/src/AiChat/TouchAgent.vue2.js +1038 -0
  402. package/lib/packages/components/touchchat/src/AiChat/TouchAgent.vue2.js.map +1 -0
  403. package/lib/packages/components/touchchat/src/AiChat/TouchChat.vue.js +3 -2
  404. package/lib/packages/components/touchchat/src/AiChat/TouchChat.vue.js.map +1 -1
  405. package/lib/packages/components/touchchat/src/AiChat/TouchChat.vue2.js +275 -1003
  406. package/lib/packages/components/touchchat/src/AiChat/TouchChat.vue2.js.map +1 -1
  407. package/lib/packages/components/touchchat/src/AiChat/TouchHistory.vue.js +3 -2
  408. package/lib/packages/components/touchchat/src/AiChat/TouchHistory.vue.js.map +1 -1
  409. package/lib/packages/components/touchchat/src/AiChat/TouchHistory.vue2.js +345 -121
  410. package/lib/packages/components/touchchat/src/AiChat/TouchHistory.vue2.js.map +1 -1
  411. package/lib/packages/components/touchchat/src/AiChat/UserMessage.vue.js +3 -2
  412. package/lib/packages/components/touchchat/src/AiChat/UserMessage.vue.js.map +1 -1
  413. package/lib/packages/components/touchchat/src/AiChat/UserMessage.vue2.js +142 -63
  414. package/lib/packages/components/touchchat/src/AiChat/UserMessage.vue2.js.map +1 -1
  415. package/lib/packages/components/touchchat/src/index.vue.js +3 -2
  416. package/lib/packages/components/touchchat/src/index.vue.js.map +1 -1
  417. package/lib/packages/components/touchchat/src/index.vue2.js +251 -142
  418. package/lib/packages/components/touchchat/src/index.vue2.js.map +1 -1
  419. package/lib/packages/components/touchchat/src/types/a2a.js +13 -0
  420. package/lib/packages/components/touchchat/src/types/a2a.js.map +1 -0
  421. package/lib/packages/components/touchchat/utils/a2aService.js +319 -0
  422. package/lib/packages/components/touchchat/utils/a2aService.js.map +1 -0
  423. package/lib/packages/components/touchchat/utils/fetchStream.js +8 -2
  424. package/lib/packages/components/touchchat/utils/fetchStream.js.map +1 -1
  425. package/lib/packages/components/touchchat/utils/markdown.js +31 -13
  426. package/lib/packages/components/touchchat/utils/markdown.js.map +1 -1
  427. package/lib/packages/utils/config.js.map +1 -1
  428. package/lib/packages/utils/types.js.map +1 -1
  429. package/package.json +83 -83
  430. package/theme/components/index.css +969 -43
  431. package/theme/font/iconfont.woff +0 -0
  432. package/theme/font/iconfont.woff2 +0 -0
  433. package/theme/index.css +969 -43
  434. package/theme/skin/default.css +969 -43
  435. package/types/global.d.ts +2 -2
  436. package/es/packages/components/touchchat/src/AiChat/Scene.vue.mjs +0 -6
  437. package/es/packages/components/touchchat/src/AiChat/Scene.vue.mjs.map +0 -1
  438. package/es/packages/components/touchchat/src/AiChat/Scene.vue2.mjs +0 -42
  439. package/es/packages/components/touchchat/src/AiChat/Scene.vue2.mjs.map +0 -1
  440. package/lib/packages/components/touchchat/src/AiChat/Scene.vue.js +0 -10
  441. package/lib/packages/components/touchchat/src/AiChat/Scene.vue.js.map +0 -1
  442. package/lib/packages/components/touchchat/src/AiChat/Scene.vue2.js +0 -46
  443. package/lib/packages/components/touchchat/src/AiChat/Scene.vue2.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"face.vue2.js","sources":["../../../../../../../packages/components/touchchat/component/AiRobot/face.vue"],"sourcesContent":["<template>\n\t<div>\n\t\t<letter data=\"* 这个功能需要人脸识别\" @complete=\"complete\"></letter>\n\t\t<button v-show=\"showBtn\" class=\"apply-btn\" @click=\"openFaceRecognition\">开始识别</button>\n\n\t\t<!-- 人脸识别弹窗 -->\n\t\t<div v-if=\"isRecognizing\" class=\"face-modal-overlay\">\n\t\t\t<div class=\"face-modal\">\n\t\t\t\t<div class=\"recognition-header\">人脸识别中</div>\n\t\t\t\t<div class=\"recognition-timer\">{{ timer }}</div>\n\t\t\t\t<div class=\"recognition-footer\">请将面部对准摄像头</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, inject, onUnmounted } from 'vue'\nimport Letter from './letter.vue'\nconst emits = defineEmits<{\n\t(e: 'complete'): void\n}>()\nconst showBtn = ref(false)\nconst isRecognizing = ref(false)\nconst timer = ref('00')\nlet timerInterval: number | null = null\n\nconst complete = () => {\n\tshowBtn.value = true\n\temits('complete')\n}\n\ninterface ParentContext {\n\tmethods: {\n\t\tsendMessage: (message: { name: string }) => void\n\t}\n}\n\nconst parentContext = inject<ParentContext>('parentContext')\n\n// 打开人脸识别弹窗\nconst openFaceRecognition = () => {\n\tisRecognizing.value = true\n\tstartTimer()\n\t// 这里可以添加实际的人脸识别API调用\n}\n\n// 开始计时器\nconst startTimer = () => {\n\tlet seconds = 0\n\ttimer.value = '00'\n\tif (timerInterval) clearInterval(timerInterval)\n\ttimerInterval = window.setInterval(() => {\n\t\tseconds++\n\t\ttimer.value = seconds.toString().padStart(2, '0')\n\t\t// 模拟识别完成(5秒后自动关闭)\n\t\tif (seconds >= 5) {\n\t\t\tcloseRecognition()\n\t\t\tparentContext?.methods.sendMessage({\n\t\t\t\tname: '[人脸识别成功]'\n\t\t\t})\n\t\t}\n\t}, 1000)\n}\n\n// 关闭人脸识别弹窗\nconst closeRecognition = () => {\n\tisRecognizing.value = false\n\tif (timerInterval) {\n\t\tclearInterval(timerInterval)\n\t\ttimerInterval = null\n\t}\n}\n\n// 组件卸载时清理计时器\nonUnmounted(() => {\n\tif (timerInterval) {\n\t\tclearInterval(timerInterval)\n\t}\n})\n</script>\n\n<!-- <style lang=\"less\" scoped>\n@import '../style/Face.less';\n</style> -->\n"],"names":["ref","inject","onUnmounted","_createElementBlock","_createVNode","Letter","_createElementVNode"],"mappings":"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"}
1
+ {"version":3,"file":"face.vue2.js","sources":["../../../../../../../packages/components/touchchat/component/AiRobot/face.vue"],"sourcesContent":["<template>\n\t<div>\n\t\t<letter data=\"* 这个功能需要人脸识别\" @complete=\"complete\"></letter>\n\t\t<button v-show=\"showBtn\" class=\"apply-btn\" @click=\"openFaceRecognition\">开始识别</button>\n\n\t\t<!-- 人脸识别弹窗 -->\n\t\t<div v-if=\"isRecognizing\" class=\"face-modal-overlay\">\n\t\t\t<div class=\"face-modal\">\n\t\t\t\t<div class=\"recognition-header\">人脸识别中</div>\n\t\t\t\t<div class=\"recognition-timer\">{{ timer }}</div>\n\t\t\t\t<div class=\"recognition-footer\">请将面部对准摄像头</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, inject, onUnmounted } from 'vue'\nimport Letter from './letter.vue'\nconst emits = defineEmits<{\n\t(e: 'complete'): void\n}>()\nconst showBtn = ref(false)\nconst isRecognizing = ref(false)\nconst timer = ref('00')\nlet timerInterval: number | null = null\n\nconst complete = () => {\n\tshowBtn.value = true\n\temits('complete')\n}\n\ninterface Touchchat {\n\tsend: (content?: string, fileList?: any[], auto?: boolean, type?: string) => void\n}\n\nconst touchchat = inject<Touchchat>('touchchat', { send: () => {} })\n\n// 打开人脸识别弹窗\nconst openFaceRecognition = () => {\n\tisRecognizing.value = true\n\tstartTimer()\n\t// 这里可以添加实际的人脸识别API调用\n}\n\n// 开始计时器\nconst startTimer = () => {\n\tlet seconds = 0\n\ttimer.value = '00'\n\tif (timerInterval) clearInterval(timerInterval)\n\ttimerInterval = window.setInterval(() => {\n\t\tseconds++\n\t\ttimer.value = seconds.toString().padStart(2, '0')\n\t\t// 模拟识别完成(5秒后自动关闭)\n\t\tif (seconds >= 5) {\n\t\t\tcloseRecognition()\n\t\t\tif (touchchat) {\n\t\t\t\ttouchchat.send('[人脸识别成功]')\n\t\t\t}\n\t\t}\n\t}, 1000)\n}\n\n// 关闭人脸识别弹窗\nconst closeRecognition = () => {\n\tisRecognizing.value = false\n\tif (timerInterval) {\n\t\tclearInterval(timerInterval)\n\t\ttimerInterval = null\n\t}\n}\n\n// 组件卸载时清理计时器\nonUnmounted(() => {\n\tif (timerInterval) {\n\t\tclearInterval(timerInterval)\n\t}\n})\n</script>\n\n<!-- <style lang=\"less\" scoped>\n@import '../style/Face.less';\n</style> -->\n"],"names":["ref","inject","onUnmounted","_createElementBlock","_createVNode","Letter","_createElementVNode","_createCommentVNode"],"mappings":"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"}
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var letter_vue_vue_type_script_setup_true_lang = require('./letter.vue2.js');
6
+ var _pluginVue_exportHelper = require('../../../../../_virtual/_plugin-vue_export-helper.js');
6
7
 
8
+ var Letter = /* @__PURE__ */ _pluginVue_exportHelper.default(letter_vue_vue_type_script_setup_true_lang.default, [["__scopeId", "data-v-6fd1b883"], ["__file", "letter.vue"]]);
7
9
 
8
-
9
- exports.default = letter_vue_vue_type_script_setup_true_lang.default;
10
+ exports.default = Letter;
10
11
  //# sourceMappingURL=letter.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"letter.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"letter.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -4,58 +4,199 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
6
 
7
- const __default__ = vue.defineComponent({ name: "ToTouchLetter" });
7
+ const __default__ = vue.defineComponent({ name: "Touchletter" });
8
8
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
9
9
  ...__default__,
10
10
  props: {
11
- data: {}
11
+ data: {},
12
+ speed: {},
13
+ contentType: {},
14
+ sanitizeHtml: { type: Boolean },
15
+ loadingText: {}
12
16
  },
13
- emits: ["complete"],
14
- setup(__props, { emit: __emit }) {
17
+ emits: ["complete", "start"],
18
+ setup(__props, { expose: __expose, emit: __emit }) {
19
+ let DOMPurifyModule = null;
20
+ const loadDOMPurify = async () => {
21
+ if (!DOMPurifyModule) {
22
+ if (typeof window !== "undefined") {
23
+ DOMPurifyModule = await Promise.resolve().then(function () { return require('../../../../../node_modules/.pnpm/dompurify@3.3.0/node_modules/dompurify/dist/purify.es.js'); });
24
+ }
25
+ }
26
+ return (DOMPurifyModule == null ? void 0 : DOMPurifyModule.default) || null;
27
+ };
15
28
  const props = __props;
16
- const emit = __emit;
17
- const displayedText = vue.ref("");
18
- const showCursor = vue.ref(false);
19
- const isSwitchingHistory = vue.inject("isSwitchingHistory", vue.ref(false));
20
- let typingInterval = null;
21
- const startStreaming = () => {
22
- if (typingInterval)
23
- return;
24
- if (isSwitchingHistory.value) {
25
- displayedText.value = props.data;
26
- showCursor.value = false;
27
- emit("complete");
29
+ const emits = __emit;
30
+ const injectSpeed = vue.inject("speed", 10);
31
+ const speed = vue.computed(() => Math.max(1, props.speed || injectSpeed || 10));
32
+ const sanitizeHtml = vue.computed(() => props.sanitizeHtml !== false);
33
+ const currentIndex = vue.ref(0);
34
+ const validContent = vue.ref("");
35
+ const isTyping = vue.ref(false);
36
+ const timer = vue.ref(null);
37
+ const tagStack = vue.ref([]);
38
+ const detectContentType = (content) => {
39
+ if (/<\/?[a-z][\s\S]*>/i.test(content)) {
40
+ return "html";
41
+ }
42
+ if (/^#{1,6}\s+/.test(content) || /\*\*.*\*\*/.test(content) || /```/.test(content)) {
43
+ return "markdown";
44
+ }
45
+ return "text";
46
+ };
47
+ const currentType = vue.computed(() => {
48
+ if (props.contentType && props.contentType !== "auto") {
49
+ return props.contentType;
50
+ }
51
+ return detectContentType(props.data);
52
+ });
53
+ const displayContent = vue.computed(() => {
54
+ let content = validContent.value;
55
+ switch (currentType.value) {
56
+ case "html":
57
+ if (sanitizeHtml.value && typeof window !== "undefined") {
58
+ return DOMPurifyModule ? DOMPurifyModule.sanitize(content) : content;
59
+ }
60
+ return content;
61
+ case "text":
62
+ return content.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;").replace(/\n/g, "<br>").replace(/ {2}/g, "&nbsp;&nbsp;");
63
+ default:
64
+ return content;
65
+ }
66
+ });
67
+ const getInterval = (isTag) => {
68
+ const baseInterval = 1e3 / speed.value;
69
+ return baseInterval * (isTag ? 1.2 : 0.8 + Math.random() * 0.4);
70
+ };
71
+ const isSelfClosingTag = (tag) => {
72
+ const selfClosingTags = ["area", "base", "br", "col", "embed", "hr", "img", "input", "link", "meta", "param", "source", "track", "wbr"];
73
+ const tagNameMatch = tag.match(/<\/?([a-z0-9]+)/i);
74
+ if (tagNameMatch && tagNameMatch[1]) {
75
+ const tagName = tagNameMatch[1].toLowerCase();
76
+ return selfClosingTags.includes(tagName) || tag.endsWith("/>");
77
+ }
78
+ return false;
79
+ };
80
+ const processTag = (tag) => {
81
+ var _a, _b, _c, _d;
82
+ if (tag.startsWith("</")) {
83
+ const tagName = (_b = (_a = tag.match(/<\/([a-z0-9]+)/i)) == null ? void 0 : _a[1]) == null ? void 0 : _b.toLowerCase();
84
+ if (tagName && tagStack.value.at(-1) === tagName) {
85
+ tagStack.value.pop();
86
+ }
87
+ } else if (tag.startsWith("<") && !isSelfClosingTag(tag)) {
88
+ const tagName = (_d = (_c = tag.match(/<([a-z0-9]+)/i)) == null ? void 0 : _c[1]) == null ? void 0 : _d.toLowerCase();
89
+ if (tagName) {
90
+ tagStack.value.push(tagName);
91
+ }
92
+ }
93
+ };
94
+ const typeNext = () => {
95
+ if (currentIndex.value >= props.data.length) {
96
+ while (tagStack.value.length > 0) {
97
+ const tag = tagStack.value.pop();
98
+ validContent.value += `</${tag}>`;
99
+ }
100
+ completeTyping();
28
101
  return;
29
102
  }
30
- showCursor.value = true;
31
- displayedText.value = "";
32
- let currentIndex = 0;
33
- const fullText = props.data;
34
- typingInterval = window.setInterval(() => {
35
- if (currentIndex < fullText.length) {
36
- displayedText.value += fullText[currentIndex];
37
- currentIndex++;
103
+ const currentChar = props.data[currentIndex.value];
104
+ let nextIndex = currentIndex.value;
105
+ let newContent = "";
106
+ let isTag = false;
107
+ if (currentChar === "<") {
108
+ isTag = true;
109
+ const endIndex = props.data.indexOf(">", currentIndex.value);
110
+ if (endIndex === -1) {
111
+ nextIndex = currentIndex.value + 1;
112
+ newContent = currentChar;
38
113
  } else {
39
- window.clearInterval(typingInterval);
40
- typingInterval = null;
41
- showCursor.value = false;
42
- emit("complete");
114
+ nextIndex = endIndex + 1;
115
+ newContent = props.data.substring(currentIndex.value, nextIndex);
116
+ processTag(newContent);
43
117
  }
44
- }, 50);
118
+ } else {
119
+ nextIndex = currentIndex.value + 1;
120
+ newContent = currentChar;
121
+ }
122
+ currentIndex.value = nextIndex;
123
+ validContent.value += newContent;
124
+ timer.value = window.setTimeout(typeNext, getInterval(isTag));
125
+ };
126
+ const startTyping = () => {
127
+ if (isTyping.value || currentIndex.value >= props.data.length)
128
+ return;
129
+ isTyping.value = true;
130
+ emits("start");
131
+ typeNext();
132
+ };
133
+ const stopTyping = () => {
134
+ if (timer.value) {
135
+ clearTimeout(timer.value);
136
+ timer.value = null;
137
+ isTyping.value = false;
138
+ }
139
+ };
140
+ const resetTyping = () => {
141
+ stopTyping();
142
+ currentIndex.value = 0;
143
+ validContent.value = "";
144
+ tagStack.value = [];
45
145
  };
46
- vue.onMounted(() => {
47
- startStreaming();
146
+ const completeTyping = () => {
147
+ stopTyping();
148
+ emits("complete");
149
+ };
150
+ vue.watch(
151
+ () => props.data,
152
+ () => {
153
+ resetTyping();
154
+ startTyping();
155
+ },
156
+ { immediate: true }
157
+ );
158
+ vue.watch(
159
+ () => props.contentType,
160
+ () => {
161
+ validContent.value = props.data.substring(0, currentIndex.value);
162
+ }
163
+ );
164
+ vue.onMounted(async () => {
165
+ if (currentIndex.value === 0) {
166
+ startTyping();
167
+ }
168
+ await loadDOMPurify();
48
169
  });
170
+ vue.onUnmounted(() => stopTyping());
171
+ __expose({ startTyping, stopTyping, resetTyping, currentIndex, isTyping });
49
172
  return (_ctx, _cache) => {
50
- return vue.openBlock(), vue.createElementBlock("div", { class: "letter-container" }, [
51
- vue.createElementVNode("div", { class: "data-content" }, [
52
- vue.createTextVNode(vue.toDisplayString(displayedText.value) + " ", 1),
53
- showCursor.value ? (vue.openBlock(), vue.createElementBlock("span", {
54
- key: 0,
55
- class: "cursor"
56
- }, "|")) : vue.createCommentVNode("", true)
57
- ])
58
- ]);
173
+ return vue.openBlock(), vue.createElementBlock(
174
+ "div",
175
+ {
176
+ class: vue.normalizeClass(["typewriter-container", isTyping.value ? "loading-container" : ""])
177
+ },
178
+ [
179
+ vue.createElementVNode("div", {
180
+ class: vue.normalizeClass(["typewriter-content", {
181
+ "markdown-content": currentType.value === "markdown",
182
+ "html-content": currentType.value === "html"
183
+ }]),
184
+ innerHTML: displayContent.value
185
+ }, null, 10, ["innerHTML"]),
186
+ vue.createCommentVNode(" \u6761\u4EF6\u663E\u793Aloading\uFF0C\u4EC5\u5728HTML\u6A21\u5F0F\u4E14\u6B63\u5728\u6253\u5B57\u65F6\u663E\u793A "),
187
+ vue.createCommentVNode(` <div v-if="isTyping" class="typewriter-loading">\r
188
+ <span class="loading-dot" :style="{ animationDelay: '0ms' }"></span>\r
189
+ <span class="loading-dot" :style="{ animationDelay: '200ms' }"></span>\r
190
+ <span class="loading-dot" :style="{ animationDelay: '400ms' }"></span>\r
191
+ <span class="loading-text">{{ loadingText ?? '\u6B63\u5728\u6E32\u67D3\u5185\u5BB9' }}</span>\r
192
+ <span class="loading-dot" :style="{ animationDelay: '0ms' }"></span>\r
193
+ <span class="loading-dot" :style="{ animationDelay: '200ms' }"></span>\r
194
+ <span class="loading-dot" :style="{ animationDelay: '400ms' }"></span>\r
195
+ </div> `)
196
+ ],
197
+ 2
198
+ /* CLASS */
199
+ );
59
200
  };
60
201
  }
61
202
  });
@@ -1 +1 @@
1
- {"version":3,"file":"letter.vue2.js","sources":["../../../../../../../packages/components/touchchat/component/AiRobot/letter.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({ name: 'ToTouchLetter' });\n</script>\n<template>\n\t<div class=\"letter-container\">\n\t\t<div class=\"data-content\">\n\t\t\t{{ displayedText }}\n\t\t\t<span v-if=\"showCursor\" class=\"cursor\">|</span>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, onMounted, defineProps, defineEmits, inject, Ref } from 'vue'\n\n\n\n// 定义props和emits\nconst props = defineProps<{\n\tdata: string\n}>()\n\nconst emit = defineEmits<{\n\t(e: 'complete'): void\n}>()\n\n// 状态管理\nconst displayedText = ref('')\nconst showCursor = ref(false)\n// 正确注入Ref<boolean>类型\nconst isSwitchingHistory = inject<Ref<boolean>>('isSwitchingHistory', ref(false))\nlet typingInterval: number | null = null\n\n// 文字流实现\nconst startStreaming = () => {\n\tif (typingInterval) return\n\n\t// 访问.value以获取布尔值\n\tif (isSwitchingHistory.value) {\n\t\tdisplayedText.value = props.data\n\t\tshowCursor.value = false\n\t\temit('complete')\n\t\treturn\n\t}\n\n\t// 新增消息的文字流逻辑\n\tshowCursor.value = true\n\tdisplayedText.value = ''\n\tlet currentIndex = 0\n\tconst fullText = props.data\n\n\ttypingInterval = window.setInterval(() => {\n\t\tif (currentIndex < fullText.length) {\n\t\t\tdisplayedText.value += fullText[currentIndex]\n\t\t\tcurrentIndex++\n\t\t} else {\n\t\t\twindow.clearInterval(typingInterval!)\n\t\t\ttypingInterval = null\n\t\t\tshowCursor.value = false\n\t\t\temit('complete')\n\t\t}\n\t}, 50)\n}\n\n// 组件挂载时开始显示\nonMounted(() => {\n\tstartStreaming()\n})\n</script>\n\n<!-- <style lang=\"less\" scoped>\n@import '../style/Letter.less';\n</style> -->\n"],"names":["DO_defineComponent","ref","inject","onMounted","_createElementBlock","_createElementVNode","_createTextVNode","_toDisplayString"],"mappings":";;;;;;AAEA,MAA6B,WAAA,GAAAA,mBAAA,CAAmB,EAAE,IAAA,EAAM,iBAAiB,CAAA,CAAA;;;;;;;;AAiBzE,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAId,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAKb,IAAM,MAAA,aAAA,GAAgBC,QAAI,EAAE,CAAA,CAAA;AAC5B,IAAM,MAAA,UAAA,GAAaA,QAAI,KAAK,CAAA,CAAA;AAE5B,IAAA,MAAM,kBAAqB,GAAAC,UAAA,CAAqB,oBAAsB,EAAAD,OAAA,CAAI,KAAK,CAAC,CAAA,CAAA;AAChF,IAAA,IAAI,cAAgC,GAAA,IAAA,CAAA;AAGpC,IAAA,MAAM,iBAAiB,MAAM;AAC5B,MAAI,IAAA,cAAA;AAAgB,QAAA,OAAA;AAGpB,MAAA,IAAI,mBAAmB,KAAO,EAAA;AAC7B,QAAA,aAAA,CAAc,QAAQ,KAAM,CAAA,IAAA,CAAA;AAC5B,QAAA,UAAA,CAAW,KAAQ,GAAA,KAAA,CAAA;AACnB,QAAA,IAAA,CAAK,UAAU,CAAA,CAAA;AACf,QAAA,OAAA;AAAA,OACD;AAGA,MAAA,UAAA,CAAW,KAAQ,GAAA,IAAA,CAAA;AACnB,MAAA,aAAA,CAAc,KAAQ,GAAA,EAAA,CAAA;AACtB,MAAA,IAAI,YAAe,GAAA,CAAA,CAAA;AACnB,MAAA,MAAM,WAAW,KAAM,CAAA,IAAA,CAAA;AAEvB,MAAiB,cAAA,GAAA,MAAA,CAAO,YAAY,MAAM;AACzC,QAAI,IAAA,YAAA,GAAe,SAAS,MAAQ,EAAA;AACnC,UAAc,aAAA,CAAA,KAAA,IAAS,SAAS,YAAY,CAAA,CAAA;AAC5C,UAAA,YAAA,EAAA,CAAA;AAAA,SACM,MAAA;AACN,UAAA,MAAA,CAAO,cAAc,cAAe,CAAA,CAAA;AACpC,UAAiB,cAAA,GAAA,IAAA,CAAA;AACjB,UAAA,UAAA,CAAW,KAAQ,GAAA,KAAA,CAAA;AACnB,UAAA,IAAA,CAAK,UAAU,CAAA,CAAA;AAAA,SAChB;AAAA,SACE,EAAE,CAAA,CAAA;AAAA,KACN,CAAA;AAGA,IAAAE,aAAA,CAAU,MAAM;AACf,MAAe,cAAA,EAAA,CAAA;AAAA,KACf,CAAA,CAAA;;4BA/DA,EAAAC,sBAAA,CAKM,OAAA,EALD,KAAA,EAAM,oBAAkB,EAAA;AAAA,QAC5BC,sBAGM,CAAA,KAAA,EAAA,EAHD,KAAA,EAAM,gBAAc,EAAA;AAAA,UACrBC,oBAAAC,mBAAA,CAAA,aAAA,CAAA,KAAa,CAAA,GAAG,KACnB,CAAA,CAAA;AAAA,UAAY,UAAU,CAAA,KAAA,qBAAtBH,uBAA+C,MAAA,EAAA;AAAA;YAAvB,KAAM,EAAA,QAAA;AAAA,WAAS,EAAA,GAAC;;;;;;;;;"}
1
+ {"version":3,"file":"letter.vue2.js","sources":["../../../../../../../packages/components/touchchat/component/AiRobot/letter.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({ name: 'Touchletter' });\n</script>\n<template>\r\n\t<div class=\"typewriter-container\" :class=\"isTyping ? 'loading-container' : ''\">\r\n\t\t<div\r\n\t\t\tclass=\"typewriter-content\"\r\n\t\t\t:class=\"{\r\n\t\t\t\t'markdown-content': currentType === 'markdown',\r\n\t\t\t\t'html-content': currentType === 'html'\r\n\t\t\t}\"\r\n\t\t\tv-html=\"displayContent\"\r\n\t\t/>\r\n\t\t<!-- 条件显示loading,仅在HTML模式且正在打字时显示 -->\r\n\t\t<!-- <div v-if=\"isTyping\" class=\"typewriter-loading\">\r\n\t\t\t<span class=\"loading-dot\" :style=\"{ animationDelay: '0ms' }\"></span>\r\n\t\t\t<span class=\"loading-dot\" :style=\"{ animationDelay: '200ms' }\"></span>\r\n\t\t\t<span class=\"loading-dot\" :style=\"{ animationDelay: '400ms' }\"></span>\r\n\t\t\t<span class=\"loading-text\">{{ loadingText ?? '正在渲染内容' }}</span>\r\n\t\t\t<span class=\"loading-dot\" :style=\"{ animationDelay: '0ms' }\"></span>\r\n\t\t\t<span class=\"loading-dot\" :style=\"{ animationDelay: '200ms' }\"></span>\r\n\t\t\t<span class=\"loading-dot\" :style=\"{ animationDelay: '400ms' }\"></span>\r\n\t\t</div> -->\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref, computed, onMounted, watch, Ref, onUnmounted, inject } from 'vue'\r\n// import { marked } from 'marked';\r\n\r\n// DOMPurify 模块缓存\r\nlet DOMPurifyModule: any = null\r\n\r\n// 动态加载 DOMPurify\r\nconst loadDOMPurify = async () => {\r\n\tif (!DOMPurifyModule) {\r\n\t\tif (typeof window !== 'undefined') {\r\n\t\t\tDOMPurifyModule = await import('dompurify')\r\n\t\t}\r\n\t}\r\n\treturn DOMPurifyModule?.default || null\r\n}\r\n\r\n\r\n\r\ntype ContentType = 'text' | 'markdown' | 'html'\r\n\r\nconst props = defineProps<{\r\n\tdata: any\r\n\tspeed?: number\r\n\tcontentType?: ContentType | 'auto'\r\n\t// onComplete?: () => void\r\n\tsanitizeHtml?: boolean\r\n\tloadingText?: string\r\n}>()\r\n\r\nconst emits = defineEmits<{\r\n\t(e: 'complete'): void\r\n\t(e: 'start'): void\r\n}>()\r\n\r\nconst injectSpeed = inject<number>('speed', 10)\r\n\r\n// 默认值处理\r\nconst speed = computed(() => Math.max(1, props.speed || injectSpeed || 10))\r\nconst sanitizeHtml = computed(() => props.sanitizeHtml !== false)\r\n// const loadingText = computed(() => props.loadingText || '正在渲染内容...')\r\n\r\n// 内部状态\r\nconst currentIndex = ref(0)\r\nconst validContent = ref('')\r\nconst isTyping = ref(false)\r\nconst timer: Ref<number | null> = ref(null)\r\nconst tagStack = ref<string[]>([])\r\n\r\n// 内容类型检测与处理\r\nconst detectContentType = (content: string): ContentType => {\r\n\tif (/<\\/?[a-z][\\s\\S]*>/i.test(content)) {\r\n\t\treturn 'html'\r\n\t}\r\n\tif (/^#{1,6}\\s+/.test(content) || /\\*\\*.*\\*\\*/.test(content) || /```/.test(content)) {\r\n\t\treturn 'markdown'\r\n\t}\r\n\treturn 'text'\r\n}\r\n\r\nconst currentType = computed<ContentType>(() => {\r\n\tif (props.contentType && props.contentType !== 'auto') {\r\n\t\treturn props.contentType\r\n\t}\r\n\treturn detectContentType(props.data)\r\n})\r\n\r\n// 显示内容处理\r\nconst displayContent = computed(() => {\r\n\tlet content = validContent.value\r\n\tswitch (currentType.value) {\r\n\t\tcase 'html':\r\n\t\t\tif (sanitizeHtml.value && typeof window !== 'undefined') {\r\n\t\t\t\t// 动态加载并使用 DOMPurify\r\n\t\t\t\treturn DOMPurifyModule ? DOMPurifyModule.sanitize(content) : content\r\n\t\t\t}\r\n\t\t\treturn content\r\n\t\t// case 'markdown':\r\n\t\t// \treturn marked.parse(content);\r\n\t\tcase 'text':\r\n\t\t\treturn content.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\\n/g, '<br>').replace(/ {2}/g, '&nbsp;&nbsp;')\r\n\t\tdefault:\r\n\t\t\treturn content\r\n\t}\r\n})\r\n\r\n// 打字间隔计算\r\nconst getInterval = (isTag: boolean) => {\r\n\tconst baseInterval = 1000 / speed.value\r\n\treturn baseInterval * (isTag ? 1.2 : 0.8 + Math.random() * 0.4)\r\n}\r\n\r\n// 标签处理工具函数\r\nconst isSelfClosingTag = (tag: string) => {\r\n\tconst selfClosingTags = ['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'link', 'meta', 'param', 'source', 'track', 'wbr']\r\n\tconst tagNameMatch = tag.match(/<\\/?([a-z0-9]+)/i)\r\n\tif (tagNameMatch && tagNameMatch[1]) {\r\n\t\tconst tagName = tagNameMatch[1].toLowerCase()\r\n\t\treturn selfClosingTags.includes(tagName) || tag.endsWith('/>')\r\n\t}\r\n\treturn false\r\n}\r\n\r\nconst processTag = (tag: string) => {\r\n\tif (tag.startsWith('</')) {\r\n\t\tconst tagName = tag.match(/<\\/([a-z0-9]+)/i)?.[1]?.toLowerCase()\r\n\t\tif (tagName && tagStack.value.at(-1) === tagName) {\r\n\t\t\ttagStack.value.pop()\r\n\t\t}\r\n\t} else if (tag.startsWith('<') && !isSelfClosingTag(tag)) {\r\n\t\tconst tagName = tag.match(/<([a-z0-9]+)/i)?.[1]?.toLowerCase()\r\n\t\tif (tagName) {\r\n\t\t\ttagStack.value.push(tagName)\r\n\t\t}\r\n\t}\r\n}\r\n\r\n// 核心打字逻辑\r\nconst typeNext = () => {\r\n\tif (currentIndex.value >= props.data.length) {\r\n\t\twhile (tagStack.value.length > 0) {\r\n\t\t\tconst tag = tagStack.value.pop()\r\n\t\t\tvalidContent.value += `</${tag}>`\r\n\t\t}\r\n\t\tcompleteTyping()\r\n\t\treturn\r\n\t}\r\n\r\n\tconst currentChar = props.data[currentIndex.value]\r\n\tlet nextIndex = currentIndex.value\r\n\tlet newContent = ''\r\n\tlet isTag = false\r\n\r\n\tif (currentChar === '<') {\r\n\t\tisTag = true\r\n\t\tconst endIndex = props.data.indexOf('>', currentIndex.value)\r\n\t\tif (endIndex === -1) {\r\n\t\t\tnextIndex = currentIndex.value + 1\r\n\t\t\tnewContent = currentChar\r\n\t\t} else {\r\n\t\t\tnextIndex = endIndex + 1\r\n\t\t\tnewContent = props.data.substring(currentIndex.value, nextIndex)\r\n\t\t\tprocessTag(newContent)\r\n\t\t}\r\n\t} else {\r\n\t\tnextIndex = currentIndex.value + 1\r\n\t\tnewContent = currentChar\r\n\t}\r\n\r\n\tcurrentIndex.value = nextIndex\r\n\tvalidContent.value += newContent\r\n\ttimer.value = window.setTimeout(typeNext, getInterval(isTag))\r\n}\r\n\r\n// 控制方法\r\nconst startTyping = () => {\r\n\tif (isTyping.value || currentIndex.value >= props.data.length) return\r\n\tisTyping.value = true\r\n\temits('start')\r\n\ttypeNext()\r\n}\r\n\r\nconst stopTyping = () => {\r\n\tif (timer.value) {\r\n\t\tclearTimeout(timer.value)\r\n\t\ttimer.value = null\r\n\t\tisTyping.value = false\r\n\t}\r\n}\r\n\r\nconst resetTyping = () => {\r\n\tstopTyping()\r\n\tcurrentIndex.value = 0\r\n\tvalidContent.value = ''\r\n\ttagStack.value = []\r\n}\r\n\r\nconst completeTyping = () => {\r\n\tstopTyping()\r\n\t// props.onComplete?.()\r\n\t// complete\r\n\temits('complete')\r\n}\r\n\r\n// 监听内容变化\r\nwatch(\r\n\t() => props.data,\r\n\t() => {\r\n\t\tresetTyping()\r\n\t\tstartTyping()\r\n\t},\r\n\t{ immediate: true }\r\n)\r\n\r\nwatch(\r\n\t() => props.contentType,\r\n\t() => {\r\n\t\tvalidContent.value = props.data.substring(0, currentIndex.value)\r\n\t}\r\n)\r\n\r\nonMounted(async () => {\r\n\tif (currentIndex.value === 0) {\r\n\t\tstartTyping()\r\n\t}\r\n\tawait loadDOMPurify()\r\n})\r\n\r\nonUnmounted(() => stopTyping())\r\n\r\ndefineExpose({ startTyping, stopTyping, resetTyping, currentIndex, isTyping })\r\n</script>\r\n\r\n<style scoped>\r\n.typewriter-container {\r\n\tposition: relative;\r\n}\r\n.loading-container {\r\n\tmin-height: 40px;\r\n}\r\n\r\n/* .typewriter-content {\r\n\twhite-space: pre-wrap;\r\n\tword-break: break-word;\r\n\tline-height: 1.6;\r\n\tfont-family: 'Courier New', Courier, monospace;\r\n} */\r\n\r\n/* loading样式 */\r\n.typewriter-loading {\r\n\tmargin-top: 12px;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tgap: 8px;\r\n\tcolor: #666;\r\n\tfont-size: 14px;\r\n\tline-height: 1;\r\n\tpadding: 8px 0;\r\n}\r\n\r\n.loading-dot {\r\n\tdisplay: inline-block;\r\n\twidth: 8px;\r\n\theight: 8px;\r\n\tborder-radius: 50%;\r\n\tbackground-color: #666;\r\n\tanimation: bounce 1.4s infinite ease-in-out both;\r\n}\r\n\r\n.loading-text {\r\n\tuser-select: none;\r\n}\r\n\r\n@keyframes bounce {\r\n\t0%,\r\n\t80%,\r\n\t100% {\r\n\t\ttransform: scale(0);\r\n\t}\r\n\r\n\t40% {\r\n\t\ttransform: scale(1);\r\n\t}\r\n}\r\n\r\n/* 内容样式 */\r\n.markdown-content {\r\n\tcolor: #333;\r\n}\r\n\r\n.markdown-content h1,\r\n.markdown-content h2 {\r\n\tmargin: 1em 0 0.5em;\r\n}\r\n\r\n.markdown-content p {\r\n\tmargin: 0.5em 0;\r\n}\r\n\r\n.markdown-content code {\r\n\tbackground: #f0f0f0;\r\n\tpadding: 0.2em 0.4em;\r\n\tborder-radius: 4px;\r\n}\r\n\r\n/* .html-content {\r\n\t\r\n} */\r\n</style>\r\n"],"names":["DO_defineComponent","inject","computed","ref","watch","onMounted","onUnmounted","_createElementBlock","_normalizeClass","_createElementVNode","_createCommentVNode"],"mappings":";;;;;;AAEA,MAAA,WAA6B,GAAAA,mBAAA,CAAmB,EAAE,IAAA,EAAM,eAAe,CAAA,CAAA;;;;;;;;;;;;AA8BvE,IAAA,IAAI,eAAuB,GAAA,IAAA,CAAA;AAG3B,IAAA,MAAM,gBAAgB,YAAY;AACjC,MAAA,IAAI,CAAC,eAAiB,EAAA;AACrB,QAAI,IAAA,OAAO,WAAW,WAAa,EAAA;AAClC,UAAkB,eAAA,GAAA,MAAM,oDAAO,4FAAW,KAAA,CAAA;AAAA,SAC3C;AAAA,OACD;AACA,MAAA,OAAA,CAAO,mDAAiB,OAAW,KAAA,IAAA,CAAA;AAAA,KACpC,CAAA;AAMA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AASd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAKd,IAAM,MAAA,WAAA,GAAcC,UAAe,CAAA,OAAA,EAAS,EAAE,CAAA,CAAA;AAG9C,IAAM,MAAA,KAAA,GAAQC,YAAS,CAAA,MAAM,IAAK,CAAA,GAAA,CAAI,GAAG,KAAM,CAAA,KAAA,IAAS,WAAe,IAAA,EAAE,CAAC,CAAA,CAAA;AAC1E,IAAA,MAAM,YAAe,GAAAA,YAAA,CAAS,MAAM,KAAA,CAAM,iBAAiB,KAAK,CAAA,CAAA;AAIhE,IAAM,MAAA,YAAA,GAAeC,QAAI,CAAC,CAAA,CAAA;AAC1B,IAAM,MAAA,YAAA,GAAeA,QAAI,EAAE,CAAA,CAAA;AAC3B,IAAM,MAAA,QAAA,GAAWA,QAAI,KAAK,CAAA,CAAA;AAC1B,IAAM,MAAA,KAAA,GAA4BA,QAAI,IAAI,CAAA,CAAA;AAC1C,IAAM,MAAA,QAAA,GAAWA,OAAc,CAAA,EAAE,CAAA,CAAA;AAGjC,IAAM,MAAA,iBAAA,GAAoB,CAAC,OAAiC,KAAA;AAC3D,MAAI,IAAA,oBAAA,CAAqB,IAAK,CAAA,OAAO,CAAG,EAAA;AACvC,QAAO,OAAA,MAAA,CAAA;AAAA,OACR;AACA,MAAI,IAAA,YAAA,CAAa,IAAK,CAAA,OAAO,CAAK,IAAA,YAAA,CAAa,IAAK,CAAA,OAAO,CAAK,IAAA,KAAA,CAAM,IAAK,CAAA,OAAO,CAAG,EAAA;AACpF,QAAO,OAAA,UAAA,CAAA;AAAA,OACR;AACA,MAAO,OAAA,MAAA,CAAA;AAAA,KACR,CAAA;AAEA,IAAM,MAAA,WAAA,GAAcD,aAAsB,MAAM;AAC/C,MAAA,IAAI,KAAM,CAAA,WAAA,IAAe,KAAM,CAAA,WAAA,KAAgB,MAAQ,EAAA;AACtD,QAAA,OAAO,KAAM,CAAA,WAAA,CAAA;AAAA,OACd;AACA,MAAO,OAAA,iBAAA,CAAkB,MAAM,IAAI,CAAA,CAAA;AAAA,KACnC,CAAA,CAAA;AAGD,IAAM,MAAA,cAAA,GAAiBA,aAAS,MAAM;AACrC,MAAA,IAAI,UAAU,YAAa,CAAA,KAAA,CAAA;AAC3B,MAAA,QAAQ,YAAY,KAAO;AAAA,QAC1B,KAAK,MAAA;AACJ,UAAA,IAAI,YAAa,CAAA,KAAA,IAAS,OAAO,MAAA,KAAW,WAAa,EAAA;AAExD,YAAA,OAAO,eAAkB,GAAA,eAAA,CAAgB,QAAS,CAAA,OAAO,CAAI,GAAA,OAAA,CAAA;AAAA,WAC9D;AACA,UAAO,OAAA,OAAA,CAAA;AAAA,QAGR,KAAK,MAAA;AACJ,UAAA,OAAO,QAAQ,OAAQ,CAAA,IAAA,EAAM,OAAO,CAAE,CAAA,OAAA,CAAQ,MAAM,MAAM,CAAA,CAAE,QAAQ,IAAM,EAAA,MAAM,EAAE,OAAQ,CAAA,KAAA,EAAO,MAAM,CAAE,CAAA,OAAA,CAAQ,SAAS,cAAc,CAAA,CAAA;AAAA,QACzI;AACC,UAAO,OAAA,OAAA,CAAA;AAAA,OACT;AAAA,KACA,CAAA,CAAA;AAGD,IAAM,MAAA,WAAA,GAAc,CAAC,KAAmB,KAAA;AACvC,MAAM,MAAA,YAAA,GAAe,MAAO,KAAM,CAAA,KAAA,CAAA;AAClC,MAAA,OAAO,gBAAgB,KAAQ,GAAA,GAAA,GAAM,GAAM,GAAA,IAAA,CAAK,QAAW,GAAA,GAAA,CAAA,CAAA;AAAA,KAC5D,CAAA;AAGA,IAAM,MAAA,gBAAA,GAAmB,CAAC,GAAgB,KAAA;AACzC,MAAA,MAAM,eAAkB,GAAA,CAAC,MAAQ,EAAA,MAAA,EAAQ,MAAM,KAAO,EAAA,OAAA,EAAS,IAAM,EAAA,KAAA,EAAO,SAAS,MAAQ,EAAA,MAAA,EAAQ,OAAS,EAAA,QAAA,EAAU,SAAS,KAAK,CAAA,CAAA;AACtI,MAAM,MAAA,YAAA,GAAe,GAAI,CAAA,KAAA,CAAM,kBAAkB,CAAA,CAAA;AACjD,MAAI,IAAA,YAAA,IAAgB,YAAa,CAAA,CAAC,CAAG,EAAA;AACpC,QAAA,MAAM,OAAU,GAAA,YAAA,CAAa,CAAC,CAAA,CAAE,WAAY,EAAA,CAAA;AAC5C,QAAA,OAAO,gBAAgB,QAAS,CAAA,OAAO,CAAK,IAAA,GAAA,CAAI,SAAS,IAAI,CAAA,CAAA;AAAA,OAC9D;AACA,MAAO,OAAA,KAAA,CAAA;AAAA,KACR,CAAA;AAEA,IAAM,MAAA,UAAA,GAAa,CAAC,GAAgB,KAAA;;AACnC,MAAI,IAAA,GAAA,CAAI,UAAW,CAAA,IAAI,CAAG,EAAA;AACzB,QAAA,MAAM,WAAU,EAAI,GAAA,CAAA,EAAA,GAAA,GAAA,CAAA,KAAA,CAAM,iBAAiB,CAA3B,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAA+B,OAA/B,IAAmC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,EAAA,CAAA;AACnD,QAAA,IAAI,WAAW,QAAS,CAAA,KAAA,CAAM,EAAG,CAAA,CAAA,CAAE,MAAM,OAAS,EAAA;AACjD,UAAA,QAAA,CAAS,MAAM,GAAI,EAAA,CAAA;AAAA,SACpB;AAAA,OACD,MAAA,IAAW,IAAI,UAAW,CAAA,GAAG,KAAK,CAAC,gBAAA,CAAiB,GAAG,CAAG,EAAA;AACzD,QAAA,MAAM,WAAU,EAAI,GAAA,CAAA,EAAA,GAAA,GAAA,CAAA,KAAA,CAAM,eAAe,CAAzB,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAA6B,OAA7B,IAAiC,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,EAAA,CAAA;AACjD,QAAA,IAAI,OAAS,EAAA;AACZ,UAAS,QAAA,CAAA,KAAA,CAAM,KAAK,OAAO,CAAA,CAAA;AAAA,SAC5B;AAAA,OACD;AAAA,KACD,CAAA;AAGA,IAAA,MAAM,WAAW,MAAM;AACtB,MAAA,IAAI,YAAa,CAAA,KAAA,IAAS,KAAM,CAAA,IAAA,CAAK,MAAQ,EAAA;AAC5C,QAAO,OAAA,QAAA,CAAS,KAAM,CAAA,MAAA,GAAS,CAAG,EAAA;AACjC,UAAM,MAAA,GAAA,GAAM,QAAS,CAAA,KAAA,CAAM,GAAI,EAAA,CAAA;AAC/B,UAAA,YAAA,CAAa,SAAS,CAAK,EAAA,EAAA,GAAA,CAAA,CAAA,CAAA,CAAA;AAAA,SAC5B;AACA,QAAe,cAAA,EAAA,CAAA;AACf,QAAA,OAAA;AAAA,OACD;AAEA,MAAA,MAAM,WAAc,GAAA,KAAA,CAAM,IAAK,CAAA,YAAA,CAAa,KAAK,CAAA,CAAA;AACjD,MAAA,IAAI,YAAY,YAAa,CAAA,KAAA,CAAA;AAC7B,MAAA,IAAI,UAAa,GAAA,EAAA,CAAA;AACjB,MAAA,IAAI,KAAQ,GAAA,KAAA,CAAA;AAEZ,MAAA,IAAI,gBAAgB,GAAK,EAAA;AACxB,QAAQ,KAAA,GAAA,IAAA,CAAA;AACR,QAAA,MAAM,WAAW,KAAM,CAAA,IAAA,CAAK,OAAQ,CAAA,GAAA,EAAK,aAAa,KAAK,CAAA,CAAA;AAC3D,QAAA,IAAI,aAAa,CAAI,CAAA,EAAA;AACpB,UAAA,SAAA,GAAY,aAAa,KAAQ,GAAA,CAAA,CAAA;AACjC,UAAa,UAAA,GAAA,WAAA,CAAA;AAAA,SACP,MAAA;AACN,UAAA,SAAA,GAAY,QAAW,GAAA,CAAA,CAAA;AACvB,UAAA,UAAA,GAAa,KAAM,CAAA,IAAA,CAAK,SAAU,CAAA,YAAA,CAAa,OAAO,SAAS,CAAA,CAAA;AAC/D,UAAA,UAAA,CAAW,UAAU,CAAA,CAAA;AAAA,SACtB;AAAA,OACM,MAAA;AACN,QAAA,SAAA,GAAY,aAAa,KAAQ,GAAA,CAAA,CAAA;AACjC,QAAa,UAAA,GAAA,WAAA,CAAA;AAAA,OACd;AAEA,MAAA,YAAA,CAAa,KAAQ,GAAA,SAAA,CAAA;AACrB,MAAA,YAAA,CAAa,KAAS,IAAA,UAAA,CAAA;AACtB,MAAA,KAAA,CAAM,QAAQ,MAAO,CAAA,UAAA,CAAW,QAAU,EAAA,WAAA,CAAY,KAAK,CAAC,CAAA,CAAA;AAAA,KAC7D,CAAA;AAGA,IAAA,MAAM,cAAc,MAAM;AACzB,MAAA,IAAI,QAAS,CAAA,KAAA,IAAS,YAAa,CAAA,KAAA,IAAS,MAAM,IAAK,CAAA,MAAA;AAAQ,QAAA,OAAA;AAC/D,MAAA,QAAA,CAAS,KAAQ,GAAA,IAAA,CAAA;AACjB,MAAA,KAAA,CAAM,OAAO,CAAA,CAAA;AACb,MAAS,QAAA,EAAA,CAAA;AAAA,KACV,CAAA;AAEA,IAAA,MAAM,aAAa,MAAM;AACxB,MAAA,IAAI,MAAM,KAAO,EAAA;AAChB,QAAA,YAAA,CAAa,MAAM,KAAK,CAAA,CAAA;AACxB,QAAA,KAAA,CAAM,KAAQ,GAAA,IAAA,CAAA;AACd,QAAA,QAAA,CAAS,KAAQ,GAAA,KAAA,CAAA;AAAA,OAClB;AAAA,KACD,CAAA;AAEA,IAAA,MAAM,cAAc,MAAM;AACzB,MAAW,UAAA,EAAA,CAAA;AACX,MAAA,YAAA,CAAa,KAAQ,GAAA,CAAA,CAAA;AACrB,MAAA,YAAA,CAAa,KAAQ,GAAA,EAAA,CAAA;AACrB,MAAA,QAAA,CAAS,QAAQ,EAAC,CAAA;AAAA,KACnB,CAAA;AAEA,IAAA,MAAM,iBAAiB,MAAM;AAC5B,MAAW,UAAA,EAAA,CAAA;AAGX,MAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAAA,KACjB,CAAA;AAGA,IAAAE,SAAA;AAAA,MACC,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,MAAM;AACL,QAAY,WAAA,EAAA,CAAA;AACZ,QAAY,WAAA,EAAA,CAAA;AAAA,OACb;AAAA,MACA,EAAE,WAAW,IAAK,EAAA;AAAA,KACnB,CAAA;AAEA,IAAAA,SAAA;AAAA,MACC,MAAM,KAAM,CAAA,WAAA;AAAA,MACZ,MAAM;AACL,QAAA,YAAA,CAAa,QAAQ,KAAM,CAAA,IAAA,CAAK,SAAU,CAAA,CAAA,EAAG,aAAa,KAAK,CAAA,CAAA;AAAA,OAChE;AAAA,KACD,CAAA;AAEA,IAAAC,aAAA,CAAU,YAAY;AACrB,MAAI,IAAA,YAAA,CAAa,UAAU,CAAG,EAAA;AAC7B,QAAY,WAAA,EAAA,CAAA;AAAA,OACb;AACA,MAAA,MAAM,aAAc,EAAA,CAAA;AAAA,KACpB,CAAA,CAAA;AAED,IAAYC,eAAA,CAAA,MAAM,YAAY,CAAA,CAAA;AAE9B,IAAA,QAAA,CAAa,EAAE,WAAa,EAAA,UAAA,EAAY,WAAa,EAAA,YAAA,EAAc,UAAU,CAAA,CAAA;;4BAxO5E,EAAAC,sBAAA;AAAA,QAmBM,KAAA;AAAA,QAAA;AAAA,UAnBD,KAAA,EAAKC,mBAAA,CAAC,sBAAA,EAA+B,SAAQ,KAAA,GAAA,mBAAA,GAAA,EAAA,CAAA,CAAA;AAAA;;UACjDC,uBAOE,KAAA,EAAA;AAAA,YAND,KAAA,sBAAM,oBAAoB,EAAA;AAAA,kCACS,YAAW,KAAA,KAAA,UAAA;AAAA,8BAAsC,YAAW,KAAA,KAAA,MAAA;AAAA;YAI/F,WAAQ,cAAc,CAAA,KAAA;AAAA;UAEvBC,uBAAqC,qHAAA,CAAA;AAAA,UACrCA,sBAQU,CAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,SAAA,CAAA,CAAA;AAAA;;;;;;;;;;"}
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var meterialPrepare_vue_vue_type_script_setup_true_lang = require('./meterialPrepare.vue2.js');
6
+ var _pluginVue_exportHelper = require('../../../../../_virtual/_plugin-vue_export-helper.js');
6
7
 
8
+ var MeterialPrepare = /* @__PURE__ */ _pluginVue_exportHelper.default(meterialPrepare_vue_vue_type_script_setup_true_lang.default, [["__file", "meterialPrepare.vue"]]);
7
9
 
8
-
9
- exports.default = meterialPrepare_vue_vue_type_script_setup_true_lang.default;
10
+ exports.default = MeterialPrepare;
10
11
  //# sourceMappingURL=meterialPrepare.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"meterialPrepare.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"meterialPrepare.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
- var letter_vue_vue_type_script_setup_true_lang = require('./letter.vue2.js');
6
+ var letter = require('./letter.vue.js');
7
7
 
8
8
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
9
9
  __name: "meterialPrepare",
@@ -15,23 +15,28 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
15
15
  showBtn.value = true;
16
16
  emits("complete");
17
17
  };
18
- const parentContext = vue.inject("parentContext");
18
+ const touchchat = vue.inject("touchchat", { send: () => {
19
+ } });
19
20
  const handleClick = () => {
20
21
  console.log("handleClick === meterialPrepare");
21
- parentContext == null ? void 0 : parentContext.methods.sendMessage({
22
- name: "[\u786E\u5B9A]"
23
- });
22
+ touchchat && touchchat.send("[\u786E\u5B9A]");
24
23
  };
25
24
  return (_ctx, _cache) => {
26
25
  return vue.openBlock(), vue.createElementBlock("div", null, [
27
- vue.createVNode(letter_vue_vue_type_script_setup_true_lang.default, {
26
+ vue.createVNode(letter.default, {
28
27
  data: "\u5373\u5C06\u8FDB\u5165\u7533\u8BF7\u9875\u9762\uFF0C\u8BF7\u60A8\u5148\u786E\u8BA4\u662F\u5426\u5DF2\u5907\u9F50\u4EE5\u4E0B\u5173\u952E\u6750\u6599\uFF1A\u8054\u7CFB\u4EBA\u7684\u5168\u540D\u9700\u51C6\u786E\u65E0\u8BEF\uFF0C\u670D\u52A1\u5730\u5740\u9700\u8BE6\u7EC6\u6E05\u6670\uFF0C\u6709\u6548\u7535\u8BDD\u53F7\u7801\u4FBF\u4E8E\u6211\u4EEC\u968F\u65F6\u4E0E\u60A8\u53D6\u5F97\u8054\u7CFB\u3002\u6B64\u5916\uFF0C\u5982\u6709\u4EFB\u4F55\u7279\u6B8A\u9700\u6C42\u6216\u60C5\u51B5\uFF0C\u8BF7\u5728\u5907\u6CE8\u4E2D\u8BE6\u7EC6\u8BF4\u660E\u3002\u4E3A\u786E\u4FDD\u7533\u8BF7\u987A\u5229\u60A8\u8FD8\u53EF\u70B9\u51FB\u201C\u67E5\u770B\u8BE6\u60C5\u201D\u6309\u94AE\uFF0C\u83B7\u53D6\u8BE6\u5C3D\u7684\u4E1A\u52A1\u529E\u7406\u6307\u5357\u53CA\u5B8C\u6574\u6750\u6599\u6E05\u5355\u3002",
29
28
  onComplete: complete
30
29
  }),
31
- vue.withDirectives(vue.createElementVNode("button", {
32
- class: "apply-btn",
33
- onClick: handleClick
34
- }, "\u786E\u5B9A", 512), [
30
+ vue.withDirectives(vue.createElementVNode(
31
+ "button",
32
+ {
33
+ class: "apply-btn",
34
+ onClick: handleClick
35
+ },
36
+ "\u786E\u5B9A",
37
+ 512
38
+ /* NEED_PATCH */
39
+ ), [
35
40
  [vue.vShow, showBtn.value]
36
41
  ])
37
42
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"meterialPrepare.vue2.js","sources":["../../../../../../../packages/components/touchchat/component/AiRobot/meterialPrepare.vue"],"sourcesContent":["<template>\n\t<div>\n\t\t<letter data=\"即将进入申请页面,请您先确认是否已备齐以下关键材料:联系人的全名需准确无误,服务地址需详细清晰,有效电话号码便于我们随时与您取得联系。此外,如有任何特殊需求或情况,请在备注中详细说明。为确保申请顺利您还可点击“查看详情”按钮,获取详尽的业务办理指南及完整材料清单。\" @complete=\"complete\"></letter>\n\t\t<button v-show=\"showBtn\" class=\"apply-btn\" @click=\"handleClick\">确定</button>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, inject } from 'vue'\nimport Letter from './letter.vue'\nconst emits = defineEmits<{\n\t(e: 'complete'): void\n}>()\nconst showBtn = ref(false)\nconst complete = () => {\n\tshowBtn.value = true\n\temits('complete')\n}\ninterface ParentContext {\n\tmethods: {\n\t\tsendMessage: (message: { name: string }) => void\n\t}\n}\nconst parentContext = inject<ParentContext>('parentContext')\nconst handleClick = () => {\n\tconsole.log('handleClick === meterialPrepare')\n\tparentContext?.methods.sendMessage({\n\t\tname: '[确定]'\n\t})\n}\n</script>\n\n<!-- <style lang=\"less\" scoped>\n@import '../style/MeterialPrepare.less';\n</style> -->\n"],"names":["ref","inject","_createElementBlock","_createVNode","Letter","_createElementVNode"],"mappings":";;;;;;;;;;;AAUA,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAGd,IAAM,MAAA,OAAA,GAAUA,QAAI,KAAK,CAAA,CAAA;AACzB,IAAA,MAAM,WAAW,MAAM;AACtB,MAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAChB,MAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAAA,KACjB,CAAA;AAMA,IAAM,MAAA,aAAA,GAAgBC,WAAsB,eAAe,CAAA,CAAA;AAC3D,IAAA,MAAM,cAAc,MAAM;AACzB,MAAA,OAAA,CAAQ,IAAI,iCAAiC,CAAA,CAAA;AAC7C,MAAA,aAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,aAAA,CAAe,QAAQ,WAAY,CAAA;AAAA,QAClC,IAAM,EAAA,gBAAA;AAAA,OACP,CAAA,CAAA;AAAA,KACD,CAAA;;8BA5BCC,sBAGM,CAAA,KAAA,EAAA,IAAA,EAAA;AAAA,QAFLC,gBAAkLC,kDAAA,EAAA;AAAA,UAA1K,IAAK,EAAA,0xBAAA;AAAA,UAAwI,UAAU,EAAA,QAAA;AAAA;2BAC/JC,uBAA2E,QAAA,EAAA;AAAA,UAAlD,KAAM,EAAA,WAAA;AAAA,UAAa,OAAO,EAAA,WAAA;AAAA,WAAa,cAAE,EAAA,GAAA,CAAA,EAAA;AAAA,oBAAlD,EAAA,OAAA,CAAO,KAAA,CAAA;AAAA;;;;;;;;"}
1
+ {"version":3,"file":"meterialPrepare.vue2.js","sources":["../../../../../../../packages/components/touchchat/component/AiRobot/meterialPrepare.vue"],"sourcesContent":["<template>\n\t<div>\n\t\t<letter data=\"即将进入申请页面,请您先确认是否已备齐以下关键材料:联系人的全名需准确无误,服务地址需详细清晰,有效电话号码便于我们随时与您取得联系。此外,如有任何特殊需求或情况,请在备注中详细说明。为确保申请顺利您还可点击“查看详情”按钮,获取详尽的业务办理指南及完整材料清单。\" @complete=\"complete\"></letter>\n\t\t<button v-show=\"showBtn\" class=\"apply-btn\" @click=\"handleClick\">确定</button>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, inject } from 'vue'\nimport Letter from './letter.vue'\nconst emits = defineEmits<{\n\t(e: 'complete'): void\n}>()\nconst showBtn = ref(false)\nconst complete = () => {\n\tshowBtn.value = true\n\temits('complete')\n}\ninterface Touchchat {\n\tsend: (content?: string, fileList?: any[], auto?: boolean, type?: string) => void\n}\nconst touchchat = inject<Touchchat>('touchchat', { send: () => {} })\nconst handleClick = () => {\n\tconsole.log('handleClick === meterialPrepare')\n\ttouchchat && touchchat.send('[确定]')\n}\n</script>\n\n<!-- <style lang=\"less\" scoped>\n@import '../style/MeterialPrepare.less';\n</style> -->\n"],"names":["ref","inject","_createElementBlock","_createVNode","Letter","_createElementVNode"],"mappings":";;;;;;;;;;;AAUA,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAGd,IAAM,MAAA,OAAA,GAAUA,QAAI,KAAK,CAAA,CAAA;AACzB,IAAA,MAAM,WAAW,MAAM;AACtB,MAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAChB,MAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAAA,KACjB,CAAA;AAIA,IAAA,MAAM,SAAY,GAAAC,UAAA,CAAkB,WAAa,EAAA,EAAE,MAAM,MAAM;AAAA,OAAI,CAAA,CAAA;AACnE,IAAA,MAAM,cAAc,MAAM;AACzB,MAAA,OAAA,CAAQ,IAAI,iCAAiC,CAAA,CAAA;AAC7C,MAAa,SAAA,IAAA,SAAA,CAAU,KAAK,gBAAM,CAAA,CAAA;AAAA,KACnC,CAAA;;8BAxBCC,sBAGM,CAAA,KAAA,EAAA,IAAA,EAAA;AAAA,QAFLC,gBAAkLC,cAAA,EAAA;AAAA,UAA1K,IAAK,EAAA,0xBAAA;AAAA,UAAwI,UAAU,EAAA,QAAA;AAAA;0BAC/J,CAAAC,sBAAA;AAAA,UAA2E,QAAA;AAAA,UAAA;AAAA,YAAlD,KAAM,EAAA,WAAA;AAAA,YAAa,OAAO,EAAA,WAAA;AAAA;UAAa,cAAA;AAAA,UAAE,GAAA;AAAA;AAAA,SAAA,EAAA;AAAA,oBAAlD,EAAA,OAAA,CAAO,KAAA,CAAA;AAAA;;;;;;;;"}
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var start_vue_vue_type_script_setup_true_lang = require('./start.vue2.js');
6
+ var _pluginVue_exportHelper = require('../../../../../_virtual/_plugin-vue_export-helper.js');
6
7
 
8
+ var start = /* @__PURE__ */ _pluginVue_exportHelper.default(start_vue_vue_type_script_setup_true_lang.default, [["__file", "start.vue"]]);
7
9
 
8
-
9
- exports.default = start_vue_vue_type_script_setup_true_lang.default;
10
+ exports.default = start;
10
11
  //# sourceMappingURL=start.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"start.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"start.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var vue = require('vue');
6
- var letter_vue_vue_type_script_setup_true_lang = require('./letter.vue2.js');
6
+ var letter = require('./letter.vue.js');
7
7
 
8
8
  var _sfc_main = /* @__PURE__ */ vue.defineComponent({
9
9
  __name: "start",
@@ -15,20 +15,27 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
15
15
  showBtn.value = true;
16
16
  emits("complete");
17
17
  };
18
- const parentContext = vue.inject("parentContext");
18
+ const touchchat = vue.inject("touchchat", { send: () => {
19
+ } });
20
+ const handleClick = () => {
21
+ touchchat && touchchat.send("\u6211\u8981\u7533\u8BF7\u7528\u6C14");
22
+ };
19
23
  return (_ctx, _cache) => {
20
24
  return vue.openBlock(), vue.createElementBlock("div", null, [
21
- vue.createVNode(letter_vue_vue_type_script_setup_true_lang.default, {
25
+ vue.createVNode(letter.default, {
22
26
  data: "\u6B22\u8FCE\u4F7F\u7528 touchvue\uFF0C\u6211\u662F\u60A8\u7684\u79C1\u4EBA\u52A9\u7406\u5C0F\u542F\u3002",
23
27
  onComplete: complete
24
28
  }),
25
- vue.withDirectives(vue.createElementVNode("button", {
26
- class: "apply-btn",
27
- onClick: ($event) => {
28
- var _a;
29
- return (_a = vue.unref(parentContext)) == null ? void 0 : _a.methods.sendMessage("\u6211\u8981\u7533\u8BF7\u7528\u6C14");
30
- }
31
- }, "\u7533\u8BF7\u901A\u6C14", 8, ["onClick"]), [
29
+ vue.withDirectives(vue.createElementVNode(
30
+ "button",
31
+ {
32
+ class: "apply-btn",
33
+ onClick: handleClick
34
+ },
35
+ "\u7533\u8BF7\u901A\u6C14",
36
+ 512
37
+ /* NEED_PATCH */
38
+ ), [
32
39
  [vue.vShow, showBtn.value]
33
40
  ])
34
41
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"start.vue2.js","sources":["../../../../../../../packages/components/touchchat/component/AiRobot/start.vue"],"sourcesContent":["<template>\n\t<div>\n\t\t<letter data=\"欢迎使用 touchvue,我是您的私人助理小启。\" @complete=\"complete\"></letter>\n\t\t<button v-show=\"showBtn\" class=\"apply-btn\" @click=\"parentContext?.methods.sendMessage('我要申请用气')\">申请通气</button>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, inject } from 'vue'\nimport Letter from './letter.vue'\nconst emits = defineEmits<{\n\t(e: 'complete'): void\n}>()\nconst showBtn = ref(false)\nconst complete = () => {\n\tshowBtn.value = true\n\temits('complete')\n}\ninterface ParentContext {\n\tmethods: {\n\t\tsendMessage: (message: string) => void\n\t}\n}\nconst parentContext = inject<ParentContext>('parentContext')\n</script>\n\n<!-- <style lang=\"less\" scoped>\n@import '../style/Start.less';\n</style> -->\n"],"names":["ref","inject","_createElementBlock","_createVNode","Letter","_createElementVNode","_unref"],"mappings":";;;;;;;;;;;AAUA,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAGd,IAAM,MAAA,OAAA,GAAUA,QAAI,KAAK,CAAA,CAAA;AACzB,IAAA,MAAM,WAAW,MAAM;AACtB,MAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAChB,MAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAAA,KACjB,CAAA;AAMA,IAAM,MAAA,aAAA,GAAgBC,WAAsB,eAAe,CAAA,CAAA;;8BAtB1DC,sBAGM,CAAA,KAAA,EAAA,IAAA,EAAA;AAAA,QAFLC,gBAAuEC,kDAAA,EAAA;AAAA,UAA/D,IAAK,EAAA,2GAAA;AAAA,UAA6B,UAAU,EAAA,QAAA;AAAA;2BACpDC,uBAA8G,QAAA,EAAA;AAAA,UAArF,KAAM,EAAA,WAAA;AAAA,UAAa,OAAA,EAAO,CAAA,MAAA,KAAA;;AAAA,YAAA,OAAA,CAAA,EAAA,GAAAC,SAAA,CAAA,aAAA,CAAA,KAAA,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,CAAQ,WAAW,CAAA,sCAAA,CAAA,CAAA;AAAA,WAAA;AAAA,WAAY,0BAAI,EAAA,CAAA,EAAA,CAAA,SAAA,CAAA,CAAA,EAAA;AAAA,oBAArF,EAAA,OAAA,CAAO,KAAA,CAAA;AAAA;;;;;;;;"}
1
+ {"version":3,"file":"start.vue2.js","sources":["../../../../../../../packages/components/touchchat/component/AiRobot/start.vue"],"sourcesContent":["<template>\n\t<div>\n\t\t<letter data=\"欢迎使用 touchvue,我是您的私人助理小启。\" @complete=\"complete\"></letter>\n\t\t<button v-show=\"showBtn\" class=\"apply-btn\" @click=\"handleClick\">申请通气</button>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, inject } from 'vue'\nimport Letter from './letter.vue'\nconst emits = defineEmits<{\n\t(e: 'complete'): void\n}>()\nconst showBtn = ref(false)\nconst complete = () => {\n\tshowBtn.value = true\n\temits('complete')\n}\n\ninterface Touchchat {\n\tsend: (content?: string, fileList?: any[], auto?: boolean, type?: string) => void\n}\nconst touchchat = inject<Touchchat>('touchchat', { send: () => {} })\nconst handleClick = () => {\n\ttouchchat && touchchat.send('我要申请用气')\n}\n</script>\n\n<!-- <style lang=\"less\" scoped>\n@import '../style/Start.less';\n</style> -->\n"],"names":["ref","inject","_createElementBlock","_createVNode","Letter","_createElementVNode"],"mappings":";;;;;;;;;;;AAUA,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;AAGd,IAAM,MAAA,OAAA,GAAUA,QAAI,KAAK,CAAA,CAAA;AACzB,IAAA,MAAM,WAAW,MAAM;AACtB,MAAA,OAAA,CAAQ,KAAQ,GAAA,IAAA,CAAA;AAChB,MAAA,KAAA,CAAM,UAAU,CAAA,CAAA;AAAA,KACjB,CAAA;AAKA,IAAA,MAAM,SAAY,GAAAC,UAAA,CAAkB,WAAa,EAAA,EAAE,MAAM,MAAM;AAAA,OAAI,CAAA,CAAA;AACnE,IAAA,MAAM,cAAc,MAAM;AACzB,MAAa,SAAA,IAAA,SAAA,CAAU,KAAK,sCAAQ,CAAA,CAAA;AAAA,KACrC,CAAA;;8BAxBCC,sBAGM,CAAA,KAAA,EAAA,IAAA,EAAA;AAAA,QAFLC,gBAAuEC,cAAA,EAAA;AAAA,UAA/D,IAAK,EAAA,2GAAA;AAAA,UAA6B,UAAU,EAAA,QAAA;AAAA;0BACpD,CAAAC,sBAAA;AAAA,UAA6E,QAAA;AAAA,UAAA;AAAA,YAApD,KAAM,EAAA,WAAA;AAAA,YAAa,OAAO,EAAA,WAAA;AAAA;UAAa,0BAAA;AAAA,UAAI,GAAA;AAAA;AAAA,SAAA,EAAA;AAAA,oBAApD,EAAA,OAAA,CAAO,KAAA,CAAA;AAAA;;;;;;;;"}
@@ -3,8 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var CardView_vue_vue_type_script_setup_true_lang = require('./CardView.vue2.js');
6
+ var _pluginVue_exportHelper = require('../../../../_virtual/_plugin-vue_export-helper.js');
6
7
 
8
+ var CardView = /* @__PURE__ */ _pluginVue_exportHelper.default(CardView_vue_vue_type_script_setup_true_lang.default, [["__file", "CardView.vue"]]);
7
9
 
8
-
9
- exports.default = CardView_vue_vue_type_script_setup_true_lang.default;
10
+ exports.default = CardView;
10
11
  //# sourceMappingURL=CardView.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CardView.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
1
+ {"version":3,"file":"CardView.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;"}