@touchvue/chat 1.0.0-beta.47 → 1.0.0-beta.48

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 (60) hide show
  1. package/es/package.json.css +1 -1
  2. package/es/package.json.mjs +1 -1
  3. package/es/packages/components/touchchat/component/FileContent.vue2.mjs +6 -1
  4. package/es/packages/components/touchchat/component/FileContent.vue2.mjs.map +1 -1
  5. package/es/packages/components/touchchat/component/PDFFile.vue2.mjs +7 -1
  6. package/es/packages/components/touchchat/component/PDFFile.vue2.mjs.map +1 -1
  7. package/es/packages/components/touchchat/component/VideoFile.vue.mjs +7 -0
  8. package/es/packages/components/touchchat/component/VideoFile.vue.mjs.map +1 -0
  9. package/es/packages/components/touchchat/component/VideoFile.vue2.mjs +33 -0
  10. package/es/packages/components/touchchat/component/VideoFile.vue2.mjs.map +1 -0
  11. package/es/packages/components/touchchat/src/AiChat/AiMessage.vue2.mjs +39 -1
  12. package/es/packages/components/touchchat/src/AiChat/AiMessage.vue2.mjs.map +1 -1
  13. package/es/packages/components/touchchat/src/AiChat/Chat/types.mjs.map +1 -1
  14. package/es/packages/components/touchchat/src/AiChat/Chat/useChat.mjs +7 -4
  15. package/es/packages/components/touchchat/src/AiChat/Chat/useChat.mjs.map +1 -1
  16. package/es/packages/components/touchchat/src/AiChat/Chat/useSSE.mjs +38 -86
  17. package/es/packages/components/touchchat/src/AiChat/Chat/useSSE.mjs.map +1 -1
  18. package/es/packages/components/touchchat/src/AiChat/TouchAgent.vue2.mjs +2 -0
  19. package/es/packages/components/touchchat/src/AiChat/TouchAgent.vue2.mjs.map +1 -1
  20. package/es/packages/components/touchchat/src/AiChat/TouchChat.vue2.mjs +16 -3
  21. package/es/packages/components/touchchat/src/AiChat/TouchChat.vue2.mjs.map +1 -1
  22. package/es/packages/components/touchchat/src/AiChat/TouchHistory.vue2.mjs +6 -0
  23. package/es/packages/components/touchchat/src/AiChat/TouchHistory.vue2.mjs.map +1 -1
  24. package/es/packages/components/touchchat/src/index.vue2.mjs +10 -1
  25. package/es/packages/components/touchchat/src/index.vue2.mjs.map +1 -1
  26. package/es/packages/components/touchchat/utils/a2aService.mjs +18 -12
  27. package/es/packages/components/touchchat/utils/a2aService.mjs.map +1 -1
  28. package/lib/package.json.css +1 -1
  29. package/lib/package.json.js +1 -1
  30. package/lib/packages/components/touchchat/component/FileContent.vue2.js +6 -1
  31. package/lib/packages/components/touchchat/component/FileContent.vue2.js.map +1 -1
  32. package/lib/packages/components/touchchat/component/PDFFile.vue2.js +7 -1
  33. package/lib/packages/components/touchchat/component/PDFFile.vue2.js.map +1 -1
  34. package/lib/packages/components/touchchat/component/VideoFile.vue.js +11 -0
  35. package/lib/packages/components/touchchat/component/VideoFile.vue.js.map +1 -0
  36. package/lib/packages/components/touchchat/component/VideoFile.vue2.js +37 -0
  37. package/lib/packages/components/touchchat/component/VideoFile.vue2.js.map +1 -0
  38. package/lib/packages/components/touchchat/src/AiChat/AiMessage.vue2.js +39 -1
  39. package/lib/packages/components/touchchat/src/AiChat/AiMessage.vue2.js.map +1 -1
  40. package/lib/packages/components/touchchat/src/AiChat/Chat/types.js.map +1 -1
  41. package/lib/packages/components/touchchat/src/AiChat/Chat/useChat.js +7 -4
  42. package/lib/packages/components/touchchat/src/AiChat/Chat/useChat.js.map +1 -1
  43. package/lib/packages/components/touchchat/src/AiChat/Chat/useSSE.js +38 -86
  44. package/lib/packages/components/touchchat/src/AiChat/Chat/useSSE.js.map +1 -1
  45. package/lib/packages/components/touchchat/src/AiChat/TouchAgent.vue2.js +2 -0
  46. package/lib/packages/components/touchchat/src/AiChat/TouchAgent.vue2.js.map +1 -1
  47. package/lib/packages/components/touchchat/src/AiChat/TouchChat.vue2.js +15 -2
  48. package/lib/packages/components/touchchat/src/AiChat/TouchChat.vue2.js.map +1 -1
  49. package/lib/packages/components/touchchat/src/AiChat/TouchHistory.vue2.js +6 -0
  50. package/lib/packages/components/touchchat/src/AiChat/TouchHistory.vue2.js.map +1 -1
  51. package/lib/packages/components/touchchat/src/index.vue2.js +10 -1
  52. package/lib/packages/components/touchchat/src/index.vue2.js.map +1 -1
  53. package/lib/packages/components/touchchat/utils/a2aService.js +18 -12
  54. package/lib/packages/components/touchchat/utils/a2aService.js.map +1 -1
  55. package/package.json +1 -1
  56. package/theme/components/index.css +26 -0
  57. package/theme/font/iconfont.woff +0 -0
  58. package/theme/font/iconfont.woff2 +0 -0
  59. package/theme/index.css +26 -0
  60. package/theme/skin/default.css +26 -0
@@ -1 +1 @@
1
- .typewriter-container[data-v-5bee9536]{position:relative}.loading-container[data-v-5bee9536]{min-height:40px}.typewriter-loading[data-v-5bee9536]{align-items:center;color:#666;display:flex;font-size:14px;gap:8px;line-height:1;margin-top:12px;padding:8px 0}.loading-dot[data-v-5bee9536]{animation:bounce-5bee9536 1.4s ease-in-out infinite both;background-color:#666;border-radius:50%;display:inline-block;height:8px;width:8px}.loading-text[data-v-5bee9536]{user-select:none}@keyframes bounce-5bee9536{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.markdown-content[data-v-5bee9536]{color:#333}.markdown-content h1[data-v-5bee9536],.markdown-content h2[data-v-5bee9536]{margin:1em 0 .5em}.markdown-content p[data-v-5bee9536]{margin:.5em 0}.markdown-content code[data-v-5bee9536]{background:#f0f0f0;border-radius:4px;padding:.2em .4em}.hljs{background:#fafafa;color:#383a42;display:block;overflow-x:auto;padding:.5em}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#a626a4}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-addition,.hljs-attribute,.hljs-meta-string,.hljs-regexp,.hljs-string{color:#50a14f}.hljs-built_in,.hljs-class .hljs-title{color:#c18401}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#986801}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#4078f2}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
1
+ .video-File[data-v-7305b796]{height:auto;width:5em}.video-play[data-v-7305b796]{width:100%}.typewriter-container[data-v-5bee9536]{position:relative}.loading-container[data-v-5bee9536]{min-height:40px}.typewriter-loading[data-v-5bee9536]{align-items:center;color:#666;display:flex;font-size:14px;gap:8px;line-height:1;margin-top:12px;padding:8px 0}.loading-dot[data-v-5bee9536]{animation:bounce-5bee9536 1.4s ease-in-out infinite both;background-color:#666;border-radius:50%;display:inline-block;height:8px;width:8px}.loading-text[data-v-5bee9536]{user-select:none}@keyframes bounce-5bee9536{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.markdown-content[data-v-5bee9536]{color:#333}.markdown-content h1[data-v-5bee9536],.markdown-content h2[data-v-5bee9536]{margin:1em 0 .5em}.markdown-content p[data-v-5bee9536]{margin:.5em 0}.markdown-content code[data-v-5bee9536]{background:#f0f0f0;border-radius:4px;padding:.2em .4em}.hljs{background:#fafafa;color:#383a42;display:block;overflow-x:auto;padding:.5em}.hljs-comment,.hljs-quote{color:#a0a1a7;font-style:italic}.hljs-doctag,.hljs-formula,.hljs-keyword{color:#a626a4}.hljs-deletion,.hljs-name,.hljs-section,.hljs-selector-tag,.hljs-subst{color:#e45649}.hljs-literal{color:#0184bb}.hljs-addition,.hljs-attribute,.hljs-meta-string,.hljs-regexp,.hljs-string{color:#50a14f}.hljs-built_in,.hljs-class .hljs-title{color:#c18401}.hljs-attr,.hljs-number,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo,.hljs-template-variable,.hljs-type,.hljs-variable{color:#986801}.hljs-bullet,.hljs-link,.hljs-meta,.hljs-selector-id,.hljs-symbol,.hljs-title{color:#4078f2}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-link{text-decoration:underline}
@@ -1,5 +1,5 @@
1
1
  var name = "@touchvue/chat";
2
- var version = "1.0.0-beta.47";
2
+ var version = "1.0.0-beta.48";
3
3
  var description = "TouchVue Chat Component Library";
4
4
  var main = "lib/index.js";
5
5
  var module = "es/index.mjs";
@@ -1,6 +1,7 @@
1
1
  import { defineComponent, ref, onMounted, onUnmounted, openBlock, createElementBlock, createElementVNode, Fragment, renderList, createBlock, withDirectives, vShow } from 'vue';
2
2
  import ImageFile from './ImageFile.vue.mjs';
3
3
  import PDFFile from './PDFFile.vue.mjs';
4
+ import VideoFile from './VideoFile.vue.mjs';
4
5
 
5
6
  var _sfc_main = /* @__PURE__ */ defineComponent({
6
7
  __name: "FileContent",
@@ -115,9 +116,13 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
115
116
  index,
116
117
  "has-colse": _ctx.hasColse,
117
118
  onColse: handleColse
118
- }, null, 8, ["item", "index", "has-colse"])) : (openBlock(), createBlock(PDFFile, {
119
+ }, null, 8, ["item", "index", "has-colse"])) : item.fileType.includes("mp4") ? (openBlock(), createBlock(VideoFile, {
119
120
  key: 1,
120
121
  item,
122
+ index
123
+ }, null, 8, ["item", "index"])) : (openBlock(), createBlock(PDFFile, {
124
+ key: 2,
125
+ item,
121
126
  index,
122
127
  "has-colse": _ctx.hasColse,
123
128
  onColse: handleColse
@@ -1 +1 @@
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<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 { 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\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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"}
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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"}
@@ -89,6 +89,11 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
89
89
  onUnmounted(() => {
90
90
  window.removeEventListener("resize", handleResize);
91
91
  });
92
+ const fileAction = inject("fileAction", () => {
93
+ });
94
+ const fileClick = () => {
95
+ fileAction(props.item, props.index);
96
+ };
92
97
  return (_ctx, _cache) => {
93
98
  return openBlock(), createElementBlock(
94
99
  Fragment,
@@ -98,7 +103,8 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
98
103
  createElementVNode(
99
104
  "div",
100
105
  {
101
- class: normalizeClass(["pdf-file", _ctx.item.uploadError ? "pdf-error" : "pdf-success"])
106
+ class: normalizeClass(["pdf-file", _ctx.item.uploadError ? "pdf-error" : "pdf-success"]),
107
+ onClick: fileClick
102
108
  },
103
109
  [
104
110
  createCommentVNode(" <span>{{imgType}}</span> "),
@@ -1 +1 @@
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'\">\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})\n</script>\n"],"names":["_createCommentVNode","_createElementVNode","_normalizeClass","item","_createElementBlock","_toDisplayString","hasColse"],"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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"}
@@ -0,0 +1,7 @@
1
+ import _sfc_main from './VideoFile.vue2.mjs';
2
+ import _export_sfc from '../../../../_virtual/_plugin-vue_export-helper.mjs';
3
+
4
+ var VideoFile = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7305b796"], ["__file", "VideoFile.vue"]]);
5
+
6
+ export { VideoFile as default };
7
+ //# sourceMappingURL=VideoFile.vue.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoFile.vue.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
@@ -0,0 +1,33 @@
1
+ import { defineComponent, openBlock, createElementBlock, createElementVNode } from 'vue';
2
+
3
+ const __default__ = defineComponent({ name: "VideoFile" });
4
+ var _sfc_main = /* @__PURE__ */ defineComponent({
5
+ ...__default__,
6
+ props: {
7
+ item: {},
8
+ index: {}
9
+ },
10
+ setup(__props) {
11
+ const props = __props;
12
+ function createMp4LocalUrl(mp4File) {
13
+ console.log("object", mp4File);
14
+ if (!(mp4File instanceof File) && !(mp4File instanceof Blob)) {
15
+ return "";
16
+ }
17
+ const localUrl = URL.createObjectURL(mp4File);
18
+ return localUrl;
19
+ }
20
+ return (_ctx, _cache) => {
21
+ return openBlock(), createElementBlock("div", { class: "video-File" }, [
22
+ createElementVNode("video", {
23
+ class: "video-play",
24
+ controls: "",
25
+ src: createMp4LocalUrl(props.item.file)
26
+ }, null, 8, ["src"])
27
+ ]);
28
+ };
29
+ }
30
+ });
31
+
32
+ export { _sfc_main as default };
33
+ //# sourceMappingURL=VideoFile.vue2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VideoFile.vue2.mjs","sources":["../../../../../../packages/components/touchchat/component/VideoFile.vue"],"sourcesContent":["<script lang=\"ts\">\nimport { defineComponent as DO_defineComponent } from 'vue';\nexport default /*#__PURE__*/ DO_defineComponent({ name: 'VideoFile' });\n</script>\n<template>\n\t<div class=\"video-File\">\n\t\t<video class=\"video-play\" controls :src=\"createMp4LocalUrl(props.item.file)\"></video>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\n\n\nconst props = defineProps<{\n\titem: {\n\t\tfile?: File\n\t\t[key: string]: any\n\t}\n\tindex: number\n}>()\nfunction createMp4LocalUrl(mp4File: any) {\n\tconsole.log('object', mp4File)\n\t// 生成本地临时URL\n\tif (!(mp4File instanceof File) && !(mp4File instanceof Blob)) {\n\t\treturn ''\n\t}\n\tconst localUrl = URL.createObjectURL(mp4File)\n\treturn localUrl\n}\n</script>\n<style scoped>\n.video-File {\n\twidth: 5em;\n\theight: auto;\n}\n.video-play {\n\twidth: 100%;\n}\n</style>\n"],"names":["DO_defineComponent","_createElementBlock","_createElementVNode"],"mappings":";;AAEA,MAAA,WAA6B,GAAAA,eAAA,CAAmB,EAAE,IAAA,EAAM,aAAa,CAAA,CAAA;;;;;;;;AAWrE,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAOd,IAAA,SAAS,kBAAkB,OAAc,EAAA;AACxC,MAAQ,OAAA,CAAA,GAAA,CAAI,UAAU,OAAO,CAAA,CAAA;AAE7B,MAAA,IAAI,EAAE,OAAA,YAAmB,IAAS,CAAA,IAAA,EAAE,mBAAmB,IAAO,CAAA,EAAA;AAC7D,QAAO,OAAA,EAAA,CAAA;AAAA,OACR;AACA,MAAM,MAAA,QAAA,GAAW,GAAI,CAAA,eAAA,CAAgB,OAAO,CAAA,CAAA;AAC5C,MAAO,OAAA,QAAA,CAAA;AAAA,KACR;;wBAvBC,EAAAC,kBAAA,CAEM,OAAA,EAFD,KAAA,EAAM,cAAY,EAAA;AAAA,QACtBC,mBAAqF,OAAA,EAAA;AAAA,UAA9E,KAAM,EAAA,YAAA;AAAA,UAAa,QAAA,EAAA,EAAA;AAAA,UAAU,GAAK,EAAA,iBAAA,CAAkB,KAAM,CAAA,IAAA,CAAK,IAAI,CAAA;AAAA;;;;;;;;"}
@@ -19,7 +19,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
19
19
  index: {},
20
20
  hasRetry: { type: Boolean, default: true }
21
21
  },
22
- emits: ["copy", "retry", "like", "dislike", "quote", "contentRendered", "completeRendered", "toggle-sidebar", "openSideBar"],
22
+ emits: ["copy", "retry", "like", "dislike", "quote", "contentRendered", "completeRendered", "toggle-sidebar", "openSideBar", "send"],
23
23
  setup(__props, { emit: __emit }) {
24
24
  const componentMap = {
25
25
  FileView,
@@ -95,6 +95,9 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
95
95
  var _a;
96
96
  return props.item.content || ((_a = props.item.msgList) == null ? void 0 : _a.length);
97
97
  });
98
+ const handleSend = (sendVal) => {
99
+ emits("send", sendVal);
100
+ };
98
101
  const toggleSidebarClick = (item, index) => {
99
102
  emits("toggle-sidebar", item, index);
100
103
  };
@@ -335,6 +338,41 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
335
338
  [vShow, showFn.value && unref(scripts).length > 0 || !unref(scripts).length && !_ctx.item.isChating]
336
339
  ])
337
340
  ]),
341
+ showFn.value && _ctx.item.likeList && _ctx.item.likeList.length && !_ctx.item.isChating ? (openBlock(), createElementBlock("div", {
342
+ key: 0,
343
+ class: "touchchat-ai-may-like"
344
+ }, [
345
+ renderSlot(_ctx.$slots, "mayLike", {
346
+ item: _ctx.item,
347
+ index: _ctx.index
348
+ }, () => [
349
+ (openBlock(true), createElementBlock(
350
+ Fragment,
351
+ null,
352
+ renderList(_ctx.item.likeList, (likeItem) => {
353
+ return openBlock(), createElementBlock("div", {
354
+ key: likeItem.id
355
+ }, [
356
+ createElementVNode("span", {
357
+ class: "touchchat-ai-may-like-item",
358
+ onClick: ($event) => handleSend(likeItem.name)
359
+ }, [
360
+ createElementVNode(
361
+ "span",
362
+ { class: "touchchat-ai-may-like-item-title" },
363
+ toDisplayString(likeItem.name),
364
+ 1
365
+ /* TEXT */
366
+ ),
367
+ createElementVNode("div", { class: "touchchat-action-item value-right-arrow" })
368
+ ], 8, ["onClick"])
369
+ ]);
370
+ }),
371
+ 128
372
+ /* KEYED_FRAGMENT */
373
+ ))
374
+ ])
375
+ ])) : createCommentVNode("v-if", true),
338
376
  createCommentVNode(" && !scripts.length ")
339
377
  ],
340
378
  2
@@ -1 +1 @@
1
- {"version":3,"file":"AiMessage.vue2.mjs","sources":["../../../../../../../packages/components/touchchat/src/AiChat/AiMessage.vue"],"sourcesContent":["<template>\n\t<div class=\"touchchat-ai touchchat-item\" :data-chat-id=\"item.chatId\">\n\t\t<!-- 头像区域 -->\n\t\t<div class=\"touchchat-ai-avatar\">\n\t\t\t<slot name=\"aiAvatar\">\n\t\t\t\t<img v-if=\"isShowAvatar\" :src=\"aiAvatarPath\" class=\"touchchat-ai-avatar-pic\" />\n\t\t\t</slot>\n\t\t</div>\n\n\t\t<!-- 内容区域 -->\n\t\t<div class=\"touchchat-ai-content\" :class=\"{ 'is-full': !item.isChating && item.componentName }\">\n\t\t\t<!-- 气泡 -->\n\t\t\t<div class=\"touchchat-ai-bubble\">\n\t\t\t\t<!-- 思考内容 -->\n\t\t\t\t<div v-if=\"thinkContentShow\" class=\"touchchat-ai-think\" v-html=\"processedThinkContent\"></div>\n\n\t\t\t\t<!-- 推理内容 -->\n\t\t\t\t<div v-if=\"reasoningContentShow\" class=\"touchchat-ai-think\">\n\t\t\t\t\t<div class=\"touchchat-ai-think-header\">\n\t\t\t\t\t\t<div class=\"touchchat-ai-think-state\">\n\t\t\t\t\t\t\t{{ item.thinkStatus === 'thinking' ? '深度思考中...' : item.thinkStatus === 'completed' ? '已深度思考' : '思考已停止' }}\n\t\t\t\t\t\t\t<template v-if=\"item.thinkStatus === 'completed'\">(用时{{ (item.thinkTime || 0) / 1000 }}秒)</template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"touchchat-ai-think-toggle\" :class=\"collapse ? '' : 'is-expand'\" @click=\"collapse = !collapse\">\n\t\t\t\t\t\t\t<span class=\"touchchat-ai-think-toggle-icon\"></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<transition name=\"touchchat-ai-think-collpase\">\n\t\t\t\t\t\t<div v-show=\"collapse && !chainAble\" class=\"touchchat-ai-think-content\" v-html=\"processedReasoningContent\"></div>\n\t\t\t\t\t</transition>\n\t\t\t\t\t<transition name=\"touchchat-ai-think-collpase\">\n\t\t\t\t\t\t<thought-chain v-show=\"collapse && chainAble\"></thought-chain>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- 主内容 -->\n\t\t\t\t<slot name=\"aimsg\" :item=\"item\" :index=\"index\">\n\t\t\t\t\t<div v-if=\"contentShow && scripts && scripts.length === 0 && item.msgList && item.msgList.length\" class=\"touchchat-ai-bubble-text touchchat-markdown\">\n\t\t\t\t\t\t<template v-for=\"node in item.msgList\" :key=\"node.id\">\n\t\t\t\t\t\t\t<div v-if=\"node.type === 'markdown' && node.content\" v-html=\"getProcessedContent(node)\" />\n\t\t\t\t\t\t\t<component :is=\"components[node.componentName]\" v-if=\"node.type === 'component' && node.displayMode === 'inline'\" v-bind=\"item.props\" />\n\t\t\t\t\t\t\t<TouchA2ui v-if=\"node.type === 'a2ui'\" :messages=\"node.msgs\" :components=\"a2uiProps.components\" :surface-id=\"node.surfaceId\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"contentShow && scripts && scripts.length === 0 && !(item.msgList && item.msgList.length)\" class=\"touchchat-ai-bubble-text touchchat-markdown\" v-html=\"processedContent\"></div>\n\t\t\t\t</slot>\n\n\t\t\t\t<!-- && !item.componentName -->\n\t\t\t\t<letter v-if=\"scripts && scripts.length > 0\" auto-start :data=\"item.content\" @start=\"startLetter\" @complete=\"completeLetter\"> </letter>\n\t\t\t\t<slot v-if=\"(scripts.length > 0 && (showComponent || !item.content)) || (!scripts.length && !item.isChating)\" name=\"msg\" :item=\"item\" :index=\"index\">\n\t\t\t\t\t<component :is=\"componentName\" :index=\"index\" :item=\"item\" @start=\"startCompentent\" @complete=\"completeCompentent\" @toggle-sidebar=\"toggleSidebarClick\"></component>\n\t\t\t\t</slot>\n\n\t\t\t\t<!-- 新增加载状态区域 -->\n\t\t\t\t<div v-if=\"item.isChating\" class=\"touchchat-ai-loading\">\n\t\t\t\t\t<div class=\"touchchat-ai-loading-icon\"></div>\n\t\t\t\t\t<span class=\"touchchat-ai-loading-text\">加载中...</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<slot name=\"fn\" :item=\"item\" :index=\"index\">\n\t\t\t\t<MessageActions v-show=\"(showFn && scripts.length > 0) || (!scripts.length && !item.isChating)\" :item=\"item\" message-type=\"ai\" :index=\"index\" :has-retry=\"hasRetry\" :show-copy=\"true\" @copy=\"onCopy\" @retry=\"onRetry\" @like=\"onLike\" @dislike=\"onDislike\" @quote=\"onQuote\">\n\t\t\t\t\t<!-- <slot name=\"extendsFn\" :item=\"item\" :index=\"index\"></slot> -->\n\t\t\t\t\t<template #extendsFn>\n\t\t\t\t\t\t<slot name=\"extendsFn\" :item=\"item\" :index=\"index\" />\n\t\t\t\t\t</template>\n\t\t\t\t</MessageActions>\n\t\t\t</slot>\n\t\t\t<!-- && !scripts.length -->\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\n// useSlots, Comment, watch\nimport { ref, computed, inject, onMounted, watch } from 'vue'\nimport type { ChatMessage, ChatMsgList } from './Chat/types'\nimport aiAvatarBase from '../../img/aiAvatar.png'\nimport markdown from '../../utils/markdown.ts'\nimport FileView from '../../component/FileView.vue'\nimport ImageView from '../../component/ImageView.vue'\nimport LinkView from '../../component/LinkView.vue'\nimport CardView from '../../component/CardView.vue'\nimport MessageActions from './MessageActions.vue'\nimport Face from '../../component/AiRobot/face.vue'\nimport MeterialPrepare from '../../component/AiRobot/meterialPrepare.vue'\nimport Letter from '../../component/AiRobot/letter.vue'\nimport ThoughtChain from '../../component/ThoughtChain.vue'\nimport { TouchA2ui } from '@touchvue/a2ui'\n// 为组件映射表定义接口\ninterface ComponentMap {\n\t[key: string]: any // 允许任何字符串键\n\tFileView: typeof FileView\n\tImageView: typeof ImageView\n\tLinkView: typeof LinkView\n\tCardView: typeof CardView\n}\n\n// 创建组件映射表\nconst componentMap: ComponentMap = {\n\tFileView,\n\tImageView,\n\tLinkView,\n\tCardView,\n\tFace,\n\tMeterialPrepare\n}\n\nconst props = withDefaults(\n\tdefineProps<{\n\t\titem: ChatMessage & ChatMsgList\n\t\tindex: number\n\t\thasRetry: boolean\n\t}>(),\n\t{\n\t\thasRetry: true\n\t}\n)\n\nwatch(\n\t() => props.item,\n\tval => {\n\t\tlet arr = []\n\t\tif (val.msgList) {\n\t\t\tarr = val.msgList?.filter(item => (item.type === 'component' && (item.displayMode === 'drawer' || item.displayMode === 'tip')) || (item.type === 'iframe' && item.url))\n\t\t}\n\t\tif (arr.length) {\n\t\t\temits('openSideBar', arr[0], props.index)\n\t\t}\n\t},\n\t{\n\t\tdeep: true\n\t}\n)\n\nconst emits = defineEmits<{\n\t(e: 'copy', index: number): void\n\t(e: 'retry', index: number): void\n\t(e: 'like', index: number): void\n\t(e: 'dislike', index: number): void\n\t(e: 'quote', item: any, index: number): void\n\t(e: 'contentRendered', element: HTMLElement): void\n\t(e: 'completeRendered', chatId: string): void\n\t(e: 'toggle-sidebar', item: any, index: number): void\n\t(e: 'openSideBar', item: any, index: number): void\n}>()\n\nconst collapse = ref(true)\nconst isShowAvatar = ref(true)\nconst aiAvatarPath = ref(aiAvatarBase)\nconst components = inject<Record<string, any>>('components', {}) // 指定类型并提供默认值 {}\nconst a2uiProps = inject<Record<string, any>>('a2uiProps', {}) // 指定类型并提供默认值 {}\nconst avatar = inject<boolean>('avatar', true)\nconst scripts = inject<any[]>('scripts', [])\nconst layout = inject<string>('layout', 'side, think, upload, chain')\nconst chainAble = layout.includes('chain')\nconst showComponent = ref(false)\nconst showFn = ref(false)\n\nconst init = () => {\n\tisShowAvatar.value = avatar\n}\n\nconst componentName = computed(() => {\n\tconst slotMap = components\n\n\t// 明确newMap的类型,允许字符串索引\n\tconst newMap: Record<string, any> = {\n\t\t...slotMap,\n\t\t...componentMap\n\t}\n\treturn newMap[props.item.componentName as string] || null\n})\n\nconst thinkContentShow = computed(() => {\n\treturn props.item.thinkContent\n\t// && !props.item.componentName;\n})\n\nconst reasoningContentShow = computed(() => {\n\treturn props.item.reasoningContent\n})\n\nconst processedContent = computed(() => {\n\treturn props.item.content ? markdown?.render(props.item.content, { isReasoning: false }) || '' : ''\n})\n\nconst getProcessedContent = (node: any) => {\n\treturn node.content ? markdown?.render(node.content, { isReasoning: false }) || '' : ''\n}\n\nconst processedThinkContent = computed(() => {\n\treturn props.item.thinkContent ? markdown?.render(props.item.thinkContent, { isReasoning: true }) || '' : ''\n})\n\nconst processedReasoningContent = computed(() => {\n\treturn props.item.reasoningContent ? markdown?.render(props.item.reasoningContent, { isReasoning: true }) || '' : ''\n})\n\nconst contentShow = computed(() => {\n\treturn props.item.content || props.item.msgList?.length\n})\n\nconst toggleSidebarClick = (item: ChatMessage, index: number) => {\n\temits('toggle-sidebar', item, index)\n}\n\nonMounted(() => {\n\tinit()\n})\n\nconst completeCompentent = () => {\n\temits('completeRendered', props.item?.chatId || '')\n\tshowFn.value = true\n}\nconst completeLetter = () => {\n\tshowComponent.value = true\n\tif (!props.item.componentName) {\n\t\temits('completeRendered', props.item?.chatId || '')\n\t\tshowFn.value = true\n\t}\n}\n\nconst startCompentent = () => {\n\tconsole.log('startCompentent')\n}\nconst startLetter = () => {\n\tshowComponent.value = false\n\tshowFn.value = false\n}\n\nconst onCopy = () => emits('copy', props.index)\nconst onRetry = () => emits('retry', props.index)\nconst onLike = () => emits('like', props.index)\nconst onDislike = () => emits('dislike', props.index)\nconst onQuote = () => emits('quote', props.item, props.index)\n</script>\n"],"names":["aiAvatarBase","_createElementBlock","item","_createCommentVNode","_createElementVNode","_renderSlot","_normalizeClass","_Fragment","_createTextVNode","_createVNode","_Transition","_vShow","_unref","index","_openBlock","_createBlock","_resolveDynamicComponent","_mergeProps","TouchA2ui","hasRetry"],"mappings":"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"}
1
+ {"version":3,"file":"AiMessage.vue2.mjs","sources":["../../../../../../../packages/components/touchchat/src/AiChat/AiMessage.vue"],"sourcesContent":["<template>\n\t<div class=\"touchchat-ai touchchat-item\" :data-chat-id=\"item.chatId\">\n\t\t<!-- 头像区域 -->\n\t\t<div class=\"touchchat-ai-avatar\">\n\t\t\t<slot name=\"aiAvatar\">\n\t\t\t\t<img v-if=\"isShowAvatar\" :src=\"aiAvatarPath\" class=\"touchchat-ai-avatar-pic\" />\n\t\t\t</slot>\n\t\t</div>\n\n\t\t<!-- 内容区域 -->\n\t\t<div class=\"touchchat-ai-content\" :class=\"{ 'is-full': !item.isChating && item.componentName }\">\n\t\t\t<!-- 气泡 -->\n\t\t\t<div class=\"touchchat-ai-bubble\">\n\t\t\t\t<!-- 思考内容 -->\n\t\t\t\t<div v-if=\"thinkContentShow\" class=\"touchchat-ai-think\" v-html=\"processedThinkContent\"></div>\n\n\t\t\t\t<!-- 推理内容 -->\n\t\t\t\t<div v-if=\"reasoningContentShow\" class=\"touchchat-ai-think\">\n\t\t\t\t\t<div class=\"touchchat-ai-think-header\">\n\t\t\t\t\t\t<div class=\"touchchat-ai-think-state\">\n\t\t\t\t\t\t\t{{ item.thinkStatus === 'thinking' ? '深度思考中...' : item.thinkStatus === 'completed' ? '已深度思考' : '思考已停止' }}\n\t\t\t\t\t\t\t<template v-if=\"item.thinkStatus === 'completed'\">(用时{{ (item.thinkTime || 0) / 1000 }}秒)</template>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"touchchat-ai-think-toggle\" :class=\"collapse ? '' : 'is-expand'\" @click=\"collapse = !collapse\">\n\t\t\t\t\t\t\t<span class=\"touchchat-ai-think-toggle-icon\"></span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<transition name=\"touchchat-ai-think-collpase\">\n\t\t\t\t\t\t<div v-show=\"collapse && !chainAble\" class=\"touchchat-ai-think-content\" v-html=\"processedReasoningContent\"></div>\n\t\t\t\t\t</transition>\n\t\t\t\t\t<transition name=\"touchchat-ai-think-collpase\">\n\t\t\t\t\t\t<thought-chain v-show=\"collapse && chainAble\"></thought-chain>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\n\t\t\t\t<!-- 主内容 -->\n\t\t\t\t<slot name=\"aimsg\" :item=\"item\" :index=\"index\">\n\t\t\t\t\t<div v-if=\"contentShow && scripts && scripts.length === 0 && item.msgList && item.msgList.length\" class=\"touchchat-ai-bubble-text touchchat-markdown\">\n\t\t\t\t\t\t<template v-for=\"node in item.msgList\" :key=\"node.id\">\n\t\t\t\t\t\t\t<div v-if=\"node.type === 'markdown' && node.content\" v-html=\"getProcessedContent(node)\" />\n\t\t\t\t\t\t\t<component :is=\"components[node.componentName]\" v-if=\"node.type === 'component' && node.displayMode === 'inline'\" v-bind=\"item.props\" />\n\t\t\t\t\t\t\t<TouchA2ui v-if=\"node.type === 'a2ui'\" :messages=\"node.msgs\" :components=\"a2uiProps.components\" :surface-id=\"node.surfaceId\" />\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"contentShow && scripts && scripts.length === 0 && !(item.msgList && item.msgList.length)\" class=\"touchchat-ai-bubble-text touchchat-markdown\" v-html=\"processedContent\"></div>\n\t\t\t\t</slot>\n\n\t\t\t\t<!-- && !item.componentName -->\n\t\t\t\t<letter v-if=\"scripts && scripts.length > 0\" auto-start :data=\"item.content\" @start=\"startLetter\" @complete=\"completeLetter\"> </letter>\n\t\t\t\t<slot v-if=\"(scripts.length > 0 && (showComponent || !item.content)) || (!scripts.length && !item.isChating)\" name=\"msg\" :item=\"item\" :index=\"index\">\n\t\t\t\t\t<component :is=\"componentName\" :index=\"index\" :item=\"item\" @start=\"startCompentent\" @complete=\"completeCompentent\" @toggle-sidebar=\"toggleSidebarClick\"></component>\n\t\t\t\t</slot>\n\n\t\t\t\t<!-- 新增加载状态区域 -->\n\t\t\t\t<div v-if=\"item.isChating\" class=\"touchchat-ai-loading\">\n\t\t\t\t\t<div class=\"touchchat-ai-loading-icon\"></div>\n\t\t\t\t\t<span class=\"touchchat-ai-loading-text\">加载中...</span>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<slot name=\"fn\" :item=\"item\" :index=\"index\">\n\t\t\t\t<MessageActions v-show=\"(showFn && scripts.length > 0) || (!scripts.length && !item.isChating)\" :item=\"item\" message-type=\"ai\" :index=\"index\" :has-retry=\"hasRetry\" :show-copy=\"true\" @copy=\"onCopy\" @retry=\"onRetry\" @like=\"onLike\" @dislike=\"onDislike\" @quote=\"onQuote\">\n\t\t\t\t\t<!-- <slot name=\"extendsFn\" :item=\"item\" :index=\"index\"></slot> -->\n\t\t\t\t\t<template #extendsFn>\n\t\t\t\t\t\t<slot name=\"extendsFn\" :item=\"item\" :index=\"index\" />\n\t\t\t\t\t</template>\n\t\t\t\t</MessageActions>\n\t\t\t</slot>\n\t\t\t<div v-if=\"showFn && item.likeList && item.likeList.length && !item.isChating\" class=\"touchchat-ai-may-like\">\n\t\t\t\t<slot name=\"mayLike\" :item=\"item\" :index=\"index\">\n\t\t\t\t\t<div v-for=\"likeItem in item.likeList\" :key=\"likeItem.id\">\n\t\t\t\t\t\t<span class=\"touchchat-ai-may-like-item\" @click=\"handleSend(likeItem.name)\">\n\t\t\t\t\t\t\t<span class=\"touchchat-ai-may-like-item-title\">{{ likeItem.name }}</span>\n\t\t\t\t\t\t\t<div class=\"touchchat-action-item value-right-arrow\"></div>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t</div>\n\t\t\t\t</slot>\n\t\t\t</div>\n\t\t\t<!-- && !scripts.length -->\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\n// useSlots, Comment, watch\nimport { ref, computed, inject, onMounted, watch } from 'vue'\nimport type { ChatMessage, ChatMsgList } from './Chat/types'\nimport aiAvatarBase from '../../img/aiAvatar.png'\nimport markdown from '../../utils/markdown.ts'\nimport FileView from '../../component/FileView.vue'\nimport ImageView from '../../component/ImageView.vue'\nimport LinkView from '../../component/LinkView.vue'\nimport CardView from '../../component/CardView.vue'\nimport MessageActions from './MessageActions.vue'\nimport Face from '../../component/AiRobot/face.vue'\nimport MeterialPrepare from '../../component/AiRobot/meterialPrepare.vue'\nimport Letter from '../../component/AiRobot/letter.vue'\nimport ThoughtChain from '../../component/ThoughtChain.vue'\nimport { TouchA2ui } from '@touchvue/a2ui'\n// 为组件映射表定义接口\ninterface ComponentMap {\n\t[key: string]: any // 允许任何字符串键\n\tFileView: typeof FileView\n\tImageView: typeof ImageView\n\tLinkView: typeof LinkView\n\tCardView: typeof CardView\n}\n\n// 创建组件映射表\nconst componentMap: ComponentMap = {\n\tFileView,\n\tImageView,\n\tLinkView,\n\tCardView,\n\tFace,\n\tMeterialPrepare\n}\n\nconst props = withDefaults(\n\tdefineProps<{\n\t\titem: ChatMessage & ChatMsgList\n\t\tindex: number\n\t\thasRetry: boolean\n\t}>(),\n\t{\n\t\thasRetry: true\n\t}\n)\n\nwatch(\n\t() => props.item,\n\tval => {\n\t\tlet arr = []\n\t\tif (val.msgList) {\n\t\t\tarr = val.msgList?.filter(item => (item.type === 'component' && (item.displayMode === 'drawer' || item.displayMode === 'tip')) || (item.type === 'iframe' && item.url))\n\t\t}\n\t\tif (arr.length) {\n\t\t\temits('openSideBar', arr[0], props.index)\n\t\t}\n\t},\n\t{\n\t\tdeep: true\n\t}\n)\n\nconst emits = defineEmits<{\n\t(e: 'copy', index: number): void\n\t(e: 'retry', index: number): void\n\t(e: 'like', index: number): void\n\t(e: 'dislike', index: number): void\n\t(e: 'quote', item: any, index: number): void\n\t(e: 'contentRendered', element: HTMLElement): void\n\t(e: 'completeRendered', chatId: string): void\n\t(e: 'toggle-sidebar', item: any, index: number): void\n\t(e: 'openSideBar', item: any, index: number): void\n\t(e: 'send', sendVal: string): void\n}>()\n\nconst collapse = ref(true)\nconst isShowAvatar = ref(true)\nconst aiAvatarPath = ref(aiAvatarBase)\nconst components = inject<Record<string, any>>('components', {}) // 指定类型并提供默认值 {}\nconst a2uiProps = inject<Record<string, any>>('a2uiProps', {}) // 指定类型并提供默认值 {}\nconst avatar = inject<boolean>('avatar', true)\nconst scripts = inject<any[]>('scripts', [])\nconst layout = inject<string>('layout', 'side, think, upload, chain')\nconst chainAble = layout.includes('chain')\nconst showComponent = ref(false)\nconst showFn = ref(false)\n\nconst init = () => {\n\tisShowAvatar.value = avatar\n}\n\nconst componentName = computed(() => {\n\tconst slotMap = components\n\n\t// 明确newMap的类型,允许字符串索引\n\tconst newMap: Record<string, any> = {\n\t\t...slotMap,\n\t\t...componentMap\n\t}\n\treturn newMap[props.item.componentName as string] || null\n})\n\nconst thinkContentShow = computed(() => {\n\treturn props.item.thinkContent\n\t// && !props.item.componentName;\n})\n\nconst reasoningContentShow = computed(() => {\n\treturn props.item.reasoningContent\n})\n\nconst processedContent = computed(() => {\n\treturn props.item.content ? markdown?.render(props.item.content, { isReasoning: false }) || '' : ''\n})\n\nconst getProcessedContent = (node: any) => {\n\treturn node.content ? markdown?.render(node.content, { isReasoning: false }) || '' : ''\n}\n\nconst processedThinkContent = computed(() => {\n\treturn props.item.thinkContent ? markdown?.render(props.item.thinkContent, { isReasoning: true }) || '' : ''\n})\n\nconst processedReasoningContent = computed(() => {\n\treturn props.item.reasoningContent ? markdown?.render(props.item.reasoningContent, { isReasoning: true }) || '' : ''\n})\n\nconst contentShow = computed(() => {\n\treturn props.item.content || props.item.msgList?.length\n})\n\nconst handleSend = (sendVal: string) => {\n\temits('send', sendVal)\n}\n\nconst toggleSidebarClick = (item: ChatMessage, index: number) => {\n\temits('toggle-sidebar', item, index)\n}\n\nonMounted(() => {\n\tinit()\n})\n\nconst completeCompentent = () => {\n\temits('completeRendered', props.item?.chatId || '')\n\tshowFn.value = true\n}\nconst completeLetter = () => {\n\tshowComponent.value = true\n\tif (!props.item.componentName) {\n\t\temits('completeRendered', props.item?.chatId || '')\n\t\tshowFn.value = true\n\t}\n}\n\nconst startCompentent = () => {\n\tconsole.log('startCompentent')\n}\nconst startLetter = () => {\n\tshowComponent.value = false\n\tshowFn.value = false\n}\n\nconst onCopy = () => emits('copy', props.index)\nconst onRetry = () => emits('retry', props.index)\nconst onLike = () => emits('like', props.index)\nconst onDislike = () => emits('dislike', props.index)\nconst onQuote = () => emits('quote', props.item, props.index)\n</script>\n"],"names":["aiAvatarBase","_createElementBlock","item","_createCommentVNode","_createElementVNode","_renderSlot","_normalizeClass","_Fragment","_createTextVNode","_createVNode","_Transition","_vShow","_unref","index","_openBlock","_createBlock","_resolveDynamicComponent","_mergeProps","TouchA2ui","hasRetry","_toDisplayString"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.mjs","sources":["../../../../../../../../packages/components/touchchat/src/AiChat/Chat/types.ts"],"sourcesContent":["/**\n * TouchChat 类型定义\n */\n\nexport enum ThinkStatus {\n\tTHINKING = 'thinking',\n\tCOMPLETED = 'completed',\n\tSTOPPED = 'stopped'\n}\n\nexport interface ChatMessage {\n\tchatId?: string\n\tuser: 'u' | 'ai' | string\n\ttype: string\n\tcontent: string\n\tisChating?: boolean\n\tthinkContent?: string\n\treasoningContent?: string\n\tisLiked?: boolean\n\tisDisliked?: boolean\n\tisEditing?: boolean\n\teditContent?: string\n\tthinkStatus?: ThinkStatus\n\tthinkStartTime?: number\n\tthinkTime?: number\n\tthinkEndTime?: number\n\tisShowLike?: boolean\n\tisShowCopy?: boolean\n\tisWithDraw?: boolean\n\tcomponentName?: string\n\ttypeFlag?: string\n\tfiles?: FileItem[]\n\thtml?: string\n\tisError?: boolean\n\tauto?: boolean\n\tneedSequenceProcessing?: boolean\n\tneedSequenceType?: string\n\tstop?: boolean\n\tmsgList: any[]\n}\n\nexport interface ChatMsgList {\n\t[key: string]: any\n}\n\nexport interface AgentsItem {\n\tname: string\n\tintro: string\n\t[key: string]: any\n}\n\nexport interface ScriptContentItem {\n\tuser: 'i' | 'ai'\n\tdata?: string\n\ttype?: string\n\tagents?: string\n\tfile?: string\n\talias?: string | string[]\n\t[key: string]: any\n}\n\nexport interface Script {\n\tcontent: ScriptContentItem[]\n\t[key: string]: any\n}\n\nexport interface ModuleConfig {\n\taction?: () => string\n\theaders?: () => Record<string, string>\n\tbody?: () => Record<string, any>\n\trespoKey?: () => RespoKeyConfig\n\tname?: string\n}\n\nexport interface RespoKeyConfig {\n\tcontent: string\n\tcategory: string\n\tcontentCategory?: string\n\tall?: string\n\tallCategory?: string\n}\n\nexport interface ModuleItem {\n\tname?: string\n\tconfig?: ModuleConfig\n\t[key: string]: any\n}\n\nexport interface FileItem {\n\tid?: string\n\tfile?: File\n\tname: string\n\tfileType: string\n\tfileSize: string\n\tlastModified: number\n\tpreview?: string\n\tbase64?: string\n\t// 文件上传相关字段\n\tisUploading?: boolean\n\tuploadProgress?: number\n\tuploadSuccess?: boolean\n\tuploadError?: boolean\n\t[key: string]: any\n}\n\nexport interface RenderData {\n\tmainContent: string\n\tthinkContent: string\n\treasoningContent: string\n}\n\nexport enum MessageAction {\n\tCOPY = 'copy',\n\tEDIT = 'edit',\n\tDELETE = 'delete',\n\tRETRY = 'retry',\n\tLIKE = 'like',\n\tDISLIKE = 'dislike',\n\tWITHDRAW = 'withDraw'\n}\n\nexport interface ResultItem {\n\tallAiContent?: string\n\t[key: string]: any\n}\n\nexport interface MessageProcessor {\n\tmessageQueue: ChatMessage[]\n\tisProcessing: boolean\n\tcurrentMessage: ChatMessage | null\n\tprocessNextMessage: () => void\n\thandleMessageComplete: (chatId: string) => void\n}\n\nexport interface ScriptMatchResult {\n\tresponses: any[]\n\tnextIndex: number\n}\n\nexport interface MessageActions {\n\tuser: string[]\n\tai: string[]\n}\n"],"names":["ThinkStatus","MessageAction"],"mappings":"AAIY,IAAA,WAAA,qBAAAA,YAAL,KAAA;AACN,EAAAA,aAAA,UAAW,CAAA,GAAA,UAAA,CAAA;AACX,EAAAA,aAAA,WAAY,CAAA,GAAA,WAAA,CAAA;AACZ,EAAAA,aAAA,SAAU,CAAA,GAAA,SAAA,CAAA;AAHC,EAAAA,OAAAA,YAAAA,CAAAA;AAAA,CAAA,EAAA,WAAA,IAAA,EAAA,EAAA;AA2GA,IAAA,aAAA,qBAAAC,cAAL,KAAA;AACN,EAAAA,eAAA,MAAO,CAAA,GAAA,MAAA,CAAA;AACP,EAAAA,eAAA,MAAO,CAAA,GAAA,MAAA,CAAA;AACP,EAAAA,eAAA,QAAS,CAAA,GAAA,QAAA,CAAA;AACT,EAAAA,eAAA,OAAQ,CAAA,GAAA,OAAA,CAAA;AACR,EAAAA,eAAA,MAAO,CAAA,GAAA,MAAA,CAAA;AACP,EAAAA,eAAA,SAAU,CAAA,GAAA,SAAA,CAAA;AACV,EAAAA,eAAA,UAAW,CAAA,GAAA,UAAA,CAAA;AAPA,EAAAA,OAAAA,cAAAA,CAAAA;AAAA,CAAA,EAAA,aAAA,IAAA,EAAA;;;;"}
1
+ {"version":3,"file":"types.mjs","sources":["../../../../../../../../packages/components/touchchat/src/AiChat/Chat/types.ts"],"sourcesContent":["/**\n * TouchChat 类型定义\n */\n\nexport enum ThinkStatus {\n\tTHINKING = 'thinking',\n\tCOMPLETED = 'completed',\n\tSTOPPED = 'stopped'\n}\n\nexport interface ChatMessage {\n\tchatId?: string\n\tuser: 'u' | 'ai' | string\n\ttype: string\n\tcontent: string\n\tisChating?: boolean\n\tthinkContent?: string\n\treasoningContent?: string\n\tisLiked?: boolean\n\tisDisliked?: boolean\n\tisEditing?: boolean\n\teditContent?: string\n\tthinkStatus?: ThinkStatus\n\tthinkStartTime?: number\n\tthinkTime?: number\n\tthinkEndTime?: number\n\tisShowLike?: boolean\n\tisShowCopy?: boolean\n\tisWithDraw?: boolean\n\tcomponentName?: string\n\ttypeFlag?: string\n\tfiles?: FileItem[]\n\thtml?: string\n\tisError?: boolean\n\tauto?: boolean\n\tneedSequenceProcessing?: boolean\n\tneedSequenceType?: string\n\tstop?: boolean\n\tmsgList: any[]\n\tdataObj?: any\n\tlikeList?: any[]\n}\n\nexport interface ChatMsgList {\n\t[key: string]: any\n}\n\nexport interface AgentsItem {\n\tname: string\n\tintro: string\n\t[key: string]: any\n}\n\nexport interface ScriptContentItem {\n\tuser: 'i' | 'ai'\n\tdata?: string\n\ttype?: string\n\tagents?: string\n\tfile?: string\n\talias?: string | string[]\n\t[key: string]: any\n}\n\nexport interface Script {\n\tcontent: ScriptContentItem[]\n\t[key: string]: any\n}\n\nexport interface ModuleConfig {\n\taction?: () => string\n\theaders?: () => Record<string, string>\n\tbody?: () => Record<string, any>\n\trespoKey?: () => RespoKeyConfig\n\tname?: string\n}\n\nexport interface RespoKeyConfig {\n\tcontent: string\n\tcategory: string\n\tcontentCategory?: string\n\tall?: string\n\tallCategory?: string\n}\n\nexport interface ModuleItem {\n\tname?: string\n\tconfig?: ModuleConfig\n\t[key: string]: any\n}\n\nexport interface FileItem {\n\tid?: string\n\tfile?: File\n\tname: string\n\tfileType: string\n\tfileSize: string\n\tlastModified: number\n\tpreview?: string\n\tbase64?: string\n\t// 文件上传相关字段\n\tisUploading?: boolean\n\tuploadProgress?: number\n\tuploadSuccess?: boolean\n\tuploadError?: boolean\n\t[key: string]: any\n}\n\nexport interface RenderData {\n\tmainContent: string\n\tthinkContent: string\n\treasoningContent: string\n}\n\nexport enum MessageAction {\n\tCOPY = 'copy',\n\tEDIT = 'edit',\n\tDELETE = 'delete',\n\tRETRY = 'retry',\n\tLIKE = 'like',\n\tDISLIKE = 'dislike',\n\tWITHDRAW = 'withDraw'\n}\n\nexport interface ResultItem {\n\tallAiContent?: string\n\t[key: string]: any\n}\n\nexport interface MessageProcessor {\n\tmessageQueue: ChatMessage[]\n\tisProcessing: boolean\n\tcurrentMessage: ChatMessage | null\n\tprocessNextMessage: () => void\n\thandleMessageComplete: (chatId: string) => void\n}\n\nexport interface ScriptMatchResult {\n\tresponses: any[]\n\tnextIndex: number\n}\n\nexport interface MessageActions {\n\tuser: string[]\n\tai: string[]\n}\n"],"names":["ThinkStatus","MessageAction"],"mappings":"AAIY,IAAA,WAAA,qBAAAA,YAAL,KAAA;AACN,EAAAA,aAAA,UAAW,CAAA,GAAA,UAAA,CAAA;AACX,EAAAA,aAAA,WAAY,CAAA,GAAA,WAAA,CAAA;AACZ,EAAAA,aAAA,SAAU,CAAA,GAAA,SAAA,CAAA;AAHC,EAAAA,OAAAA,YAAAA,CAAAA;AAAA,CAAA,EAAA,WAAA,IAAA,EAAA,EAAA;AA6GA,IAAA,aAAA,qBAAAC,cAAL,KAAA;AACN,EAAAA,eAAA,MAAO,CAAA,GAAA,MAAA,CAAA;AACP,EAAAA,eAAA,MAAO,CAAA,GAAA,MAAA,CAAA;AACP,EAAAA,eAAA,QAAS,CAAA,GAAA,QAAA,CAAA;AACT,EAAAA,eAAA,OAAQ,CAAA,GAAA,OAAA,CAAA;AACR,EAAAA,eAAA,MAAO,CAAA,GAAA,MAAA,CAAA;AACP,EAAAA,eAAA,SAAU,CAAA,GAAA,SAAA,CAAA;AACV,EAAAA,eAAA,UAAW,CAAA,GAAA,UAAA,CAAA;AAPA,EAAAA,OAAAA,cAAAA,CAAAA;AAAA,CAAA,EAAA,aAAA,IAAA,EAAA;;;;"}
@@ -330,7 +330,8 @@ function useChat({ props, emit, scripts, unmatchText, modules, afterSend, sendMe
330
330
  needSequenceType: response.type || "",
331
331
  needSequenceProcessing: response.needSequenceProcessing || false,
332
332
  typeFlag: type,
333
- msgList: []
333
+ msgList: [],
334
+ likeList: response.likeList
334
335
  };
335
336
  newAiMessages.push(aiMessage);
336
337
  });
@@ -403,6 +404,7 @@ function useChat({ props, emit, scripts, unmatchText, modules, afterSend, sendMe
403
404
  }
404
405
  inputValue.value = "";
405
406
  } else {
407
+ console.log("content === useChat === 488", content);
406
408
  if (content) {
407
409
  inputValue.value = content;
408
410
  }
@@ -424,7 +426,8 @@ function useChat({ props, emit, scripts, unmatchText, modules, afterSend, sendMe
424
426
  renderContent(userMessage.content, "main", index);
425
427
  scrollToBottom();
426
428
  });
427
- openSSE(inputValue.value, index + 1, 1);
429
+ console.log("openSSE === useChat === 511");
430
+ openSSE(inputValue.value, index + 1);
428
431
  inputValue.value = "";
429
432
  }
430
433
  };
@@ -511,7 +514,7 @@ function useChat({ props, emit, scripts, unmatchText, modules, afterSend, sendMe
511
514
  if (reasoningContentRef.value[index])
512
515
  reasoningContentRef.value[index].innerHTML = "";
513
516
  setTimeout(() => {
514
- openSSE(userMessage.content || "", index, 1);
517
+ openSSE(userMessage.content || "", index);
515
518
  }, 50);
516
519
  });
517
520
  }
@@ -557,7 +560,7 @@ function useChat({ props, emit, scripts, unmatchText, modules, afterSend, sendMe
557
560
  }
558
561
  const insertPosition = index + 1;
559
562
  nextTick(() => {
560
- openSSE(newContent, insertPosition, 1);
563
+ openSSE(newContent, insertPosition);
561
564
  });
562
565
  emit("sendMessage", chatList.value);
563
566
  };