@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,4 +1,13 @@
1
- import { defineComponent, inject, openBlock, createElementBlock, createElementVNode, unref, withKeys, normalizeClass, createCommentVNode } from 'vue';
1
+ import { defineComponent, inject, ref, watch, provide, computed, onMounted, openBlock, createElementBlock, renderSlot, createCommentVNode, createBlock, createElementVNode, unref, withKeys, normalizeClass, withCtx, toDisplayString, Fragment, createVNode, nextTick } from 'vue';
2
+ import MarkLayer from '../../component/MarkLayer.vue.mjs';
3
+ import FileContent from '../../component/FileContent.vue.mjs';
4
+ import QuoteContent from '../../component/QuoteContent.vue.mjs';
5
+ import UploadView from '../../component/UploadView.vue.mjs';
6
+ import Screenshot from '../../component/Screenshot.vue.mjs';
7
+ import Voice from '../../component/VoiceView.vue.mjs';
8
+ import RealtimeVoice from '../../component/RealtimeVoice.vue.mjs';
9
+ import ModuleSelect from '../../component/ModuleSelect.vue.mjs';
10
+ import { showToast } from '../../utils/tools.mjs';
2
11
 
3
12
  var _sfc_main = /* @__PURE__ */ defineComponent({
4
13
  __name: "ChatInput",
@@ -7,12 +16,241 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
7
16
  isChating: { type: Boolean },
8
17
  enableDeepThinking: { type: Boolean }
9
18
  },
10
- emits: ["send", "stop", "update:enableDeepThinking", "update:inputValue"],
11
- setup(__props, { emit: __emit }) {
12
- const placeholder = inject("placeholder", "\u8BF7\u8F93\u5165...");
13
- const isThinking = inject("isThinking", false);
19
+ emits: ["send", "stop", "update:enableDeepThinking", "update:inputValue", "moduleInfo"],
20
+ setup(__props, { expose: __expose, emit: __emit }) {
14
21
  const props = __props;
22
+ const placeholder = inject("placeholder", "\u8BF7\u8F93\u5165...");
23
+ const layout = inject("layout", "side, think, upload, chain, screen,realtime");
24
+ const modules = inject("modules", []);
25
+ const iModules = ref(modules);
26
+ watch(
27
+ () => modules,
28
+ (newVal) => {
29
+ iModules.value = newVal;
30
+ console.log("modules === ChatInput.vue === 128", newVal);
31
+ }
32
+ // { immediate: true }
33
+ );
34
+ const allowedTypes = inject("allowedTypes", []);
35
+ provide("uploadFile", (index, type) => {
36
+ if (uploadViewRef.value) {
37
+ uploadViewRef.value.uploadFile(index, type);
38
+ }
39
+ });
40
+ const thinkAble = layout.includes("think");
41
+ const clearAble = layout.includes("clear");
42
+ const uploadAble = layout.includes("upload");
43
+ const screenAble = layout.includes("screen");
44
+ const voiceAble = layout.includes("voice");
45
+ const realtimeVoiceAble = layout.includes("realtime");
46
+ const showMarkLaryer = ref(false);
47
+ const fileList = ref([]);
48
+ const optionalModules = ref([
49
+ {
50
+ name: "deepseek-v3",
51
+ config: {
52
+ action: "https://api.apiyi.com/v1/chat/completions",
53
+ headers: () => ({
54
+ "Content-Type": "application/json",
55
+ Authorization: "Bearer sk-fe9MtODvds8wpzz05f3417Fe3e9641C1926e6fC588425dEd"
56
+ }),
57
+ body: () => ({
58
+ model: "deepseek-v3",
59
+ messages: [
60
+ {
61
+ role: "user",
62
+ // content: props.inputValue // 使用传入的用户内容参数
63
+ content: ""
64
+ }
65
+ ],
66
+ stream: true
67
+ }),
68
+ respoKey: () => ({
69
+ category: "category",
70
+ contentCategory: "task_stream_content",
71
+ content: "content",
72
+ all: "message",
73
+ allCategory: "answer"
74
+ })
75
+ }
76
+ }
77
+ ]);
78
+ const uploadViewRef = ref();
79
+ const selectVal = ref("");
80
+ const selectInfo = ref({});
81
+ const voiceRef = ref();
82
+ const modelChange = inject("modelChange", () => {
83
+ console.warn("\u672A\u63D0\u4F9BmodelChange\u51FD\u6570");
84
+ });
15
85
  const emits = __emit;
86
+ watch(
87
+ () => selectVal.value,
88
+ () => {
89
+ console.log("selectVal.value === ChatInput.vue === 198", selectVal.value);
90
+ if (finallyModules.value.length > 0) {
91
+ selectInfo.value = finallyModules.value.find((item) => item.name === selectVal.value);
92
+ if (selectInfo.value) {
93
+ emits("moduleInfo", selectInfo.value);
94
+ modelChange(selectInfo.value, finallyModules.value.indexOf(selectInfo.value));
95
+ }
96
+ }
97
+ },
98
+ { deep: true }
99
+ );
100
+ watch(
101
+ () => props.enableDeepThinking,
102
+ () => {
103
+ updateSelectInfo();
104
+ },
105
+ { deep: true }
106
+ );
107
+ watch(
108
+ () => props.inputValue,
109
+ () => {
110
+ updateSelectInfo();
111
+ },
112
+ { deep: true }
113
+ );
114
+ const finallyModules = computed(() => {
115
+ if (!iModules.value.length) {
116
+ return optionalModules.value;
117
+ }
118
+ return iModules.value.flatMap((module) => {
119
+ if (typeof module === "string") {
120
+ const matchedModule = optionalModules.value.find((optModule) => optModule.name === module);
121
+ if (matchedModule) {
122
+ const updatedModule = { ...matchedModule };
123
+ const body = updatedModule.config.body();
124
+ if (thinkAble) {
125
+ body.model = props.enableDeepThinking ? "deepseek-reasoner" : "deepseek-v3";
126
+ }
127
+ updatedModule.config.body = () => body;
128
+ return [updatedModule];
129
+ }
130
+ return [];
131
+ } else {
132
+ const body = module.config.body();
133
+ if (thinkAble) {
134
+ body.model = props.enableDeepThinking ? "deepseek-reasoner" : "deepseek-v3";
135
+ }
136
+ module.config.body = () => body;
137
+ return [module];
138
+ }
139
+ });
140
+ });
141
+ const updateSelectInfo = () => {
142
+ if (!selectInfo.value.name) {
143
+ selectInfo.value = finallyModules.value[0];
144
+ selectVal.value = selectInfo.value.name;
145
+ }
146
+ const body = selectInfo.value.config.body();
147
+ if (body.messages && body.messages.length > 0 && body.messages[0].content) {
148
+ body.messages[0].content = props.inputValue;
149
+ } else {
150
+ body.messages = [{ role: "user", content: props.inputValue }];
151
+ }
152
+ selectInfo.value.config.body = () => body;
153
+ if (finallyModules.value.length > 0 && selectInfo.value) {
154
+ const body2 = selectInfo.value.config.body();
155
+ if (thinkAble && body2.model) {
156
+ body2.model = props.enableDeepThinking ? "deepseek-reasoner" : "deepseek-v3";
157
+ }
158
+ selectInfo.value.config.body = () => body2;
159
+ }
160
+ };
161
+ const upFileList = (list) => {
162
+ fileList.value.push(...list);
163
+ nextTick(() => {
164
+ if (uploadViewRef.value) {
165
+ uploadViewRef.value.uploadFile(fileList.value.length - 1);
166
+ }
167
+ });
168
+ };
169
+ const handlePaste = (event, type) => {
170
+ if (event.clipboardData) {
171
+ const clipboardData = event.clipboardData || window.Clipboard;
172
+ const items = clipboardData.items;
173
+ let isImage = false;
174
+ for (let i = 0; i < items.length; i++) {
175
+ if (items[i].type.indexOf("image/") !== -1) {
176
+ isImage = true;
177
+ const blob = items[i].getAsFile();
178
+ if (blob) {
179
+ const reader = new FileReader();
180
+ reader.onload = (e) => {
181
+ var _a;
182
+ const base64 = (_a = e.target) == null ? void 0 : _a.result;
183
+ const imageInfo = {
184
+ file: blob,
185
+ isUploading: false,
186
+ uploadProgress: 0,
187
+ uploadSuccess: false,
188
+ uploadError: false,
189
+ fileSize: blob.size,
190
+ fileType: blob.type,
191
+ name: `pasted_image_${Date.now()}`,
192
+ id: Date.now().toString(),
193
+ base64,
194
+ lastModified: Date.now()
195
+ };
196
+ fileList.value.push(imageInfo);
197
+ nextTick(() => {
198
+ if (uploadViewRef.value) {
199
+ uploadViewRef.value.uploadFile(fileList.value.length - 1);
200
+ }
201
+ });
202
+ };
203
+ reader.readAsDataURL(blob);
204
+ }
205
+ break;
206
+ }
207
+ }
208
+ if (isImage) {
209
+ console.log("\u68C0\u6D4B\u5230\u7C98\u8D34\u7684\u662F\u56FE\u7247");
210
+ } else {
211
+ console.log("\u7C98\u8D34\u7684\u4E0D\u662F\u56FE\u7247");
212
+ }
213
+ } else {
214
+ if (type === "copy") {
215
+ fileList.value = event;
216
+ nextTick(() => {
217
+ if (uploadViewRef.value) {
218
+ uploadViewRef.value.uploadFile(fileList.value.length - 1);
219
+ }
220
+ });
221
+ return;
222
+ }
223
+ fileList.value.push(...event);
224
+ nextTick(() => {
225
+ if (uploadViewRef.value) {
226
+ uploadViewRef.value.uploadFile(fileList.value.length - 1);
227
+ }
228
+ });
229
+ }
230
+ };
231
+ const openMarkLayer = () => {
232
+ showMarkLaryer.value = true;
233
+ };
234
+ const colseMarkLayer = () => {
235
+ showMarkLaryer.value = false;
236
+ };
237
+ const handleColse = (id) => {
238
+ const index = fileList.value.findIndex((item) => item.id === id);
239
+ if (index !== -1) {
240
+ fileList.value.splice(index, 1);
241
+ }
242
+ };
243
+ const startRealtimeVoice = () => {
244
+ if (voiceRef.value) {
245
+ voiceRef.value.toggleRecording(true);
246
+ }
247
+ };
248
+ const transcription = (text) => {
249
+ emits("update:inputValue", text);
250
+ };
251
+ const handleClearClick = () => {
252
+ emits("update:inputValue", "");
253
+ };
16
254
  const handleInputChange = (e) => {
17
255
  const value = e.target.value;
18
256
  emits("update:inputValue", value);
@@ -20,54 +258,244 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
20
258
  const handleDeepThinkingClick = () => {
21
259
  emits("update:enableDeepThinking", !props.enableDeepThinking);
22
260
  };
23
- const handleSend = () => emits("send");
261
+ const uploadFile = (file) => {
262
+ if (file.length > 0) {
263
+ fileList.value = file;
264
+ }
265
+ };
266
+ const handleSend = (e) => {
267
+ if (e instanceof KeyboardEvent && e.shiftKey) {
268
+ return;
269
+ }
270
+ if (e instanceof KeyboardEvent) {
271
+ e.preventDefault();
272
+ }
273
+ if (!props.inputValue.trim() && !fileList.value.length) {
274
+ showToast("\u8BF7\u8F93\u5165\u5185\u5BB9");
275
+ return;
276
+ }
277
+ let uploadError = false;
278
+ if (fileList.value.length > 0) {
279
+ fileList.value.forEach((item) => {
280
+ if (item.uploadError) {
281
+ uploadError = true;
282
+ }
283
+ });
284
+ }
285
+ if (uploadError) {
286
+ showToast("\u4E0A\u4F20\u5931\u8D25\uFF0C\u8BF7\u91CD\u8BD5");
287
+ return;
288
+ }
289
+ if (fileList.value.length > 10) {
290
+ showToast("\u6587\u4EF6\u6570\u91CF\u4E0D\u80FD\u8D85\u8FC710\u4E2A");
291
+ return;
292
+ }
293
+ const sanitizedFileList = fileList.value.map((file) => ({
294
+ id: file.id,
295
+ name: file.name,
296
+ url: file.url,
297
+ fileId: file.fileId,
298
+ fileType: file.fileType,
299
+ fileSize: file.fileSize,
300
+ lastModified: file.lastModified
301
+ }));
302
+ emits("send", props.inputValue, sanitizedFileList);
303
+ nextTick(() => {
304
+ fileList.value = [];
305
+ if (uploadViewRef.value) {
306
+ uploadViewRef.value.resetFile();
307
+ }
308
+ if (voiceRef.value) {
309
+ voiceRef.value.resetFile();
310
+ }
311
+ });
312
+ };
313
+ const itemUploadFile = (index, type) => {
314
+ if (uploadViewRef.value) {
315
+ uploadViewRef.value.uploadFile(index, type);
316
+ }
317
+ };
24
318
  const handleStop = () => emits("stop");
319
+ onMounted(() => {
320
+ console.log("onMounted");
321
+ });
322
+ const quoteObj = ref(null);
323
+ const idx = ref(0);
324
+ const updateQuoteData = (item, index) => {
325
+ quoteObj.value = item;
326
+ idx.value = index;
327
+ };
328
+ const close = () => {
329
+ quoteObj.value = {};
330
+ };
331
+ __expose({
332
+ handlePaste,
333
+ openMarkLayer,
334
+ colseMarkLayer,
335
+ itemUploadFile,
336
+ updateQuoteData
337
+ });
25
338
  return (_ctx, _cache) => {
26
339
  var _a;
27
340
  return openBlock(), createElementBlock("div", { class: "touchchat-edit" }, [
341
+ renderSlot(_ctx.$slots, "editTop"),
342
+ createCommentVNode(' :file-progress="fileProgress" '),
343
+ fileList.value.length > 0 ? (openBlock(), createBlock(FileContent, {
344
+ key: 0,
345
+ "file-list": fileList.value,
346
+ "has-colse": true,
347
+ type: "ChatInput",
348
+ onColse: handleColse
349
+ }, null, 8, ["file-list"])) : createCommentVNode("v-if", true),
350
+ quoteObj.value && (quoteObj.value.content || quoteObj.value.msgList) ? (openBlock(), createBlock(QuoteContent, {
351
+ key: 1,
352
+ "quote-obj": quoteObj.value,
353
+ onClose: close
354
+ }, null, 8, ["quote-obj"])) : createCommentVNode("v-if", true),
28
355
  createElementVNode("div", { class: "touchchat-edit-input" }, [
356
+ createCommentVNode(" @keydown.enter.prevent "),
29
357
  createElementVNode("textarea", {
30
- value: _ctx.inputValue,
358
+ value: __props.inputValue,
31
359
  placeholder: (_a = unref(placeholder)) != null ? _a : "\u8BF7\u8F93\u5165...",
360
+ onPaste: handlePaste,
32
361
  onInput: handleInputChange,
33
- onKeyup: withKeys(handleSend, ["enter"])
34
- }, null, 40, ["value", "placeholder"])
362
+ onKeydown: withKeys(handleSend, ["enter"])
363
+ }, " ", 40, ["value", "placeholder"])
35
364
  ]),
36
- createElementVNode("div", {
37
- class: normalizeClass(unref(isThinking) ? "touchchat-edit-submit is-thinkable" : "touchchat-edit-submit")
38
- }, [
39
- createElementVNode("div", { class: "touchchat-edit-submit-left" }, [
40
- createElementVNode("button", {
41
- class: normalizeClass(["touchchat-edit-attach", { "is-dis": _ctx.isChating }])
42
- }, [
43
- createElementVNode("div", { class: "touchchat-edit-attach-icon" })
44
- ], 2),
45
- unref(isThinking) ? (openBlock(), createElementBlock("button", {
46
- key: 0,
47
- class: normalizeClass(["touchchat-edit-think", { "is-on": _ctx.enableDeepThinking, "is-dis": _ctx.isChating }]),
48
- onClick: handleDeepThinkingClick
49
- }, [
50
- createElementVNode("div", { class: "touchchat-edit-think-icon" }),
51
- createElementVNode("div", { class: "touchchat-edit-think-text" }, "\u6DF1\u5EA6\u601D\u8003")
52
- ], 2)) : createCommentVNode("", true)
53
- ]),
54
- createElementVNode("div", { class: "touchchat-edit-submit-right" }, [
55
- !_ctx.isChating ? (openBlock(), createElementBlock("button", {
56
- key: 0,
57
- class: "touchchat-edit-send",
58
- disabled: !_ctx.inputValue.trim(),
59
- onClick: handleSend
60
- }, [
61
- createElementVNode("div", { class: "touchchat-edit-send-icon" })
62
- ], 8, ["disabled"])) : (openBlock(), createElementBlock("button", {
63
- key: 1,
64
- class: "touchchat-edit-stop",
65
- onClick: handleStop
66
- }, [
67
- createElementVNode("div", { class: "touchchat-edit-stop-icon" })
68
- ]))
69
- ])
70
- ], 2)
365
+ createCommentVNode(" \u6309\u94AE\u4E0E\u5F00\u5173\u5BB9\u5668 "),
366
+ createElementVNode(
367
+ "div",
368
+ {
369
+ class: normalizeClass(unref(thinkAble) ? "touchchat-edit-submit is-thinkable" : "touchchat-edit-submit")
370
+ },
371
+ [
372
+ createElementVNode("div", { class: "touchchat-edit-submit-left" }, [
373
+ createCommentVNode(' \u9644\u4EF6 @click="showMarkLaryer = true" @progress-fn="progressFn" '),
374
+ unref(uploadAble) ? (openBlock(), createBlock(UploadView, {
375
+ key: 0,
376
+ ref_key: "uploadViewRef",
377
+ ref: uploadViewRef,
378
+ "file-list": fileList.value,
379
+ onUploadFile: uploadFile
380
+ }, {
381
+ default: withCtx(() => [
382
+ unref(uploadAble) ? (openBlock(), createElementBlock(
383
+ "button",
384
+ {
385
+ key: 0,
386
+ class: normalizeClass(["touchchat-edit-attach touchchat-edit-button", { "is-dis": __props.isChating }])
387
+ },
388
+ [
389
+ createElementVNode("div", { class: "touchchat-edit-attach-icon" }),
390
+ createElementVNode("div", { class: "touchchat-edit-tooltip align-left" }, [
391
+ createElementVNode("p", null, "\u6587\u4EF6\u6570\u91CF\uFF1A\u6700\u591A10\u4E2A"),
392
+ createElementVNode(
393
+ "p",
394
+ null,
395
+ "\u6587\u4EF6\u7C7B\u578B\uFF1A" + toDisplayString(unref(allowedTypes).join("\u3001") || "pdf\uFF0Ctxt\uFF0Ccsv\uFF0Cdocx\uFF0Cxlsx\uFF0Cxls\uFF0Cpptx\uFF0Cppt\uFF0Cmd\uFF0Cmobi\uFF0Cepub\uFF0Cpng\uFF0Cjpeg\uFF0Cjpg"),
396
+ 1
397
+ /* TEXT */
398
+ )
399
+ ])
400
+ ],
401
+ 2
402
+ /* CLASS */
403
+ )) : createCommentVNode("v-if", true)
404
+ ]),
405
+ _: 1
406
+ /* STABLE */
407
+ }, 8, ["file-list"])) : createCommentVNode("v-if", true),
408
+ unref(clearAble) ? (openBlock(), createElementBlock("button", {
409
+ key: 1,
410
+ class: "touchchat-edit-delete touchchat-edit-button",
411
+ onClick: handleClearClick
412
+ }, [
413
+ createElementVNode("div", { class: "touchchat-edit-delete-icon" }),
414
+ createElementVNode("div", { class: "touchchat-edit-tooltip" }, "\u6E05\u7A7A\u6587\u672C")
415
+ ])) : createCommentVNode("v-if", true),
416
+ createCommentVNode(" {{ finallyModules.length }} "),
417
+ finallyModules.value.length > 1 ? (openBlock(), createBlock(ModuleSelect, {
418
+ key: 2,
419
+ modelValue: selectVal.value,
420
+ "onUpdate:modelValue": ($event) => selectVal.value = $event,
421
+ modules: finallyModules.value
422
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "modules"])) : createCommentVNode("v-if", true),
423
+ createCommentVNode(" \u6DF1\u5EA6\u601D\u8003\u5F00\u5173 - \u4FEE\u6539\u4E3A\u6309\u94AE\u6837\u5F0F "),
424
+ unref(thinkAble) ? (openBlock(), createElementBlock(
425
+ "button",
426
+ {
427
+ key: 3,
428
+ class: normalizeClass(["touchchat-edit-think", { "is-on": __props.enableDeepThinking, "is-dis": __props.isChating }]),
429
+ onClick: handleDeepThinkingClick
430
+ },
431
+ [
432
+ createElementVNode("div", { class: "touchchat-edit-think-icon" }),
433
+ createElementVNode("div", { class: "touchchat-edit-think-text" }, "\u6DF1\u5EA6\u601D\u8003")
434
+ ],
435
+ 2
436
+ /* CLASS */
437
+ )) : createCommentVNode("v-if", true),
438
+ renderSlot(_ctx.$slots, "editSubmitLeft")
439
+ ]),
440
+ createElementVNode("div", { class: "touchchat-edit-submit-right" }, [
441
+ createCommentVNode(" \u622A\u56FE "),
442
+ unref(screenAble) ? (openBlock(), createBlock(Screenshot, {
443
+ key: 0,
444
+ onUpFileList: upFileList
445
+ })) : createCommentVNode("v-if", true),
446
+ createCommentVNode(" \u5B9E\u65F6\u8BED\u97F3 "),
447
+ unref(realtimeVoiceAble) ? (openBlock(), createBlock(RealtimeVoice, {
448
+ key: 1,
449
+ onStartRealtimeVoice: startRealtimeVoice,
450
+ onTranscription: transcription
451
+ })) : createCommentVNode("v-if", true),
452
+ createCommentVNode(" \u8BED\u97F3 "),
453
+ unref(voiceAble) ? (openBlock(), createBlock(
454
+ Voice,
455
+ {
456
+ key: 2,
457
+ ref_key: "voiceRef",
458
+ ref: voiceRef,
459
+ onUpFileList: upFileList
460
+ },
461
+ null,
462
+ 512
463
+ /* NEED_PATCH */
464
+ )) : createCommentVNode("v-if", true),
465
+ renderSlot(_ctx.$slots, "editFn"),
466
+ renderSlot(_ctx.$slots, "editSubmitRight"),
467
+ createCommentVNode(" \u53D1\u9001\u6309\u94AE "),
468
+ !__props.isChating ? (openBlock(), createElementBlock("button", {
469
+ key: 3,
470
+ class: "touchchat-edit-send",
471
+ disabled: !__props.inputValue.trim() && !fileList.value.length,
472
+ onClick: handleSend
473
+ }, [
474
+ createElementVNode("div", { class: "touchchat-edit-send-icon" })
475
+ ], 8, ["disabled"])) : (openBlock(), createElementBlock(
476
+ Fragment,
477
+ { key: 4 },
478
+ [
479
+ createCommentVNode(" \u505C\u6B62\u6309\u94AE "),
480
+ createElementVNode("button", {
481
+ class: "touchchat-edit-stop",
482
+ onClick: handleStop
483
+ }, [
484
+ createElementVNode("div", { class: "touchchat-edit-stop-icon" })
485
+ ])
486
+ ],
487
+ 2112
488
+ /* STABLE_FRAGMENT, DEV_ROOT_FRAGMENT */
489
+ ))
490
+ ])
491
+ ],
492
+ 2
493
+ /* CLASS */
494
+ ),
495
+ createVNode(MarkLayer, {
496
+ "show-mark-laryer": showMarkLaryer.value,
497
+ onColseMarkLayer: ($event) => showMarkLaryer.value = false
498
+ }, null, 8, ["show-mark-laryer", "onColseMarkLayer"])
71
499
  ]);
72
500
  };
73
501
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ChatInput.vue2.mjs","sources":["../../../../../../../packages/components/touchchat/src/AiChat/ChatInput.vue"],"sourcesContent":["<template>\n\t<div class=\"touchchat-edit\">\n\t\t<!-- 将v-model拆分为:value和@input -->\n\t\t<div class=\"touchchat-edit-input\">\n\t\t\t<textarea :value=\"inputValue\" :placeholder=\"placeholder ?? '请输入...'\" @input=\"handleInputChange\" @keyup.enter=\"handleSend\"></textarea>\n\t\t</div>\n\n\t\t<!-- 按钮与开关容器 -->\n\t\t<div :class=\"isThinking ? 'touchchat-edit-submit is-thinkable' : 'touchchat-edit-submit'\">\n\t\t\t<div class=\"touchchat-edit-submit-left\">\n\t\t\t\t<!-- 附件 -->\n\t\t\t\t<button class=\"touchchat-edit-attach\" :class=\"{ 'is-dis': isChating }\">\n\t\t\t\t\t<div class=\"touchchat-edit-attach-icon\"></div>\n\t\t\t\t</button>\n\n\t\t\t\t<!-- 深度思考开关 - 修改为按钮样式 -->\n\t\t\t\t<button v-if=\"isThinking\" class=\"touchchat-edit-think\" :class=\"{ 'is-on': enableDeepThinking, 'is-dis': isChating }\" @click=\"handleDeepThinkingClick\">\n\t\t\t\t\t<div class=\"touchchat-edit-think-icon\"></div>\n\t\t\t\t\t<div class=\"touchchat-edit-think-text\">深度思考</div>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t\t<div class=\"touchchat-edit-submit-right\">\n\t\t\t\t<!-- 发送按钮 -->\n\t\t\t\t<button v-if=\"!isChating\" class=\"touchchat-edit-send\" :disabled=\"!inputValue.trim()\" @click=\"handleSend\">\n\t\t\t\t\t<div class=\"touchchat-edit-send-icon\"></div>\n\t\t\t\t</button>\n\n\t\t\t\t<!-- 停止按钮 -->\n\t\t\t\t<button v-else class=\"touchchat-edit-stop\" @click=\"handleStop\">\n\t\t\t\t\t<div class=\"touchchat-edit-stop-icon\"></div>\n\t\t\t\t</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { inject } from 'vue'\nconst placeholder = inject('placeholder', '请输入...')\nconst isThinking = inject('isThinking', false)\nconst props = defineProps<{\n\tinputValue: string\n\tisChating: boolean\n\tenableDeepThinking: boolean\n}>()\n\nconst emits = defineEmits<{\n\t(e: 'send'): void\n\t(e: 'stop'): void\n\t(e: 'update:enableDeepThinking', value: boolean): void\n\t(e: 'update:inputValue', value: string): void // 添加inputValue更新事件\n}>()\n\n// 处理输入框变化\nconst handleInputChange = (e: Event) => {\n\tconst value = (e.target as HTMLTextAreaElement).value\n\temits('update:inputValue', value)\n}\n\n// 处理深度思考按钮点击\nconst handleDeepThinkingClick = () => {\n\temits('update:enableDeepThinking', !props.enableDeepThinking)\n}\n\nconst handleSend = () => emits('send')\nconst handleStop = () => emits('stop')\n</script>\n"],"names":["_createElementBlock","_createElementVNode","inputValue","_unref","_normalizeClass","isChating","enableDeepThinking"],"mappings":"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"}
1
+ {"version":3,"file":"ChatInput.vue2.mjs","sources":["../../../../../../../packages/components/touchchat/src/AiChat/ChatInput.vue"],"sourcesContent":["<template>\r\n\t<div class=\"touchchat-edit\">\r\n\t\t<slot name=\"editTop\"></slot>\r\n\t\t<!-- :file-progress=\"fileProgress\" -->\r\n\t\t<FileContent v-if=\"fileList.length > 0\" :file-list=\"fileList\" :has-colse=\"true\" type=\"ChatInput\" @colse=\"handleColse\" />\r\n\t\t<QuoteContent v-if=\"quoteObj && (quoteObj.content || quoteObj.msgList)\" :quote-obj=\"quoteObj\" @close=\"close\" />\r\n\t\t<div class=\"touchchat-edit-input\">\r\n\t\t\t<!-- @keydown.enter.prevent -->\r\n\t\t\t<textarea :value=\"inputValue\" :placeholder=\"placeholder ?? '请输入...'\" @paste=\"handlePaste\" @input=\"handleInputChange\" @keydown.enter=\"handleSend\"> </textarea>\r\n\t\t</div>\r\n\r\n\t\t<!-- 按钮与开关容器 -->\r\n\t\t<div :class=\"thinkAble ? 'touchchat-edit-submit is-thinkable' : 'touchchat-edit-submit'\">\r\n\t\t\t<div class=\"touchchat-edit-submit-left\">\r\n\t\t\t\t<!-- 附件 @click=\"showMarkLaryer = true\" @progress-fn=\"progressFn\" -->\r\n\t\t\t\t<upload-view v-if=\"uploadAble\" ref=\"uploadViewRef\" :file-list=\"fileList\" @upload-file=\"uploadFile\">\r\n\t\t\t\t\t<button v-if=\"uploadAble\" class=\"touchchat-edit-attach touchchat-edit-button\" :class=\"{ 'is-dis': isChating }\">\r\n\t\t\t\t\t\t<div class=\"touchchat-edit-attach-icon\"></div>\r\n\t\t\t\t\t\t<div class=\"touchchat-edit-tooltip align-left\">\r\n\t\t\t\t\t\t\t<p>文件数量:最多10个</p>\r\n\t\t\t\t\t\t\t<p>文件类型:{{ allowedTypes.join('、') || 'pdf,txt,csv,docx,xlsx,xls,pptx,ppt,md,mobi,epub,png,jpeg,jpg' }}</p>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</button>\r\n\t\t\t\t</upload-view>\r\n\r\n\t\t\t\t<button v-if=\"clearAble\" class=\"touchchat-edit-delete touchchat-edit-button\" @click=\"handleClearClick\">\r\n\t\t\t\t\t<div class=\"touchchat-edit-delete-icon\"></div>\r\n\t\t\t\t\t<div class=\"touchchat-edit-tooltip\">清空文本</div>\r\n\t\t\t\t</button>\r\n\t\t\t\t<!-- {{ finallyModules.length }} -->\r\n\t\t\t\t<ModuleSelect v-if=\"finallyModules.length > 1\" v-model=\"selectVal\" :modules=\"finallyModules\" />\r\n\r\n\t\t\t\t<!-- 深度思考开关 - 修改为按钮样式 -->\r\n\t\t\t\t<button v-if=\"thinkAble\" class=\"touchchat-edit-think\" :class=\"{ 'is-on': enableDeepThinking, 'is-dis': isChating }\" @click=\"handleDeepThinkingClick\">\r\n\t\t\t\t\t<div class=\"touchchat-edit-think-icon\"></div>\r\n\t\t\t\t\t<div class=\"touchchat-edit-think-text\">深度思考</div>\r\n\t\t\t\t</button>\r\n\t\t\t\t<slot name=\"editSubmitLeft\"></slot>\r\n\t\t\t</div>\r\n\t\t\t<div class=\"touchchat-edit-submit-right\">\r\n\t\t\t\t<!-- 截图 -->\r\n\t\t\t\t<screenshot v-if=\"screenAble\" @up-file-list=\"upFileList\"></screenshot>\r\n\t\t\t\t<!-- 实时语音 -->\r\n\t\t\t\t<realtime-voice v-if=\"realtimeVoiceAble\" @start-realtime-voice=\"startRealtimeVoice\" @transcription=\"transcription\"></realtime-voice>\r\n\t\t\t\t<!-- 语音 -->\r\n\t\t\t\t<voice v-if=\"voiceAble\" ref=\"voiceRef\" @up-file-list=\"upFileList\"></voice>\r\n\t\t\t\t<slot name=\"editFn\"></slot>\r\n\t\t\t\t<slot name=\"editSubmitRight\"></slot>\r\n\t\t\t\t<!-- 发送按钮 -->\r\n\t\t\t\t<button v-if=\"!isChating\" class=\"touchchat-edit-send\" :disabled=\"!inputValue.trim() && !fileList.length\" @click=\"handleSend\">\r\n\t\t\t\t\t<div class=\"touchchat-edit-send-icon\"></div>\r\n\t\t\t\t</button>\r\n\r\n\t\t\t\t<!-- 停止按钮 -->\r\n\t\t\t\t<button v-else class=\"touchchat-edit-stop\" @click=\"handleStop\">\r\n\t\t\t\t\t<div class=\"touchchat-edit-stop-icon\"></div>\r\n\t\t\t\t</button>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<MarkLayer :show-mark-laryer=\"showMarkLaryer\" @colse-mark-layer=\"showMarkLaryer = false\" />\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\n// todo 要实现默认选中第一个模块\r\nimport { ref, inject, provide, nextTick, computed, watch, onMounted } from 'vue'\r\nimport MarkLayer from '../../component/MarkLayer.vue'\r\nimport FileContent from '../../component/FileContent.vue'\r\nimport QuoteContent from '../../component/QuoteContent.vue'\r\nimport UploadView from '../../component/UploadView.vue'\r\nimport Screenshot from '../../component/Screenshot.vue'\r\nimport Voice from '../../component/VoiceView.vue'\r\nimport RealtimeVoice from '../../component/RealtimeVoice.vue'\r\nimport ModuleSelect from '../../component/ModuleSelect.vue'\r\nimport { showToast } from '../../utils/tools'\r\nimport type { ChatMsgList, FileItem } from './Chat/types'\r\n\r\n// 定义 body 返回值的类型\r\ninterface BodyConfig {\r\n\tmodel: string\r\n\tmessages: Array<{\r\n\t\trole: string\r\n\t\tcontent: string\r\n\t}>\r\n\tstream: boolean\r\n}\r\n\r\n// 定义 respoKey 返回值的类型\r\ninterface RespoKeyConfig {\r\n\tcategory: string\r\n\tcontentCategory: string\r\n\tcontent: string\r\n\tall: string\r\n\tallCategory: string\r\n}\r\n\r\ninterface ModuleItem {\r\n\tname: string\r\n\tconfig: {\r\n\t\taction: string\r\n\t\theaders: () => object\r\n\t\tbody: () => BodyConfig // 修改为具体类型\r\n\t\trespoKey: () => RespoKeyConfig // 修改为具体类型\r\n\t}\r\n}\r\n\r\nconst props = defineProps<{\r\n\tinputValue: string\r\n\tisChating: boolean\r\n\tenableDeepThinking?: boolean\r\n}>()\r\n\r\nconst placeholder = inject('placeholder', '请输入...')\r\nconst layout = inject<string>('layout', 'side, think, upload, chain, screen,realtime')\r\nconst modules = inject<(string | ModuleItem)[]>('modules', [])\r\nconst iModules = ref(modules)\r\nwatch(\r\n\t() => modules,\r\n\tnewVal => {\r\n\t\tiModules.value = newVal\r\n\t\tconsole.log('modules === ChatInput.vue === 128', newVal)\r\n\t}\r\n\t// { immediate: true }\r\n)\r\n\r\nconst allowedTypes = inject<string[]>('allowedTypes', [])\r\n\r\nprovide('uploadFile', (index: number, type?: string) => {\r\n\tif (uploadViewRef.value) {\r\n\t\tuploadViewRef.value.uploadFile(index, type)\r\n\t}\r\n})\r\nconst thinkAble = layout.includes('think')\r\nconst clearAble = layout.includes('clear')\r\nconst uploadAble = layout.includes('upload')\r\nconst screenAble = layout.includes('screen')\r\nconst voiceAble = layout.includes('voice')\r\nconst realtimeVoiceAble = layout.includes('realtime')\r\nconst showMarkLaryer = ref<boolean>(false)\r\nconst fileList = ref<FileItem[]>([])\r\n// const fileData = ref<FileItem[]>([])\r\nconst optionalModules = ref<ModuleItem[]>([\r\n\t{\r\n\t\tname: 'deepseek-v3',\r\n\t\tconfig: {\r\n\t\t\taction: 'https://api.apiyi.com/v1/chat/completions',\r\n\t\t\theaders: () => ({\r\n\t\t\t\t'Content-Type': 'application/json',\r\n\t\t\t\tAuthorization: 'Bearer sk-fe9MtODvds8wpzz05f3417Fe3e9641C1926e6fC588425dEd'\r\n\t\t\t}),\r\n\t\t\tbody: () => ({\r\n\t\t\t\tmodel: 'deepseek-v3',\r\n\t\t\t\tmessages: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\trole: 'user',\r\n\t\t\t\t\t\t// content: props.inputValue // 使用传入的用户内容参数\r\n\t\t\t\t\t\tcontent: ''\r\n\t\t\t\t\t}\r\n\t\t\t\t],\r\n\t\t\t\tstream: true\r\n\t\t\t}),\r\n\t\t\trespoKey: () => ({\r\n\t\t\t\tcategory: 'category',\r\n\t\t\t\tcontentCategory: 'task_stream_content',\r\n\t\t\t\tcontent: 'content',\r\n\t\t\t\tall: 'message',\r\n\t\t\t\tallCategory: 'answer'\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n])\r\nconst uploadViewRef = ref<InstanceType<typeof UploadView>>()\r\nconst selectVal = ref('')\r\nconst selectInfo = ref<ModuleItem>({} as ModuleItem)\r\nconst voiceRef = ref<InstanceType<typeof Voice>>()\r\n// const scripts = inject<any[]>('scripts', [])\r\n\r\nconst modelChange = inject<(item: ModuleItem, index: number) => void>('modelChange', () => {\r\n\tconsole.warn('未提供modelChange函数')\r\n})\r\n\r\nconst emits = defineEmits<{\r\n\t(e: 'send', val: string, list: FileItem[]): void\r\n\t(e: 'stop'): void\r\n\t(e: 'update:enableDeepThinking', value: boolean): void\r\n\t(e: 'update:inputValue', value: string): void // 添加inputValue更新事件\r\n\t(e: 'moduleInfo', info: ModuleItem): void\r\n}>()\r\n\r\nwatch(\r\n\t() => selectVal.value,\r\n\t() => {\r\n\t\tconsole.log('selectVal.value === ChatInput.vue === 198', selectVal.value)\r\n\t\tif (finallyModules.value.length > 0) {\r\n\t\t\tselectInfo.value = finallyModules.value.find((item: any) => item.name === selectVal.value)\r\n\t\t\tif (selectInfo.value) {\r\n\t\t\t\temits('moduleInfo', selectInfo.value)\r\n\t\t\t\tmodelChange(selectInfo.value, finallyModules.value.indexOf(selectInfo.value))\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t{ deep: true }\r\n)\r\n\r\nwatch(\r\n\t() => props.enableDeepThinking,\r\n\t() => {\r\n\t\tupdateSelectInfo()\r\n\t},\r\n\t{ deep: true }\r\n)\r\n\r\nwatch(\r\n\t() => props.inputValue,\r\n\t() => {\r\n\t\tupdateSelectInfo()\r\n\t},\r\n\t{ deep: true }\r\n)\r\n\r\nconst finallyModules = computed(() => {\r\n\t// console.log('modules === ChatInput.vue === 226', modules, iModules.value)\r\n\tif (!iModules.value.length) {\r\n\t\treturn optionalModules.value\r\n\t}\r\n\treturn iModules.value.flatMap((module: any) => {\r\n\t\tif (typeof module === 'string') {\r\n\t\t\t// 若 module 是字符串,在 optionalModules 中查找 name 匹配的项\r\n\t\t\tconst matchedModule = optionalModules.value.find((optModule: any) => optModule.name === module)\r\n\t\t\tif (matchedModule) {\r\n\t\t\t\t// 对匹配到的模块也更新 content 值\r\n\t\t\t\tconst updatedModule = { ...matchedModule }\r\n\t\t\t\tconst body = updatedModule.config.body()\r\n\t\t\t\tif (thinkAble) {\r\n\t\t\t\t\tbody.model = props.enableDeepThinking ? 'deepseek-reasoner' : 'deepseek-v3'\r\n\t\t\t\t}\r\n\t\t\t\tupdatedModule.config.body = () => body\r\n\t\t\t\treturn [updatedModule]\r\n\t\t\t}\r\n\t\t\treturn []\r\n\t\t} else {\r\n\t\t\tconst body = module.config.body()\r\n\t\t\tif (thinkAble) {\r\n\t\t\t\tbody.model = props.enableDeepThinking ? 'deepseek-reasoner' : 'deepseek-v3'\r\n\t\t\t}\r\n\t\t\t// 重新定义 body 方法,返回更新后的 body\r\n\t\t\tmodule.config.body = () => body\r\n\t\t\treturn [module]\r\n\t\t}\r\n\t})\r\n})\r\n\r\nconst updateSelectInfo = () => {\r\n\tif (!selectInfo.value.name) {\r\n\t\tselectInfo.value = finallyModules.value[0]\r\n\t\tselectVal.value = selectInfo.value.name\r\n\t}\r\n\tconst body = (selectInfo.value as ModuleItem).config.body()\r\n\tif (body.messages && body.messages.length > 0 && body.messages[0].content) {\r\n\t\tbody.messages[0].content = props.inputValue\r\n\t} else {\r\n\t\tbody.messages = [{ role: 'user', content: props.inputValue }]\r\n\t}\r\n\t;(selectInfo.value as ModuleItem).config.body = () => body\r\n\tif (finallyModules.value.length > 0 && selectInfo.value) {\r\n\t\tconst body = selectInfo.value.config.body()\r\n\t\tif (thinkAble && body.model) {\r\n\t\t\tbody.model = props.enableDeepThinking ? 'deepseek-reasoner' : 'deepseek-v3'\r\n\t\t}\r\n\t\tselectInfo.value.config.body = () => body\r\n\t}\r\n}\r\n\r\nconst upFileList = (list: FileItem[]) => {\r\n\tfileList.value.push(...list)\r\n\tnextTick(() => {\r\n\t\tif (uploadViewRef.value) {\r\n\t\t\t// 只对最新复制的图片进行加载\r\n\t\t\tuploadViewRef.value.uploadFile(fileList.value.length - 1)\r\n\t\t}\r\n\t})\r\n}\r\n\r\nconst handlePaste = (event: any, type?: string) => {\r\n\t// event.preventDefault();\r\n\tif (event.clipboardData) {\r\n\t\tconst clipboardData = event.clipboardData || window.Clipboard\r\n\t\tconst items = clipboardData.items\r\n\r\n\t\tlet isImage = false\r\n\t\tfor (let i = 0; i < items.length; i++) {\r\n\t\t\tif (items[i].type.indexOf('image/') !== -1) {\r\n\t\t\t\tisImage = true\r\n\t\t\t\t// 获取图片文件\r\n\t\t\t\tconst blob = items[i].getAsFile()\r\n\t\t\t\tif (blob) {\r\n\t\t\t\t\tconst reader = new FileReader()\r\n\t\t\t\t\treader.onload = e => {\r\n\t\t\t\t\t\tconst base64 = e.target?.result as string\r\n\t\t\t\t\t\t// 生成图片属性对象\r\n\t\t\t\t\t\tconst imageInfo: FileItem = {\r\n\t\t\t\t\t\t\tfile: blob,\r\n\t\t\t\t\t\t\tisUploading: false,\r\n\t\t\t\t\t\t\tuploadProgress: 0,\r\n\t\t\t\t\t\t\tuploadSuccess: false,\r\n\t\t\t\t\t\t\tuploadError: false,\r\n\t\t\t\t\t\t\tfileSize: blob.size,\r\n\t\t\t\t\t\t\tfileType: blob.type,\r\n\t\t\t\t\t\t\tname: `pasted_image_${Date.now()}`,\r\n\t\t\t\t\t\t\tid: Date.now().toString(),\r\n\t\t\t\t\t\t\tbase64,\r\n\t\t\t\t\t\t\tlastModified: Date.now()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tfileList.value.push(imageInfo)\r\n\t\t\t\t\t\tnextTick(() => {\r\n\t\t\t\t\t\t\tif (uploadViewRef.value) {\r\n\t\t\t\t\t\t\t\t// 只对最新复制的图片进行加载\r\n\t\t\t\t\t\t\t\tuploadViewRef.value.uploadFile(fileList.value.length - 1)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t}\r\n\t\t\t\t\treader.readAsDataURL(blob)\r\n\t\t\t\t}\r\n\t\t\t\tbreak\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (isImage) {\r\n\t\t\tconsole.log('检测到粘贴的是图片')\r\n\t\t} else {\r\n\t\t\tconsole.log('粘贴的不是图片')\r\n\t\t}\r\n\t} else {\r\n\t\tif (type === 'copy') {\r\n\t\t\tfileList.value = event\r\n\t\t\tnextTick(() => {\r\n\t\t\t\tif (uploadViewRef.value) {\r\n\t\t\t\t\t// 只对最新复制的图片进行加载\r\n\t\t\t\t\tuploadViewRef.value.uploadFile(fileList.value.length - 1)\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\treturn\r\n\t\t}\r\n\t\tfileList.value.push(...event)\r\n\t\tnextTick(() => {\r\n\t\t\tif (uploadViewRef.value) {\r\n\t\t\t\t// 只对最新复制的图片进行加载\r\n\t\t\t\tuploadViewRef.value.uploadFile(fileList.value.length - 1)\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n}\r\n\r\nconst openMarkLayer = () => {\r\n\tshowMarkLaryer.value = true\r\n}\r\n\r\nconst colseMarkLayer = () => {\r\n\tshowMarkLaryer.value = false\r\n}\r\n\r\nconst handleColse = (id: string) => {\r\n\tconst index = fileList.value.findIndex((item: any) => item.id === id)\r\n\tif (index !== -1) {\r\n\t\tfileList.value.splice(index, 1)\r\n\t}\r\n}\r\n\r\nconst startRealtimeVoice = () => {\r\n\tif (voiceRef.value) {\r\n\t\tvoiceRef.value.toggleRecording(true)\r\n\t}\r\n}\r\n\r\nconst transcription = (text: string) => {\r\n\temits('update:inputValue', text)\r\n}\r\n\r\nconst handleClearClick = () => {\r\n\temits('update:inputValue', '')\r\n}\r\n\r\n// 处理输入框变化\r\nconst handleInputChange = (e: Event) => {\r\n\tconst value = (e.target as HTMLTextAreaElement).value\r\n\temits('update:inputValue', value)\r\n}\r\n\r\n// 处理深度思考按钮点击\r\nconst handleDeepThinkingClick = () => {\r\n\t// enableDeepThinking.value ? 'deepseek-reasoner' : 'deepseek-v3'\r\n\temits('update:enableDeepThinking', !props.enableDeepThinking)\r\n}\r\n\r\nconst uploadFile = (file: FileItem[]) => {\r\n\tif (file.length > 0) {\r\n\t\tfileList.value = file\r\n\t}\r\n}\r\n\r\nconst handleSend = (e?: Event) => {\r\n\t// 检测是否为 Shift+Enter,如果是则不发送,执行默认换行行为\r\n\tif (e instanceof KeyboardEvent && e.shiftKey) {\r\n\t\treturn\r\n\t}\r\n\t// 普通 Enter 时阻止默认行为,执行发送逻辑\r\n\tif (e instanceof KeyboardEvent) {\r\n\t\te.preventDefault()\r\n\t}\r\n\t// if (!scripts.length && fileList.value.length > 0) {\r\n\t// \tshowToast('暂不支持文件发送')\r\n\t// \treturn\r\n\t// }\r\n\tif (!props.inputValue.trim() && !fileList.value.length) {\r\n\t\tshowToast('请输入内容')\r\n\t\treturn\r\n\t}\r\n\tlet uploadError = false\r\n\tif (fileList.value.length > 0) {\r\n\t\tfileList.value.forEach((item: any) => {\r\n\t\t\tif (item.uploadError) {\r\n\t\t\t\tuploadError = true\r\n\t\t\t}\r\n\t\t})\r\n\t}\r\n\tif (uploadError) {\r\n\t\tshowToast('上传失败,请重试')\r\n\t\treturn\r\n\t}\r\n\tif (fileList.value.length > 10) {\r\n\t\tshowToast('文件数量不能超过10个')\r\n\t\treturn\r\n\t}\r\n\t// 过滤文件列表,只发送后端需要的字段\r\n\tconst sanitizedFileList = fileList.value.map(file => ({\r\n\t\tid: file.id,\r\n\t\tname: file.name,\r\n\t\turl: file.url,\r\n\t\tfileId: file.fileId,\r\n\t\tfileType: file.fileType,\r\n\t\tfileSize: file.fileSize,\r\n\t\tlastModified: file.lastModified\r\n\t}))\r\n\temits('send', props.inputValue, sanitizedFileList as any)\r\n\tnextTick(() => {\r\n\t\tfileList.value = []\r\n\t\tif (uploadViewRef.value) {\r\n\t\t\tuploadViewRef.value.resetFile()\r\n\t\t}\r\n\t\tif (voiceRef.value) {\r\n\t\t\tvoiceRef.value.resetFile()\r\n\t\t}\r\n\t})\r\n}\r\n\r\nconst itemUploadFile = (index: number, type: string) => {\r\n\tif (uploadViewRef.value) {\r\n\t\tuploadViewRef.value.uploadFile(index, type)\r\n\t}\r\n}\r\nconst handleStop = () => emits('stop')\r\nonMounted(() => {\r\n\tconsole.log('onMounted')\r\n\t// if (finallyModules.value.length > 0) {\r\n\t// \tselectVal.value = finallyModules.value[0].name\r\n\t// \tselectInfo.value = finallyModules.value[0]\r\n\t// \tif (selectInfo.value) {\r\n\t// \t\temits('moduleInfo', selectInfo.value)\r\n\t// \t}\r\n\t// }\r\n})\r\nconst quoteObj = ref<any>(null)\r\nconst idx = ref(0)\r\nconst updateQuoteData = (item: ChatMsgList, index: number) => {\r\n\tquoteObj.value = item\r\n\tidx.value = index\r\n}\r\nconst close = () => {\r\n\tquoteObj.value = {}\r\n}\r\ndefineExpose({\r\n\thandlePaste,\r\n\topenMarkLayer,\r\n\tcolseMarkLayer,\r\n\titemUploadFile,\r\n\tupdateQuoteData\r\n})\r\n</script>\r\n"],"names":["body","_createElementBlock","_renderSlot","_createCommentVNode","_createBlock","_createElementVNode","_unref","_normalizeClass","_toDisplayString","_Fragment","_createVNode"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import _sfc_main from './HistoryList.vue2.mjs';
2
+ import _export_sfc from '../../../../../_virtual/_plugin-vue_export-helper.mjs';
2
3
 
4
+ var HistoryList = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "HistoryList.vue"]]);
3
5
 
4
-
5
- export { _sfc_main as default };
6
+ export { HistoryList as default };
6
7
  //# sourceMappingURL=HistoryList.vue.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"HistoryList.vue.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"HistoryList.vue.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}