@touchvue/chat 1.0.0-beta.51 → 1.0.0-beta.52

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 (132) hide show
  1. package/README.md +70 -70
  2. package/es/node_modules/.pnpm/{dompurify@3.4.3 → dompurify@3.3.0}/node_modules/dompurify/dist/purify.es.mjs +143 -299
  3. package/es/node_modules/.pnpm/dompurify@3.3.0/node_modules/dompurify/dist/purify.es.mjs.map +1 -0
  4. package/es/package.json.css +1 -1
  5. package/es/package.json.mjs +1 -1
  6. package/es/packages/components/resolver.mjs.map +1 -1
  7. package/es/packages/components/touchchat/component/AiRobot/HelloChat.vue2.mjs.map +1 -1
  8. package/es/packages/components/touchchat/component/AiRobot/letter.vue.mjs +1 -1
  9. package/es/packages/components/touchchat/component/AiRobot/letter.vue2.mjs +9 -9
  10. package/es/packages/components/touchchat/component/AiRobot/letter.vue2.mjs.map +1 -1
  11. package/es/packages/components/touchchat/component/FileContent.vue2.mjs +3 -3
  12. package/es/packages/components/touchchat/component/FileContent.vue2.mjs.map +1 -1
  13. package/es/packages/components/touchchat/component/FileView.vue2.mjs +2 -2
  14. package/es/packages/components/touchchat/component/FileView.vue2.mjs.map +1 -1
  15. package/es/packages/components/touchchat/component/HelloChat.vue2.mjs.map +1 -1
  16. package/es/packages/components/touchchat/component/ImageFile.vue2.mjs +6 -6
  17. package/es/packages/components/touchchat/component/ImageFile.vue2.mjs.map +1 -1
  18. package/es/packages/components/touchchat/component/ImageView.vue2.mjs +1 -1
  19. package/es/packages/components/touchchat/component/ImageView.vue2.mjs.map +1 -1
  20. package/es/packages/components/touchchat/component/LinkView.vue2.mjs +4 -4
  21. package/es/packages/components/touchchat/component/LinkView.vue2.mjs.map +1 -1
  22. package/es/packages/components/touchchat/component/MarkLayer.vue2.mjs +1 -1
  23. package/es/packages/components/touchchat/component/MarkLayer.vue2.mjs.map +1 -1
  24. package/es/packages/components/touchchat/component/ModuleSelect.vue2.mjs +2 -2
  25. package/es/packages/components/touchchat/component/ModuleSelect.vue2.mjs.map +1 -1
  26. package/es/packages/components/touchchat/component/PDFFile.vue2.mjs +10 -10
  27. package/es/packages/components/touchchat/component/PDFFile.vue2.mjs.map +1 -1
  28. package/es/packages/components/touchchat/component/QuoteContent.vue2.mjs.map +1 -1
  29. package/es/packages/components/touchchat/component/RealtimeVoice.vue2.mjs +1 -1
  30. package/es/packages/components/touchchat/component/RealtimeVoice.vue2.mjs.map +1 -1
  31. package/es/packages/components/touchchat/component/UploadView.vue2.mjs.map +1 -1
  32. package/es/packages/components/touchchat/component/VideoFile.vue.mjs +1 -1
  33. package/es/packages/components/touchchat/component/VideoFile.vue2.mjs.map +1 -1
  34. package/es/packages/components/touchchat/src/AiChat/AgentsView.vue2.mjs +1 -1
  35. package/es/packages/components/touchchat/src/AiChat/AgentsView.vue2.mjs.map +1 -1
  36. package/es/packages/components/touchchat/src/AiChat/AiMessage.vue2.mjs +30 -30
  37. package/es/packages/components/touchchat/src/AiChat/AiMessage.vue2.mjs.map +1 -1
  38. package/es/packages/components/touchchat/src/AiChat/Chat/scriptMatcher.mjs.map +1 -1
  39. package/es/packages/components/touchchat/src/AiChat/Chat/types.mjs.map +1 -1
  40. package/es/packages/components/touchchat/src/AiChat/Chat/useChat.mjs +6 -0
  41. package/es/packages/components/touchchat/src/AiChat/Chat/useChat.mjs.map +1 -1
  42. package/es/packages/components/touchchat/src/AiChat/Chat/useCopy.mjs.map +1 -1
  43. package/es/packages/components/touchchat/src/AiChat/Chat/useMessageRender.mjs +1 -1
  44. package/es/packages/components/touchchat/src/AiChat/Chat/useMessageRender.mjs.map +1 -1
  45. package/es/packages/components/touchchat/src/AiChat/Chat/useSSE.mjs +93 -4
  46. package/es/packages/components/touchchat/src/AiChat/Chat/useSSE.mjs.map +1 -1
  47. package/es/packages/components/touchchat/src/AiChat/ChatInput.vue2.mjs +5 -5
  48. package/es/packages/components/touchchat/src/AiChat/ChatInput.vue2.mjs.map +1 -1
  49. package/es/packages/components/touchchat/src/AiChat/HistoryList.vue2.mjs +1 -1
  50. package/es/packages/components/touchchat/src/AiChat/HistoryList.vue2.mjs.map +1 -1
  51. package/es/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.mjs +3 -3
  52. package/es/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.mjs.map +1 -1
  53. package/es/packages/components/touchchat/src/AiChat/MessageActions.vue2.mjs +11 -11
  54. package/es/packages/components/touchchat/src/AiChat/MessageActions.vue2.mjs.map +1 -1
  55. package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue2.mjs +3 -3
  56. package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue2.mjs.map +1 -1
  57. package/es/packages/components/touchchat/src/AiChat/TouchAgent.vue2.mjs +1 -1
  58. package/es/packages/components/touchchat/src/AiChat/TouchChat.vue2.mjs.map +1 -1
  59. package/es/packages/components/touchchat/src/AiChat/TouchHistory.vue2.mjs.map +1 -1
  60. package/es/packages/components/touchchat/src/AiChat/UserMessage.vue2.mjs +16 -16
  61. package/es/packages/components/touchchat/src/AiChat/UserMessage.vue2.mjs.map +1 -1
  62. package/es/packages/components/touchchat/src/index.vue2.mjs.map +1 -1
  63. package/es/packages/components/touchchat/utils/a2aService.mjs.map +1 -1
  64. package/es/packages/components/touchchat/utils/fetchStream.mjs.map +1 -1
  65. package/es/packages/components/touchchat/utils/markdown.mjs +1 -1
  66. package/lib/node_modules/.pnpm/{dompurify@3.4.3 → dompurify@3.3.0}/node_modules/dompurify/dist/purify.es.js +143 -299
  67. package/lib/node_modules/.pnpm/dompurify@3.3.0/node_modules/dompurify/dist/purify.es.js.map +1 -0
  68. package/lib/package.json.css +1 -1
  69. package/lib/package.json.js +1 -1
  70. package/lib/packages/components/resolver.js.map +1 -1
  71. package/lib/packages/components/touchchat/component/AiRobot/HelloChat.vue2.js.map +1 -1
  72. package/lib/packages/components/touchchat/component/AiRobot/letter.vue.js +1 -1
  73. package/lib/packages/components/touchchat/component/AiRobot/letter.vue2.js +9 -9
  74. package/lib/packages/components/touchchat/component/AiRobot/letter.vue2.js.map +1 -1
  75. package/lib/packages/components/touchchat/component/FileContent.vue2.js +3 -3
  76. package/lib/packages/components/touchchat/component/FileContent.vue2.js.map +1 -1
  77. package/lib/packages/components/touchchat/component/FileView.vue2.js +2 -2
  78. package/lib/packages/components/touchchat/component/FileView.vue2.js.map +1 -1
  79. package/lib/packages/components/touchchat/component/HelloChat.vue2.js.map +1 -1
  80. package/lib/packages/components/touchchat/component/ImageFile.vue2.js +6 -6
  81. package/lib/packages/components/touchchat/component/ImageFile.vue2.js.map +1 -1
  82. package/lib/packages/components/touchchat/component/ImageView.vue2.js +1 -1
  83. package/lib/packages/components/touchchat/component/ImageView.vue2.js.map +1 -1
  84. package/lib/packages/components/touchchat/component/LinkView.vue2.js +4 -4
  85. package/lib/packages/components/touchchat/component/LinkView.vue2.js.map +1 -1
  86. package/lib/packages/components/touchchat/component/MarkLayer.vue2.js +1 -1
  87. package/lib/packages/components/touchchat/component/MarkLayer.vue2.js.map +1 -1
  88. package/lib/packages/components/touchchat/component/ModuleSelect.vue2.js +2 -2
  89. package/lib/packages/components/touchchat/component/ModuleSelect.vue2.js.map +1 -1
  90. package/lib/packages/components/touchchat/component/PDFFile.vue2.js +10 -10
  91. package/lib/packages/components/touchchat/component/PDFFile.vue2.js.map +1 -1
  92. package/lib/packages/components/touchchat/component/QuoteContent.vue2.js.map +1 -1
  93. package/lib/packages/components/touchchat/component/RealtimeVoice.vue2.js +1 -1
  94. package/lib/packages/components/touchchat/component/RealtimeVoice.vue2.js.map +1 -1
  95. package/lib/packages/components/touchchat/component/UploadView.vue2.js.map +1 -1
  96. package/lib/packages/components/touchchat/component/VideoFile.vue.js +1 -1
  97. package/lib/packages/components/touchchat/component/VideoFile.vue2.js.map +1 -1
  98. package/lib/packages/components/touchchat/src/AiChat/AgentsView.vue2.js +1 -1
  99. package/lib/packages/components/touchchat/src/AiChat/AgentsView.vue2.js.map +1 -1
  100. package/lib/packages/components/touchchat/src/AiChat/AiMessage.vue2.js +30 -30
  101. package/lib/packages/components/touchchat/src/AiChat/AiMessage.vue2.js.map +1 -1
  102. package/lib/packages/components/touchchat/src/AiChat/Chat/scriptMatcher.js.map +1 -1
  103. package/lib/packages/components/touchchat/src/AiChat/Chat/types.js.map +1 -1
  104. package/lib/packages/components/touchchat/src/AiChat/Chat/useChat.js +6 -0
  105. package/lib/packages/components/touchchat/src/AiChat/Chat/useChat.js.map +1 -1
  106. package/lib/packages/components/touchchat/src/AiChat/Chat/useCopy.js.map +1 -1
  107. package/lib/packages/components/touchchat/src/AiChat/Chat/useMessageRender.js +1 -1
  108. package/lib/packages/components/touchchat/src/AiChat/Chat/useMessageRender.js.map +1 -1
  109. package/lib/packages/components/touchchat/src/AiChat/Chat/useSSE.js +93 -4
  110. package/lib/packages/components/touchchat/src/AiChat/Chat/useSSE.js.map +1 -1
  111. package/lib/packages/components/touchchat/src/AiChat/ChatInput.vue2.js +5 -5
  112. package/lib/packages/components/touchchat/src/AiChat/ChatInput.vue2.js.map +1 -1
  113. package/lib/packages/components/touchchat/src/AiChat/HistoryList.vue2.js +1 -1
  114. package/lib/packages/components/touchchat/src/AiChat/HistoryList.vue2.js.map +1 -1
  115. package/lib/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.js +3 -3
  116. package/lib/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.js.map +1 -1
  117. package/lib/packages/components/touchchat/src/AiChat/MessageActions.vue2.js +11 -11
  118. package/lib/packages/components/touchchat/src/AiChat/MessageActions.vue2.js.map +1 -1
  119. package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue2.js +3 -3
  120. package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue2.js.map +1 -1
  121. package/lib/packages/components/touchchat/src/AiChat/TouchAgent.vue2.js +1 -1
  122. package/lib/packages/components/touchchat/src/AiChat/TouchChat.vue2.js.map +1 -1
  123. package/lib/packages/components/touchchat/src/AiChat/TouchHistory.vue2.js.map +1 -1
  124. package/lib/packages/components/touchchat/src/AiChat/UserMessage.vue2.js +16 -16
  125. package/lib/packages/components/touchchat/src/AiChat/UserMessage.vue2.js.map +1 -1
  126. package/lib/packages/components/touchchat/src/index.vue2.js.map +1 -1
  127. package/lib/packages/components/touchchat/utils/a2aService.js.map +1 -1
  128. package/lib/packages/components/touchchat/utils/fetchStream.js.map +1 -1
  129. package/lib/packages/components/touchchat/utils/markdown.js +1 -1
  130. package/package.json +83 -83
  131. package/es/node_modules/.pnpm/dompurify@3.4.3/node_modules/dompurify/dist/purify.es.mjs.map +0 -1
  132. package/lib/node_modules/.pnpm/dompurify@3.4.3/node_modules/dompurify/dist/purify.es.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"FileContent.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/FileContent.vue"],"sourcesContent":["<template>\r\n\t<div class=\"file-content\">\r\n\t\t<div ref=\"scrollContainer\" class=\"file-content-scroll\">\r\n\t\t\t<template v-for=\"(item, index) in fileList\" :key=\"item.id\">\r\n\t\t\t\t<ImageFile v-if=\"item.fileType.includes('image')\" :item=\"item\" :index=\"index\" :has-colse=\"hasColse\" @colse=\"handleColse\" />\r\n\t\t\t\t<VideoFile v-else-if=\"item.fileType.includes('mp4')\" :item=\"item\" :index=\"index\" />\r\n\t\t\t\t<PDFFile v-else :item=\"item\" :index=\"index\" :has-colse=\"hasColse\" @colse=\"handleColse\" />\r\n\t\t\t</template>\r\n\t\t</div>\r\n\t\t<div v-show=\"showRightTip\" class=\"file-content-right-tip\">\r\n\t\t\t<div class=\"file-content-svg\" @click=\"scrollRightFn\">\r\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"5\" height=\"9\" viewBox=\"0 0 5 9\" fill=\"none\">\r\n\t\t\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1.01036 0.877808L4.5968 4.46425C4.80562 4.67307 4.80562 5.01164 4.5968 5.22046L1.01036 8.8069L0.25415 8.05069L3.46248 4.84235L0.25415 1.63402L1.01036 0.877808Z\" fill=\"#1D2129\" />\r\n\t\t\t\t</svg>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div v-show=\"showLeftTip\" class=\"file-content-left-tip\">\r\n\t\t\t<div class=\"file-content-svg\" @click=\"scrollLeftFn\">\r\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"5\" height=\"9\" viewBox=\"0 0 5 9\" fill=\"none\">\r\n\t\t\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1.01036 0.877808L4.5968 4.46425C4.80562 4.67307 4.80562 5.01164 4.5968 5.22046L1.01036 8.8069L0.25415 8.05069L3.46248 4.84235L0.25415 1.63402L1.01036 0.877808Z\" fill=\"#1D2129\" />\r\n\t\t\t\t</svg>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nimport ImageFile from './ImageFile.vue'\r\nimport PDFFile from './PDFFile.vue'\r\nimport VideoFile from './VideoFile.vue'\r\nimport { ref, onMounted, onUnmounted } from 'vue'\r\nimport type { FileItem } from '../src/AiChat/Chat/types'\r\n\r\nconst showRightTip = ref(false)\r\nconst showLeftTip = ref(false)\r\nconst scrollDistance = ref(256) // 每次滚动的距离\r\nconst scrollContainer = ref<HTMLDivElement | null>(null)\r\n\r\nconst props = defineProps<{\r\n\tfileList: FileItem[]\r\n\thasColse: boolean\r\n\ttype: string\r\n}>()\r\nconst emits = defineEmits<{\r\n\t(e: 'colse', id: string): void\r\n\t(e: 'userMessageFileList', value: FileItem, index: number): void\r\n}>()\r\n\r\nlet edgeDetectionDebounce: NodeJS.Timeout | null = null\r\n// 处理鼠标滚轮事件,将纵向滚动转为横向滚动\r\nconst handleWheel = (e: WheelEvent) => {\r\n\tif (!scrollContainer.value) return\r\n\r\n\t// 阻止默认的纵向滚动\r\n\te.preventDefault()\r\n\tshowRightTip.value = true\r\n\tshowLeftTip.value = true\r\n\tconst { scrollLeft, clientWidth, scrollWidth } = scrollContainer.value\r\n\r\n\t// 左边缘检测(允许1px的误差)\r\n\tif (scrollLeft <= 1) {\r\n\t\tshowLeftTip.value = false\r\n\t}\r\n\r\n\t// 右边缘检测(允许1px的误差)\r\n\tif (scrollLeft + clientWidth >= scrollWidth - 1) {\r\n\t\tshowRightTip.value = false\r\n\t}\r\n\r\n\t// 计算滚动距离,添加一些乘数使滚动更自然\r\n\tconst scrollAmount = e.deltaY * 0.8\r\n\r\n\t// 平滑滚动\r\n\tscrollContainer.value.scrollBy({\r\n\t\tleft: scrollAmount,\r\n\t\tbehavior: 'smooth'\r\n\t})\r\n}\r\n\r\nconst handleScroll = (e: WheelEvent) => {\r\n\t// 防抖处理,避免滚动过程中频繁触发\r\n\tif (edgeDetectionDebounce) {\r\n\t\tclearTimeout(edgeDetectionDebounce)\r\n\t}\r\n\r\n\tedgeDetectionDebounce = setTimeout(() => {\r\n\t\thandleWheel(e)\r\n\t}, 50) // 50ms的防抖延迟\r\n}\r\n\r\n// 向左滚动(模拟向上滚轮事件)\r\nconst scrollLeftFn = () => {\r\n\tif (!showLeftTip.value || !scrollContainer.value) return\r\n\r\n\t// 模拟向上滚动的滚轮事件(deltaY 为负值)\r\n\tconst mockEvent = new WheelEvent('wheel', {\r\n\t\tdeltaY: -scrollDistance.value, // 负值表示向上滚动,我们将其转换为向左滚动\r\n\t\tbubbles: true,\r\n\t\tcancelable: true\r\n\t})\r\n\r\n\t// 复用 handleWheel 方法处理模拟事件\r\n\thandleWheel(mockEvent)\r\n}\r\n\r\n// 向右滚动(模拟向下滚轮事件)\r\nconst scrollRightFn = () => {\r\n\tif (!showRightTip.value || !scrollContainer.value) return\r\n\r\n\t// 模拟向下滚动的滚轮事件(deltaY 为正值)\r\n\tconst mockEvent = new WheelEvent('wheel', {\r\n\t\tdeltaY: scrollDistance.value, // 正值表示向下滚动,我们将其转换为向右滚动\r\n\t\tbubbles: true,\r\n\t\tcancelable: true\r\n\t})\r\n\r\n\t// 复用 handleWheel 方法处理模拟事件\r\n\thandleWheel(mockEvent)\r\n}\r\n\r\nconst handleColse = (id: string) => {\r\n\temits('colse', id)\r\n}\r\n\r\nconst init = () => {\r\n\tif (props.type === 'UserMessage' && props.fileList.length > 0) {\r\n\t\tconst list = props.fileList\r\n\t\tlist.forEach((item, index) => {\r\n\t\t\temits('userMessageFileList', item, index)\r\n\t\t})\r\n\t}\r\n}\r\n\r\nonMounted(() => {\r\n\tif (scrollContainer.value) {\r\n\t\t// 添加事件监听,passive: false 允许我们调用 preventDefault\r\n\t\tscrollContainer.value.addEventListener('wheel', handleScroll, { passive: false })\r\n\t}\r\n\tinit()\r\n})\r\n\r\nonUnmounted(() => {\r\n\tif (scrollContainer.value) {\r\n\t\tscrollContainer.value.removeEventListener('wheel', handleScroll)\r\n\t}\r\n})\r\n</script>\r\n"],"names":["_createElementBlock","_createElementVNode","_openBlock","_Fragment","_renderList","_createBlock"],"mappings":"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"}
1
+ {"version":3,"file":"FileContent.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/FileContent.vue"],"sourcesContent":["<template>\n\t<div class=\"file-content\">\n\t\t<div ref=\"scrollContainer\" class=\"file-content-scroll\">\n\t\t\t<template v-for=\"(item, index) in fileList\" :key=\"item.id\">\n\t\t\t\t<ImageFile v-if=\"item.fileType.includes('image')\" :item=\"item\" :index=\"index\" :has-colse=\"hasColse\" @colse=\"handleColse\" />\n\t\t\t\t<VideoFile v-else-if=\"item.fileType.includes('mp4')\" :item=\"item\" :index=\"index\" />\n\t\t\t\t<PDFFile v-else :item=\"item\" :index=\"index\" :has-colse=\"hasColse\" @colse=\"handleColse\" />\n\t\t\t</template>\n\t\t</div>\n\t\t<div v-show=\"showRightTip\" class=\"file-content-right-tip\">\n\t\t\t<div class=\"file-content-svg\" @click=\"scrollRightFn\">\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"5\" height=\"9\" viewBox=\"0 0 5 9\" fill=\"none\">\n\t\t\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1.01036 0.877808L4.5968 4.46425C4.80562 4.67307 4.80562 5.01164 4.5968 5.22046L1.01036 8.8069L0.25415 8.05069L3.46248 4.84235L0.25415 1.63402L1.01036 0.877808Z\" fill=\"#1D2129\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-show=\"showLeftTip\" class=\"file-content-left-tip\">\n\t\t\t<div class=\"file-content-svg\" @click=\"scrollLeftFn\">\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"5\" height=\"9\" viewBox=\"0 0 5 9\" fill=\"none\">\n\t\t\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M1.01036 0.877808L4.5968 4.46425C4.80562 4.67307 4.80562 5.01164 4.5968 5.22046L1.01036 8.8069L0.25415 8.05069L3.46248 4.84235L0.25415 1.63402L1.01036 0.877808Z\" fill=\"#1D2129\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n<script lang=\"ts\" setup>\nimport ImageFile from './ImageFile.vue'\nimport PDFFile from './PDFFile.vue'\nimport VideoFile from './VideoFile.vue'\nimport { ref, onMounted, onUnmounted } from 'vue'\nimport type { FileItem } from '../src/AiChat/Chat/types'\n\nconst showRightTip = ref(false)\nconst showLeftTip = ref(false)\nconst scrollDistance = ref(256) // 每次滚动的距离\nconst scrollContainer = ref<HTMLDivElement | null>(null)\n\nconst props = defineProps<{\n\tfileList: FileItem[]\n\thasColse: boolean\n\ttype: string\n}>()\nconst emits = defineEmits<{\n\t(e: 'colse', id: string): void\n\t(e: 'userMessageFileList', value: FileItem, index: number): void\n}>()\n\nlet edgeDetectionDebounce: NodeJS.Timeout | null = null\n// 处理鼠标滚轮事件,将纵向滚动转为横向滚动\nconst handleWheel = (e: WheelEvent) => {\n\tif (!scrollContainer.value) return\n\n\t// 阻止默认的纵向滚动\n\te.preventDefault()\n\tshowRightTip.value = true\n\tshowLeftTip.value = true\n\tconst { scrollLeft, clientWidth, scrollWidth } = scrollContainer.value\n\n\t// 左边缘检测(允许1px的误差)\n\tif (scrollLeft <= 1) {\n\t\tshowLeftTip.value = false\n\t}\n\n\t// 右边缘检测(允许1px的误差)\n\tif (scrollLeft + clientWidth >= scrollWidth - 1) {\n\t\tshowRightTip.value = false\n\t}\n\n\t// 计算滚动距离,添加一些乘数使滚动更自然\n\tconst scrollAmount = e.deltaY * 0.8\n\n\t// 平滑滚动\n\tscrollContainer.value.scrollBy({\n\t\tleft: scrollAmount,\n\t\tbehavior: 'smooth'\n\t})\n}\n\nconst handleScroll = (e: WheelEvent) => {\n\t// 防抖处理,避免滚动过程中频繁触发\n\tif (edgeDetectionDebounce) {\n\t\tclearTimeout(edgeDetectionDebounce)\n\t}\n\n\tedgeDetectionDebounce = setTimeout(() => {\n\t\thandleWheel(e)\n\t}, 50) // 50ms的防抖延迟\n}\n\n// 向左滚动(模拟向上滚轮事件)\nconst scrollLeftFn = () => {\n\tif (!showLeftTip.value || !scrollContainer.value) return\n\n\t// 模拟向上滚动的滚轮事件(deltaY 为负值)\n\tconst mockEvent = new WheelEvent('wheel', {\n\t\tdeltaY: -scrollDistance.value, // 负值表示向上滚动,我们将其转换为向左滚动\n\t\tbubbles: true,\n\t\tcancelable: true\n\t})\n\n\t// 复用 handleWheel 方法处理模拟事件\n\thandleWheel(mockEvent)\n}\n\n// 向右滚动(模拟向下滚轮事件)\nconst scrollRightFn = () => {\n\tif (!showRightTip.value || !scrollContainer.value) return\n\n\t// 模拟向下滚动的滚轮事件(deltaY 为正值)\n\tconst mockEvent = new WheelEvent('wheel', {\n\t\tdeltaY: scrollDistance.value, // 正值表示向下滚动,我们将其转换为向右滚动\n\t\tbubbles: true,\n\t\tcancelable: true\n\t})\n\n\t// 复用 handleWheel 方法处理模拟事件\n\thandleWheel(mockEvent)\n}\n\nconst handleColse = (id: string) => {\n\temits('colse', id)\n}\n\nconst init = () => {\n\tif (props.type === 'UserMessage' && props.fileList.length > 0) {\n\t\tconst list = props.fileList\n\t\tlist.forEach((item, index) => {\n\t\t\temits('userMessageFileList', item, index)\n\t\t})\n\t}\n}\n\nonMounted(() => {\n\tif (scrollContainer.value) {\n\t\t// 添加事件监听,passive: false 允许我们调用 preventDefault\n\t\tscrollContainer.value.addEventListener('wheel', handleScroll, { passive: false })\n\t}\n\tinit()\n})\n\nonUnmounted(() => {\n\tif (scrollContainer.value) {\n\t\tscrollContainer.value.removeEventListener('wheel', handleScroll)\n\t}\n})\n</script>\n"],"names":["_createElementBlock","_createElementVNode","_openBlock","_Fragment","fileList","_createBlock","hasColse"],"mappings":"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"}
@@ -40,14 +40,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
40
40
  createElementVNode(
41
41
  "div",
42
42
  { class: "file-name" },
43
- toDisplayString(__props.item.fileName || "\u672A\u77E5\u6587\u4EF6"),
43
+ toDisplayString(_ctx.item.fileName || "\u672A\u77E5\u6587\u4EF6"),
44
44
  1
45
45
  /* TEXT */
46
46
  ),
47
47
  createElementVNode(
48
48
  "div",
49
49
  { class: "file-size" },
50
- toDisplayString(formatFileSize(__props.item.fileSize)),
50
+ toDisplayString(formatFileSize(_ctx.item.fileSize)),
51
51
  1
52
52
  /* TEXT */
53
53
  )
@@ -1 +1 @@
1
- {"version":3,"file":"FileView.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/FileView.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({ name: 'FileView' });\n</script>\n<template>\n <div class=\"file-view\" @click=\"handleFileClick\">\n <img src=\"../img/file.png\" alt=\"文件图标\" class=\"file-icon\" />\n <div class=\"file-info\">\n <div class=\"file-name\">{{ item.fileName || '未知文件' }}</div>\n <div class=\"file-size\">{{ formatFileSize(item.fileSize) }}</div>\n </div>\n <!-- <div class=\"file-action\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"></path>\n <polyline points=\"7 10 12 15 17 10\"></polyline>\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"></line>\n </svg>\n </div> -->\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n// import type { ChatMessage } from '../src/AiChat/TouchChat.vue';\ninterface ChatMessage {\n chatId?: string;\n user: string;\n type: string;\n content: string;\n isChating?: boolean;\n thinkContent?: string;\n reasoningContent?: string;\n isLiked?: boolean;\n isDisliked?: boolean;\n isEditing?: boolean;\n editContent?: string;\n componentName?: string;\n thinkStatus?: 'thinking' | 'completed' | 'stopped';\n thinkStartTime?: number;\n thinkTime?: number;\n [key: string]: unknown;\n}\n\n;\n\nconst props = defineProps<{\n item: ChatMessage & { fileName?: string; fileSize?: number };\n index: number;\n}>();\n\nconst emit = defineEmits<{\n (e: 'fileClick', fileName: string, index: number): void;\n}>();\n\n// 格式化文件大小\nconst formatFileSize = (size?: number): string => {\n if (!size) return '未知大小';\n if (size < 1024) return `${size} B`;\n if (size < 1024 * 1024) return `${(size / 1024).toFixed(1)} KB`;\n return `${(size / (1024 * 1024)).toFixed(1)} MB`;\n};\n\n// 处理文件点击事件\nconst handleFileClick = () => {\n if (props.item.fileName) {\n emit('fileClick', props.item.fileName, props.index);\n }\n};\n</script>\n\n<!-- <style scoped lang=\"less\">\n@import './style/FileView.less';\n</style> -->\n"],"names":["DO_defineComponent","_createElementBlock","_createElementVNode","_toDisplayString","_createCommentVNode"],"mappings":";;;AAEA,MAAA,WAA6B,GAAAA,eAAA,CAAmB,EAAE,IAAA,EAAM,YAAY,CAAA,CAAA;;;;;;;;;AA0CpE,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAKd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAKb,IAAM,MAAA,cAAA,GAAiB,CAAC,IAA0B,KAAA;AAChD,MAAA,IAAI,CAAC,IAAA;AAAM,QAAO,OAAA,0BAAA,CAAA;AAClB,MAAA,IAAI,IAAO,GAAA,IAAA;AAAM,QAAA,OAAO,CAAG,EAAA,IAAA,CAAA,EAAA,CAAA,CAAA;AAC3B,MAAA,IAAI,OAAO,IAAO,GAAA,IAAA;AAAM,QAAA,OAAO,CAAI,EAAA,CAAA,IAAA,GAAO,IAAM,EAAA,OAAA,CAAQ,CAAC,CAAA,CAAA,GAAA,CAAA,CAAA;AACzD,MAAA,OAAO,CAAI,EAAA,CAAA,IAAA,IAAQ,IAAO,GAAA,IAAA,CAAA,EAAO,QAAQ,CAAC,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,KAC5C,CAAA;AAGA,IAAA,MAAM,kBAAkB,MAAM;AAC5B,MAAI,IAAA,KAAA,CAAM,KAAK,QAAU,EAAA;AACvB,QAAA,IAAA,CAAK,WAAa,EAAA,KAAA,CAAM,IAAK,CAAA,QAAA,EAAU,MAAM,KAAK,CAAA,CAAA;AAAA,OACpD;AAAA,KACF,CAAA;;wBA7DE,EAAAC,kBAAA,CAaM,KAAA,EAAA;AAAA,QAbD,KAAM,EAAA,WAAA;AAAA,QAAa,OAAO,EAAA,eAAA;AAAA;QAC7BC,mBAA0D,KAAA,EAAA;AAAA,UAArD,GAAA,EAAA,UAAA;AAAA,UAAsB,GAAI,EAAA,0BAAA;AAAA,UAAO,KAAM,EAAA,WAAA;AAAA;QAC5CA,kBAGM,CAAA,KAAA,EAAA,EAHD,KAAA,EAAM,aAAW,EAAA;AAAA,UACpBA,kBAAA;AAAA,YAA0D,KAAA;AAAA,cAArD,OAAM,WAAe,EAAA;AAAA,YAAAC,eAAA,CAAA,OAAA,CAAA,IAAK,CAAA,QAAA,IAAQ,0BAAA,CAAA;AAAA,YAAA,CAAA;AAAA;AAAA,WAAA;AAAA,UACvCD,kBAAA;AAAA,YAAgE,KAAA;AAAA,YAAA,EAA3D,OAAM;2BAAe,CAAA,cAAA,CAAe,OAAI,CAAA,IAAA,CAAC,QAAQ,CAAA,CAAA;AAAA,YAAA,CAAA;AAAA;AAAA,WAAA;AAAA;QAExDE,mBAMU,yXAAA,CAAA;AAAA;;;;;;;"}
1
+ {"version":3,"file":"FileView.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/FileView.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({ name: 'FileView' });\n</script>\n<template>\n <div class=\"file-view\" @click=\"handleFileClick\">\n <img src=\"../img/file.png\" alt=\"文件图标\" class=\"file-icon\" />\n <div class=\"file-info\">\n <div class=\"file-name\">{{ item.fileName || '未知文件' }}</div>\n <div class=\"file-size\">{{ formatFileSize(item.fileSize) }}</div>\n </div>\n <!-- <div class=\"file-action\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\">\n <path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"></path>\n <polyline points=\"7 10 12 15 17 10\"></polyline>\n <line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"></line>\n </svg>\n </div> -->\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n// import type { ChatMessage } from '../src/AiChat/TouchChat.vue';\ninterface ChatMessage {\n chatId?: string;\n user: string;\n type: string;\n content: string;\n isChating?: boolean;\n thinkContent?: string;\n reasoningContent?: string;\n isLiked?: boolean;\n isDisliked?: boolean;\n isEditing?: boolean;\n editContent?: string;\n componentName?: string;\n thinkStatus?: 'thinking' | 'completed' | 'stopped';\n thinkStartTime?: number;\n thinkTime?: number;\n [key: string]: unknown;\n}\n\n;\n\nconst props = defineProps<{\n item: ChatMessage & { fileName?: string; fileSize?: number };\n index: number;\n}>();\n\nconst emit = defineEmits<{\n (e: 'fileClick', fileName: string, index: number): void;\n}>();\n\n// 格式化文件大小\nconst formatFileSize = (size?: number): string => {\n if (!size) return '未知大小';\n if (size < 1024) return `${size} B`;\n if (size < 1024 * 1024) return `${(size / 1024).toFixed(1)} KB`;\n return `${(size / (1024 * 1024)).toFixed(1)} MB`;\n};\n\n// 处理文件点击事件\nconst handleFileClick = () => {\n if (props.item.fileName) {\n emit('fileClick', props.item.fileName, props.index);\n }\n};\n</script>\n\n<!-- <style scoped lang=\"less\">\n@import './style/FileView.less';\n</style> -->\n"],"names":["DO_defineComponent","_createElementBlock","_createElementVNode","item","_createCommentVNode"],"mappings":";;;AAEA,MAAA,WAA6B,GAAAA,eAAA,CAAmB,EAAE,IAAA,EAAM,YAAY,CAAA,CAAA;;;;;;;;;AA0CpE,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAKd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAKb,IAAM,MAAA,cAAA,GAAiB,CAAC,IAA0B,KAAA;AAChD,MAAA,IAAI,CAAC,IAAA;AAAM,QAAO,OAAA,0BAAA,CAAA;AAClB,MAAA,IAAI,IAAO,GAAA,IAAA;AAAM,QAAA,OAAO,CAAG,EAAA,IAAA,CAAA,EAAA,CAAA,CAAA;AAC3B,MAAA,IAAI,OAAO,IAAO,GAAA,IAAA;AAAM,QAAA,OAAO,CAAI,EAAA,CAAA,IAAA,GAAO,IAAM,EAAA,OAAA,CAAQ,CAAC,CAAA,CAAA,GAAA,CAAA,CAAA;AACzD,MAAA,OAAO,CAAI,EAAA,CAAA,IAAA,IAAQ,IAAO,GAAA,IAAA,CAAA,EAAO,QAAQ,CAAC,CAAA,CAAA,GAAA,CAAA,CAAA;AAAA,KAC5C,CAAA;AAGA,IAAA,MAAM,kBAAkB,MAAM;AAC5B,MAAI,IAAA,KAAA,CAAM,KAAK,QAAU,EAAA;AACvB,QAAA,IAAA,CAAK,WAAa,EAAA,KAAA,CAAM,IAAK,CAAA,QAAA,EAAU,MAAM,KAAK,CAAA,CAAA;AAAA,OACpD;AAAA,KACF,CAAA;;wBA7DE,EAAAC,kBAAA,CAaM,KAAA,EAAA;AAAA,QAbD,KAAM,EAAA,WAAA;AAAA,QAAa,OAAO,EAAA,eAAA;AAAA;QAC7BC,mBAA0D,KAAA,EAAA;AAAA,UAArD,GAAA,EAAA,UAAA;AAAA,UAAsB,GAAI,EAAA,0BAAA;AAAA,UAAO,KAAM,EAAA,WAAA;AAAA;QAC5CA,kBAGM,CAAA,KAAA,EAAA,EAHD,KAAA,EAAM,aAAW,EAAA;AAAA,UACpBA,kBAAA;AAAA,YAA0D,KAAA;AAAA,cAArD,OAAM,WAAeC,EAAAA;AAAAA,YAAAA,eAAAA,CAAAA,IAAAA,CAAAA,IAAK,CAAA,QAAA,IAAQ,0BAAA,CAAA;AAAA,YAAA,CAAA;AAAA;AAAA,WAAA;AAAA,UACvCD,kBAAA;AAAA,YAAgE,KAAA;AAAA,YAAA,EAA3D,OAAM;2BAAe,CAAA,cAAA,CAAeC,IAAI,CAAA,IAAA,CAAC,QAAQ,CAAA,CAAA;AAAA,YAAA,CAAA;AAAA;AAAA,WAAA;AAAA;QAExDC,mBAMU,yXAAA,CAAA;AAAA;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"HelloChat.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/HelloChat.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({ name: 'HelloChat' });\n</script>\n<template>\r\n\t<div>\r\n\t\t<div class=\"hello-chat\">\r\n\t\t\t<p class=\"title\">你好,我是 touchchat</p>\r\n\t\t\t<p class=\"sub-info\">作为您的智能伙伴,我既能帮您查账单、办业务,又能陪您聊天、学知识。</p>\r\n\t\t</div>\r\n\t\t<div v-if=\"helloChatList.length\" class=\"function-buttons\">\r\n\t\t\t<ul>\r\n\t\t\t\t<li v-for=\"item in helloChatList\" :key=\"item.id\" @click=\"handleItemClick(item)\">\r\n\t\t\t\t\t<img src=\"../../touchchat/img/icon.png\" alt=\"{{ item.name }}\" class=\"icon\" />\r\n\t\t\t\t\t<span class=\"ellipsis-text\">{{ item.name }}</span>\r\n\t\t\t\t</li>\r\n\t\t\t</ul>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { inject } from 'vue'\r\n\r\n\r\n// 定义接口来描述helloChatList中项的结构\r\ninterface HelloChatItem {\r\n\tid: number\r\n\tname: string\r\n\t// 可以根据实际情况添加其他属性\r\n}\r\n\r\n// 为注入的helloChatList指定类型\r\nconst helloChatList = inject<HelloChatItem[]>('helloChatList', [])\r\n\r\nconst emit = defineEmits(['sendMessage'])\r\n\r\nconst handleItemClick = (item: HelloChatItem) => {\r\n\temit('sendMessage', item)\r\n}\r\n</script>\r\n\r\n<!-- <style scoped lang=\"less\">\r\n@import './style/HelloChat.less';\r\n</style> -->\r\n"],"names":["DO_defineComponent","_createElementBlock","_createElementVNode","_unref","_Fragment","_renderList","_imports_0","_toDisplayString"],"mappings":";;;AAEA,MAAA,WAA6B,GAAAA,eAAA,CAAmB,EAAE,IAAA,EAAM,aAAa,CAAA,CAAA;;;;;AA+BrE,IAAA,MAAM,aAAgB,GAAA,MAAA,CAAwB,eAAiB,EAAA,EAAE,CAAA,CAAA;AAEjE,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,eAAA,GAAkB,CAAC,IAAwB,KAAA;AAChD,MAAA,IAAA,CAAK,eAAe,IAAI,CAAA,CAAA;AAAA,KACzB,CAAA;;0BAlCCC,kBAaM,CAAA,KAAA,EAAA,IAAA,EAAA;AAAA,QAZLC,kBAGM,CAAA,KAAA,EAAA,EAHD,KAAA,EAAM,cAAY,EAAA;AAAA,UACtBA,mBAAoC,GAAjC,EAAA,EAAA,KAAM,EAAA,OAAA,IAAQ,0CAAe,CAAA;AAAA,UAChCA,mBAAyD,GAAtD,EAAA,EAAA,KAAM,EAAA,UAAA,IAAW,wMAAiC,CAAA;AAAA;QAE3CC,MAAA,aAAA,CAAA,CAAc,uBAAzBF,mBAOM,KAAA,EAAA;AAAA;UAP2B,KAAM,EAAA,kBAAA;AAAA;UACtCC,kBAAA,CAKK,MAAA,IAAA,EAAA;AAAA,4BAJJ,EAAAD,kBAAA;AAAA,cAGKG,QAAA;AAAA,cAAA,IAAA;AAAA,cAAAC,UAHc,CAAAF,KAAA,CAAa,aAAA,CAAA,EAAA,CAArB,IAAI,KAAA;kCAAf,EAAAF,kBAAA,CAGK,IAAA,EAAA;AAAA,kBAH8B,KAAK,IAAK,CAAA,EAAA;AAAA,kBAAK,OAAK,EAAA,CAAA,MAAE,KAAA,eAAA,CAAgB,IAAI,CAAA;AAAA;kBAC5EC,mBAA6E,KAAA,EAAA;AAAA,oBAAxE,GAAA,EAAAI,UAAA;AAAA,oBAAmC,GAAI,EAAA,iBAAA;AAAA,oBAAkB,KAAM,EAAA,MAAA;AAAA;kBACpEJ,kBAAA;AAAA,oBAAkD,MAAA;AAAA,sBAA5C,OAAM,eAAmB,EAAA;AAAA,oBAAAK,eAAA,CAAA,KAAK,IAAI,CAAA;AAAA,oBAAA,CAAA;AAAA;AAAA,mBAAA;AAAA;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"HelloChat.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/HelloChat.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({ name: 'HelloChat' });\n</script>\n<template>\n\t<div>\n\t\t<div class=\"hello-chat\">\n\t\t\t<p class=\"title\">你好,我是 touchchat</p>\n\t\t\t<p class=\"sub-info\">作为您的智能伙伴,我既能帮您查账单、办业务,又能陪您聊天、学知识。</p>\n\t\t</div>\n\t\t<div v-if=\"helloChatList.length\" class=\"function-buttons\">\n\t\t\t<ul>\n\t\t\t\t<li v-for=\"item in helloChatList\" :key=\"item.id\" @click=\"handleItemClick(item)\">\n\t\t\t\t\t<img src=\"../../touchchat/img/icon.png\" alt=\"{{ item.name }}\" class=\"icon\" />\n\t\t\t\t\t<span class=\"ellipsis-text\">{{ item.name }}</span>\n\t\t\t\t</li>\n\t\t\t</ul>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nimport { inject } from 'vue'\n\n\n// 定义接口来描述helloChatList中项的结构\ninterface HelloChatItem {\n\tid: number\n\tname: string\n\t// 可以根据实际情况添加其他属性\n}\n\n// 为注入的helloChatList指定类型\nconst helloChatList = inject<HelloChatItem[]>('helloChatList', [])\n\nconst emit = defineEmits(['sendMessage'])\n\nconst handleItemClick = (item: HelloChatItem) => {\n\temit('sendMessage', item)\n}\n</script>\n\n<!-- <style scoped lang=\"less\">\n@import './style/HelloChat.less';\n</style> -->\n"],"names":["DO_defineComponent","_createElementBlock","_createElementVNode","_unref","_Fragment","_renderList","_imports_0","_toDisplayString"],"mappings":";;;AAEA,MAAA,WAA6B,GAAAA,eAAA,CAAmB,EAAE,IAAA,EAAM,aAAa,CAAA,CAAA;;;;;AA+BrE,IAAA,MAAM,aAAgB,GAAA,MAAA,CAAwB,eAAiB,EAAA,EAAE,CAAA,CAAA;AAEjE,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,eAAA,GAAkB,CAAC,IAAwB,KAAA;AAChD,MAAA,IAAA,CAAK,eAAe,IAAI,CAAA,CAAA;AAAA,KACzB,CAAA;;0BAlCCC,kBAaM,CAAA,KAAA,EAAA,IAAA,EAAA;AAAA,QAZLC,kBAGM,CAAA,KAAA,EAAA,EAHD,KAAA,EAAM,cAAY,EAAA;AAAA,UACtBA,mBAAoC,GAAjC,EAAA,EAAA,KAAM,EAAA,OAAA,IAAQ,0CAAe,CAAA;AAAA,UAChCA,mBAAyD,GAAtD,EAAA,EAAA,KAAM,EAAA,UAAA,IAAW,wMAAiC,CAAA;AAAA;QAE3CC,MAAA,aAAA,CAAA,CAAc,uBAAzBF,mBAOM,KAAA,EAAA;AAAA;UAP2B,KAAM,EAAA,kBAAA;AAAA;UACtCC,kBAAA,CAKK,MAAA,IAAA,EAAA;AAAA,4BAJJ,EAAAD,kBAAA;AAAA,cAGKG,QAAA;AAAA,cAAA,IAAA;AAAA,cAAAC,UAHc,CAAAF,KAAA,CAAa,aAAA,CAAA,EAAA,CAArB,IAAI,KAAA;kCAAf,EAAAF,kBAAA,CAGK,IAAA,EAAA;AAAA,kBAH8B,KAAK,IAAK,CAAA,EAAA;AAAA,kBAAK,OAAK,EAAA,CAAA,MAAE,KAAA,eAAA,CAAgB,IAAI,CAAA;AAAA;kBAC5EC,mBAA6E,KAAA,EAAA;AAAA,oBAAxE,GAAA,EAAAI,UAAA;AAAA,oBAAmC,GAAI,EAAA,iBAAA;AAAA,oBAAkB,KAAM,EAAA,MAAA;AAAA;kBACpEJ,kBAAA;AAAA,oBAAkD,MAAA;AAAA,sBAA5C,OAAM,eAAmB,EAAA;AAAA,oBAAAK,eAAA,CAAA,KAAK,IAAI,CAAA;AAAA,oBAAA,CAAA;AAAA;AAAA,mBAAA;AAAA;;;;;;;;;;;;;;"}
@@ -35,14 +35,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
35
35
  return openBlock(), createElementBlock("div", { class: "image-file" }, [
36
36
  createElementVNode("div", { class: "image-file-content" }, [
37
37
  createElementVNode("img", {
38
- src: (_a = __props.item.base64) != null ? _a : "../img/link.png",
38
+ src: (_a = _ctx.item.base64) != null ? _a : "../img/link.png",
39
39
  alt: "\u56FE\u7247",
40
40
  onClick: ($event) => showPreview.value = true
41
41
  }, null, 8, ["src", "onClick"]),
42
- !(showLoading.value || __props.item.uploadError) && __props.hasColse ? (openBlock(), createElementBlock("div", {
42
+ !(showLoading.value || _ctx.item.uploadError) && _ctx.hasColse ? (openBlock(), createElementBlock("div", {
43
43
  key: 0,
44
44
  class: "image-file-colse",
45
- onClick: ($event) => emits("colse", __props.item.id)
45
+ onClick: ($event) => emits("colse", _ctx.item.id)
46
46
  }, [
47
47
  (openBlock(), createElementBlock("svg", {
48
48
  xmlns: "http://www.w3.org/2000/svg",
@@ -57,7 +57,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
57
57
  })
58
58
  ]))
59
59
  ], 8, ["onClick"])) : createCommentVNode("v-if", true),
60
- showLoading.value && !__props.item.uploadError ? (openBlock(), createElementBlock("div", {
60
+ showLoading.value && !_ctx.item.uploadError ? (openBlock(), createElementBlock("div", {
61
61
  key: 1,
62
62
  class: "img-file-loading"
63
63
  }, [
@@ -110,7 +110,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
110
110
  /* TEXT */
111
111
  )
112
112
  ])) : createCommentVNode("v-if", true),
113
- __props.item.uploadError ? (openBlock(), createElementBlock("div", {
113
+ _ctx.item.uploadError ? (openBlock(), createElementBlock("div", {
114
114
  key: 2,
115
115
  class: "img-file-loading img-error-loading",
116
116
  onClick: handleReset
@@ -146,7 +146,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
146
146
  }, [
147
147
  createElementVNode("div", { class: "image-preview-content" }, [
148
148
  createElementVNode("img", {
149
- src: (_b = __props.item.base64) != null ? _b : "../img/link.png",
149
+ src: (_b = _ctx.item.base64) != null ? _b : "../img/link.png",
150
150
  alt: "\u9884\u89C8\u56FE\u7247"
151
151
  }, null, 8, ["src"])
152
152
  ])
@@ -1 +1 @@
1
- {"version":3,"file":"ImageFile.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/ImageFile.vue"],"sourcesContent":["<template>\n\t<div class=\"image-file\">\n\t\t<div class=\"image-file-content\">\n\t\t\t<img :src=\"item.base64 ?? '../img/link.png'\" alt=\"图片\" @click=\"showPreview = true\" />\n\t\t\t<div v-if=\"!(showLoading || item.uploadError) && hasColse\" class=\"image-file-colse\" @click=\"emits('colse', item.id)\">\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"5\" height=\"6\" viewBox=\"0 0 5 6\" fill=\"none\">\n\t\t\t\t\t<path d=\"M4.42492 5.31718L4.97489 4.76721L3.05002 2.84233L4.97493 0.917422L4.42496 0.36745L2.50005 2.29236L0.575118 0.367432L0.0251465 0.917403L1.95008 2.84233L0.0251875 4.76722L0.575159 5.3172L2.50005 3.39231L4.42492 5.31718Z\" fill=\"white\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<div v-if=\"showLoading && !item.uploadError\" class=\"img-file-loading\">\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\n\t\t\t\t\t<g clip-path=\"url(#paint0_angular_2715_440_clip_path)\" data-figma-skip-parse=\"true\">\n\t\t\t\t\t\t<g transform=\"matrix(0.0100142 0.00182077 -0.00182077 0.0100142 12 12.8423)\">\n\t\t\t\t\t\t\t<foreignObject x=\"-1427.97\" y=\"-1427.97\" width=\"2855.94\" height=\"2855.94\">\n\t\t\t\t\t\t\t\t<div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"background: conic-gradient(from 90deg, rgba(255, 255, 255, 1) 0deg, rgba(255, 255, 255, 0) 84.375deg, rgba(255, 255, 255, 1) 360deg); height: 100%; width: 100%; opacity: 1\"></div>\n\t\t\t\t\t\t\t</foreignObject>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t</g>\n\t\t\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 5.54499C7.96981 5.54499 4.7027 8.8121 4.7027 12.8423C4.7027 16.8725 7.96981 20.1396 12 20.1396C12.7463 20.1396 13.3514 20.7446 13.3514 21.4909C13.3514 22.2373 12.7463 22.8423 12 22.8423C6.47715 22.8423 2 18.3651 2 12.8423C2 7.31944 6.47715 2.84229 12 2.84229C17.5228 2.84229 22 7.31944 22 12.8423C22 13.5886 21.395 14.1936 20.6486 14.1936C19.9023 14.1936 19.2973 13.5886 19.2973 12.8423C19.2973 8.8121 16.0302 5.54499 12 5.54499Z\" data-figma-gradient-fill='{\"type\":\"GRADIENT_ANGULAR\",\"stops\":[{\"color\":{\"r\":1.0,\"g\":1.0,\"b\":1.0,\"a\":0.0},\"position\":0.2343750},{\"color\":{\"r\":1.0,\"g\":1.0,\"b\":1.0,\"a\":1.0},\"position\":1.0}],\"stopsVar\":[],\"transform\":{\"m00\":20.028446197509766,\"m01\":-3.6415407657623291,\"m02\":3.8065481185913086,\"m10\":3.6415374279022217,\"m11\":20.028463363647461,\"m12\":1.0072842836380005},\"opacity\":1.0,\"blendMode\":\"NORMAL\",\"visible\":true}' />\n\t\t\t\t\t<defs>\n\t\t\t\t\t\t<clipPath id=\"paint0_angular_2715_440_clip_path\">\n\t\t\t\t\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 5.54499C7.96981 5.54499 4.7027 8.8121 4.7027 12.8423C4.7027 16.8725 7.96981 20.1396 12 20.1396C12.7463 20.1396 13.3514 20.7446 13.3514 21.4909C13.3514 22.2373 12.7463 22.8423 12 22.8423C6.47715 22.8423 2 18.3651 2 12.8423C2 7.31944 6.47715 2.84229 12 2.84229C17.5228 2.84229 22 7.31944 22 12.8423C22 13.5886 21.395 14.1936 20.6486 14.1936C19.9023 14.1936 19.2973 13.5886 19.2973 12.8423C19.2973 8.8121 16.0302 5.54499 12 5.54499Z\" />\n\t\t\t\t\t\t</clipPath>\n\t\t\t\t\t</defs>\n\t\t\t\t</svg>\n\t\t\t\t<p class=\"img-file-title\">{{ progress }}%</p>\n\t\t\t</div>\n\t\t\t<div v-if=\"item.uploadError\" class=\"img-file-loading img-error-loading\" @click=\"handleReset\">\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"13\" viewBox=\"0 0 14 13\" fill=\"none\">\n\t\t\t\t\t<path d=\"M10.8891 10.7314C9.89379 11.7267 8.51879 12.3423 7 12.3423C3.96244 12.3423 1.5 9.87984 1.5 6.84229C1.5 3.80473 3.96244 1.34229 7 1.34229C8.51879 1.34229 9.89379 1.95789 10.8891 2.9532C11.3957 3.45982 12.5 4.7034 12.5 4.7034\" stroke=\"#F93920\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n\t\t\t\t\t<path d=\"M12.5 1.95374V4.70374H9.75\" stroke=\"#F93920\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n\t\t\t\t</svg>\n\t\t\t\t<p class=\"img-file-error\">错误</p>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-show=\"showPreview\" class=\"image-preview-modal\" @click=\"showPreview = false\">\n\t\t\t<div class=\"image-preview-content\">\n\t\t\t\t<img :src=\"item.base64 ?? '../img/link.png'\" alt=\"预览图片\" />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n<script setup lang=\"ts\">\nimport { ref, watch, computed, inject } from 'vue'\nimport type { FileItem } from '../src/AiChat/Chat/types'\n\nconst props = defineProps<{\n\titem: FileItem\n\tindex: number\n\thasColse: boolean\n}>()\nconst emits = defineEmits(['colse'])\nconst showLoading = ref(false)\nconst progress = computed(() => {\n\treturn props.item.uploadProgress ?? 0\n})\nconst showPreview = ref(false)\n\nconst uploadFile = inject<(index: number, type?: string) => void>('uploadFile', () => {\n\tconsole.warn('未提供bottom函数')\n})\n\nconst handleReset = () => {\n\tuploadFile(props.index, 'IMAGE')\n}\n\nwatch(progress, newVal => {\n\tif (newVal === 100 || newVal === 0) {\n\t\tshowLoading.value = false\n\t} else {\n\t\tshowLoading.value = true\n\t}\n})\n</script>\n"],"names":["_createElementBlock","_createElementVNode","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"ImageFile.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/ImageFile.vue"],"sourcesContent":["<template>\n\t<div class=\"image-file\">\n\t\t<div class=\"image-file-content\">\n\t\t\t<img :src=\"item.base64 ?? '../img/link.png'\" alt=\"图片\" @click=\"showPreview = true\" />\n\t\t\t<div v-if=\"!(showLoading || item.uploadError) && hasColse\" class=\"image-file-colse\" @click=\"emits('colse', item.id)\">\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"5\" height=\"6\" viewBox=\"0 0 5 6\" fill=\"none\">\n\t\t\t\t\t<path d=\"M4.42492 5.31718L4.97489 4.76721L3.05002 2.84233L4.97493 0.917422L4.42496 0.36745L2.50005 2.29236L0.575118 0.367432L0.0251465 0.917403L1.95008 2.84233L0.0251875 4.76722L0.575159 5.3172L2.50005 3.39231L4.42492 5.31718Z\" fill=\"white\" />\n\t\t\t\t</svg>\n\t\t\t</div>\n\t\t\t<div v-if=\"showLoading && !item.uploadError\" class=\"img-file-loading\">\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"25\" viewBox=\"0 0 24 25\" fill=\"none\">\n\t\t\t\t\t<g clip-path=\"url(#paint0_angular_2715_440_clip_path)\" data-figma-skip-parse=\"true\">\n\t\t\t\t\t\t<g transform=\"matrix(0.0100142 0.00182077 -0.00182077 0.0100142 12 12.8423)\">\n\t\t\t\t\t\t\t<foreignObject x=\"-1427.97\" y=\"-1427.97\" width=\"2855.94\" height=\"2855.94\">\n\t\t\t\t\t\t\t\t<div xmlns=\"http://www.w3.org/1999/xhtml\" style=\"background: conic-gradient(from 90deg, rgba(255, 255, 255, 1) 0deg, rgba(255, 255, 255, 0) 84.375deg, rgba(255, 255, 255, 1) 360deg); height: 100%; width: 100%; opacity: 1\"></div>\n\t\t\t\t\t\t\t</foreignObject>\n\t\t\t\t\t\t</g>\n\t\t\t\t\t</g>\n\t\t\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 5.54499C7.96981 5.54499 4.7027 8.8121 4.7027 12.8423C4.7027 16.8725 7.96981 20.1396 12 20.1396C12.7463 20.1396 13.3514 20.7446 13.3514 21.4909C13.3514 22.2373 12.7463 22.8423 12 22.8423C6.47715 22.8423 2 18.3651 2 12.8423C2 7.31944 6.47715 2.84229 12 2.84229C17.5228 2.84229 22 7.31944 22 12.8423C22 13.5886 21.395 14.1936 20.6486 14.1936C19.9023 14.1936 19.2973 13.5886 19.2973 12.8423C19.2973 8.8121 16.0302 5.54499 12 5.54499Z\" data-figma-gradient-fill='{\"type\":\"GRADIENT_ANGULAR\",\"stops\":[{\"color\":{\"r\":1.0,\"g\":1.0,\"b\":1.0,\"a\":0.0},\"position\":0.2343750},{\"color\":{\"r\":1.0,\"g\":1.0,\"b\":1.0,\"a\":1.0},\"position\":1.0}],\"stopsVar\":[],\"transform\":{\"m00\":20.028446197509766,\"m01\":-3.6415407657623291,\"m02\":3.8065481185913086,\"m10\":3.6415374279022217,\"m11\":20.028463363647461,\"m12\":1.0072842836380005},\"opacity\":1.0,\"blendMode\":\"NORMAL\",\"visible\":true}' />\n\t\t\t\t\t<defs>\n\t\t\t\t\t\t<clipPath id=\"paint0_angular_2715_440_clip_path\">\n\t\t\t\t\t\t\t<path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M12 5.54499C7.96981 5.54499 4.7027 8.8121 4.7027 12.8423C4.7027 16.8725 7.96981 20.1396 12 20.1396C12.7463 20.1396 13.3514 20.7446 13.3514 21.4909C13.3514 22.2373 12.7463 22.8423 12 22.8423C6.47715 22.8423 2 18.3651 2 12.8423C2 7.31944 6.47715 2.84229 12 2.84229C17.5228 2.84229 22 7.31944 22 12.8423C22 13.5886 21.395 14.1936 20.6486 14.1936C19.9023 14.1936 19.2973 13.5886 19.2973 12.8423C19.2973 8.8121 16.0302 5.54499 12 5.54499Z\" />\n\t\t\t\t\t\t</clipPath>\n\t\t\t\t\t</defs>\n\t\t\t\t</svg>\n\t\t\t\t<p class=\"img-file-title\">{{ progress }}%</p>\n\t\t\t</div>\n\t\t\t<div v-if=\"item.uploadError\" class=\"img-file-loading img-error-loading\" @click=\"handleReset\">\n\t\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"13\" viewBox=\"0 0 14 13\" fill=\"none\">\n\t\t\t\t\t<path d=\"M10.8891 10.7314C9.89379 11.7267 8.51879 12.3423 7 12.3423C3.96244 12.3423 1.5 9.87984 1.5 6.84229C1.5 3.80473 3.96244 1.34229 7 1.34229C8.51879 1.34229 9.89379 1.95789 10.8891 2.9532C11.3957 3.45982 12.5 4.7034 12.5 4.7034\" stroke=\"#F93920\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n\t\t\t\t\t<path d=\"M12.5 1.95374V4.70374H9.75\" stroke=\"#F93920\" stroke-width=\"1.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\n\t\t\t\t</svg>\n\t\t\t\t<p class=\"img-file-error\">错误</p>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-show=\"showPreview\" class=\"image-preview-modal\" @click=\"showPreview = false\">\n\t\t\t<div class=\"image-preview-content\">\n\t\t\t\t<img :src=\"item.base64 ?? '../img/link.png'\" alt=\"预览图片\" />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n<script setup lang=\"ts\">\nimport { ref, watch, computed, inject } from 'vue'\nimport type { FileItem } from '../src/AiChat/Chat/types'\n\nconst props = defineProps<{\n\titem: FileItem\n\tindex: number\n\thasColse: boolean\n}>()\nconst emits = defineEmits(['colse'])\nconst showLoading = ref(false)\nconst progress = computed(() => {\n\treturn props.item.uploadProgress ?? 0\n})\nconst showPreview = ref(false)\n\nconst uploadFile = inject<(index: number, type?: string) => void>('uploadFile', () => {\n\tconsole.warn('未提供bottom函数')\n})\n\nconst handleReset = () => {\n\tuploadFile(props.index, 'IMAGE')\n}\n\nwatch(progress, newVal => {\n\tif (newVal === 100 || newVal === 0) {\n\t\tshowLoading.value = false\n\t} else {\n\t\tshowLoading.value = true\n\t}\n})\n</script>\n"],"names":["_createElementBlock","_createElementVNode","item","hasColse","_toDisplayString"],"mappings":"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"}
@@ -19,7 +19,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
19
19
  src: aiAvatarPath.value,
20
20
  alt: "\u56FE\u7247\u5C55\u793A",
21
21
  class: "image-content",
22
- title: (_a = __props.item.fileName) != null ? _a : "\u56FE\u7247\u9884\u89C8"
22
+ title: (_a = _ctx.item.fileName) != null ? _a : "\u56FE\u7247\u9884\u89C8"
23
23
  }, null, 8, ["src", "title"])
24
24
  ]);
25
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"ImageView.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/ImageView.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({ name: 'ImageView' });\n</script>\n<template>\n <div class=\"image-view\">\n <img\n :src=\"aiAvatarPath\"\n alt=\"图片展示\"\n class=\"image-content\"\n :title=\"item.fileName ?? '图片预览'\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n// import type { ChatMessage } from '../src/AiChat/TouchChat.vue';\nimport { ref } from 'vue';\nimport aiAvatarBase from '../img/bgimage.png';\nconst aiAvatarPath = ref(aiAvatarBase);\ninterface ChatMessage {\n chatId?: string;\n user: string;\n type: string;\n content: string;\n isChating?: boolean;\n thinkContent?: string;\n reasoningContent?: string;\n isLiked?: boolean;\n isDisliked?: boolean;\n isEditing?: boolean;\n editContent?: string;\n componentName?: string;\n thinkStatus?: 'thinking' | 'completed' | 'stopped';\n thinkStartTime?: number;\n thinkTime?: number;\n [key: string]: unknown;\n}\n\n;\n\nconst props = defineProps<{\n item: ChatMessage & { imageUrl?: string; fileName?: string };\n index: number;\n}>();\nconsole.log(props);\n</script>\n\n<!-- <style scoped lang=\"less\">\n@import './style/ImageView.less';\n</style> -->\n"],"names":["DO_defineComponent","_createElementBlock","_createElementVNode"],"mappings":";;;AAEA,MAAA,WAA6B,GAAAA,eAAA,CAAmB,EAAE,IAAA,EAAM,aAAa,CAAA,CAAA;;;;;;;;AAiBrE,IAAM,MAAA,YAAA,GAAe,IAAI,YAAY,CAAA,CAAA;AAsBrC,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAId,IAAA,OAAA,CAAQ,IAAI,KAAK,CAAA,CAAA;;;wBAxCf,EAAAC,kBAAA,CAOM,OAAA,EAPD,KAAA,EAAM,cAAY,EAAA;AAAA,QACrBC,mBAKE,KAAA,EAAA;AAAA,UAJC,KAAK,YAAY,CAAA,KAAA;AAAA,UAClB,GAAI,EAAA,0BAAA;AAAA,UACJ,KAAM,EAAA,eAAA;AAAA,UACL,KAAO,EAAA,CAAA,EAAA,GAAA,OAAA,CAAI,IAAC,CAAA,QAAA,KAAL,IAAa,GAAA,EAAA,GAAA,0BAAA;AAAA;;;;;;;;"}
1
+ {"version":3,"file":"ImageView.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/ImageView.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({ name: 'ImageView' });\n</script>\n<template>\n <div class=\"image-view\">\n <img\n :src=\"aiAvatarPath\"\n alt=\"图片展示\"\n class=\"image-content\"\n :title=\"item.fileName ?? '图片预览'\"\n />\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n// import type { ChatMessage } from '../src/AiChat/TouchChat.vue';\nimport { ref } from 'vue';\nimport aiAvatarBase from '../img/bgimage.png';\nconst aiAvatarPath = ref(aiAvatarBase);\ninterface ChatMessage {\n chatId?: string;\n user: string;\n type: string;\n content: string;\n isChating?: boolean;\n thinkContent?: string;\n reasoningContent?: string;\n isLiked?: boolean;\n isDisliked?: boolean;\n isEditing?: boolean;\n editContent?: string;\n componentName?: string;\n thinkStatus?: 'thinking' | 'completed' | 'stopped';\n thinkStartTime?: number;\n thinkTime?: number;\n [key: string]: unknown;\n}\n\n;\n\nconst props = defineProps<{\n item: ChatMessage & { imageUrl?: string; fileName?: string };\n index: number;\n}>();\nconsole.log(props);\n</script>\n\n<!-- <style scoped lang=\"less\">\n@import './style/ImageView.less';\n</style> -->\n"],"names":["DO_defineComponent","_createElementBlock","_createElementVNode","item"],"mappings":";;;AAEA,MAAA,WAA6B,GAAAA,eAAA,CAAmB,EAAE,IAAA,EAAM,aAAa,CAAA,CAAA;;;;;;;;AAiBrE,IAAM,MAAA,YAAA,GAAe,IAAI,YAAY,CAAA,CAAA;AAsBrC,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAId,IAAA,OAAA,CAAQ,IAAI,KAAK,CAAA,CAAA;;;wBAxCf,EAAAC,kBAAA,CAOM,OAAA,EAPD,KAAA,EAAM,cAAY,EAAA;AAAA,QACrBC,mBAKE,KAAA,EAAA;AAAA,UAJC,KAAK,YAAY,CAAA,KAAA;AAAA,UAClB,GAAI,EAAA,0BAAA;AAAA,UACJ,KAAM,EAAA,eAAA;AAAA,UACL,KAAOC,EAAAA,CAAAA,EAAAA,GAAAA,IAAAA,CAAI,IAAC,CAAA,QAAA,KAALA,IAAa,GAAA,EAAA,GAAA,0BAAA;AAAA;;;;;;;;"}
@@ -37,10 +37,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
37
37
  })
38
38
  ])),
39
39
  createElementVNode("a", {
40
- href: __props.item.url,
40
+ href: _ctx.item.url,
41
41
  target: "_blank",
42
42
  class: "url-text"
43
- }, toDisplayString(__props.item.url || "https://mp.weixin.qq.com"), 9, ["href"])
43
+ }, toDisplayString(_ctx.item.url || "https://mp.weixin.qq.com"), 9, ["href"])
44
44
  ]),
45
45
  createCommentVNode(" \u5185\u5BB9\u533A\u57DF "),
46
46
  createElementVNode("div", { class: "link-content" }, [
@@ -53,14 +53,14 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
53
53
  createElementVNode(
54
54
  "h3",
55
55
  { class: "link-title" },
56
- toDisplayString(__props.item.title || "\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57"),
56
+ toDisplayString(_ctx.item.title || "\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57\u6807\u9898\u6587\u5B57"),
57
57
  1
58
58
  /* TEXT */
59
59
  ),
60
60
  createElementVNode(
61
61
  "p",
62
62
  { class: "link-desc" },
63
- toDisplayString(__props.item.content || "\u5185\u5BB9\u6587\u5B57\u5185\u5BB9\u6587\u5B57\u5185\u5BB9\u6587\u5B57\u5185\u5BB9\u6587\u5B57"),
63
+ toDisplayString(_ctx.item.content || "\u5185\u5BB9\u6587\u5B57\u5185\u5BB9\u6587\u5B57\u5185\u5BB9\u6587\u5B57\u5185\u5BB9\u6587\u5B57"),
64
64
  1
65
65
  /* TEXT */
66
66
  )
@@ -1 +1 @@
1
- {"version":3,"file":"LinkView.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/LinkView.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({ name: 'LinkView' });\n</script>\n<template>\n <div class=\"link-container\">\n <!-- 链接地址 -->\n <div class=\"link-url\">\n <svg\n class=\"link-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"11\"\n height=\"12\"\n viewBox=\"0 0 11 12\"\n fill=\"none\"\n >\n <path\n d=\"M9.07789 4.32533L7.22254 6.18221L8.04713 7.00749L9.90248 5.1506C10.9271 4.12514 11.1133 2.45825 9.95499 1.35208C8.83011 0.277812 7.22286 0.37915 6.17891 1.42396L4.32357 3.28084L5.14816 4.10612L7.00351 2.24924C7.62938 1.62285 8.51321 1.58839 9.14993 2.19646C9.75325 2.77264 9.72309 3.67959 9.07789 4.32533Z\"\n fill=\"#0077FA\"\n />\n <path\n d=\"M1.92162 7.35876L3.77697 5.50187L2.95238 4.6766L1.09703 6.53348C0.0724121 7.55894 -0.113751 9.22583 1.04452 10.332C2.1694 11.4063 3.77665 11.3049 4.8206 10.2601L6.67595 8.40324L5.85135 7.57797L3.996 9.43485C3.37013 10.0612 2.4863 10.0957 1.84958 9.48762C1.24627 8.91144 1.27642 8.00449 1.92162 7.35876Z\"\n fill=\"#0077FA\"\n />\n <path\n d=\"M3.33825 7.18009L6.83672 3.67873L7.66131 4.50401L4.16285 8.00537L3.33825 7.18009Z\"\n fill=\"#0077FA\"\n />\n </svg>\n <a :href=\"item.url\" target=\"_blank\" class=\"url-text\">{{\n item.url || 'https://mp.weixin.qq.com'\n }}</a>\n </div>\n <!-- 内容区域 -->\n <div class=\"link-content\">\n <img src=\"../img/link.png\" alt=\"链接预览图\" class=\"content-image\" />\n <div class=\"info-content\">\n <h3 class=\"link-title\">\n {{ item.title || '标题文字标题文字标题文字标题文字标题文字标题文字' }}\n </h3>\n <p class=\"link-desc\">{{ item.content || '内容文字内容文字内容文字内容文字' }}</p>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n// import type { ChatMessage } from '../src/AiChat/TouchChat.vue';\ninterface ChatMessage {\n chatId?: string;\n user: string;\n type: string;\n content: string;\n isChating?: boolean;\n thinkContent?: string;\n reasoningContent?: string;\n isLiked?: boolean;\n isDisliked?: boolean;\n isEditing?: boolean;\n editContent?: string;\n componentName?: string;\n thinkStatus?: 'thinking' | 'completed' | 'stopped';\n thinkStartTime?: number;\n thinkTime?: number;\n [key: string]: unknown;\n}\n\n;\n\nconst props = defineProps<{\n item: ChatMessage & { url?: string; title?: string; content?: string };\n index: number;\n}>();\nconsole.log(props);\n</script>\n\n<!-- <style scoped lang=\"less\">\n@import './style/LinkView.less';\n</style> -->\n"],"names":["DO_defineComponent","_createElementBlock","_createCommentVNode","_createElementVNode","_toDisplayString"],"mappings":";;;AAEA,MAAA,WAA6B,GAAAA,eAAA,CAAmB,EAAE,IAAA,EAAM,YAAY,CAAA,CAAA;;;;;;;;AAmEpE,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAId,IAAA,OAAA,CAAQ,IAAI,KAAK,CAAA,CAAA;;wBApEf,EAAAC,kBAAA,CAsCM,OAAA,EAtCD,KAAA,EAAM,kBAAgB,EAAA;AAAA,QACzBC,mBAAa,4BAAA,CAAA;AAAA,QACbC,kBAyBM,CAAA,KAAA,EAAA,EAzBD,KAAA,EAAM,YAAU,EAAA;AAAA,sBACnB,EAAAF,kBAAA,CAoBM,KAAA,EAAA;AAAA,YAnBJ,KAAM,EAAA,WAAA;AAAA,YACN,KAAM,EAAA,4BAAA;AAAA,YACN,KAAM,EAAA,IAAA;AAAA,YACN,MAAO,EAAA,IAAA;AAAA,YACP,OAAQ,EAAA,WAAA;AAAA,YACR,IAAK,EAAA,MAAA;AAAA;YAELE,mBAGE,MAAA,EAAA;AAAA,cAFA,CAAE,EAAA,mTAAA;AAAA,cACF,IAAK,EAAA,SAAA;AAAA;YAEPA,mBAGE,MAAA,EAAA;AAAA,cAFA,CAAE,EAAA,gTAAA;AAAA,cACF,IAAK,EAAA,SAAA;AAAA;YAEPA,mBAGE,MAAA,EAAA;AAAA,cAFA,CAAE,EAAA,mFAAA;AAAA,cACF,IAAK,EAAA,SAAA;AAAA;;UAGTA,mBAEM,GAAA,EAAA;AAAA,YAFF,IAAA,EAAM,QAAI,IAAC,CAAA,GAAA;AAAA,YAAK,MAAO,EAAA,QAAA;AAAA,YAAS,KAAM,EAAA,UAAA;AAAA,WACxC,EAAAC,eAAA,CAAA,OAAA,CAAA,IAAK,CAAA,GAAA,IAAG,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA;QAGZF,mBAAa,4BAAA,CAAA;AAAA,QACbC,kBAQM,CAAA,KAAA,EAAA,EARD,KAAA,EAAM,gBAAc,EAAA;AAAA,UACvBA,mBAA+D,KAAA,EAAA;AAAA,YAA1D,GAAA,EAAA,UAAA;AAAA,YAAsB,GAAI,EAAA,gCAAA;AAAA,YAAQ,KAAM,EAAA,eAAA;AAAA;UAC7CA,kBAKM,CAAA,KAAA,EAAA,EALD,KAAA,EAAM,gBAAc,EAAA;AAAA,YACvBA,kBAAA;AAAA,cAEK,IAAA;AAAA,gBAFD,OAAM,YACL,EAAA;AAAA,cAAAC,eAAA,CAAA,OAAA,CAAA,IAAK,CAAA,KAAA,IAAK,kJAAA,CAAA;AAAA,cAAA,CAAA;AAAA;AAAA,aAAA;AAAA,YAEfD,kBAAA;AAAA,cAAiE,GAAA;AAAA,gBAA9D,OAAM,WAAe,EAAA;AAAA,cAAAC,eAAA,CAAA,OAAA,CAAA,IAAK,CAAA,OAAA,IAAO,kGAAA,CAAA;AAAA,cAAA,CAAA;AAAA;AAAA,aAAA;AAAA;;;;;;;;;"}
1
+ {"version":3,"file":"LinkView.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/LinkView.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({ name: 'LinkView' });\n</script>\n<template>\n <div class=\"link-container\">\n <!-- 链接地址 -->\n <div class=\"link-url\">\n <svg\n class=\"link-icon\"\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"11\"\n height=\"12\"\n viewBox=\"0 0 11 12\"\n fill=\"none\"\n >\n <path\n d=\"M9.07789 4.32533L7.22254 6.18221L8.04713 7.00749L9.90248 5.1506C10.9271 4.12514 11.1133 2.45825 9.95499 1.35208C8.83011 0.277812 7.22286 0.37915 6.17891 1.42396L4.32357 3.28084L5.14816 4.10612L7.00351 2.24924C7.62938 1.62285 8.51321 1.58839 9.14993 2.19646C9.75325 2.77264 9.72309 3.67959 9.07789 4.32533Z\"\n fill=\"#0077FA\"\n />\n <path\n d=\"M1.92162 7.35876L3.77697 5.50187L2.95238 4.6766L1.09703 6.53348C0.0724121 7.55894 -0.113751 9.22583 1.04452 10.332C2.1694 11.4063 3.77665 11.3049 4.8206 10.2601L6.67595 8.40324L5.85135 7.57797L3.996 9.43485C3.37013 10.0612 2.4863 10.0957 1.84958 9.48762C1.24627 8.91144 1.27642 8.00449 1.92162 7.35876Z\"\n fill=\"#0077FA\"\n />\n <path\n d=\"M3.33825 7.18009L6.83672 3.67873L7.66131 4.50401L4.16285 8.00537L3.33825 7.18009Z\"\n fill=\"#0077FA\"\n />\n </svg>\n <a :href=\"item.url\" target=\"_blank\" class=\"url-text\">{{\n item.url || 'https://mp.weixin.qq.com'\n }}</a>\n </div>\n <!-- 内容区域 -->\n <div class=\"link-content\">\n <img src=\"../img/link.png\" alt=\"链接预览图\" class=\"content-image\" />\n <div class=\"info-content\">\n <h3 class=\"link-title\">\n {{ item.title || '标题文字标题文字标题文字标题文字标题文字标题文字' }}\n </h3>\n <p class=\"link-desc\">{{ item.content || '内容文字内容文字内容文字内容文字' }}</p>\n </div>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\n// import type { ChatMessage } from '../src/AiChat/TouchChat.vue';\ninterface ChatMessage {\n chatId?: string;\n user: string;\n type: string;\n content: string;\n isChating?: boolean;\n thinkContent?: string;\n reasoningContent?: string;\n isLiked?: boolean;\n isDisliked?: boolean;\n isEditing?: boolean;\n editContent?: string;\n componentName?: string;\n thinkStatus?: 'thinking' | 'completed' | 'stopped';\n thinkStartTime?: number;\n thinkTime?: number;\n [key: string]: unknown;\n}\n\n;\n\nconst props = defineProps<{\n item: ChatMessage & { url?: string; title?: string; content?: string };\n index: number;\n}>();\nconsole.log(props);\n</script>\n\n<!-- <style scoped lang=\"less\">\n@import './style/LinkView.less';\n</style> -->\n"],"names":["DO_defineComponent","_createElementBlock","_createCommentVNode","_createElementVNode","item"],"mappings":";;;AAEA,MAAA,WAA6B,GAAAA,eAAA,CAAmB,EAAE,IAAA,EAAM,YAAY,CAAA,CAAA;;;;;;;;AAmEpE,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAId,IAAA,OAAA,CAAQ,IAAI,KAAK,CAAA,CAAA;;wBApEf,EAAAC,kBAAA,CAsCM,OAAA,EAtCD,KAAA,EAAM,kBAAgB,EAAA;AAAA,QACzBC,mBAAa,4BAAA,CAAA;AAAA,QACbC,kBAyBM,CAAA,KAAA,EAAA,EAzBD,KAAA,EAAM,YAAU,EAAA;AAAA,sBACnB,EAAAF,kBAAA,CAoBM,KAAA,EAAA;AAAA,YAnBJ,KAAM,EAAA,WAAA;AAAA,YACN,KAAM,EAAA,4BAAA;AAAA,YACN,KAAM,EAAA,IAAA;AAAA,YACN,MAAO,EAAA,IAAA;AAAA,YACP,OAAQ,EAAA,WAAA;AAAA,YACR,IAAK,EAAA,MAAA;AAAA;YAELE,mBAGE,MAAA,EAAA;AAAA,cAFA,CAAE,EAAA,mTAAA;AAAA,cACF,IAAK,EAAA,SAAA;AAAA;YAEPA,mBAGE,MAAA,EAAA;AAAA,cAFA,CAAE,EAAA,gTAAA;AAAA,cACF,IAAK,EAAA,SAAA;AAAA;YAEPA,mBAGE,MAAA,EAAA;AAAA,cAFA,CAAE,EAAA,mFAAA;AAAA,cACF,IAAK,EAAA,SAAA;AAAA;;UAGTA,mBAEM,GAAA,EAAA;AAAA,YAFF,IAAA,EAAMC,KAAI,IAAC,CAAA,GAAA;AAAA,YAAK,MAAO,EAAA,QAAA;AAAA,YAAS,KAAM,EAAA,UAAA;AAAA,WACxCA,EAAAA,eAAAA,CAAAA,IAAAA,CAAAA,IAAK,CAAA,GAAA,IAAG,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA;QAGZF,mBAAa,4BAAA,CAAA;AAAA,QACbC,kBAQM,CAAA,KAAA,EAAA,EARD,KAAA,EAAM,gBAAc,EAAA;AAAA,UACvBA,mBAA+D,KAAA,EAAA;AAAA,YAA1D,GAAA,EAAA,UAAA;AAAA,YAAsB,GAAI,EAAA,gCAAA;AAAA,YAAQ,KAAM,EAAA,eAAA;AAAA;UAC7CA,kBAKM,CAAA,KAAA,EAAA,EALD,KAAA,EAAM,gBAAc,EAAA;AAAA,YACvBA,kBAAA;AAAA,cAEK,IAAA;AAAA,gBAFD,OAAM,YACLC,EAAAA;AAAAA,cAAAA,eAAAA,CAAAA,IAAAA,CAAAA,IAAK,CAAA,KAAA,IAAK,kJAAA,CAAA;AAAA,cAAA,CAAA;AAAA;AAAA,aAAA;AAAA,YAEfD,kBAAA;AAAA,cAAiE,GAAA;AAAA,gBAA9D,OAAM,WAAeC,EAAAA;AAAAA,cAAAA,eAAAA,CAAAA,IAAAA,CAAAA,IAAK,CAAA,OAAA,IAAO,kGAAA,CAAA;AAAA,cAAA,CAAA;AAAA;AAAA,aAAA;AAAA;;;;;;;;;"}
@@ -46,7 +46,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
46
46
  createElementVNode("p", { class: "touchchat-edit-text" }, "\u6587\u4EF6\u6570\u91CF: \u6700\u591A 10 \u4E2A,\u6587\u4EF6\u7C7B\u578B: pdf\u3001txt\u3001csv\u3001docx\u3001doc\u3001xlsx\u3001xls\u3001 pptx\u3001 ppt\u3001md\u3001mobi\u3001epub\u3001png\u3001jpeg\u3001jpg")
47
47
  ])
48
48
  ], 8, ["onClick"])), [
49
- [vShow, __props.showMarkLaryer]
49
+ [vShow, _ctx.showMarkLaryer]
50
50
  ]);
51
51
  };
52
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MarkLayer.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/MarkLayer.vue"],"sourcesContent":["<template>\n\t<div v-show=\"showMarkLaryer\" class=\"touchchat-edit-mark\" @click=\"emit('colseMarkLayer')\">\n\t\t<div>\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n\t\t\t\t<path d=\"M12.004 20.5002L11.9998 11.5002\" stroke=\"#1D2129\" stroke-width=\"1.8\" stroke-linecap=\"square\" stroke-linejoin=\"round\" />\n\t\t\t\t<path d=\"M20.2589 17.1583C21.9022 16.0027 22.6068 13.9153 22 12.0002C21.3933 10.0851 19.5352 9.03595 17.5264 9.0375H16.3659C15.6072 6.0809 13.1041 3.89811 10.0717 3.54885C7.03935 3.19959 4.1056 4.75615 2.69465 7.4629C1.2837 10.1696 1.68772 13.4661 3.71057 15.752\" stroke=\"#1D2129\" stroke-width=\"1.8\" stroke-linejoin=\"round\" />\n\t\t\t\t<path d=\"M15.1819 13.8182L11.9999 10.6362L8.81787 13.8182\" stroke=\"#1D2129\" stroke-width=\"1.8\" stroke-linecap=\"square\" stroke-linejoin=\"round\" />\n\t\t\t</svg>\n\t\t\t<p class=\"touchchat-edit-title\">释放鼠标上传</p>\n\t\t\t<p class=\"touchchat-edit-text\">文件数量: 最多 10 个,文件类型: pdf、txt、csv、docx、doc、xlsx、xls、 pptx、 ppt、md、mobi、epub、png、jpeg、jpg</p>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nconst emit = defineEmits(['colseMarkLayer'])\ndefineProps<{\n\tshowMarkLaryer: boolean\n}>()\n</script>\n"],"names":["_createElementBlock","_createElementVNode"],"mappings":";;;;;;;;;AAeA,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;;wCAdZ,EAAAA,kBAAA,CAUM,KAAA,EAAA;AAAA,QAVuB,KAAM,EAAA,qBAAA;AAAA,QAAuB,gBAAO,KAAA,IAAA,CAAI,gBAAA,CAAA;AAAA;QACpEC,kBAAA,CAQM,OAAA,IAAA,EAAA;AAAA,sBAPL,EAAAD,kBAAA,CAIM,KAAA,EAAA;AAAA,YAJD,KAAM,EAAA,4BAAA;AAAA,YAA6B,KAAM,EAAA,IAAA;AAAA,YAAK,MAAO,EAAA,IAAA;AAAA,YAAK,OAAQ,EAAA,WAAA;AAAA,YAAY,IAAK,EAAA,MAAA;AAAA;YACvFC,mBAAgI,MAAA,EAAA;AAAA,cAA1H,CAAE,EAAA,iCAAA;AAAA,cAAkC,MAAO,EAAA,SAAA;AAAA,cAAU,cAAa,EAAA,KAAA;AAAA,cAAM,gBAAe,EAAA,QAAA;AAAA,cAAS,iBAAgB,EAAA,OAAA;AAAA;YACtHA,mBAAsU,MAAA,EAAA;AAAA,cAAhU,CAAE,EAAA,+PAAA;AAAA,cAAgQ,MAAO,EAAA,SAAA;AAAA,cAAU,cAAa,EAAA,KAAA;AAAA,cAAM,iBAAgB,EAAA,OAAA;AAAA;YAC5TA,mBAAiJ,MAAA,EAAA;AAAA,cAA3I,CAAE,EAAA,kDAAA;AAAA,cAAmD,MAAO,EAAA,SAAA;AAAA,cAAU,cAAa,EAAA,KAAA;AAAA,cAAM,gBAAe,EAAA,QAAA;AAAA,cAAS,iBAAgB,EAAA,OAAA;AAAA;;UAExIA,mBAA0C,GAAvC,EAAA,EAAA,KAAM,EAAA,sBAAA,IAAuB,sCAAM,CAAA;AAAA,UACtCA,mBAAyH,GAAtH,EAAA,EAAA,KAAM,EAAA,qBAAA,IAAsB,qNAAsF,CAAA;AAAA;;cAR1G,EAAA,OAAA,CAAc,cAAA,CAAA;AAAA;;;;;;;"}
1
+ {"version":3,"file":"MarkLayer.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/MarkLayer.vue"],"sourcesContent":["<template>\n\t<div v-show=\"showMarkLaryer\" class=\"touchchat-edit-mark\" @click=\"emit('colseMarkLayer')\">\n\t\t<div>\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\n\t\t\t\t<path d=\"M12.004 20.5002L11.9998 11.5002\" stroke=\"#1D2129\" stroke-width=\"1.8\" stroke-linecap=\"square\" stroke-linejoin=\"round\" />\n\t\t\t\t<path d=\"M20.2589 17.1583C21.9022 16.0027 22.6068 13.9153 22 12.0002C21.3933 10.0851 19.5352 9.03595 17.5264 9.0375H16.3659C15.6072 6.0809 13.1041 3.89811 10.0717 3.54885C7.03935 3.19959 4.1056 4.75615 2.69465 7.4629C1.2837 10.1696 1.68772 13.4661 3.71057 15.752\" stroke=\"#1D2129\" stroke-width=\"1.8\" stroke-linejoin=\"round\" />\n\t\t\t\t<path d=\"M15.1819 13.8182L11.9999 10.6362L8.81787 13.8182\" stroke=\"#1D2129\" stroke-width=\"1.8\" stroke-linecap=\"square\" stroke-linejoin=\"round\" />\n\t\t\t</svg>\n\t\t\t<p class=\"touchchat-edit-title\">释放鼠标上传</p>\n\t\t\t<p class=\"touchchat-edit-text\">文件数量: 最多 10 个,文件类型: pdf、txt、csv、docx、doc、xlsx、xls、 pptx、 ppt、md、mobi、epub、png、jpeg、jpg</p>\n\t\t</div>\n\t</div>\n</template>\n\n<script setup lang=\"ts\">\nconst emit = defineEmits(['colseMarkLayer'])\ndefineProps<{\n\tshowMarkLaryer: boolean\n}>()\n</script>\n"],"names":["_createElementBlock","_createElementVNode","showMarkLaryer"],"mappings":";;;;;;;;;AAeA,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;;wCAdZ,EAAAA,kBAAA,CAUM,KAAA,EAAA;AAAA,QAVuB,KAAM,EAAA,qBAAA;AAAA,QAAuB,gBAAO,KAAA,IAAA,CAAI,gBAAA,CAAA;AAAA;QACpEC,kBAAA,CAQM,OAAA,IAAA,EAAA;AAAA,sBAPL,EAAAD,kBAAA,CAIM,KAAA,EAAA;AAAA,YAJD,KAAM,EAAA,4BAAA;AAAA,YAA6B,KAAM,EAAA,IAAA;AAAA,YAAK,MAAO,EAAA,IAAA;AAAA,YAAK,OAAQ,EAAA,WAAA;AAAA,YAAY,IAAK,EAAA,MAAA;AAAA;YACvFC,mBAAgI,MAAA,EAAA;AAAA,cAA1H,CAAE,EAAA,iCAAA;AAAA,cAAkC,MAAO,EAAA,SAAA;AAAA,cAAU,cAAa,EAAA,KAAA;AAAA,cAAM,gBAAe,EAAA,QAAA;AAAA,cAAS,iBAAgB,EAAA,OAAA;AAAA;YACtHA,mBAAsU,MAAA,EAAA;AAAA,cAAhU,CAAE,EAAA,+PAAA;AAAA,cAAgQ,MAAO,EAAA,SAAA;AAAA,cAAU,cAAa,EAAA,KAAA;AAAA,cAAM,iBAAgB,EAAA,OAAA;AAAA;YAC5TA,mBAAiJ,MAAA,EAAA;AAAA,cAA3I,CAAE,EAAA,kDAAA;AAAA,cAAmD,MAAO,EAAA,SAAA;AAAA,cAAU,cAAa,EAAA,KAAA;AAAA,cAAM,gBAAe,EAAA,QAAA;AAAA,cAAS,iBAAgB,EAAA,OAAA;AAAA;;UAExIA,mBAA0C,GAAvC,EAAA,EAAA,KAAM,EAAA,sBAAA,IAAuB,sCAAM,CAAA;AAAA,UACtCA,mBAAyH,GAAtH,EAAA,EAAA,KAAM,EAAA,qBAAA,IAAsB,qNAAsF,CAAA;AAAA;;cAR1GC,EAAAA,IAAAA,CAAc,cAAA,CAAA;AAAA;;;;;;;"}
@@ -96,10 +96,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
96
96
  (openBlock(true), createElementBlock(
97
97
  Fragment,
98
98
  null,
99
- renderList(__props.modules, (item) => {
99
+ renderList(_ctx.modules, (item) => {
100
100
  return openBlock(), createElementBlock("div", {
101
101
  key: item.name,
102
- class: normalizeClass(["touchchat-select-option", { "is-selected": item.name === __props.modelValue }]),
102
+ class: normalizeClass(["touchchat-select-option", { "is-selected": item.name === _ctx.modelValue }]),
103
103
  onClick: ($event) => selectOption(item)
104
104
  }, toDisplayString(item.name), 11, ["onClick"]);
105
105
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"ModuleSelect.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/ModuleSelect.vue"],"sourcesContent":["<template>\r\n\t<div class=\"touchchat-custom-select\" tabindex=\"0\" @blur=\"isSelectOpen = false\">\r\n\t\t<div class=\"touchchat-select-trigger\" @click=\"toggleSelect\">\r\n\t\t\t<span class=\"touchchat-select-text\">{{ currentModuleName }}</span>\r\n\t\t\t<div class=\"touchchat-select-icon\" :class=\"{ 'is-open': isSelectOpen }\"></div>\r\n\t\t</div>\r\n\t\t<div v-show=\"isSelectOpen\" ref=\"dropdownRef\" class=\"touchchat-select-dropdown\" :class=\"{ 'is-upward': isUpward }\">\r\n\t\t\t<div v-for=\"item in modules\" :key=\"item.name\" class=\"touchchat-select-option\" :class=\"{ 'is-selected': item.name === modelValue }\" @click=\"selectOption(item)\">\r\n\t\t\t\t{{ item.name }}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nimport { ref, computed, nextTick, onMounted, onUnmounted } from 'vue'\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\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\tmodules: ModuleItem[]\r\n\tmodelValue: string\r\n}>()\r\n\r\nconst emit = defineEmits<{\r\n\t(e: 'update:modelValue', value: string): void\r\n}>()\r\n\r\nconst isSelectOpen = ref(false)\r\nconst dropdownRef = ref<HTMLElement | null>(null)\r\nconst isUpward = ref(false)\r\n\r\nconst currentModuleName = computed(() => {\r\n\tconst selected = props.modules.find(item => item.name === props.modelValue)\r\n\treturn selected ? selected.name : props.modules[0]?.name || ''\r\n})\r\n\r\nconst toggleSelect = () => {\r\n\tisSelectOpen.value = !isSelectOpen.value\r\n\r\n\tif (isSelectOpen.value) {\r\n\t\t// 在下一个tick中计算位置\r\n\t\tnextTick(() => {\r\n\t\t\tcalculateDropdownPosition()\r\n\t\t})\r\n\t}\r\n}\r\n\r\nconst calculateDropdownPosition = () => {\r\n\tif (!dropdownRef.value) return\r\n\r\n\tconst dropdownRect = dropdownRef.value.getBoundingClientRect()\r\n\tconst viewportHeight = window.innerHeight\r\n\tconst spaceBelow = viewportHeight - dropdownRect.top - dropdownRect.height\r\n\tconst spaceAbove = dropdownRect.top\r\n\r\n\t// 如果下方空间不足且上方空间足够,则显示在上方\r\n\tisUpward.value = spaceBelow < 200 && spaceAbove > spaceBelow\r\n}\r\n\r\nconst selectOption = (item: ModuleItem) => {\r\n\temit('update:modelValue', item.name)\r\n\tisSelectOpen.value = false\r\n}\r\n\r\nconst handleWindowEvent = () => {\r\n\tif (isSelectOpen.value) {\r\n\t\tcalculateDropdownPosition()\r\n\t}\r\n}\r\n\r\nonMounted(() => {\r\n\twindow.addEventListener('scroll', handleWindowEvent, true)\r\n\twindow.addEventListener('resize', handleWindowEvent)\r\n\r\n\t// 点击外部关闭下拉菜单\r\n\tdocument.addEventListener('click', e => {\r\n\t\tconst selectEl = document.querySelector('.touchchat-custom-select')\r\n\t\tif (selectEl && !selectEl.contains(e.target as Node)) {\r\n\t\t\tisSelectOpen.value = false\r\n\t\t}\r\n\t})\r\n})\r\n\r\nonUnmounted(() => {\r\n\twindow.removeEventListener('scroll', handleWindowEvent, true)\r\n\twindow.removeEventListener('resize', handleWindowEvent)\r\n})\r\n</script>\r\n"],"names":["_createElementBlock","_createElementVNode","_normalizeClass","_Fragment","_renderList","_toDisplayString"],"mappings":"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"}
1
+ {"version":3,"file":"ModuleSelect.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/ModuleSelect.vue"],"sourcesContent":["<template>\n\t<div class=\"touchchat-custom-select\" tabindex=\"0\" @blur=\"isSelectOpen = false\">\n\t\t<div class=\"touchchat-select-trigger\" @click=\"toggleSelect\">\n\t\t\t<span class=\"touchchat-select-text\">{{ currentModuleName }}</span>\n\t\t\t<div class=\"touchchat-select-icon\" :class=\"{ 'is-open': isSelectOpen }\"></div>\n\t\t</div>\n\t\t<div v-show=\"isSelectOpen\" ref=\"dropdownRef\" class=\"touchchat-select-dropdown\" :class=\"{ 'is-upward': isUpward }\">\n\t\t\t<div v-for=\"item in modules\" :key=\"item.name\" class=\"touchchat-select-option\" :class=\"{ 'is-selected': item.name === modelValue }\" @click=\"selectOption(item)\">\n\t\t\t\t{{ item.name }}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, computed, nextTick, onMounted, onUnmounted } from 'vue'\ninterface BodyConfig {\n\tmodel: string\n\tmessages: Array<{\n\t\trole: string\n\t\tcontent: string\n\t}>\n\tstream: boolean\n}\n\n// 定义 respoKey 返回值的类型\ninterface RespoKeyConfig {\n\tcategory: string\n\tcontentCategory: string\n\tcontent: string\n\tall: string\n\tallCategory: string\n}\ninterface ModuleItem {\n\tname: string\n\tconfig: {\n\t\taction: string\n\t\theaders: () => object\n\t\tbody: () => BodyConfig // 修改为具体类型\n\t\trespoKey: () => RespoKeyConfig // 修改为具体类型\n\t}\n}\n\nconst props = defineProps<{\n\tmodules: ModuleItem[]\n\tmodelValue: string\n}>()\n\nconst emit = defineEmits<{\n\t(e: 'update:modelValue', value: string): void\n}>()\n\nconst isSelectOpen = ref(false)\nconst dropdownRef = ref<HTMLElement | null>(null)\nconst isUpward = ref(false)\n\nconst currentModuleName = computed(() => {\n\tconst selected = props.modules.find(item => item.name === props.modelValue)\n\treturn selected ? selected.name : props.modules[0]?.name || ''\n})\n\nconst toggleSelect = () => {\n\tisSelectOpen.value = !isSelectOpen.value\n\n\tif (isSelectOpen.value) {\n\t\t// 在下一个tick中计算位置\n\t\tnextTick(() => {\n\t\t\tcalculateDropdownPosition()\n\t\t})\n\t}\n}\n\nconst calculateDropdownPosition = () => {\n\tif (!dropdownRef.value) return\n\n\tconst dropdownRect = dropdownRef.value.getBoundingClientRect()\n\tconst viewportHeight = window.innerHeight\n\tconst spaceBelow = viewportHeight - dropdownRect.top - dropdownRect.height\n\tconst spaceAbove = dropdownRect.top\n\n\t// 如果下方空间不足且上方空间足够,则显示在上方\n\tisUpward.value = spaceBelow < 200 && spaceAbove > spaceBelow\n}\n\nconst selectOption = (item: ModuleItem) => {\n\temit('update:modelValue', item.name)\n\tisSelectOpen.value = false\n}\n\nconst handleWindowEvent = () => {\n\tif (isSelectOpen.value) {\n\t\tcalculateDropdownPosition()\n\t}\n}\n\nonMounted(() => {\n\twindow.addEventListener('scroll', handleWindowEvent, true)\n\twindow.addEventListener('resize', handleWindowEvent)\n\n\t// 点击外部关闭下拉菜单\n\tdocument.addEventListener('click', e => {\n\t\tconst selectEl = document.querySelector('.touchchat-custom-select')\n\t\tif (selectEl && !selectEl.contains(e.target as Node)) {\n\t\t\tisSelectOpen.value = false\n\t\t}\n\t})\n})\n\nonUnmounted(() => {\n\twindow.removeEventListener('scroll', handleWindowEvent, true)\n\twindow.removeEventListener('resize', handleWindowEvent)\n})\n</script>\n"],"names":["_createElementBlock","_createElementVNode","_normalizeClass","_Fragment","_renderList","modules","modelValue","_toDisplayString"],"mappings":"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"}
@@ -103,7 +103,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
103
103
  createElementVNode(
104
104
  "div",
105
105
  {
106
- class: normalizeClass(["pdf-file", __props.item.uploadError ? "pdf-error" : "pdf-success"]),
106
+ class: normalizeClass(["pdf-file", _ctx.item.uploadError ? "pdf-error" : "pdf-success"]),
107
107
  onClick: fileClick
108
108
  },
109
109
  [
@@ -127,12 +127,12 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
127
127
  class: "pdf-file-title",
128
128
  onMouseenter: handleMouseEnter,
129
129
  onMouseleave: ($event) => showTooltip.value = false
130
- }, toDisplayString(__props.item.name), 41, ["onMouseleave"]),
131
- __props.item.uploadError ? (openBlock(), createElementBlock("p", {
130
+ }, toDisplayString(_ctx.item.name), 41, ["onMouseleave"]),
131
+ _ctx.item.uploadError ? (openBlock(), createElementBlock("p", {
132
132
  key: 0,
133
133
  class: "pdf-file-info"
134
134
  }, "\u9519\u8BEF")) : createCommentVNode("v-if", true),
135
- progress.value !== 100 && !__props.item.uploadError ? (openBlock(), createElementBlock(
135
+ progress.value !== 100 && !_ctx.item.uploadError ? (openBlock(), createElementBlock(
136
136
  "p",
137
137
  {
138
138
  key: 1,
@@ -142,18 +142,18 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
142
142
  1
143
143
  /* TEXT */
144
144
  )) : createCommentVNode("v-if", true),
145
- progress.value === 100 && !__props.item.uploadError ? (openBlock(), createElementBlock(
145
+ progress.value === 100 && !_ctx.item.uploadError ? (openBlock(), createElementBlock(
146
146
  "p",
147
147
  {
148
148
  key: 2,
149
149
  class: "pdf-file-info"
150
150
  },
151
- toDisplayString(__props.item.fileSize),
151
+ toDisplayString(_ctx.item.fileSize),
152
152
  1
153
153
  /* TEXT */
154
154
  )) : createCommentVNode("v-if", true),
155
- createCommentVNode(` <p v-if="showTooltip" ref="tooltipElement" class="pdf-file-tooltip" :style="{ top: tooltipTop + 'px' }">\r
156
- {{ item.name }}\r
155
+ createCommentVNode(` <p v-if="showTooltip" ref="tooltipElement" class="pdf-file-tooltip" :style="{ top: tooltipTop + 'px' }">
156
+ {{ item.name }}
157
157
  </p> `)
158
158
  ],
159
159
  512
@@ -178,7 +178,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
178
178
  )) : createCommentVNode("v-if", true),
179
179
  withDirectives(createElementVNode("div", {
180
180
  class: "pdf-file-colse",
181
- onClick: ($event) => emits("colse", __props.item.id)
181
+ onClick: ($event) => emits("colse", _ctx.item.id)
182
182
  }, [
183
183
  (openBlock(), createElementBlock("svg", {
184
184
  xmlns: "http://www.w3.org/2000/svg",
@@ -193,7 +193,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
193
193
  })
194
194
  ]))
195
195
  ], 8, ["onClick"]), [
196
- [vShow, __props.hasColse]
196
+ [vShow, _ctx.hasColse]
197
197
  ])
198
198
  ],
199
199
  2
@@ -1 +1 @@
1
- {"version":3,"file":"PDFFile.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/PDFFile.vue"],"sourcesContent":["<template>\r\n\t<!-- -->\r\n\t<div class=\"pdf-file\" :class=\"item.uploadError ? 'pdf-error' : 'pdf-success'\" @click=\"fileClick\">\r\n\t\t<!-- <span>{{imgType}}</span> -->\r\n\t\t<img class=\"pdf-file-img\" :src=\"imgTypeInfo[imgType]\" :alt=\"imgType\" />\r\n\t\t<div ref=\"centerContainer\" class=\"pdf-file-center\">\r\n\t\t\t<p ref=\"titleElement\" class=\"pdf-file-title\" @mouseenter=\"handleMouseEnter\" @mouseleave=\"showTooltip = false\">\r\n\t\t\t\t{{ item.name }}\r\n\t\t\t</p>\r\n\t\t\t<p v-if=\"item.uploadError\" class=\"pdf-file-info\">错误</p>\r\n\t\t\t<p v-if=\"progress !== 100 && !item.uploadError\" class=\"pdf-file-info\">{{ progress }}%</p>\r\n\t\t\t<p v-if=\"progress === 100 && !item.uploadError\" class=\"pdf-file-info\">{{ item.fileSize }}</p>\r\n\t\t\t<!-- <p v-if=\"showTooltip\" ref=\"tooltipElement\" class=\"pdf-file-tooltip\" :style=\"{ top: tooltipTop + 'px' }\">\r\n\t\t\t\t{{ item.name }}\r\n\t\t\t</p> -->\r\n\t\t</div>\r\n\t\t<img class=\"pdf-file-reset\" src=\"../img/svg/reset.svg\" alt=\"reset\" @click=\"handleReset\" />\r\n\t\t<div v-if=\"progress !== 100\" :style=\"{ width: (progress * 2) / 3 + '%' }\" class=\"pdf-file-progress\"></div>\r\n\t\t<div v-show=\"hasColse\" class=\"pdf-file-colse\" @click=\"emits('colse', item.id)\">\r\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"5\" height=\"6\" viewBox=\"0 0 5 6\" fill=\"none\">\r\n\t\t\t\t<path d=\"M4.42492 5.31718L4.97489 4.76721L3.05002 2.84233L4.97493 0.917422L4.42496 0.36745L2.50005 2.29236L0.575118 0.367432L0.0251465 0.917403L1.95008 2.84233L0.0251875 4.76722L0.575159 5.3172L2.50005 3.39231L4.42492 5.31718Z\" fill=\"white\" />\r\n\t\t\t</svg>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { ref, nextTick, onMounted, onUnmounted, computed, inject } from 'vue'\r\nimport type { FileItem } from '../src/AiChat/Chat/types'\r\nimport DOC from '../img/file/doc.png'\r\nimport DOCX from '../img/file/docx.png'\r\nimport HTML from '../img/file/html.png'\r\nimport JPG from '../img/file/jpg.png'\r\nimport MP3 from '../img/file/mp3.png'\r\nimport MP4 from '../img/file/mp4.png'\r\nimport MUSIC from '../img/file/music.png'\r\nimport PDF from '../img/file/pdf.png'\r\nimport PNG from '../img/file/png.png'\r\nimport XLS from '../img/file/xls.png'\r\nimport TXT from '../img/file/txt.png'\r\nimport GIF from '../img/file/gif.png'\r\nimport PPT from '../img/file/ppt.png'\r\nimport PPTX from '../img/file/pptx.png'\r\nimport XLSX from '../img/file/xlsx.png'\r\n\r\ntype ImgType = 'doc' | 'docx' | 'html' | 'jpg' | 'mp3' | 'mp4' | 'music' | 'pdf' | 'png' | 'xls' | 'txt' | 'gif' | 'ppt' | 'pptx' | 'xlsx' | ''\r\nconst imgTypeInfo: Record<ImgType, string> = {\r\n\tdoc: DOC,\r\n\tdocx: DOCX,\r\n\thtml: HTML,\r\n\tjpg: JPG,\r\n\tmp3: MP3,\r\n\tmp4: MP4,\r\n\tmusic: MUSIC,\r\n\tpdf: PDF,\r\n\tpng: PNG,\r\n\txls: XLS,\r\n\ttxt: TXT,\r\n\tgif: GIF,\r\n\tppt: PPT,\r\n\tpptx: PPTX,\r\n\txlsx: XLSX,\r\n\t'': ''\r\n}\r\nconst props = defineProps<{\r\n\titem: FileItem\r\n\tindex: number\r\n\thasColse: boolean\r\n}>()\r\n\r\nconst emits = defineEmits(['colse'])\r\n\r\nconst showTooltip = ref(false)\r\nconst titleElement = ref<HTMLElement | null>(null)\r\nconst tooltipElement = ref<HTMLElement | null>(null)\r\nconst centerContainer = ref<HTMLElement | null>(null)\r\nconst tooltipTop = ref(0)\r\nconst progress = computed(() => {\r\n\treturn props.item.uploadProgress ?? 0\r\n})\r\n\r\nconst imgType = computed<ImgType>(() => {\r\n\tconst arr = props.item.name.split('.')\r\n\tconst type = arr[arr.length - 1].toLowerCase() as ImgType // 转换为小写并断言类型\r\n\t// 检查是否是有效类型,不是则返回空字符串\r\n\treturn (Object.keys(imgTypeInfo) as ImgType[]).includes(type) ? type : ''\r\n})\r\n\r\nconst updateTooltipPosition = () => {\r\n\tif (titleElement.value && tooltipElement.value && centerContainer.value) {\r\n\t\tconst titleRect = titleElement.value.getBoundingClientRect()\r\n\t\tconst containerRect = centerContainer.value.getBoundingClientRect()\r\n\t\t// 计算相对于容器的 top 值\r\n\t\tconst relativeTop = titleRect.top - containerRect.top\r\n\t\ttooltipTop.value = relativeTop - tooltipElement.value.offsetHeight - 6\r\n\t}\r\n}\r\n\r\nconst handleMouseEnter = async () => {\r\n\tshowTooltip.value = true\r\n\t// 等待 DOM 更新完成后再调用更新位置的方法\r\n\tawait nextTick()\r\n\tupdateTooltipPosition()\r\n}\r\n\r\nconst handleResize = () => {\r\n\tif (showTooltip.value) {\r\n\t\tupdateTooltipPosition()\r\n\t}\r\n}\r\n\r\nconst uploadFile = inject<(index: number, type?: string) => void>('uploadFile', () => {\r\n\tconsole.warn('未提供bottom函数')\r\n})\r\n\r\nconst handleReset = () => {\r\n\tuploadFile(props.index, 'PDF')\r\n}\r\nonMounted(() => {\r\n\twindow.addEventListener('resize', handleResize)\r\n})\r\nonUnmounted(() => {\r\n\twindow.removeEventListener('resize', handleResize)\r\n})\r\nconst fileAction = inject<(item: any, index: number) => void>('fileAction', () => {})\r\nconst fileClick = () => {\r\n\tfileAction(props.item, props.index)\r\n}\r\n</script>\r\n"],"names":["_createCommentVNode","_createElementVNode","_normalizeClass","_toDisplayString","_createElementBlock"],"mappings":"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"}
1
+ {"version":3,"file":"PDFFile.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/PDFFile.vue"],"sourcesContent":["<template>\n\t<!-- -->\n\t<div class=\"pdf-file\" :class=\"item.uploadError ? 'pdf-error' : 'pdf-success'\" @click=\"fileClick\">\n\t\t<!-- <span>{{imgType}}</span> -->\n\t\t<img class=\"pdf-file-img\" :src=\"imgTypeInfo[imgType]\" :alt=\"imgType\" />\n\t\t<div ref=\"centerContainer\" class=\"pdf-file-center\">\n\t\t\t<p ref=\"titleElement\" class=\"pdf-file-title\" @mouseenter=\"handleMouseEnter\" @mouseleave=\"showTooltip = false\">\n\t\t\t\t{{ item.name }}\n\t\t\t</p>\n\t\t\t<p v-if=\"item.uploadError\" class=\"pdf-file-info\">错误</p>\n\t\t\t<p v-if=\"progress !== 100 && !item.uploadError\" class=\"pdf-file-info\">{{ progress }}%</p>\n\t\t\t<p v-if=\"progress === 100 && !item.uploadError\" class=\"pdf-file-info\">{{ item.fileSize }}</p>\n\t\t\t<!-- <p v-if=\"showTooltip\" ref=\"tooltipElement\" class=\"pdf-file-tooltip\" :style=\"{ top: tooltipTop + 'px' }\">\n\t\t\t\t{{ item.name }}\n\t\t\t</p> -->\n\t\t</div>\n\t\t<img class=\"pdf-file-reset\" src=\"../img/svg/reset.svg\" alt=\"reset\" @click=\"handleReset\" />\n\t\t<div v-if=\"progress !== 100\" :style=\"{ width: (progress * 2) / 3 + '%' }\" class=\"pdf-file-progress\"></div>\n\t\t<div v-show=\"hasColse\" class=\"pdf-file-colse\" @click=\"emits('colse', item.id)\">\n\t\t\t<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"5\" height=\"6\" viewBox=\"0 0 5 6\" fill=\"none\">\n\t\t\t\t<path d=\"M4.42492 5.31718L4.97489 4.76721L3.05002 2.84233L4.97493 0.917422L4.42496 0.36745L2.50005 2.29236L0.575118 0.367432L0.0251465 0.917403L1.95008 2.84233L0.0251875 4.76722L0.575159 5.3172L2.50005 3.39231L4.42492 5.31718Z\" fill=\"white\" />\n\t\t\t</svg>\n\t\t</div>\n\t</div>\n</template>\n<script setup lang=\"ts\">\nimport { ref, nextTick, onMounted, onUnmounted, computed, inject } from 'vue'\nimport type { FileItem } from '../src/AiChat/Chat/types'\nimport DOC from '../img/file/doc.png'\nimport DOCX from '../img/file/docx.png'\nimport HTML from '../img/file/html.png'\nimport JPG from '../img/file/jpg.png'\nimport MP3 from '../img/file/mp3.png'\nimport MP4 from '../img/file/mp4.png'\nimport MUSIC from '../img/file/music.png'\nimport PDF from '../img/file/pdf.png'\nimport PNG from '../img/file/png.png'\nimport XLS from '../img/file/xls.png'\nimport TXT from '../img/file/txt.png'\nimport GIF from '../img/file/gif.png'\nimport PPT from '../img/file/ppt.png'\nimport PPTX from '../img/file/pptx.png'\nimport XLSX from '../img/file/xlsx.png'\n\ntype ImgType = 'doc' | 'docx' | 'html' | 'jpg' | 'mp3' | 'mp4' | 'music' | 'pdf' | 'png' | 'xls' | 'txt' | 'gif' | 'ppt' | 'pptx' | 'xlsx' | ''\nconst imgTypeInfo: Record<ImgType, string> = {\n\tdoc: DOC,\n\tdocx: DOCX,\n\thtml: HTML,\n\tjpg: JPG,\n\tmp3: MP3,\n\tmp4: MP4,\n\tmusic: MUSIC,\n\tpdf: PDF,\n\tpng: PNG,\n\txls: XLS,\n\ttxt: TXT,\n\tgif: GIF,\n\tppt: PPT,\n\tpptx: PPTX,\n\txlsx: XLSX,\n\t'': ''\n}\nconst props = defineProps<{\n\titem: FileItem\n\tindex: number\n\thasColse: boolean\n}>()\n\nconst emits = defineEmits(['colse'])\n\nconst showTooltip = ref(false)\nconst titleElement = ref<HTMLElement | null>(null)\nconst tooltipElement = ref<HTMLElement | null>(null)\nconst centerContainer = ref<HTMLElement | null>(null)\nconst tooltipTop = ref(0)\nconst progress = computed(() => {\n\treturn props.item.uploadProgress ?? 0\n})\n\nconst imgType = computed<ImgType>(() => {\n\tconst arr = props.item.name.split('.')\n\tconst type = arr[arr.length - 1].toLowerCase() as ImgType // 转换为小写并断言类型\n\t// 检查是否是有效类型,不是则返回空字符串\n\treturn (Object.keys(imgTypeInfo) as ImgType[]).includes(type) ? type : ''\n})\n\nconst updateTooltipPosition = () => {\n\tif (titleElement.value && tooltipElement.value && centerContainer.value) {\n\t\tconst titleRect = titleElement.value.getBoundingClientRect()\n\t\tconst containerRect = centerContainer.value.getBoundingClientRect()\n\t\t// 计算相对于容器的 top 值\n\t\tconst relativeTop = titleRect.top - containerRect.top\n\t\ttooltipTop.value = relativeTop - tooltipElement.value.offsetHeight - 6\n\t}\n}\n\nconst handleMouseEnter = async () => {\n\tshowTooltip.value = true\n\t// 等待 DOM 更新完成后再调用更新位置的方法\n\tawait nextTick()\n\tupdateTooltipPosition()\n}\n\nconst handleResize = () => {\n\tif (showTooltip.value) {\n\t\tupdateTooltipPosition()\n\t}\n}\n\nconst uploadFile = inject<(index: number, type?: string) => void>('uploadFile', () => {\n\tconsole.warn('未提供bottom函数')\n})\n\nconst handleReset = () => {\n\tuploadFile(props.index, 'PDF')\n}\nonMounted(() => {\n\twindow.addEventListener('resize', handleResize)\n})\nonUnmounted(() => {\n\twindow.removeEventListener('resize', handleResize)\n})\nconst fileAction = inject<(item: any, index: number) => void>('fileAction', () => {})\nconst fileClick = () => {\n\tfileAction(props.item, props.index)\n}\n</script>\n"],"names":["_createCommentVNode","_createElementVNode","_normalizeClass","item","_createElementBlock","_toDisplayString","hasColse"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"QuoteContent.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/QuoteContent.vue"],"sourcesContent":["<template>\r\n\t<div class=\"quote-content\">\r\n\t\t<div class=\"quote-content-text\">\r\n\t\t\t<span>{{ props.quoteObj.user }}:</span>\r\n\t\t\t<span v-if=\"props.quoteObj.msgList[0]?.type === 'text' || props.quoteObj.msgList[0]?.type === 'markdown'\">{{ props.quoteObj.msgList[0]?.content }}</span>\r\n\t\t\t<span v-if=\"props.quoteObj.msgList[0]?.type === 'a2ui' || (props.quoteObj.msgList[0]?.type === 'component' && props.quoteObj.msgList[0]?.displayMode === 'inline')\">[组件]</span>\r\n\t\t</div>\r\n\t\t<div class=\"touchchat-action-item value-close-fill\" @click=\"emits('close')\"></div>\r\n\t</div>\r\n</template>\r\n<script lang=\"ts\" setup>\r\nconst props = defineProps(['quoteObj'])\r\nconst emits = defineEmits(['close'])\r\n</script>\r\n"],"names":["_createElementBlock","_createElementVNode","_openBlock"],"mappings":";;;;;;;AAWA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;;;wBAXb,EAAAA,kBAAA,CAOM,OAAA,EAPD,KAAA,EAAM,iBAAe,EAAA;AAAA,QACzBC,kBAIM,CAAA,KAAA,EAAA,EAJD,KAAA,EAAM,sBAAoB,EAAA;AAAA,UAC9BA,kBAAA;AAAA,YAAuC,MAAA;AAAA;2BAA9B,CAAA,KAAA,CAAM,QAAS,CAAA,IAAI,CAAG,GAAA,QAAA;AAAA,YAAC,CAAA;AAAA;AAAA,WAAA;AAAA,UAAA,CAAA,CACpB,WAAM,QAAS,CAAA,OAAA,CAAY,CAAA,CAAA,KAA3B,mBAA2B,IAAmB,MAAA,MAAA,IAAA,CAAA,CAAA,EAAM,GAAA,KAAA,CAAA,QAAA,CAAS,eAAf,mBAA2B,IAAI,MAAA,UAAA,IAAzFC,WAAA,EAAAF,kBAAA;AAAA,YAAyJ,MAAA;AAAA;6BAA5C,EAAM,GAAA,KAAA,CAAA,QAAA,CAAS,eAAf,mBAA2B,OAAO,CAAA;AAAA,YAAA,CAAA;AAAA;AAAA,WAAA;YACnI,WAAM,QAAS,CAAA,OAAA,QAAf,mBAA2B,IAAI,MAAA,MAAA,IAAA,CAAA,CAAgB,EAAM,GAAA,KAAA,CAAA,QAAA,CAAS,QAAO,CAAA,CAAA,KAAtB,IAA2B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,MAAwB,iBAAA,EAAM,GAAA,KAAA,CAAA,QAAA,CAAS,OAAO,CAAA,CAAA,MAAtB,IAA2B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,MAAW,QAApJ,IAAAE,SAAA,IAAAF,kBAA+K,CAAA,MAAA,YAAX,EAAA,gBAAI;;QAEzKC,mBAAkF,KAAA,EAAA;AAAA,UAA7E,KAAM,EAAA,wCAAA;AAAA,UAA0C,gBAAO,KAAA,KAAA,CAAK,OAAA,CAAA;AAAA;;;;;;;;"}
1
+ {"version":3,"file":"QuoteContent.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/QuoteContent.vue"],"sourcesContent":["<template>\n\t<div class=\"quote-content\">\n\t\t<div class=\"quote-content-text\">\n\t\t\t<span>{{ props.quoteObj.user }}:</span>\n\t\t\t<span v-if=\"props.quoteObj.msgList[0]?.type === 'text' || props.quoteObj.msgList[0]?.type === 'markdown'\">{{ props.quoteObj.msgList[0]?.content }}</span>\n\t\t\t<span v-if=\"props.quoteObj.msgList[0]?.type === 'a2ui' || (props.quoteObj.msgList[0]?.type === 'component' && props.quoteObj.msgList[0]?.displayMode === 'inline')\">[组件]</span>\n\t\t</div>\n\t\t<div class=\"touchchat-action-item value-close-fill\" @click=\"emits('close')\"></div>\n\t</div>\n</template>\n<script lang=\"ts\" setup>\nconst props = defineProps(['quoteObj'])\nconst emits = defineEmits(['close'])\n</script>\n"],"names":["_createElementBlock","_createElementVNode","_openBlock"],"mappings":";;;;;;;AAWA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA,CAAA;;;wBAXb,EAAAA,kBAAA,CAOM,OAAA,EAPD,KAAA,EAAM,iBAAe,EAAA;AAAA,QACzBC,kBAIM,CAAA,KAAA,EAAA,EAJD,KAAA,EAAM,sBAAoB,EAAA;AAAA,UAC9BA,kBAAA;AAAA,YAAuC,MAAA;AAAA;2BAA9B,CAAA,KAAA,CAAM,QAAS,CAAA,IAAI,CAAG,GAAA,QAAA;AAAA,YAAC,CAAA;AAAA;AAAA,WAAA;AAAA,UAAA,CAAA,CACpB,WAAM,QAAS,CAAA,OAAA,CAAY,CAAA,CAAA,KAA3B,mBAA2B,IAAmB,MAAA,MAAA,IAAA,CAAA,CAAA,EAAM,GAAA,KAAA,CAAA,QAAA,CAAS,eAAf,mBAA2B,IAAI,MAAA,UAAA,IAAzFC,WAAA,EAAAF,kBAAA;AAAA,YAAyJ,MAAA;AAAA;6BAA5C,EAAM,GAAA,KAAA,CAAA,QAAA,CAAS,eAAf,mBAA2B,OAAO,CAAA;AAAA,YAAA,CAAA;AAAA;AAAA,WAAA;YACnI,WAAM,QAAS,CAAA,OAAA,QAAf,mBAA2B,IAAI,MAAA,MAAA,IAAA,CAAA,CAAgB,EAAM,GAAA,KAAA,CAAA,QAAA,CAAS,QAAO,CAAA,CAAA,KAAtB,IAA2B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,MAAwB,iBAAA,EAAM,GAAA,KAAA,CAAA,QAAA,CAAS,OAAO,CAAA,CAAA,MAAtB,IAA2B,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,WAAA,MAAW,QAApJ,IAAAE,SAAA,IAAAF,kBAA+K,CAAA,MAAA,YAAX,EAAA,gBAAI;;QAEzKC,mBAAkF,KAAA,EAAA;AAAA,UAA7E,KAAM,EAAA,wCAAA;AAAA,UAA0C,gBAAO,KAAA,KAAA,CAAK,OAAA,CAAA;AAAA;;;;;;;;"}
@@ -150,7 +150,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
150
150
  ])
151
151
  ])) : createCommentVNode("v-if", true),
152
152
  createCommentVNode(" \u663E\u793A\u8BED\u97F3\u8F6C\u6587\u5B57\u7684\u7ED3\u679C "),
153
- createCommentVNode(' <div v-if="transcription" class="transcription-result">\r\n <h4>\u8BED\u97F3\u8F6C\u6587\u5B57\u7ED3\u679C\uFF1A</h4>\r\n <p>{{ transcription }}</p>\r\n </div> ')
153
+ createCommentVNode(' <div v-if="transcription" class="transcription-result">\n <h4>\u8BED\u97F3\u8F6C\u6587\u5B57\u7ED3\u679C\uFF1A</h4>\n <p>{{ transcription }}</p>\n </div> ')
154
154
  ]);
155
155
  };
156
156
  }