@touchvue/chat 1.0.0-beta.2 → 1.0.0-beta.4
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.
- package/es/package.json.mjs +1 -1
- package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/HelloChat.vue2.mjs +3 -3
- package/es/packages/components/touchchat/component/AiRobot/HelloChat.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/face.vue2.mjs +3 -1
- package/es/packages/components/touchchat/component/AiRobot/face.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/component/AiRobot/letter.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/meterialPrepare.vue2.mjs +9 -6
- package/es/packages/components/touchchat/component/AiRobot/meterialPrepare.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/start.vue2.mjs +1 -1
- package/es/packages/components/touchchat/component/AiRobot/start.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/component/CardView.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/component/HelloChat.vue2.mjs +2 -2
- package/es/packages/components/touchchat/component/HelloChat.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/img/aiAvatar.png.mjs +4 -0
- package/es/packages/components/touchchat/img/aiAvatar.png.mjs.map +1 -0
- package/es/packages/components/touchchat/img/icon.png.mjs.map +1 -0
- package/es/packages/components/touchchat/img/userAvatar.png.mjs +4 -0
- package/es/packages/components/touchchat/img/userAvatar.png.mjs.map +1 -0
- package/es/packages/components/touchchat/index.mjs +1 -1
- package/es/packages/components/touchchat/index.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/AiMessage.vue2.mjs +115 -199
- package/es/packages/components/touchchat/src/AiChat/AiMessage.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/ChatInput.vue2.mjs +43 -137
- package/es/packages/components/touchchat/src/AiChat/ChatInput.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/HistoryList.vue2.mjs +90 -127
- package/es/packages/components/touchchat/src/AiChat/HistoryList.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.mjs +17 -39
- package/es/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/MessageActions.vue2.mjs +41 -181
- package/es/packages/components/touchchat/src/AiChat/MessageActions.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/src/{AiRobot → AiChat}/Scene.vue2.mjs +1 -1
- package/es/packages/components/touchchat/src/AiChat/Scene.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue.mjs +6 -0
- package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue.mjs.map +1 -0
- package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue2.mjs +25 -0
- package/es/packages/components/touchchat/src/AiChat/SiderBarView.vue2.mjs.map +1 -0
- package/es/packages/components/touchchat/src/AiChat/TouchChat.vue2.mjs +618 -390
- package/es/packages/components/touchchat/src/AiChat/TouchChat.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/TouchHistory.vue2.mjs +200 -89
- package/es/packages/components/touchchat/src/AiChat/TouchHistory.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/src/AiChat/UserMessage.vue2.mjs +42 -37
- package/es/packages/components/touchchat/src/AiChat/UserMessage.vue2.mjs.map +1 -1
- package/es/packages/components/touchchat/src/index.vue2.mjs +54 -29
- package/es/packages/components/touchchat/src/index.vue2.mjs.map +1 -1
- package/lib/package.json.js +1 -1
- package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/HelloChat.vue2.js +3 -3
- package/lib/packages/components/touchchat/component/AiRobot/HelloChat.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/face.vue2.js +3 -1
- package/lib/packages/components/touchchat/component/AiRobot/face.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/component/AiRobot/letter.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/meterialPrepare.vue2.js +8 -5
- package/lib/packages/components/touchchat/component/AiRobot/meterialPrepare.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/start.vue2.js +1 -1
- package/lib/packages/components/touchchat/component/AiRobot/start.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/component/CardView.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/component/HelloChat.vue2.js +2 -2
- package/lib/packages/components/touchchat/component/HelloChat.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/img/aiAvatar.png.js +8 -0
- package/lib/packages/components/touchchat/img/aiAvatar.png.js.map +1 -0
- package/lib/packages/components/touchchat/img/icon.png.js.map +1 -0
- package/lib/packages/components/touchchat/img/userAvatar.png.js +8 -0
- package/lib/packages/components/touchchat/img/userAvatar.png.js.map +1 -0
- package/lib/packages/components/touchchat/index.js +1 -1
- package/lib/packages/components/touchchat/index.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/AiMessage.vue2.js +107 -191
- package/lib/packages/components/touchchat/src/AiChat/AiMessage.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/ChatInput.vue2.js +43 -137
- package/lib/packages/components/touchchat/src/AiChat/ChatInput.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/HistoryList.vue2.js +89 -126
- package/lib/packages/components/touchchat/src/AiChat/HistoryList.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.js +16 -38
- package/lib/packages/components/touchchat/src/AiChat/HistorySidebar.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/MessageActions.vue2.js +41 -181
- package/lib/packages/components/touchchat/src/AiChat/MessageActions.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/src/{AiRobot → AiChat}/Scene.vue2.js +1 -1
- package/lib/packages/components/touchchat/src/AiChat/Scene.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue.js +10 -0
- package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue.js.map +1 -0
- package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue2.js +29 -0
- package/lib/packages/components/touchchat/src/AiChat/SiderBarView.vue2.js.map +1 -0
- package/lib/packages/components/touchchat/src/AiChat/TouchChat.vue2.js +615 -387
- package/lib/packages/components/touchchat/src/AiChat/TouchChat.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/TouchHistory.vue2.js +199 -88
- package/lib/packages/components/touchchat/src/AiChat/TouchHistory.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/src/AiChat/UserMessage.vue2.js +41 -36
- package/lib/packages/components/touchchat/src/AiChat/UserMessage.vue2.js.map +1 -1
- package/lib/packages/components/touchchat/src/index.vue2.js +53 -28
- package/lib/packages/components/touchchat/src/index.vue2.js.map +1 -1
- package/package.json +81 -81
- package/theme/components/index.css +1447 -2004
- package/theme/img/aiArrow.png +0 -0
- package/theme/img/loading.png +0 -0
- package/theme/img/logo.png +0 -0
- package/theme/img/userArrow.png +0 -0
- package/theme/index.css +1448 -2005
- package/theme/skin/default.css +1448 -2005
- package/es/packages/components/touchchat/img/AI.png.mjs +0 -4
- package/es/packages/components/touchchat/img/AI.png.mjs.map +0 -1
- package/es/packages/components/touchchat/img/asir.png.mjs +0 -4
- package/es/packages/components/touchchat/img/asir.png.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiRobot/ChatPanel.vue.mjs +0 -6
- package/es/packages/components/touchchat/src/AiRobot/ChatPanel.vue.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiRobot/ChatPanel.vue2.mjs +0 -620
- package/es/packages/components/touchchat/src/AiRobot/ChatPanel.vue2.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiRobot/Content.vue.mjs +0 -6
- package/es/packages/components/touchchat/src/AiRobot/Content.vue.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiRobot/Content.vue2.mjs +0 -224
- package/es/packages/components/touchchat/src/AiRobot/Content.vue2.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiRobot/Header.vue.mjs +0 -6
- package/es/packages/components/touchchat/src/AiRobot/Header.vue.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiRobot/Header.vue2.mjs +0 -188
- package/es/packages/components/touchchat/src/AiRobot/Header.vue2.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiRobot/Input.vue.mjs +0 -6
- package/es/packages/components/touchchat/src/AiRobot/Input.vue.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiRobot/Input.vue2.mjs +0 -69
- package/es/packages/components/touchchat/src/AiRobot/Input.vue2.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiRobot/Scene.vue2.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiRobot/component/HelloChat.vue2.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiRobot/component/face.vue2.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiRobot/component/letter.vue2.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiRobot/component/meterialPrepare.vue2.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiRobot/component/start.vue2.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiRobot/img/Avatar-AI.png.mjs +0 -4
- package/es/packages/components/touchchat/src/AiRobot/img/Avatar-AI.png.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiRobot/img/icon.png.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiRobot/index.vue.mjs +0 -6
- package/es/packages/components/touchchat/src/AiRobot/index.vue.mjs.map +0 -1
- package/es/packages/components/touchchat/src/AiRobot/index.vue2.mjs +0 -67
- package/es/packages/components/touchchat/src/AiRobot/index.vue2.mjs.map +0 -1
- package/lib/packages/components/touchchat/img/AI.png.js +0 -8
- package/lib/packages/components/touchchat/img/AI.png.js.map +0 -1
- package/lib/packages/components/touchchat/img/asir.png.js +0 -8
- package/lib/packages/components/touchchat/img/asir.png.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiRobot/ChatPanel.vue.js +0 -10
- package/lib/packages/components/touchchat/src/AiRobot/ChatPanel.vue.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiRobot/ChatPanel.vue2.js +0 -624
- package/lib/packages/components/touchchat/src/AiRobot/ChatPanel.vue2.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiRobot/Content.vue.js +0 -10
- package/lib/packages/components/touchchat/src/AiRobot/Content.vue.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiRobot/Content.vue2.js +0 -228
- package/lib/packages/components/touchchat/src/AiRobot/Content.vue2.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiRobot/Header.vue.js +0 -10
- package/lib/packages/components/touchchat/src/AiRobot/Header.vue.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiRobot/Header.vue2.js +0 -192
- package/lib/packages/components/touchchat/src/AiRobot/Header.vue2.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiRobot/Input.vue.js +0 -10
- package/lib/packages/components/touchchat/src/AiRobot/Input.vue.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiRobot/Input.vue2.js +0 -73
- package/lib/packages/components/touchchat/src/AiRobot/Input.vue2.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiRobot/Scene.vue2.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiRobot/component/HelloChat.vue2.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiRobot/component/face.vue2.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiRobot/component/letter.vue2.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiRobot/component/meterialPrepare.vue2.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiRobot/component/start.vue2.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiRobot/img/Avatar-AI.png.js +0 -8
- package/lib/packages/components/touchchat/src/AiRobot/img/Avatar-AI.png.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiRobot/img/icon.png.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiRobot/index.vue.js +0 -10
- package/lib/packages/components/touchchat/src/AiRobot/index.vue.js.map +0 -1
- package/lib/packages/components/touchchat/src/AiRobot/index.vue2.js +0 -71
- package/lib/packages/components/touchchat/src/AiRobot/index.vue2.js.map +0 -1
- package/theme/img/default.png +0 -0
- /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/HelloChat.vue.mjs +0 -0
- /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/HelloChat.vue.mjs.map +0 -0
- /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/face.vue.mjs +0 -0
- /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/face.vue.mjs.map +0 -0
- /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/letter.vue.mjs +0 -0
- /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/letter.vue.mjs.map +0 -0
- /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/letter.vue2.mjs +0 -0
- /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/meterialPrepare.vue.mjs +0 -0
- /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/meterialPrepare.vue.mjs.map +0 -0
- /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/start.vue.mjs +0 -0
- /package/es/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/start.vue.mjs.map +0 -0
- /package/es/packages/components/touchchat/{src/AiRobot/img → img}/icon.png.mjs +0 -0
- /package/es/packages/components/touchchat/src/{AiRobot → AiChat}/Scene.vue.mjs +0 -0
- /package/es/packages/components/touchchat/src/{AiRobot → AiChat}/Scene.vue.mjs.map +0 -0
- /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/HelloChat.vue.js +0 -0
- /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/HelloChat.vue.js.map +0 -0
- /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/face.vue.js +0 -0
- /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/face.vue.js.map +0 -0
- /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/letter.vue.js +0 -0
- /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/letter.vue.js.map +0 -0
- /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/letter.vue2.js +0 -0
- /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/meterialPrepare.vue.js +0 -0
- /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/meterialPrepare.vue.js.map +0 -0
- /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/start.vue.js +0 -0
- /package/lib/packages/components/touchchat/{src/AiRobot/component → component/AiRobot}/start.vue.js.map +0 -0
- /package/lib/packages/components/touchchat/{src/AiRobot/img → img}/icon.png.js +0 -0
- /package/lib/packages/components/touchchat/src/{AiRobot → AiChat}/Scene.vue.js +0 -0
- /package/lib/packages/components/touchchat/src/{AiRobot → AiChat}/Scene.vue.js.map +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HistoryList.vue2.js","sources":["../../../../../../../packages/components/touchchat/src/AiChat/HistoryList.vue"],"sourcesContent":["<template>\n <ul ref=\"historyListRef\" class=\"history-list\" :class=\"{ 'is-robot': isRobot }\">\n <!-- 动态时间分组 -->\n <template v-for=\"group in groupedChatHistory\" :key=\"group.groupKey\">\n <!-- 分组标题 -->\n <li class=\"history-group-header\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"17\"\n viewBox=\"0 0 16 17\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.28906 3.54885C1.28906 3.21748 1.55769 2.94885 1.88906 2.94885H14.1113C14.4427 2.94885 14.7113 3.21748 14.7113 3.54885V12.7155C14.7113 13.0469 14.4427 13.3155 14.1113 13.3155H9.77648L8.42444 14.6676C8.31192 14.7801 8.1593 14.8433 8.00017 14.8433C7.84104 14.8433 7.68843 14.7801 7.57591 14.6676L6.22387 13.3155H1.88906C1.55769 13.3155 1.28906 13.0469 1.28906 12.7155V3.54885ZM2.48906 4.14885V12.1155H6.4724C6.63153 12.1155 6.78414 12.1787 6.89666 12.2913L8.00017 13.3948L9.10369 12.2913C9.21621 12.1787 9.36882 12.1155 9.52795 12.1155H13.5113V4.14885H2.48906Z\"\n fill=\"#1D2129\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.09462 7.53219H8.90649V8.73219H7.09462V7.53219Z\"\n fill=\"#1D2129\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.1505 7.53219H11.9613V8.73219H10.1505V7.53219Z\"\n fill=\"#1D2129\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.03937 7.53219H5.85014V8.73219H4.03937V7.53219Z\"\n fill=\"#1D2129\"\n />\n </svg>\n <div class=\"history-item\">\n <span class=\"history-title\">{{ group.groupName }}</span>\n </div>\n </li>\n <!-- 分组内对话项 -->\n <li\n v-for=\"item in group.items\"\n :key=\"item.id\"\n :ref=\"el => setHistoryItemRef(item.id, el as HTMLElement)\"\n :class=\"[item.id === activeChat ? 'active' : '', 'history-item-container']\"\n @click=\"handleSelectChat(item.id)\"\n >\n <div class=\"history-item\">\n <div\n :ref=\"el => setTooltipContainerRef(item.id, el as HTMLElement)\"\n class=\"tooltip-container\"\n style=\"flex: 1\"\n >\n <template v-if=\"editingId === item.id\">\n <input\n :ref=\"el => setEditInputRef(item.id, el as HTMLInputElement)\"\n v-model=\"editTitle\"\n class=\"edit-title-input\"\n @blur=\"handleRenameComplete(item.id)\"\n @keyup.enter=\"handleRenameComplete(item.id)\"\n @click.stop\n />\n </template>\n <template v-else>\n <span class=\"history-title\">{{ item.title || '新对话' }}</span>\n <div\n v-if=\"shouldShowTooltip(item.id, item.title)\"\n ref=\"tooltipRef\"\n class=\"custom-tooltip\"\n >\n {{ item.title }}\n </div>\n </template>\n </div>\n </div>\n\n <!-- 菜单显示状态 - 添加条件判断隐藏操作按钮 -->\n <div v-if=\"editingId !== item.id\" class=\"item-actions\">\n <button class=\"more-btn\" @click.stop=\"handleToggleActionMenu(item.id)\">...</button>\n\n <div\n v-if=\"state.actionMenuVisible[item.id]\"\n :ref=\"el => (actionMenus[item.id] = el as HTMLElement)\"\n class=\"action-menu\"\n @mouseenter=\"preventMenuClose\"\n @mouseleave=\"delayedCloseMenu(item.id)\"\n >\n <div class=\"menu-item\" @click.stop=\"handleStartRename(item.id)\">\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n >\n <path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\" />\n <path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\" />\n </svg>\n <span>重命名</span>\n </div>\n <div class=\"menu-item delete-btn\" @click.stop=\"handleMenuAction('delete', item.id)\">\n <svg\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n stroke-width=\"2\"\n >\n <polyline points=\"3 6 5 6 21 6\" />\n <path\n d=\"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\"\n />\n </svg>\n <span>删除</span>\n </div>\n </div>\n </div>\n </li>\n </template>\n </ul>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, reactive, nextTick, computed, watch, inject } from 'vue';\n\n// 类型定义\ninterface ChatMessage {\n chatId?: string;\n user: string;\n type: string;\n content: string;\n isShowAvatar?: boolean;\n avatar?: string;\n isChating?: boolean;\n thinkContent?: string;\n reasoningContent?: string;\n}\n\ninterface HistoryItem {\n id: string;\n title: string;\n time: Date;\n messages: ChatMessage[];\n}\n\ninterface GroupedChat {\n groupKey: string;\n groupName: string;\n items: HistoryItem[];\n}\n\n// Props\nconst props = defineProps<{\n activeChat: string;\n chatHistory: HistoryItem[];\n}>();\n\nconst isRobot = inject('scripts', []).length > 0;\nconsole.log('isRobot === historyList', isRobot, inject('scripts', []));\n\n// Emits\nconst emit = defineEmits<{\n (e: 'select-chat', id: string): void;\n (e: 'rename-chat', id: string, newTitle: string): void;\n (e: 'delete-chat', id: string): void;\n}>();\n\n// 内部状态\nconst actionMenus = ref<Record<string, HTMLElement | null>>({});\nconst tooltipContainerRefs = ref<Record<string, HTMLElement | null>>({});\nconst editingId = ref<string | null>(null);\nconst editTitle = ref('');\nconst editInputRefs = ref<Record<string, HTMLInputElement | null>>({}); // 修改为对象存储多个引用\n\n// 设置输入框引用\nconst setEditInputRef = (id: string, el: HTMLInputElement | null) => {\n editInputRefs.value[id] = el;\n};\n\nconst setTooltipContainerRef = (id: string, el: HTMLElement | null) => {\n tooltipContainerRefs.value[id] = el;\n};\n\nconst state = reactive<{\n actionMenuVisible: Record<string, boolean>;\n}>({\n actionMenuVisible: {},\n});\n\n// 开始重命名\nconst handleStartRename = (id: string) => {\n const item = props.chatHistory.find(item => item.id === id);\n if (item) {\n editingId.value = id;\n editTitle.value = item.title || '';\n state.actionMenuVisible[id] = false;\n nextTick(() => {\n console.log('editInputRefs.value', editInputRefs.value[id]);\n editInputRefs.value[id]?.focus();\n });\n }\n};\n\n// 完成重命名\nconst handleRenameComplete = (id: string) => {\n if (editingId.value === id) {\n const trimmedTitle = editTitle.value.trim();\n if (trimmedTitle) {\n emit('rename-chat', id, trimmedTitle);\n }\n editingId.value = null;\n }\n};\n\n// 时间分组辅助函数\nconst getGroupKey = (date: Date): string => {\n const now = new Date();\n const today = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n const yesterday = new Date(today);\n yesterday.setDate(yesterday.getDate() - 1);\n const sevenDaysAgo = new Date(today);\n sevenDaysAgo.setDate(sevenDaysAgo.getDate() - 7);\n const thirtyDaysAgo = new Date(today);\n thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30);\n\n const targetDate = new Date(date);\n const targetDateNormalized = new Date(\n targetDate.getFullYear(),\n targetDate.getMonth(),\n targetDate.getDate()\n );\n\n if (targetDateNormalized >= today) return 'today';\n if (targetDateNormalized >= yesterday) return 'yesterday';\n if (targetDate >= sevenDaysAgo) return 'sevenDays';\n if (targetDate >= thirtyDaysAgo) return 'thirtyDays';\n return `${targetDate.getFullYear()}-${String(targetDate.getMonth() + 1).padStart(2, '0')}`;\n};\n\n// 格式化分组名称\nconst formatGroupName = (key: string): string => {\n switch (key) {\n case 'today':\n return '今天';\n case 'yesterday':\n return '昨天';\n case 'sevenDays':\n return '7天内';\n case 'thirtyDays':\n return '30天内';\n default:\n return key;\n }\n};\n\nconst handleMenuAction = (action: string, id: string) => {\n if (action === 'delete') {\n emit('delete-chat', id);\n }\n};\n\n// 按时间分组的计算属性\nconst groupedChatHistory = computed<GroupedChat[]>(() => {\n // 复制并排序对话(最新的在前)\n const sortedChats = [...props.chatHistory].sort(\n (a, b) => new Date(b.time).getTime() - new Date(a.time).getTime()\n );\n\n // 分组处理\n const groups: Record<string, HistoryItem[]> = {};\n sortedChats.forEach(chat => {\n const key = getGroupKey(new Date(chat.time));\n if (!groups[key]) groups[key] = [];\n groups[key].push(chat);\n });\n\n // 转换为有序数组\n return Object.entries(groups)\n .map(([key, items]) => ({\n groupKey: key,\n groupName: formatGroupName(key),\n items,\n }))\n .sort((a, b) => {\n // 自定义排序确保分组顺序正确\n const order: Record<string, number> = {\n today: 0,\n yesterday: 1,\n sevenDays: 2,\n thirtyDays: 3,\n };\n return (\n (order[a.groupKey] ?? 100) - (order[b.groupKey] ?? 100) ||\n b.groupKey.localeCompare(a.groupKey)\n );\n });\n});\n\n// 修改缓存类型定义\ninterface TooltipCacheItem {\n value: boolean;\n timestamp: number;\n}\n\n// 使用Map存储每个ID的测量结果,避免重复计算\nconst tooltipMeasurementCache = new Map<string, TooltipCacheItem>();\n\nconst clearTooltipCache = () => {\n tooltipMeasurementCache.clear();\n};\n\nwatch(() => props.chatHistory, clearTooltipCache);\n\n// 改进shouldShowTooltip函数\nconst shouldShowTooltip = (id: string, title: string) => {\n if (!title || editingId.value === id) return false;\n\n // 获取容器元素\n const containerEl = tooltipContainerRefs.value[id];\n if (!containerEl) {\n return false;\n }\n\n // 强制重新计算布局\n containerEl.getBoundingClientRect();\n // 获取容器的实际宽度(包括padding和border)\n const containerStyle = window.getComputedStyle(containerEl);\n const containerWidth = containerEl.offsetWidth;\n const containerPaddingX =\n parseFloat(containerStyle.paddingLeft) + parseFloat(containerStyle.paddingRight);\n const containerBorderX =\n parseFloat(containerStyle.borderLeftWidth) + parseFloat(containerStyle.borderRightWidth);\n // 内容区域宽度 = 总宽度 - padding - border\n const contentWidth = containerWidth - containerPaddingX - containerBorderX;\n\n // 如果容器宽度为0,不缓存结果,返回false\n if (containerWidth === 0) {\n return false;\n }\n\n // 检查缓存,但添加时间戳以支持定期更新\n const now = Date.now();\n const cacheKey = `${id}_${containerWidth}_${contentWidth}`; // 改进缓存键\n if (tooltipMeasurementCache.has(cacheKey)) {\n const cached = tooltipMeasurementCache.get(cacheKey);\n // 如果缓存项存在且未过期(5秒)\n if (cached && now - cached.timestamp < 5000) {\n return cached.value;\n }\n }\n\n // 创建临时元素测量文本宽度\n const tempElement = document.createElement('span');\n tempElement.className = 'history-title';\n tempElement.textContent = title;\n\n // 复制实际元素的样式\n const historyTitleEl = containerEl.querySelector('.history-title');\n if (historyTitleEl) {\n const titleStyle = window.getComputedStyle(historyTitleEl);\n // 复制所有相关样式\n tempElement.style.fontSize = titleStyle.fontSize;\n tempElement.style.fontFamily = titleStyle.fontFamily;\n tempElement.style.fontWeight = titleStyle.fontWeight;\n tempElement.style.letterSpacing = titleStyle.letterSpacing;\n tempElement.style.wordSpacing = titleStyle.wordSpacing;\n tempElement.style.textTransform = titleStyle.textTransform;\n }\n\n tempElement.style.visibility = 'hidden';\n tempElement.style.position = 'absolute';\n tempElement.style.whiteSpace = 'nowrap';\n document.body.appendChild(tempElement);\n\n // 强制重绘\n tempElement.getBoundingClientRect();\n const textWidth = tempElement.offsetWidth;\n\n document.body.removeChild(tempElement);\n\n // 添加5px阈值,避免边框等因素导致的误差\n const shouldShow = textWidth > contentWidth + 5;\n\n // 缓存结果,包含时间戳\n tooltipMeasurementCache.set(cacheKey, {\n value: shouldShow,\n timestamp: now,\n });\n\n return shouldShow;\n};\n\n// 事件处理\nconst handleSelectChat = (id: string) => {\n if (editingId.value === null) {\n emit('select-chat', id);\n resetAllMenus();\n }\n};\n\nconst resetAllMenus = () => {\n Object.keys(state.actionMenuVisible).forEach(key => {\n state.actionMenuVisible[key] = false;\n });\n};\n\nconst handleToggleActionMenu = (id: string, event?: MouseEvent) => {\n if (editingId.value === null) {\n event?.stopPropagation();\n props.chatHistory.forEach(item => {\n item.id !== id && (state.actionMenuVisible[item.id] = false);\n });\n state.actionMenuVisible[id] = !state.actionMenuVisible[id];\n\n // 添加动态定位逻辑\n if (state.actionMenuVisible[id]) {\n positionActionMenu(id);\n }\n }\n};\n\n// 添加对history-list容器的引用\nconst historyListRef = ref<HTMLUListElement | null>(null);\n\n// 添加对历史记录项的引用\nconst historyItemRefs = ref<Record<string, HTMLElement | null>>({});\n\nconst setHistoryItemRef = (id: string, el: HTMLElement | null) => {\n historyItemRefs.value[id] = el;\n};\n\n// 添加菜单定位函数\nconst positionActionMenu = (id: string) => {\n nextTick(() => {\n const menuEl = actionMenus.value[id];\n const historyItemEl = historyItemRefs.value[id];\n if (!menuEl || !historyItemEl || !historyListRef.value) return;\n\n // 重置样式\n menuEl.style.top = '';\n menuEl.style.bottom = '';\n menuEl.style.transform = '';\n menuEl.style.marginTop = '';\n menuEl.style.position = 'absolute';\n\n const menuHeight = menuEl.offsetHeight;\n const historyItemRect = historyItemEl.getBoundingClientRect();\n const listRect = historyListRef.value.getBoundingClientRect();\n const buttonEl = menuEl.previousElementSibling as HTMLElement;\n\n // 计算历史记录项底部到列表容器底部的距离\n const distanceToBottom = listRect.bottom - historyItemRect.bottom;\n\n // 如果距离小于菜单高度,则显示在上方\n if (distanceToBottom < menuHeight) {\n if (buttonEl) {\n // const buttonRect = buttonEl.getBoundingClientRect();\n // 直接设置菜单顶部位置为按钮顶部减去菜单高度\n menuEl.style.top = `${-menuHeight}px`;\n menuEl.style.bottom = 'auto';\n menuEl.style.transform = 'none';\n }\n } else {\n // 否则显示在下方\n menuEl.style.top = '100%';\n menuEl.style.bottom = 'auto';\n menuEl.style.transform = 'translateY(0)';\n }\n });\n};\n\n// 添加菜单关闭延迟逻辑\nlet menuCloseTimer: number | null = null;\n\nconst preventMenuClose = () => {\n if (menuCloseTimer) {\n clearTimeout(menuCloseTimer);\n menuCloseTimer = null;\n }\n};\n\nconst delayedCloseMenu = (id: string) => {\n preventMenuClose();\n menuCloseTimer = window.setTimeout(() => {\n state.actionMenuVisible[id] = false;\n }, 200);\n};\n</script>\n\n<!-- <style scoped>\n/* @import '../../style/TouchHistory.less'; */\n@import '../../style/HistoryList.less';\n</style> -->\n"],"names":["inject","ref","reactive","item","nextTick","computed","watch","_createElementBlock","_normalizeClass","_Fragment","_renderList","_createElementVNode","_toDisplayString","_openBlock","activeChat","_withKeys","_withModifiers"],"mappings":";;;;;;;;;;;;;;AA6JA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAKd,IAAA,MAAM,UAAUA,UAAO,CAAA,SAAA,EAAW,EAAE,EAAE,MAAS,GAAA,CAAA,CAAA;AAC/C,IAAA,OAAA,CAAQ,IAAI,yBAA2B,EAAA,OAAA,EAASA,WAAO,SAAW,EAAA,EAAE,CAAC,CAAA,CAAA;AAGrE,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAOb,IAAM,MAAA,WAAA,GAAcC,OAAwC,CAAA,EAAE,CAAA,CAAA;AAC9D,IAAM,MAAA,oBAAA,GAAuBA,OAAwC,CAAA,EAAE,CAAA,CAAA;AACvE,IAAM,MAAA,SAAA,GAAYA,QAAmB,IAAI,CAAA,CAAA;AACzC,IAAM,MAAA,SAAA,GAAYA,QAAI,EAAE,CAAA,CAAA;AACxB,IAAM,MAAA,aAAA,GAAgBA,OAA6C,CAAA,EAAE,CAAA,CAAA;AAGrE,IAAM,MAAA,eAAA,GAAkB,CAAC,EAAA,EAAY,EAAgC,KAAA;AACnE,MAAc,aAAA,CAAA,KAAA,CAAM,EAAE,CAAI,GAAA,EAAA,CAAA;AAAA,KAC5B,CAAA;AAEA,IAAM,MAAA,sBAAA,GAAyB,CAAC,EAAA,EAAY,EAA2B,KAAA;AACrE,MAAqB,oBAAA,CAAA,KAAA,CAAM,EAAE,CAAI,GAAA,EAAA,CAAA;AAAA,KACnC,CAAA;AAEA,IAAA,MAAM,QAAQC,YAEX,CAAA;AAAA,MACD,mBAAmB,EAAC;AAAA,KACrB,CAAA,CAAA;AAGD,IAAM,MAAA,iBAAA,GAAoB,CAAC,EAAe,KAAA;AACxC,MAAM,MAAA,IAAA,GAAO,MAAM,WAAY,CAAA,IAAA,CAAK,CAAAC,KAAQA,KAAAA,KAAAA,CAAK,OAAO,EAAE,CAAA,CAAA;AAC1D,MAAA,IAAI,IAAM,EAAA;AACR,QAAA,SAAA,CAAU,KAAQ,GAAA,EAAA,CAAA;AAClB,QAAU,SAAA,CAAA,KAAA,GAAQ,KAAK,KAAS,IAAA,EAAA,CAAA;AAChC,QAAM,KAAA,CAAA,iBAAA,CAAkB,EAAE,CAAI,GAAA,KAAA,CAAA;AAC9B,QAAAC,YAAA,CAAS,MAAM;;AACb,UAAA,OAAA,CAAQ,GAAI,CAAA,qBAAA,EAAuB,aAAc,CAAA,KAAA,CAAM,EAAE,CAAC,CAAA,CAAA;AAC1D,UAAc,CAAA,EAAA,GAAA,aAAA,CAAA,KAAA,CAAM,EAAE,CAAA,KAAtB,IAAyB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,KAAA,EAAA,CAAA;AAAA,SAC1B,CAAA,CAAA;AAAA,OACH;AAAA,KACF,CAAA;AAGA,IAAM,MAAA,oBAAA,GAAuB,CAAC,EAAe,KAAA;AAC3C,MAAI,IAAA,SAAA,CAAU,UAAU,EAAI,EAAA;AAC1B,QAAM,MAAA,YAAA,GAAe,SAAU,CAAA,KAAA,CAAM,IAAK,EAAA,CAAA;AAC1C,QAAA,IAAI,YAAc,EAAA;AAChB,UAAK,IAAA,CAAA,aAAA,EAAe,IAAI,YAAY,CAAA,CAAA;AAAA,SACtC;AACA,QAAA,SAAA,CAAU,KAAQ,GAAA,IAAA,CAAA;AAAA,OACpB;AAAA,KACF,CAAA;AAGA,IAAM,MAAA,WAAA,GAAc,CAAC,IAAuB,KAAA;AAC1C,MAAM,MAAA,GAAA,uBAAU,IAAK,EAAA,CAAA;AACrB,MAAM,MAAA,KAAA,GAAQ,IAAI,IAAA,CAAK,GAAI,CAAA,WAAA,EAAe,EAAA,GAAA,CAAI,QAAS,EAAA,EAAG,GAAI,CAAA,OAAA,EAAS,CAAA,CAAA;AACvE,MAAM,MAAA,SAAA,GAAY,IAAI,IAAA,CAAK,KAAK,CAAA,CAAA;AAChC,MAAA,SAAA,CAAU,OAAQ,CAAA,SAAA,CAAU,OAAQ,EAAA,GAAI,CAAC,CAAA,CAAA;AACzC,MAAM,MAAA,YAAA,GAAe,IAAI,IAAA,CAAK,KAAK,CAAA,CAAA;AACnC,MAAA,YAAA,CAAa,OAAQ,CAAA,YAAA,CAAa,OAAQ,EAAA,GAAI,CAAC,CAAA,CAAA;AAC/C,MAAM,MAAA,aAAA,GAAgB,IAAI,IAAA,CAAK,KAAK,CAAA,CAAA;AACpC,MAAA,aAAA,CAAc,OAAQ,CAAA,aAAA,CAAc,OAAQ,EAAA,GAAI,EAAE,CAAA,CAAA;AAElD,MAAM,MAAA,UAAA,GAAa,IAAI,IAAA,CAAK,IAAI,CAAA,CAAA;AAChC,MAAA,MAAM,uBAAuB,IAAI,IAAA;AAAA,QAC/B,WAAW,WAAY,EAAA;AAAA,QACvB,WAAW,QAAS,EAAA;AAAA,QACpB,WAAW,OAAQ,EAAA;AAAA,OACrB,CAAA;AAEA,MAAA,IAAI,oBAAwB,IAAA,KAAA;AAAO,QAAO,OAAA,OAAA,CAAA;AAC1C,MAAA,IAAI,oBAAwB,IAAA,SAAA;AAAW,QAAO,OAAA,WAAA,CAAA;AAC9C,MAAA,IAAI,UAAc,IAAA,YAAA;AAAc,QAAO,OAAA,WAAA,CAAA;AACvC,MAAA,IAAI,UAAc,IAAA,aAAA;AAAe,QAAO,OAAA,YAAA,CAAA;AACxC,MAAA,OAAO,CAAG,EAAA,UAAA,CAAW,WAAY,EAAA,CAAA,CAAA,EAAK,MAAO,CAAA,UAAA,CAAW,QAAS,EAAA,GAAI,CAAC,CAAA,CAAE,QAAS,CAAA,CAAA,EAAG,GAAG,CAAA,CAAA,CAAA,CAAA;AAAA,KACzF,CAAA;AAGA,IAAM,MAAA,eAAA,GAAkB,CAAC,GAAwB,KAAA;AAC/C,MAAA,QAAQ,GAAK;AAAA,QACX,KAAK,OAAA;AACH,UAAO,OAAA,cAAA,CAAA;AAAA,QACT,KAAK,WAAA;AACH,UAAO,OAAA,cAAA,CAAA;AAAA,QACT,KAAK,WAAA;AACH,UAAO,OAAA,eAAA,CAAA;AAAA,QACT,KAAK,YAAA;AACH,UAAO,OAAA,gBAAA,CAAA;AAAA,QACT;AACE,UAAO,OAAA,GAAA,CAAA;AAAA,OACX;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,gBAAA,GAAmB,CAAC,MAAA,EAAgB,EAAe,KAAA;AACvD,MAAA,IAAI,WAAW,QAAU,EAAA;AACvB,QAAA,IAAA,CAAK,eAAe,EAAE,CAAA,CAAA;AAAA,OACxB;AAAA,KACF,CAAA;AAGA,IAAM,MAAA,kBAAA,GAAqBC,aAAwB,MAAM;AAEvD,MAAA,MAAM,WAAc,GAAA,CAAC,GAAG,KAAA,CAAM,WAAW,CAAE,CAAA,IAAA;AAAA,QACzC,CAAC,CAAA,EAAG,CAAM,KAAA,IAAI,KAAK,CAAE,CAAA,IAAI,CAAE,CAAA,OAAA,KAAY,IAAI,IAAA,CAAK,CAAE,CAAA,IAAI,EAAE,OAAQ,EAAA;AAAA,OAClE,CAAA;AAGA,MAAA,MAAM,SAAwC,EAAC,CAAA;AAC/C,MAAA,WAAA,CAAY,QAAQ,CAAQ,IAAA,KAAA;AAC1B,QAAA,MAAM,MAAM,WAAY,CAAA,IAAI,IAAK,CAAA,IAAA,CAAK,IAAI,CAAC,CAAA,CAAA;AAC3C,QAAI,IAAA,CAAC,OAAO,GAAG,CAAA;AAAG,UAAO,MAAA,CAAA,GAAG,IAAI,EAAC,CAAA;AACjC,QAAO,MAAA,CAAA,GAAG,CAAE,CAAA,IAAA,CAAK,IAAI,CAAA,CAAA;AAAA,OACtB,CAAA,CAAA;AAGD,MAAO,OAAA,MAAA,CAAO,QAAQ,MAAM,CAAA,CACzB,IAAI,CAAC,CAAC,GAAK,EAAA,KAAK,CAAO,MAAA;AAAA,QACtB,QAAU,EAAA,GAAA;AAAA,QACV,SAAA,EAAW,gBAAgB,GAAG,CAAA;AAAA,QAC9B,KAAA;AAAA,OACA,CAAA,CAAA,CACD,IAAK,CAAA,CAAC,GAAG,CAAM,KAAA;;AAEd,QAAA,MAAM,KAAgC,GAAA;AAAA,UACpC,KAAO,EAAA,CAAA;AAAA,UACP,SAAW,EAAA,CAAA;AAAA,UACX,SAAW,EAAA,CAAA;AAAA,UACX,UAAY,EAAA,CAAA;AAAA,SACd,CAAA;AACA,QAAA,OAAA,CAAA,CACG,WAAM,CAAE,CAAA,QAAQ,CAAhB,KAAA,IAAA,GAAA,EAAA,GAAqB,SAAQ,EAAM,GAAA,KAAA,CAAA,CAAA,CAAE,QAAQ,CAAA,KAAhB,YAAqB,GACnD,CAAA,IAAA,CAAA,CAAE,QAAS,CAAA,aAAA,CAAc,EAAE,QAAQ,CAAA,CAAA;AAAA,OAEtC,CAAA,CAAA;AAAA,KACJ,CAAA,CAAA;AASD,IAAM,MAAA,uBAAA,uBAA8B,GAA8B,EAAA,CAAA;AAElE,IAAA,MAAM,oBAAoB,MAAM;AAC9B,MAAA,uBAAA,CAAwB,KAAM,EAAA,CAAA;AAAA,KAChC,CAAA;AAEA,IAAMC,SAAA,CAAA,MAAM,KAAM,CAAA,WAAA,EAAa,iBAAiB,CAAA,CAAA;AAGhD,IAAM,MAAA,iBAAA,GAAoB,CAAC,EAAA,EAAY,KAAkB,KAAA;AACvD,MAAI,IAAA,CAAC,KAAS,IAAA,SAAA,CAAU,KAAU,KAAA,EAAA;AAAI,QAAO,OAAA,KAAA,CAAA;AAG7C,MAAM,MAAA,WAAA,GAAc,oBAAqB,CAAA,KAAA,CAAM,EAAE,CAAA,CAAA;AACjD,MAAA,IAAI,CAAC,WAAa,EAAA;AAChB,QAAO,OAAA,KAAA,CAAA;AAAA,OACT;AAGA,MAAA,WAAA,CAAY,qBAAsB,EAAA,CAAA;AAElC,MAAM,MAAA,cAAA,GAAiB,MAAO,CAAA,gBAAA,CAAiB,WAAW,CAAA,CAAA;AAC1D,MAAA,MAAM,iBAAiB,WAAY,CAAA,WAAA,CAAA;AACnC,MAAA,MAAM,oBACJ,UAAW,CAAA,cAAA,CAAe,WAAW,CAAI,GAAA,UAAA,CAAW,eAAe,YAAY,CAAA,CAAA;AACjF,MAAA,MAAM,mBACJ,UAAW,CAAA,cAAA,CAAe,eAAe,CAAI,GAAA,UAAA,CAAW,eAAe,gBAAgB,CAAA,CAAA;AAEzF,MAAM,MAAA,YAAA,GAAe,iBAAiB,iBAAoB,GAAA,gBAAA,CAAA;AAG1D,MAAA,IAAI,mBAAmB,CAAG,EAAA;AACxB,QAAO,OAAA,KAAA,CAAA;AAAA,OACT;AAGA,MAAM,MAAA,GAAA,GAAM,KAAK,GAAI,EAAA,CAAA;AACrB,MAAM,MAAA,QAAA,GAAW,CAAG,EAAA,EAAA,CAAA,CAAA,EAAM,cAAkB,CAAA,CAAA,EAAA,YAAA,CAAA,CAAA,CAAA;AAC5C,MAAI,IAAA,uBAAA,CAAwB,GAAI,CAAA,QAAQ,CAAG,EAAA;AACzC,QAAM,MAAA,MAAA,GAAS,uBAAwB,CAAA,GAAA,CAAI,QAAQ,CAAA,CAAA;AAEnD,QAAA,IAAI,MAAU,IAAA,GAAA,GAAM,MAAO,CAAA,SAAA,GAAY,GAAM,EAAA;AAC3C,UAAA,OAAO,MAAO,CAAA,KAAA,CAAA;AAAA,SAChB;AAAA,OACF;AAGA,MAAM,MAAA,WAAA,GAAc,QAAS,CAAA,aAAA,CAAc,MAAM,CAAA,CAAA;AACjD,MAAA,WAAA,CAAY,SAAY,GAAA,eAAA,CAAA;AACxB,MAAA,WAAA,CAAY,WAAc,GAAA,KAAA,CAAA;AAG1B,MAAM,MAAA,cAAA,GAAiB,WAAY,CAAA,aAAA,CAAc,gBAAgB,CAAA,CAAA;AACjE,MAAA,IAAI,cAAgB,EAAA;AAClB,QAAM,MAAA,UAAA,GAAa,MAAO,CAAA,gBAAA,CAAiB,cAAc,CAAA,CAAA;AAEzD,QAAY,WAAA,CAAA,KAAA,CAAM,WAAW,UAAW,CAAA,QAAA,CAAA;AACxC,QAAY,WAAA,CAAA,KAAA,CAAM,aAAa,UAAW,CAAA,UAAA,CAAA;AAC1C,QAAY,WAAA,CAAA,KAAA,CAAM,aAAa,UAAW,CAAA,UAAA,CAAA;AAC1C,QAAY,WAAA,CAAA,KAAA,CAAM,gBAAgB,UAAW,CAAA,aAAA,CAAA;AAC7C,QAAY,WAAA,CAAA,KAAA,CAAM,cAAc,UAAW,CAAA,WAAA,CAAA;AAC3C,QAAY,WAAA,CAAA,KAAA,CAAM,gBAAgB,UAAW,CAAA,aAAA,CAAA;AAAA,OAC/C;AAEA,MAAA,WAAA,CAAY,MAAM,UAAa,GAAA,QAAA,CAAA;AAC/B,MAAA,WAAA,CAAY,MAAM,QAAW,GAAA,UAAA,CAAA;AAC7B,MAAA,WAAA,CAAY,MAAM,UAAa,GAAA,QAAA,CAAA;AAC/B,MAAS,QAAA,CAAA,IAAA,CAAK,YAAY,WAAW,CAAA,CAAA;AAGrC,MAAA,WAAA,CAAY,qBAAsB,EAAA,CAAA;AAClC,MAAA,MAAM,YAAY,WAAY,CAAA,WAAA,CAAA;AAE9B,MAAS,QAAA,CAAA,IAAA,CAAK,YAAY,WAAW,CAAA,CAAA;AAGrC,MAAM,MAAA,UAAA,GAAa,YAAY,YAAe,GAAA,CAAA,CAAA;AAG9C,MAAA,uBAAA,CAAwB,IAAI,QAAU,EAAA;AAAA,QACpC,KAAO,EAAA,UAAA;AAAA,QACP,SAAW,EAAA,GAAA;AAAA,OACZ,CAAA,CAAA;AAED,MAAO,OAAA,UAAA,CAAA;AAAA,KACT,CAAA;AAGA,IAAM,MAAA,gBAAA,GAAmB,CAAC,EAAe,KAAA;AACvC,MAAI,IAAA,SAAA,CAAU,UAAU,IAAM,EAAA;AAC5B,QAAA,IAAA,CAAK,eAAe,EAAE,CAAA,CAAA;AACtB,QAAc,aAAA,EAAA,CAAA;AAAA,OAChB;AAAA,KACF,CAAA;AAEA,IAAA,MAAM,gBAAgB,MAAM;AAC1B,MAAA,MAAA,CAAO,IAAK,CAAA,KAAA,CAAM,iBAAiB,CAAA,CAAE,QAAQ,CAAO,GAAA,KAAA;AAClD,QAAM,KAAA,CAAA,iBAAA,CAAkB,GAAG,CAAI,GAAA,KAAA,CAAA;AAAA,OAChC,CAAA,CAAA;AAAA,KACH,CAAA;AAEA,IAAM,MAAA,sBAAA,GAAyB,CAAC,EAAA,EAAY,KAAuB,KAAA;AACjE,MAAI,IAAA,SAAA,CAAU,UAAU,IAAM,EAAA;AAC5B,QAAO,KAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,KAAA,CAAA,eAAA,EAAA,CAAA;AACP,QAAM,KAAA,CAAA,WAAA,CAAY,QAAQ,CAAQ,IAAA,KAAA;AAChC,UAAA,IAAA,CAAK,OAAO,EAAO,KAAA,KAAA,CAAM,iBAAkB,CAAA,IAAA,CAAK,EAAE,CAAI,GAAA,KAAA,CAAA,CAAA;AAAA,SACvD,CAAA,CAAA;AACD,QAAA,KAAA,CAAM,kBAAkB,EAAE,CAAA,GAAI,CAAC,KAAA,CAAM,kBAAkB,EAAE,CAAA,CAAA;AAGzD,QAAI,IAAA,KAAA,CAAM,iBAAkB,CAAA,EAAE,CAAG,EAAA;AAC/B,UAAA,kBAAA,CAAmB,EAAE,CAAA,CAAA;AAAA,SACvB;AAAA,OACF;AAAA,KACF,CAAA;AAGA,IAAM,MAAA,cAAA,GAAiBL,QAA6B,IAAI,CAAA,CAAA;AAGxD,IAAM,MAAA,eAAA,GAAkBA,OAAwC,CAAA,EAAE,CAAA,CAAA;AAElE,IAAM,MAAA,iBAAA,GAAoB,CAAC,EAAA,EAAY,EAA2B,KAAA;AAChE,MAAgB,eAAA,CAAA,KAAA,CAAM,EAAE,CAAI,GAAA,EAAA,CAAA;AAAA,KAC9B,CAAA;AAGA,IAAM,MAAA,kBAAA,GAAqB,CAAC,EAAe,KAAA;AACzC,MAAAG,YAAA,CAAS,MAAM;AACb,QAAM,MAAA,MAAA,GAAS,WAAY,CAAA,KAAA,CAAM,EAAE,CAAA,CAAA;AACnC,QAAM,MAAA,aAAA,GAAgB,eAAgB,CAAA,KAAA,CAAM,EAAE,CAAA,CAAA;AAC9C,QAAA,IAAI,CAAC,MAAA,IAAU,CAAC,aAAA,IAAiB,CAAC,cAAe,CAAA,KAAA;AAAO,UAAA,OAAA;AAGxD,QAAA,MAAA,CAAO,MAAM,GAAM,GAAA,EAAA,CAAA;AACnB,QAAA,MAAA,CAAO,MAAM,MAAS,GAAA,EAAA,CAAA;AACtB,QAAA,MAAA,CAAO,MAAM,SAAY,GAAA,EAAA,CAAA;AACzB,QAAA,MAAA,CAAO,MAAM,SAAY,GAAA,EAAA,CAAA;AACzB,QAAA,MAAA,CAAO,MAAM,QAAW,GAAA,UAAA,CAAA;AAExB,QAAA,MAAM,aAAa,MAAO,CAAA,YAAA,CAAA;AAC1B,QAAM,MAAA,eAAA,GAAkB,cAAc,qBAAsB,EAAA,CAAA;AAC5D,QAAM,MAAA,QAAA,GAAW,cAAe,CAAA,KAAA,CAAM,qBAAsB,EAAA,CAAA;AAC5D,QAAA,MAAM,WAAW,MAAO,CAAA,sBAAA,CAAA;AAGxB,QAAM,MAAA,gBAAA,GAAmB,QAAS,CAAA,MAAA,GAAS,eAAgB,CAAA,MAAA,CAAA;AAG3D,QAAA,IAAI,mBAAmB,UAAY,EAAA;AACjC,UAAA,IAAI,QAAU,EAAA;AAGZ,YAAO,MAAA,CAAA,KAAA,CAAM,GAAM,GAAA,CAAA,EAAG,CAAC,UAAA,CAAA,EAAA,CAAA,CAAA;AACvB,YAAA,MAAA,CAAO,MAAM,MAAS,GAAA,MAAA,CAAA;AACtB,YAAA,MAAA,CAAO,MAAM,SAAY,GAAA,MAAA,CAAA;AAAA,WAC3B;AAAA,SACK,MAAA;AAEL,UAAA,MAAA,CAAO,MAAM,GAAM,GAAA,MAAA,CAAA;AACnB,UAAA,MAAA,CAAO,MAAM,MAAS,GAAA,MAAA,CAAA;AACtB,UAAA,MAAA,CAAO,MAAM,SAAY,GAAA,eAAA,CAAA;AAAA,SAC3B;AAAA,OACD,CAAA,CAAA;AAAA,KACH,CAAA;AAGA,IAAA,IAAI,cAAgC,GAAA,IAAA,CAAA;AAEpC,IAAA,MAAM,mBAAmB,MAAM;AAC7B,MAAA,IAAI,cAAgB,EAAA;AAClB,QAAA,YAAA,CAAa,cAAc,CAAA,CAAA;AAC3B,QAAiB,cAAA,GAAA,IAAA,CAAA;AAAA,OACnB;AAAA,KACF,CAAA;AAEA,IAAM,MAAA,gBAAA,GAAmB,CAAC,EAAe,KAAA;AACvC,MAAiB,gBAAA,EAAA,CAAA;AACjB,MAAiB,cAAA,GAAA,MAAA,CAAO,WAAW,MAAM;AACvC,QAAM,KAAA,CAAA,iBAAA,CAAkB,EAAE,CAAI,GAAA,KAAA,CAAA;AAAA,SAC7B,GAAG,CAAA,CAAA;AAAA,KACR,CAAA;;4BA1eE,EAAAG,sBAAA,CA2HK,IAAA,EAAA;AAAA,eA3HG,EAAA,gBAAA;AAAA,QAAJ,GAAI,EAAA,cAAA;AAAA,QAAiB,KAAA,EAAKC,mBAAA,CAAC,cAAA,EAAc,EAAA,UAAuB,EAAA,OAAA,EAAO,CAAA,CAAA;AAAA;8BAEzED,sBAwHW,CAAAE,YAAA,EAAA,MAAAC,cAxHe,CAAA,kBAAA,CAAkB,KAAA,EAAA,CAA3B,KAAK,KAAA;;YAA8B,KAAA,KAAM,CAAA,QAAA;AAAA;YAExDC,sBAoCK,CAAA,IAAA,EAAA,EApCD,KAAA,EAAM,wBAAsB,EAAA;AAAA,8BAC9B,EAAAJ,sBAAA,CA+BM,KAAA,EAAA;AAAA,gBA9BJ,KAAM,EAAA,4BAAA;AAAA,gBACN,KAAM,EAAA,IAAA;AAAA,gBACN,MAAO,EAAA,IAAA;AAAA,gBACP,OAAQ,EAAA,WAAA;AAAA,gBACR,IAAK,EAAA,MAAA;AAAA;gBAELI,uBAKE,MAAA,EAAA;AAAA,kBAJA,WAAU,EAAA,SAAA;AAAA,kBACV,WAAU,EAAA,SAAA;AAAA,kBACV,CAAE,EAAA,kjBAAA;AAAA,kBACF,IAAK,EAAA,SAAA;AAAA;gBAEPA,uBAKE,MAAA,EAAA;AAAA,kBAJA,WAAU,EAAA,SAAA;AAAA,kBACV,WAAU,EAAA,SAAA;AAAA,kBACV,CAAE,EAAA,mDAAA;AAAA,kBACF,IAAK,EAAA,SAAA;AAAA;gBAEPA,uBAKE,MAAA,EAAA;AAAA,kBAJA,WAAU,EAAA,SAAA;AAAA,kBACV,WAAU,EAAA,SAAA;AAAA,kBACV,CAAE,EAAA,mDAAA;AAAA,kBACF,IAAK,EAAA,SAAA;AAAA;gBAEPA,uBAKE,MAAA,EAAA;AAAA,kBAJA,WAAU,EAAA,SAAA;AAAA,kBACV,WAAU,EAAA,SAAA;AAAA,kBACV,CAAE,EAAA,mDAAA;AAAA,kBACF,IAAK,EAAA,SAAA;AAAA;;cAGTA,sBAEM,CAAA,KAAA,EAAA,EAFD,KAAA,EAAM,gBAAc,EAAA;AAAA,gBACvBA,sBAAA,CAAwD,UAAlD,KAAM,EAAA,eAAA,IAAmBC,mBAAA,CAAA,KAAA,CAAM,SAAS,CAAA,EAAA,CAAA,CAAA;AAAA;;aAIlDC,aAAA,CAAA,IAAA,CAAA,EAAAN,sBA+EK,CAAAE,YAAA,EA9EY,MAAAC,cAAA,CAAA,KAAA,CAAM,QAAd,IAAI,KAAA;oCADb,EAAAH,sBAAA,CA+EK,IAAA,EAAA;AAAA,gBA7EF,KAAK,IAAK,CAAA,EAAA;AAAA;gBACV,GAAK,EAAA,CAAA,EAAA,KAAM,iBAAkB,CAAA,IAAA,CAAK,IAAI,EAAE,CAAA;AAAA,gBACxC,KAAA,EAAQC,kBAAA,CAAA,CAAA,IAAK,CAAA,EAAA,KAAOM,KAAU,UAAA,GAAA,QAAA,GAAA,EAAA,EAAA,wBAAA,CAAA,CAAA;AAAA,gBAC9B,OAAO,EAAA,CAAA,MAAA,KAAA,gBAAA,CAAiB,KAAK,EAAE,CAAA;AAAA;gBAEhCH,sBA2BM,CAAA,KAAA,EAAA,EA3BD,KAAA,EAAM,gBAAc,EAAA;AAAA,kBACvBA,uBAyBM,KAAA,EAAA;AAAA;oBAxBH,GAAK,EAAA,CAAA,EAAA,KAAM,sBAAuB,CAAA,IAAA,CAAK,IAAI,EAAE,CAAA;AAAA,oBAC9C,KAAM,EAAA,mBAAA;AAAA,oBACN,KAAA,EAAA,EAAe,MAAA,EAAA,GAAA,EAAA;AAAA;oBAEC,SAAA,CAAS,UAAK,IAAK,CAAA,EAAA,wCACjCJ,uBAOE,OAAA,EAAA;AAAA;;sBANC,GAAK,EAAA,CAAA,EAAA,KAAM,eAAgB,CAAA,IAAA,CAAK,IAAI,EAAE,CAAA;AAAA,oDAC9B,KAAA,SAAA,CAAS,KAAA,GAAA,MAAA;AAAA,sBAClB,KAAM,EAAA,kBAAA;AAAA,sBACL,MAAM,EAAA,CAAA,MAAA,KAAA,oBAAA,CAAqB,KAAK,EAAE,CAAA;AAAA,sBAClC,OAAA,EAAaQ,YAAA,CAAA,CAAA,MAAA,KAAA,oBAAA,CAAqB,KAAK,EAAE,CAAA,EAAA,CAAA,OAAA,CAAA,CAAA;AAAA,sBACzC,OAAA,oBAAD,MAAW;AAAA,uBAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA;qCAJF,EAAA,SAAA,CAAS,KAAA,CAAA;AAAA,2CAOtBR,uBASWE,YAAA,EAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA;AAAA,sBARTE,sBAAA,CAA4D,UAAtD,KAAM,EAAA,eAAA,EAAmB,EAAAC,mBAAA,CAAA,IAAK,CAAA,KAAA,IAAK,oBAAA,CAAA,EAAA,CAAA,CAAA;AAAA,sBAEjC,iBAAA,CAAkB,KAAK,EAAI,EAAA,IAAA,CAAK,KAAK,oBAD7C,EAAAL,sBAAA,CAMM,KAAA,EAAA;AAAA;;wBAJJ,GAAI,EAAA,YAAA;AAAA,wBACJ,KAAM,EAAA,gBAAA;AAAA,uBAEH,EAAAK,oBAAA,IAAK,CAAA,KAAK,GAAA,GAAA,CAAA;;;;gBAOV,UAAS,KAAK,KAAA,IAAA,CAAK,uBAA9BL,uBAyCM,KAAA,EAAA;AAAA;kBAzC4B,KAAM,EAAA,cAAA;AAAA;kBACtCI,uBAAmF,QAAA,EAAA;AAAA,oBAA3E,KAAM,EAAA,UAAA;AAAA,oBAAY,OAAA,EAAYK,iBAAA,CAAA,CAAA,MAAA,KAAA,sBAAA,CAAuB,KAAK,EAAE,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA,mBAAG,EAAA,KAAA,EAAG,CAAA,EAAA,CAAA,SAAA,CAAA,CAAA;AAAA,kBAGlE,KAAA,CAAM,kBAAkB,IAAK,CAAA,EAAE,sBADvCT,uBAqCM,KAAA,EAAA;AAAA;;oBAnCH,KAAK,CAAO,EAAA,KAAA,WAAA,CAAA,KAAY,CAAA,IAAA,CAAK,EAAE,CAAI,GAAA,EAAA;AAAA,oBACpC,KAAM,EAAA,aAAA;AAAA,oBACL,YAAY,EAAA,gBAAA;AAAA,oBACZ,YAAY,EAAA,CAAA,MAAA,KAAA,gBAAA,CAAiB,KAAK,EAAE,CAAA;AAAA;oBAErCI,uBAaM,KAAA,EAAA;AAAA,sBAbD,KAAM,EAAA,WAAA;AAAA,sBAAa,OAAA,EAAYK,iBAAA,CAAA,CAAA,MAAA,KAAA,iBAAA,CAAkB,KAAK,EAAE,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA;sCAC3D,EAAAT,sBAAA,CAUM,KAAA,EAAA;AAAA,wBATJ,KAAM,EAAA,IAAA;AAAA,wBACN,MAAO,EAAA,IAAA;AAAA,wBACP,OAAQ,EAAA,WAAA;AAAA,wBACR,IAAK,EAAA,MAAA;AAAA,wBACL,MAAO,EAAA,cAAA;AAAA,wBACP,cAAa,EAAA,GAAA;AAAA;wBAEbI,sBAAuE,CAAA,MAAA,EAAA,EAAjE,CAAA,EAAE,8DAA4D,CAAA;AAAA,wBACpEA,sBAAoE,CAAA,MAAA,EAAA,EAA9D,CAAA,EAAE,2DAAyD,CAAA;AAAA;sBAEnEA,sBAAA,CAAgB,cAAV,oBAAG,CAAA;AAAA;oBAEXA,uBAeM,KAAA,EAAA;AAAA,sBAfD,KAAM,EAAA,sBAAA;AAAA,sBAAwB,OAAA,EAAYK,iBAAA,CAAA,CAAA,MAAA,KAAA,gBAAA,CAA2B,QAAA,EAAA,IAAA,CAAK,EAAE,CAAA,EAAA,CAAA,MAAA,CAAA,CAAA;AAAA;sCAC/E,EAAAT,sBAAA,CAYM,KAAA,EAAA;AAAA,wBAXJ,KAAM,EAAA,IAAA;AAAA,wBACN,MAAO,EAAA,IAAA;AAAA,wBACP,OAAQ,EAAA,WAAA;AAAA,wBACR,IAAK,EAAA,MAAA;AAAA,wBACL,MAAO,EAAA,cAAA;AAAA,wBACP,cAAa,EAAA,GAAA;AAAA;wBAEbI,sBAAkC,CAAA,UAAA,EAAA,EAAxB,MAAA,EAAO,gBAAc,CAAA;AAAA,wBAC/BA,sBAEE,CAAA,MAAA,EAAA,EADA,CAAA,EAAE,kFAAgF,CAAA;AAAA;sBAGtFA,sBAAA,CAAe,cAAT,cAAE,CAAA;AAAA;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"HistoryList.vue2.js","sources":["../../../../../../../packages/components/touchchat/src/AiChat/HistoryList.vue"],"sourcesContent":["<template>\n\t<div ref=\"historyListRef\" class=\"touchchat-history\" :class=\"{ 'is-robot': isRobot }\" @scroll=\"handleScroll\">\n\t\t<!-- 动态时间分组 -->\n\t\t<div v-for=\"group in groupedChatHistory\" :key=\"group.groupKey\" class=\"touchchat-history-group\">\n\t\t\t<!-- 分组标题 -->\n\t\t\t<div class=\"touchchat-history-title\">\n\t\t\t\t<div class=\"touchchat-history-title-icon\"></div>\n\t\t\t\t<div class=\"touchchat-history-title-text\">\n\t\t\t\t\t{{ group.groupName }}\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<!-- 分组内对话项 -->\n\t\t\t<div class=\"touchchat-history-content\">\n\t\t\t\t<div v-for=\"item in group.items\" :key=\"item.id\" :ref=\"el => setHistoryItemRef(item.id, el as HTMLElement)\" :class=\"[item.id === activeChat ? 'is-on' : '', 'touchchat-history-item']\" @click=\"handleSelectChat(item.id)\">\n\t\t\t\t\t<div :ref=\"el => setTooltipContainerRef(item.id, el as HTMLElement)\" class=\"touchchat-history-item-text\" style=\"flex: 1\">\n\t\t\t\t\t\t<template v-if=\"editingId === item.id\">\n\t\t\t\t\t\t\t<div class=\"touchchat-history-input\">\n\t\t\t\t\t\t\t\t<input :ref=\"el => setEditInputRef(item.id, el as HTMLInputElement)\" v-model=\"editTitle\" @blur=\"handleRenameComplete(item.id)\" @keyup.enter=\"handleRenameComplete(item.id)\" @click.stop />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t{{ item.title || '新对话' }}\n\t\t\t\t\t\t\t<div v-if=\"shouldShowTooltip(item.id, item.title)\" ref=\"tooltipRef\" class=\"touchchat-tooltip\">\n\t\t\t\t\t\t\t\t{{ item.title }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- 菜单显示状态 - 添加条件判断隐藏操作按钮 -->\n\t\t\t\t\t<div v-if=\"editingId !== item.id\" class=\"touchchat-history-fn\">\n\t\t\t\t\t\t<button class=\"touchchat-history-more\" @click.stop=\"handleToggleActionMenu(item.id)\">\n\t\t\t\t\t\t\t<div class=\"touchchat-history-more-icon\"></div>\n\t\t\t\t\t\t</button>\n\t\t\t\t\t\t<div v-if=\"state.actionMenuVisible[item.id]\" :ref=\"el => (actionMenus[item.id] = el as HTMLElement)\" class=\"touchchat-history-float\" @mouseenter=\"preventMenuClose\" @mouseleave=\"delayedCloseMenu(item.id)\">\n\t\t\t\t\t\t\t<div class=\"touchchat-history-rename\" @click.stop=\"handleStartRename(item.id)\">\n\t\t\t\t\t\t\t\t<span class=\"touchchat-history-rename-icon\"></span>\n\t\t\t\t\t\t\t\t<span class=\"touchchat-history-rename-text\">重命名</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"touchchat-history-remove\" @click.stop=\"handleMenuAction('delete', item.id)\">\n\t\t\t\t\t\t\t\t<span class=\"touchchat-history-remove-icon\"></span>\n\t\t\t\t\t\t\t\t<span class=\"touchchat-history-remove-text\">删除</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { ref, reactive, nextTick, computed, watch, inject } from 'vue'\n\n// 类型定义\ninterface ChatMessage {\n\tchatId?: string\n\tuser: string\n\ttype: string\n\tcontent: string\n\tisShowAvatar?: boolean\n\tavatar?: string\n\tisChating?: boolean\n\tthinkContent?: string\n\treasoningContent?: string\n}\n\ninterface HistoryItem {\n\tid: string\n\ttitle: string\n\ttime: Date\n\tmessages: ChatMessage[]\n}\n\ninterface GroupedChat {\n\tgroupKey: string\n\tgroupName: string\n\titems: HistoryItem[]\n}\n\n// Props\nconst props = defineProps<{\n\tactiveChat: string\n\tchatHistory: HistoryItem[]\n}>()\n\nconst isRobot = inject('scripts', []).length > 0\n\n// Emits\nconst emit = defineEmits<{\n\t(e: 'select-chat', id: string): void\n\t(e: 'rename-chat', id: string, newTitle: string): void\n\t(e: 'delete-chat', id: string): void\n}>()\n\n// 内部状态\nconst actionMenus = ref<Record<string, HTMLElement | null>>({})\nconst tooltipContainerRefs = ref<Record<string, HTMLElement | null>>({})\nconst editingId = ref<string | null>(null)\nconst editTitle = ref('')\nconst editInputRefs = ref<Record<string, HTMLInputElement | null>>({}) // 修改为对象存储多个引用\n\n// 设置输入框引用\nconst setEditInputRef = (id: string, el: HTMLInputElement | null) => {\n\teditInputRefs.value[id] = el\n}\n\nconst setTooltipContainerRef = (id: string, el: HTMLElement | null) => {\n\ttooltipContainerRefs.value[id] = el\n}\n\nconst state = reactive<{\n\tactionMenuVisible: Record<string, boolean>\n}>({\n\tactionMenuVisible: {}\n})\n\nconst handlePageChange = inject<() => void>('handlePageChange', () => {\n\tconsole.warn('未提供handlePageChange函数')\n})\n\n// 开始重命名\nlet scrollTimeout: ReturnType<typeof setTimeout> | null = null\nconst handleScroll = (event: Event) => {\n\tif (scrollTimeout) {\n\t\tclearTimeout(scrollTimeout)\n\t}\n\tscrollTimeout = setTimeout(() => {\n\t\tconst container = event.target as HTMLElement\n\t\tconst { scrollTop, scrollHeight, clientHeight } = container\n\t\tconst isBottom = scrollHeight - scrollTop <= clientHeight + 10 // 10px 缓冲\n\t\tif (isBottom) {\n\t\t\thandlePageChange()\n\t\t}\n\t}, 200)\n}\n\nconst handleStartRename = (id: string) => {\n\tconst item = props.chatHistory.find(item => item.id === id)\n\tif (item) {\n\t\teditingId.value = id\n\t\teditTitle.value = item.title || ''\n\t\tstate.actionMenuVisible[id] = false\n\t\tnextTick(() => {\n\t\t\teditInputRefs.value[id]?.focus()\n\t\t})\n\t}\n}\n\n// 完成重命名\nconst handleRenameComplete = (id: string) => {\n\tif (editingId.value === id) {\n\t\tconst trimmedTitle = editTitle.value.trim()\n\t\tif (trimmedTitle) {\n\t\t\temit('rename-chat', id, trimmedTitle)\n\t\t}\n\t\teditingId.value = null\n\t}\n}\n\n// 时间分组辅助函数\nconst getGroupKey = (date: Date): string => {\n\tconst now = new Date()\n\tconst today = new Date(now.getFullYear(), now.getMonth(), now.getDate())\n\tconst yesterday = new Date(today)\n\tyesterday.setDate(yesterday.getDate() - 1)\n\tconst sevenDaysAgo = new Date(today)\n\tsevenDaysAgo.setDate(sevenDaysAgo.getDate() - 7)\n\tconst thirtyDaysAgo = new Date(today)\n\tthirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30)\n\n\tconst targetDate = new Date(date)\n\tconst targetDateNormalized = new Date(targetDate.getFullYear(), targetDate.getMonth(), targetDate.getDate())\n\n\tif (targetDateNormalized >= today) return 'today'\n\tif (targetDateNormalized >= yesterday) return 'yesterday'\n\tif (targetDate >= sevenDaysAgo) return 'sevenDays'\n\tif (targetDate >= thirtyDaysAgo) return 'thirtyDays'\n\treturn `${targetDate.getFullYear()}-${String(targetDate.getMonth() + 1).padStart(2, '0')}`\n}\n\n// 格式化分组名称\nconst formatGroupName = (key: string): string => {\n\tswitch (key) {\n\t\tcase 'today':\n\t\t\treturn '今天'\n\t\tcase 'yesterday':\n\t\t\treturn '昨天'\n\t\tcase 'sevenDays':\n\t\t\treturn '7天内'\n\t\tcase 'thirtyDays':\n\t\t\treturn '30天内'\n\t\tdefault:\n\t\t\treturn key\n\t}\n}\n\nconst handleMenuAction = (action: string, id: string) => {\n\tif (action === 'delete') {\n\t\temit('delete-chat', id)\n\t}\n}\n\n// 按时间分组的计算属性\nconst groupedChatHistory = computed<GroupedChat[]>(() => {\n\t// 复制并排序对话(最新的在前)\n\tconst sortedChats = [...props.chatHistory].sort((a, b) => new Date(b.time).getTime() - new Date(a.time).getTime())\n\n\t// 分组处理\n\tconst groups: Record<string, HistoryItem[]> = {}\n\tsortedChats.forEach(chat => {\n\t\tconst key = getGroupKey(new Date(chat.time))\n\t\tif (!groups[key]) groups[key] = []\n\t\tgroups[key].push(chat)\n\t})\n\n\t// 转换为有序数组\n\treturn Object.entries(groups)\n\t\t.map(([key, items]) => ({\n\t\t\tgroupKey: key,\n\t\t\tgroupName: formatGroupName(key),\n\t\t\titems\n\t\t}))\n\t\t.sort((a, b) => {\n\t\t\t// 自定义排序确保分组顺序正确\n\t\t\tconst order: Record<string, number> = {\n\t\t\t\ttoday: 0,\n\t\t\t\tyesterday: 1,\n\t\t\t\tsevenDays: 2,\n\t\t\t\tthirtyDays: 3\n\t\t\t}\n\t\t\treturn (order[a.groupKey] ?? 100) - (order[b.groupKey] ?? 100) || b.groupKey.localeCompare(a.groupKey)\n\t\t})\n})\n\n// 修改缓存类型定义\ninterface TooltipCacheItem {\n\tvalue: boolean\n\ttimestamp: number\n}\n\n// 使用Map存储每个ID的测量结果,避免重复计算\nconst tooltipMeasurementCache = new Map<string, TooltipCacheItem>()\n\nconst clearTooltipCache = () => {\n\ttooltipMeasurementCache.clear()\n}\n\nwatch(() => props.chatHistory, clearTooltipCache)\n\n// 改进shouldShowTooltip函数\nconst shouldShowTooltip = (id: string, title: string) => {\n\tif (!title || editingId.value === id) return false\n\n\t// 获取容器元素\n\tconst containerEl = tooltipContainerRefs.value[id]\n\tif (!containerEl) {\n\t\treturn false\n\t}\n\n\t// 强制重新计算布局\n\tcontainerEl.getBoundingClientRect()\n\t// 获取容器的实际宽度(包括padding和border)\n\tconst containerStyle = window.getComputedStyle(containerEl)\n\tconst containerWidth = containerEl.offsetWidth\n\tconst containerPaddingX = parseFloat(containerStyle.paddingLeft) + parseFloat(containerStyle.paddingRight)\n\tconst containerBorderX = parseFloat(containerStyle.borderLeftWidth) + parseFloat(containerStyle.borderRightWidth)\n\t// 内容区域宽度 = 总宽度 - padding - border\n\tconst contentWidth = containerWidth - containerPaddingX - containerBorderX\n\n\t// 如果容器宽度为0,不缓存结果,返回false\n\tif (containerWidth === 0) {\n\t\treturn false\n\t}\n\n\t// 检查缓存,但添加时间戳以支持定期更新\n\tconst now = Date.now()\n\tconst cacheKey = `${id}_${containerWidth}_${contentWidth}` // 改进缓存键\n\tif (tooltipMeasurementCache.has(cacheKey)) {\n\t\tconst cached = tooltipMeasurementCache.get(cacheKey)\n\t\t// 如果缓存项存在且未过期(5秒)\n\t\tif (cached && now - cached.timestamp < 5000) {\n\t\t\treturn cached.value\n\t\t}\n\t}\n\n\t// 创建临时元素测量文本宽度\n\tconst tempElement = document.createElement('span')\n\ttempElement.className = 'history-title'\n\ttempElement.textContent = title\n\n\t// 复制实际元素的样式\n\tconst historyTitleEl = containerEl.querySelector('.history-title')\n\tif (historyTitleEl) {\n\t\tconst titleStyle = window.getComputedStyle(historyTitleEl)\n\t\t// 复制所有相关样式\n\t\ttempElement.style.fontSize = titleStyle.fontSize\n\t\ttempElement.style.fontFamily = titleStyle.fontFamily\n\t\ttempElement.style.fontWeight = titleStyle.fontWeight\n\t\ttempElement.style.letterSpacing = titleStyle.letterSpacing\n\t\ttempElement.style.wordSpacing = titleStyle.wordSpacing\n\t\ttempElement.style.textTransform = titleStyle.textTransform\n\t}\n\n\ttempElement.style.visibility = 'hidden'\n\ttempElement.style.position = 'absolute'\n\ttempElement.style.whiteSpace = 'nowrap'\n\tdocument.body.appendChild(tempElement)\n\n\t// 强制重绘\n\ttempElement.getBoundingClientRect()\n\tconst textWidth = tempElement.offsetWidth\n\n\tdocument.body.removeChild(tempElement)\n\n\t// 添加5px阈值,避免边框等因素导致的误差\n\tconst shouldShow = textWidth > contentWidth + 5\n\n\t// 缓存结果,包含时间戳\n\ttooltipMeasurementCache.set(cacheKey, {\n\t\tvalue: shouldShow,\n\t\ttimestamp: now\n\t})\n\n\treturn shouldShow\n}\n\n// 事件处理\nconst handleSelectChat = (id: string) => {\n\tif (editingId.value === null) {\n\t\temit('select-chat', id)\n\t\tresetAllMenus()\n\t}\n}\n\nconst resetAllMenus = () => {\n\tObject.keys(state.actionMenuVisible).forEach(key => {\n\t\tstate.actionMenuVisible[key] = false\n\t})\n}\n\nconst handleToggleActionMenu = (id: string, event?: MouseEvent) => {\n\tif (editingId.value === null) {\n\t\tevent?.stopPropagation()\n\t\tprops.chatHistory.forEach(item => {\n\t\t\titem.id !== id && (state.actionMenuVisible[item.id] = false)\n\t\t})\n\t\tstate.actionMenuVisible[id] = !state.actionMenuVisible[id]\n\n\t\t// 添加动态定位逻辑\n\t\tif (state.actionMenuVisible[id]) {\n\t\t\tpositionActionMenu(id)\n\t\t}\n\t}\n}\n\n// 添加对history-group容器的引用\nconst historyListRef = ref<HTMLUListElement | null>(null)\n\n// 添加对历史记录项的引用\nconst historyItemRefs = ref<Record<string, HTMLElement | null>>({})\n\nconst setHistoryItemRef = (id: string, el: HTMLElement | null) => {\n\thistoryItemRefs.value[id] = el\n}\n\n// 添加菜单定位函数\nconst positionActionMenu = (id: string) => {\n\tnextTick(() => {\n\t\tconst menuEl = actionMenus.value[id]\n\t\tconst historyItemEl = historyItemRefs.value[id]\n\t\tif (!menuEl || !historyItemEl || !historyListRef.value) return\n\n\t\t// 重置样式\n\t\tmenuEl.style.top = ''\n\t\tmenuEl.style.bottom = ''\n\t\tmenuEl.style.transform = ''\n\t\tmenuEl.style.marginTop = ''\n\t\tmenuEl.style.position = 'absolute'\n\n\t\tconst menuHeight = menuEl.offsetHeight\n\t\tconst historyItemRect = historyItemEl.getBoundingClientRect()\n\t\tconst listRect = historyListRef.value.getBoundingClientRect()\n\t\tconst buttonEl = menuEl.previousElementSibling as HTMLElement\n\n\t\t// 计算历史记录项底部到列表容器底部的距离\n\t\tconst distanceToBottom = listRect.bottom - historyItemRect.bottom\n\n\t\t// 如果距离小于菜单高度,则显示在上方\n\t\tif (distanceToBottom < menuHeight) {\n\t\t\tif (buttonEl) {\n\t\t\t\t// const buttonRect = buttonEl.getBoundingClientRect();\n\t\t\t\t// 直接设置菜单顶部位置为按钮顶部减去菜单高度\n\t\t\t\tmenuEl.style.top = `${-menuHeight}px`\n\t\t\t\tmenuEl.style.bottom = 'auto'\n\t\t\t\tmenuEl.style.transform = 'none'\n\t\t\t}\n\t\t} else {\n\t\t\t// 否则显示在下方\n\t\t\tmenuEl.style.top = '100%'\n\t\t\tmenuEl.style.bottom = 'auto'\n\t\t\tmenuEl.style.transform = 'translateY(0)'\n\t\t}\n\t})\n}\n\n// 添加菜单关闭延迟逻辑\nlet menuCloseTimer: number | null = null\n\nconst preventMenuClose = () => {\n\tif (menuCloseTimer) {\n\t\tclearTimeout(menuCloseTimer)\n\t\tmenuCloseTimer = null\n\t}\n}\n\nconst delayedCloseMenu = (id: string) => {\n\tpreventMenuClose()\n\tmenuCloseTimer = window.setTimeout(() => {\n\t\tstate.actionMenuVisible[id] = false\n\t}, 200)\n}\n</script>\n\n<!-- <style scoped>\n/* @import '../../style/TouchHistory.less'; */\n@import '../../style/HistoryList.less';\n</style> -->\n"],"names":["inject","ref","reactive","item","nextTick","computed","watch","_createElementBlock","_normalizeClass","_Fragment","_renderList","_createElementVNode","_toDisplayString","_openBlock","activeChat","_withKeys","_withModifiers"],"mappings":"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"}
|
|
@@ -41,49 +41,27 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
41
41
|
emit("select-chat", id);
|
|
42
42
|
};
|
|
43
43
|
return (_ctx, _cache) => {
|
|
44
|
-
return vue.openBlock(), vue.createElementBlock("
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
width: "20",
|
|
57
|
-
height: "17",
|
|
58
|
-
viewBox: "0 0 20 17",
|
|
59
|
-
fill: "none"
|
|
60
|
-
}, [
|
|
61
|
-
vue.createElementVNode("path", {
|
|
62
|
-
d: "M6.78564 3.26697L6.78565 15.0527",
|
|
63
|
-
stroke: "#434C59",
|
|
64
|
-
"stroke-width": "1.5",
|
|
65
|
-
"stroke-linejoin": "round"
|
|
66
|
-
}),
|
|
67
|
-
vue.createElementVNode("rect", {
|
|
68
|
-
x: "1.75",
|
|
69
|
-
y: "2.7464",
|
|
70
|
-
width: "16.5",
|
|
71
|
-
height: "12.2143",
|
|
72
|
-
stroke: "#434C59",
|
|
73
|
-
"stroke-width": "1.5",
|
|
74
|
-
"stroke-linecap": "round",
|
|
75
|
-
"stroke-linejoin": "round"
|
|
76
|
-
})
|
|
77
|
-
]))
|
|
44
|
+
return vue.openBlock(), vue.createElementBlock("div", { class: "touchchat-side" }, [
|
|
45
|
+
vue.createElementVNode("div", { class: "touchchat-side-header" }, [
|
|
46
|
+
vue.createElementVNode("div", { class: "touchchat-logo" }, [
|
|
47
|
+
vue.createElementVNode("div", { class: "touchchat-logo-pic" }),
|
|
48
|
+
vue.createElementVNode("div", { class: "touchchat-logo-text" }, "TouchChat")
|
|
49
|
+
]),
|
|
50
|
+
vue.createElementVNode("div", {
|
|
51
|
+
class: "touchchat-side-fn",
|
|
52
|
+
onClick: handleToggleSidebar
|
|
53
|
+
}, [
|
|
54
|
+
vue.createElementVNode("div", { class: "touchchat-hidemenu" }, [
|
|
55
|
+
vue.createElementVNode("div", { class: "touchchat-hidemenu-icon" })
|
|
78
56
|
])
|
|
79
57
|
])
|
|
80
58
|
]),
|
|
81
59
|
vue.createElementVNode("button", {
|
|
82
|
-
class: "
|
|
60
|
+
class: "touchchat-add",
|
|
83
61
|
onClick: handleStartNewChat
|
|
84
62
|
}, [
|
|
85
|
-
vue.createElementVNode("
|
|
86
|
-
vue.createElementVNode("
|
|
63
|
+
vue.createElementVNode("div", { class: "touchchat-add-icon" }),
|
|
64
|
+
vue.createElementVNode("div", { class: "touchchat-add-text" }, "\u65B0\u5EFA\u5BF9\u8BDD")
|
|
87
65
|
]),
|
|
88
66
|
vue.createVNode(HistoryList_vue_vue_type_script_setup_true_lang.default, {
|
|
89
67
|
"active-chat": _ctx.activeChat,
|
|
@@ -92,7 +70,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
92
70
|
onRenameChat: handleRenameChat,
|
|
93
71
|
onDeleteChat: handleDeleteChat
|
|
94
72
|
}, null, 8, ["active-chat", "chat-history"])
|
|
95
|
-
]
|
|
73
|
+
]);
|
|
96
74
|
};
|
|
97
75
|
}
|
|
98
76
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HistorySidebar.vue2.js","sources":["../../../../../../../packages/components/touchchat/src/AiChat/HistorySidebar.vue"],"sourcesContent":["<template>\n
|
|
1
|
+
{"version":3,"file":"HistorySidebar.vue2.js","sources":["../../../../../../../packages/components/touchchat/src/AiChat/HistorySidebar.vue"],"sourcesContent":["<template>\n\t<div class=\"touchchat-side\">\n\t\t<div class=\"touchchat-side-header\">\n\t\t\t<div class=\"touchchat-logo\">\n\t\t\t\t<div class=\"touchchat-logo-pic\"></div>\n\t\t\t\t<div class=\"touchchat-logo-text\">TouchChat</div>\n\t\t\t</div>\n\t\t\t<div class=\"touchchat-side-fn\" @click=\"handleToggleSidebar\">\n\t\t\t\t<div class=\"touchchat-hidemenu\">\n\t\t\t\t\t<div class=\"touchchat-hidemenu-icon\"></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<!-- 新对话按钮 -->\n\t\t<button class=\"touchchat-add\" @click=\"handleStartNewChat\">\n\t\t\t<div class=\"touchchat-add-icon\"></div>\n\t\t\t<div class=\"touchchat-add-text\">新建对话</div>\n\t\t</button>\n\n\t\t<!-- 引入历史记录列表组件 -->\n\t\t<HistoryList :active-chat=\"activeChat\" :chat-history=\"chatHistory\" @select-chat=\"handleSelectChat\" @rename-chat=\"handleRenameChat\" @delete-chat=\"handleDeleteChat\" />\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { reactive } from 'vue'\nimport HistoryList from './HistoryList.vue'\n\n// 类型定义\ninterface ChatMessage {\n\tchatId?: string\n\tuser: string\n\ttype: string\n\tcontent: string\n\tisShowAvatar?: boolean\n\tavatar?: string\n\tisChating?: boolean\n\tthinkContent?: string\n\treasoningContent?: string\n}\n\ninterface HistoryItem {\n\tid: string\n\ttitle: string\n\ttime: Date\n\tmessages: ChatMessage[]\n}\n\n// Props\nconst props = defineProps<{\n\tisSidebarCollapsed: boolean\n\tactiveChat: string\n\tchatHistory: HistoryItem[]\n}>()\n\n// Emits\nconst emit = defineEmits<{\n\t(e: 'toggle-sidebar'): void\n\t(e: 'start-new-chat'): void\n\t(e: 'select-chat', id: string): void\n\t(e: 'rename-chat', id: string, newTitle: string): void\n\t(e: 'delete-chat', id: string): void\n}>()\n\n// 内部状态\nconst state = reactive<{\n\trenameInput: string\n\tcurrentRenameId: string\n}>({\n\trenameInput: '',\n\tcurrentRenameId: ''\n})\n\n// 处理重命名请求\nconst handleRenameChat = (id: string, title: string) => {\n\tconst item = props.chatHistory.find(item => item.id === id)\n\tif (item) {\n\t\tstate.currentRenameId = id\n\t\tstate.renameInput = item.title\n\t\temit('rename-chat', id, title)\n\t}\n}\n\n// 处理删除请求\nconst handleDeleteChat = (id: string) => {\n\temit('delete-chat', id)\n}\n\n// 其他事件处理\nconst handleToggleSidebar = () => {\n\temit('toggle-sidebar')\n}\n\nconst handleStartNewChat = () => {\n\temit('start-new-chat')\n}\n\nconst handleSelectChat = (id: string) => {\n\temit('select-chat', id)\n}\n</script>\n\n<!-- <style scoped>\n/* 样式将继续使用原有的TouchHistory.less,不需要重复定义 */\n@import '../../style/TouchHistory.less';\n</style> -->\n"],"names":["reactive","item","_createElementBlock","_createElementVNode","_createVNode","HistoryList","activeChat","chatHistory"],"mappings":";;;;;;;;;;;;;;;;AAkDA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAOd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AASb,IAAA,MAAM,QAAQA,YAGX,CAAA;AAAA,MACF,WAAa,EAAA,EAAA;AAAA,MACb,eAAiB,EAAA,EAAA;AAAA,KACjB,CAAA,CAAA;AAGD,IAAM,MAAA,gBAAA,GAAmB,CAAC,EAAA,EAAY,KAAkB,KAAA;AACvD,MAAM,MAAA,IAAA,GAAO,MAAM,WAAY,CAAA,IAAA,CAAK,CAAAC,KAAQA,KAAAA,KAAAA,CAAK,OAAO,EAAE,CAAA,CAAA;AAC1D,MAAA,IAAI,IAAM,EAAA;AACT,QAAA,KAAA,CAAM,eAAkB,GAAA,EAAA,CAAA;AACxB,QAAA,KAAA,CAAM,cAAc,IAAK,CAAA,KAAA,CAAA;AACzB,QAAK,IAAA,CAAA,aAAA,EAAe,IAAI,KAAK,CAAA,CAAA;AAAA,OAC9B;AAAA,KACD,CAAA;AAGA,IAAM,MAAA,gBAAA,GAAmB,CAAC,EAAe,KAAA;AACxC,MAAA,IAAA,CAAK,eAAe,EAAE,CAAA,CAAA;AAAA,KACvB,CAAA;AAGA,IAAA,MAAM,sBAAsB,MAAM;AACjC,MAAA,IAAA,CAAK,gBAAgB,CAAA,CAAA;AAAA,KACtB,CAAA;AAEA,IAAA,MAAM,qBAAqB,MAAM;AAChC,MAAA,IAAA,CAAK,gBAAgB,CAAA,CAAA;AAAA,KACtB,CAAA;AAEA,IAAM,MAAA,gBAAA,GAAmB,CAAC,EAAe,KAAA;AACxC,MAAA,IAAA,CAAK,eAAe,EAAE,CAAA,CAAA;AAAA,KACvB,CAAA;;4BAnGC,EAAAC,sBAAA,CAqBM,OAAA,EArBD,KAAA,EAAM,kBAAgB,EAAA;AAAA,QAC1BC,sBAUM,CAAA,KAAA,EAAA,EAVD,KAAA,EAAM,yBAAuB,EAAA;AAAA,UACjCA,sBAGM,CAAA,KAAA,EAAA,EAHD,KAAA,EAAM,kBAAgB,EAAA;AAAA,YAC1BA,sBAAsC,CAAA,KAAA,EAAA,EAAjC,KAAA,EAAM,sBAAoB,CAAA;AAAA,YAC/BA,uBAAgD,KAA3C,EAAA,EAAA,KAAM,EAAA,qBAAA,IAAsB,WAAS,CAAA;AAAA;UAE3CA,uBAIM,KAAA,EAAA;AAAA,YAJD,KAAM,EAAA,mBAAA;AAAA,YAAqB,OAAO,EAAA,mBAAA;AAAA;YACtCA,sBAEM,CAAA,KAAA,EAAA,EAFD,KAAA,EAAM,sBAAoB,EAAA;AAAA,cAC9BA,sBAA2C,CAAA,KAAA,EAAA,EAAtC,KAAA,EAAM,2BAAyB,CAAA;AAAA;;;QAMvCA,uBAGS,QAAA,EAAA;AAAA,UAHD,KAAM,EAAA,eAAA;AAAA,UAAiB,OAAO,EAAA,kBAAA;AAAA;UACrCA,sBAAsC,CAAA,KAAA,EAAA,EAAjC,KAAA,EAAM,sBAAoB,CAAA;AAAA,UAC/BA,uBAA0C,KAArC,EAAA,EAAA,KAAM,EAAA,oBAAA,IAAqB,0BAAI,CAAA;AAAA;QAIrCC,gBAAqKC,uDAAA,EAAA;AAAA,UAAvJ,eAAaC,IAAU,CAAA,UAAA;AAAA,UAAG,gBAAcC,IAAW,CAAA,WAAA;AAAA,UAAG,YAAa,EAAA,gBAAA;AAAA,UAAmB,YAAa,EAAA,gBAAA;AAAA,UAAmB,YAAa,EAAA,gBAAA;AAAA;;;;;;;;"}
|
|
@@ -45,190 +45,50 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
45
45
|
});
|
|
46
46
|
return (_ctx, _cache) => {
|
|
47
47
|
return vue.openBlock(), vue.createElementBlock("div", {
|
|
48
|
-
class: vue.normalizeClass(["
|
|
48
|
+
class: vue.normalizeClass(["touchchat-action", { "type-ai": _ctx.messageType === "ai" }])
|
|
49
49
|
}, [
|
|
50
|
-
vue.
|
|
51
|
-
|
|
50
|
+
_ctx.showCopy ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
51
|
+
key: 0,
|
|
52
|
+
class: "touchchat-action-item value-copy",
|
|
53
|
+
onClick: onCopy
|
|
54
|
+
}, [
|
|
55
|
+
vue.createElementVNode("div", { class: "touchchat-action-tip" }, "\u590D\u5236")
|
|
56
|
+
])) : vue.createCommentVNode("", true),
|
|
57
|
+
_ctx.messageType === "ai" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
58
|
+
vue.createElementVNode("div", {
|
|
59
|
+
class: "touchchat-action-item value-refresh",
|
|
60
|
+
onClick: onRetry
|
|
61
|
+
}, [
|
|
62
|
+
vue.createElementVNode("div", { class: "touchchat-action-tip" }, "\u91CD\u65B0\u83B7\u53D6")
|
|
63
|
+
]),
|
|
64
|
+
_ctx.isShowLike ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
52
65
|
key: 0,
|
|
53
|
-
class: "action-
|
|
54
|
-
onClick:
|
|
66
|
+
class: vue.normalizeClass(["touchchat-action-item value-good", { "is-on": _ctx.isLiked }]),
|
|
67
|
+
onClick: onLike
|
|
68
|
+
}, [
|
|
69
|
+
vue.createElementVNode("div", { class: "touchchat-action-tip" }, "\u70B9\u8D5E")
|
|
70
|
+
], 2)) : vue.createCommentVNode("", true),
|
|
71
|
+
vue.createElementVNode("div", {
|
|
72
|
+
class: vue.normalizeClass(["touchchat-action-item value-bad", { "is-on": _ctx.isDisliked }]),
|
|
73
|
+
onClick: onDislike
|
|
74
|
+
}, [
|
|
75
|
+
vue.createElementVNode("div", { class: "touchchat-action-tip" }, "\u4E0D\u559C\u6B22")
|
|
76
|
+
], 2)
|
|
77
|
+
], 64)) : vue.createCommentVNode("", true),
|
|
78
|
+
_ctx.messageType === "user" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
79
|
+
vue.createElementVNode("div", {
|
|
80
|
+
class: "touchchat-action-item value-edit",
|
|
81
|
+
onClick: onEdit
|
|
82
|
+
}, [
|
|
83
|
+
vue.createElementVNode("div", { class: "touchchat-action-tip" }, "\u7F16\u8F91")
|
|
84
|
+
]),
|
|
85
|
+
vue.createElementVNode("div", {
|
|
86
|
+
class: "touchchat-action-item value-remove",
|
|
87
|
+
onClick: onDelete
|
|
55
88
|
}, [
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
height: "17",
|
|
60
|
-
viewBox: "0 0 17 17",
|
|
61
|
-
fill: "none"
|
|
62
|
-
}, [
|
|
63
|
-
vue.createElementVNode("path", {
|
|
64
|
-
"fill-rule": "evenodd",
|
|
65
|
-
"clip-rule": "evenodd",
|
|
66
|
-
d: "M5.99855 3.64758C5.86144 3.64758 5.75028 3.75873 5.75028 3.89584V5.91834H4.52806V3.89584C4.52806 3.08371 5.18642 2.42535 5.99855 2.42535H13.4465C14.2586 2.42535 14.917 3.08371 14.917 3.89584V11.3438C14.917 12.1559 14.2586 12.8142 13.4465 12.8142H11.408V11.592H13.4465C13.5836 11.592 13.6947 11.4809 13.6947 11.3438V3.89584C13.6947 3.75873 13.5836 3.64758 13.4465 3.64758H5.99855Z",
|
|
67
|
-
fill: "#86909C"
|
|
68
|
-
}),
|
|
69
|
-
vue.createElementVNode("path", {
|
|
70
|
-
"fill-rule": "evenodd",
|
|
71
|
-
"clip-rule": "evenodd",
|
|
72
|
-
d: "M2.08362 6.34028C2.08362 5.52816 2.74198 4.8698 3.5541 4.8698H11.002C11.8141 4.8698 12.4725 5.52816 12.4725 6.34028V13.7882C12.4725 14.6003 11.8141 15.2587 11.002 15.2587H3.5541C2.74198 15.2587 2.08362 14.6003 2.08362 13.7882V6.34028ZM3.5541 6.09202C3.41699 6.09202 3.30584 6.20317 3.30584 6.34028V13.7882C3.30584 13.9253 3.41699 14.0365 3.5541 14.0365H11.002C11.1391 14.0365 11.2503 13.9253 11.2503 13.7882V6.34028C11.2503 6.20317 11.1391 6.09202 11.002 6.09202H3.5541Z",
|
|
73
|
-
fill: "#86909C"
|
|
74
|
-
})
|
|
75
|
-
])),
|
|
76
|
-
vue.createElementVNode("span", { class: "btn-text" }, "\u590D\u5236")
|
|
77
|
-
])) : vue.createCommentVNode("", true),
|
|
78
|
-
_ctx.messageType === "ai" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
79
|
-
vue.createElementVNode("div", {
|
|
80
|
-
class: "action-btn retry-btn",
|
|
81
|
-
onClick: onRetry
|
|
82
|
-
}, [
|
|
83
|
-
(vue.openBlock(), vue.createElementBlock("svg", {
|
|
84
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
85
|
-
width: "17",
|
|
86
|
-
height: "17",
|
|
87
|
-
viewBox: "0 0 17 17",
|
|
88
|
-
fill: "none"
|
|
89
|
-
}, [
|
|
90
|
-
vue.createElementVNode("path", {
|
|
91
|
-
"fill-rule": "evenodd",
|
|
92
|
-
"clip-rule": "evenodd",
|
|
93
|
-
d: "M8.49929 3.94207C11.2055 3.94207 13.3993 6.13588 13.3993 8.84207C13.3993 11.5483 11.2055 13.7421 8.49929 13.7421C7.14602 13.7421 5.92184 13.1943 5.03448 12.3069L4.61023 11.8826L3.76168 12.7311L4.18594 13.1554C5.28915 14.2587 6.81498 14.9421 8.49929 14.9421C11.8682 14.9421 14.5993 12.211 14.5993 8.84207C14.5993 5.47314 11.8682 2.74207 8.49929 2.74207C6.81498 2.74207 5.28915 3.42549 4.18594 4.52873C3.92073 4.79393 3.50856 5.24206 3.17034 5.61498C2.99953 5.8033 2.84476 5.97559 2.7327 6.10078C2.67665 6.16339 2.63124 6.21428 2.5998 6.24956L2.55089 6.30451L3.44794 7.10157L3.49567 7.04794C3.5266 7.01324 3.57142 6.96301 3.62681 6.90113C3.73765 6.77731 3.89061 6.60704 4.05921 6.42114C4.3998 6.04562 4.79307 5.61865 5.03448 5.37725C5.92184 4.48987 7.14602 3.94207 8.49929 3.94207ZM3.44794 7.10157C3.22791 7.34935 2.84867 7.37185 2.6009 7.15182C2.35312 6.93179 2.33086 6.55229 2.55089 6.30451L3.44794 7.10157Z",
|
|
94
|
-
fill: "#86909C"
|
|
95
|
-
}),
|
|
96
|
-
vue.createElementVNode("path", {
|
|
97
|
-
"fill-rule": "evenodd",
|
|
98
|
-
"clip-rule": "evenodd",
|
|
99
|
-
d: "M2.39929 3.35318V6.70318C2.39929 7.03455 2.66792 7.30318 2.99929 7.30318H6.34929V6.10318H3.59929V3.35318H2.39929Z",
|
|
100
|
-
fill: "#86909C"
|
|
101
|
-
})
|
|
102
|
-
])),
|
|
103
|
-
vue.createElementVNode("span", { class: "btn-text" }, "\u91CD\u65B0\u83B7\u53D6")
|
|
104
|
-
]),
|
|
105
|
-
_ctx.isShowLike ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
106
|
-
key: 0,
|
|
107
|
-
class: vue.normalizeClass(["action-btn like-btn", { liked: _ctx.isLiked }]),
|
|
108
|
-
onClick: onLike
|
|
109
|
-
}, [
|
|
110
|
-
(vue.openBlock(), vue.createElementBlock("svg", {
|
|
111
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
112
|
-
width: "17",
|
|
113
|
-
height: "17",
|
|
114
|
-
viewBox: "0 0 17 17",
|
|
115
|
-
fill: "none"
|
|
116
|
-
}, [
|
|
117
|
-
vue.createElementVNode("path", {
|
|
118
|
-
"fill-rule": "evenodd",
|
|
119
|
-
"clip-rule": "evenodd",
|
|
120
|
-
d: "M12.1307 14.9422H5.74276C5.41139 14.9422 5.14276 14.6735 5.14276 14.3422V8.29219C5.14276 8.20824 5.16038 8.12522 5.19447 8.04851L7.39448 3.0985C7.49078 2.88183 7.70565 2.74219 7.94276 2.74219C9.18542 2.74219 10.1928 3.74953 10.1928 4.99219V6.59219H12.8897C13.3871 6.58764 13.8616 6.8012 14.1881 7.1766C14.5153 7.55298 14.6608 8.0541 14.586 8.54722L13.827 13.4971C13.6998 14.3338 12.9766 14.9499 12.1307 14.9422ZM12.1405 13.7422C12.3899 13.745 12.6032 13.5637 12.6406 13.3172L13.3996 8.36715C13.4215 8.22221 13.3787 8.07461 13.2825 7.96403C13.1863 7.85332 13.0462 7.79048 12.8996 7.79215L12.8928 7.79223L9.59276 7.79219C9.26139 7.79219 8.99276 7.52356 8.99276 7.19219V4.99219C8.99276 4.53931 8.70608 4.15342 8.30429 4.00608L6.34276 8.41952V13.7422L12.1405 13.7422Z",
|
|
121
|
-
fill: "#86909C"
|
|
122
|
-
}),
|
|
123
|
-
vue.createElementVNode("path", {
|
|
124
|
-
"fill-rule": "evenodd",
|
|
125
|
-
"clip-rule": "evenodd",
|
|
126
|
-
d: "M3.5927 13.1954C3.65245 13.5153 3.93497 13.7481 4.26359 13.7423L4.2742 13.7422H5.1427V8.83108H4.2742L4.26359 8.83098C3.97168 8.82582 3.65805 9.07918 3.5927 9.43845V13.1954ZM4.27901 14.9422C3.33289 14.956 2.52503 14.2609 2.39812 13.3226C2.39451 13.296 2.3927 13.2691 2.3927 13.2422V9.39219C2.3927 9.36529 2.39451 9.33842 2.39812 9.31176C2.51961 8.41362 3.29419 7.61684 4.279 7.63108H5.7427C6.07407 7.63108 6.3427 7.89971 6.3427 8.23108V14.3422C6.3427 14.6736 6.07413 14.9422 5.74276 14.9422L4.27901 14.9422Z",
|
|
127
|
-
fill: "#86909C"
|
|
128
|
-
})
|
|
129
|
-
])),
|
|
130
|
-
vue.createElementVNode("span", { class: "btn-text" }, "\u70B9\u8D5E")
|
|
131
|
-
], 2)) : vue.createCommentVNode("", true),
|
|
132
|
-
vue.createElementVNode("div", {
|
|
133
|
-
class: vue.normalizeClass(["action-btn dislike-btn", { disliked: _ctx.isDisliked }]),
|
|
134
|
-
onClick: onDislike
|
|
135
|
-
}, [
|
|
136
|
-
(vue.openBlock(), vue.createElementBlock("svg", {
|
|
137
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
138
|
-
width: "16",
|
|
139
|
-
height: "16",
|
|
140
|
-
viewBox: "0 0 17 17",
|
|
141
|
-
fill: "none"
|
|
142
|
-
}, [
|
|
143
|
-
vue.createElementVNode("path", {
|
|
144
|
-
"fill-rule": "evenodd",
|
|
145
|
-
"clip-rule": "evenodd",
|
|
146
|
-
d: "M4.86745 2.74241H11.2554C11.5868 2.74241 11.8554 3.01104 11.8554 3.34241V9.3924C11.8554 9.47635 11.8378 9.55937 11.8037 9.63608L9.60371 14.5861C9.50741 14.8028 9.29254 14.9424 9.05542 14.9424C7.81276 14.9424 6.80542 13.9351 6.80542 12.6924V11.0924H4.10845C3.61105 11.0969 3.13658 10.8834 2.81013 10.508C2.48284 10.1316 2.33736 9.63049 2.41221 9.13736L3.1712 4.18745C3.17117 4.18763 3.17122 4.18726 3.1712 4.18745C3.29835 3.3508 4.02157 2.73469 4.86745 2.74241ZM4.85764 3.94237C4.60832 3.93955 4.39501 4.12086 4.35763 4.36737L3.59862 9.31743C3.5986 9.31756 3.59864 9.31731 3.59862 9.31743C3.57673 9.46238 3.61948 9.60997 3.71564 9.72056C3.81192 9.83127 3.95194 9.8941 4.0986 9.89244L4.10541 9.89236L7.40542 9.8924C7.73679 9.8924 8.00542 10.161 8.00542 10.4924V12.6924C8.00542 13.1453 8.2921 13.5312 8.69389 13.6785L10.6554 9.26507V3.94241L4.85764 3.94237Z",
|
|
147
|
-
fill: "#86909C"
|
|
148
|
-
}),
|
|
149
|
-
vue.createElementVNode("path", {
|
|
150
|
-
"fill-rule": "evenodd",
|
|
151
|
-
"clip-rule": "evenodd",
|
|
152
|
-
d: "M13.4055 4.48916C13.3457 4.16932 13.0632 3.93649 12.7346 3.9423L12.724 3.94239H11.8555V8.85351H12.724L12.7346 8.8536C13.0265 8.85877 13.3401 8.60541 13.4055 8.24614V4.48916ZM12.7192 2.74239C13.6653 2.72855 14.4732 3.4237 14.6001 4.36196C14.6037 4.38862 14.6055 4.41549 14.6055 4.44239V8.2924C14.6055 8.3193 14.6037 8.34617 14.6001 8.37283C14.4786 9.27096 13.704 10.0678 12.7192 10.0535H11.2555C10.9241 10.0535 10.6555 9.78488 10.6555 9.45351V3.34239C10.6555 3.01102 10.9241 2.74241 11.2554 2.74241L12.7192 2.74239Z",
|
|
153
|
-
fill: "#86909C"
|
|
154
|
-
})
|
|
155
|
-
])),
|
|
156
|
-
vue.createElementVNode("span", { class: "btn-text" }, "\u4E0D\u559C\u6B22")
|
|
157
|
-
], 2)
|
|
158
|
-
], 64)) : vue.createCommentVNode("", true),
|
|
159
|
-
_ctx.messageType === "user" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 2 }, [
|
|
160
|
-
vue.createElementVNode("div", {
|
|
161
|
-
class: "action-btn edit-btn",
|
|
162
|
-
onClick: onEdit
|
|
163
|
-
}, [
|
|
164
|
-
(vue.openBlock(), vue.createElementBlock("svg", {
|
|
165
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
166
|
-
width: "16",
|
|
167
|
-
height: "17",
|
|
168
|
-
viewBox: "0 0 16 17",
|
|
169
|
-
fill: "none"
|
|
170
|
-
}, [
|
|
171
|
-
vue.createElementVNode("path", {
|
|
172
|
-
"fill-rule": "evenodd",
|
|
173
|
-
"clip-rule": "evenodd",
|
|
174
|
-
d: "M2.20557 13.7419H14.4056V14.9419H2.20557V13.7419Z",
|
|
175
|
-
fill: "#86909C"
|
|
176
|
-
}),
|
|
177
|
-
vue.createElementVNode("path", {
|
|
178
|
-
"fill-rule": "evenodd",
|
|
179
|
-
"clip-rule": "evenodd",
|
|
180
|
-
d: "M10.3512 2.74194C10.5104 2.74191 10.6631 2.80517 10.7756 2.91777L13.0077 5.1508C13.2419 5.3851 13.2419 5.76485 13.0077 5.99914L6.68796 12.3217C6.57543 12.4342 6.42278 12.4975 6.2636 12.4975H4.02779C3.69642 12.4975 3.42779 12.2289 3.42779 11.8975V9.67302C3.42779 9.51402 3.4909 9.36152 3.60327 9.24901L9.92677 2.91793C10.0393 2.80528 10.192 2.74197 10.3512 2.74194ZM10.3515 4.19082L4.62779 9.92134V11.2975H6.01499L11.735 5.57497L10.3515 4.19082Z",
|
|
181
|
-
fill: "#86909C"
|
|
182
|
-
})
|
|
183
|
-
])),
|
|
184
|
-
vue.createElementVNode("span", { class: "btn-text" }, "\u7F16\u8F91")
|
|
185
|
-
]),
|
|
186
|
-
vue.createElementVNode("div", {
|
|
187
|
-
class: "action-btn delete-btn",
|
|
188
|
-
onClick: onDelete
|
|
189
|
-
}, [
|
|
190
|
-
(vue.openBlock(), vue.createElementBlock("svg", {
|
|
191
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
192
|
-
width: "16",
|
|
193
|
-
height: "17",
|
|
194
|
-
viewBox: "0 0 16 17",
|
|
195
|
-
fill: "none"
|
|
196
|
-
}, [
|
|
197
|
-
vue.createElementVNode("path", {
|
|
198
|
-
"fill-rule": "evenodd",
|
|
199
|
-
"clip-rule": "evenodd",
|
|
200
|
-
d: "M2.81684 4.56419C2.81684 4.23282 3.08547 3.96419 3.41684 3.96419H12.5835C12.9149 3.96419 13.1835 4.23282 13.1835 4.56419V14.9531C13.1835 15.2845 12.9149 15.5531 12.5835 15.5531H3.41684C3.08547 15.5531 2.81684 15.2845 2.81684 14.9531V4.56419ZM4.01684 5.16419V14.3531H11.9835V5.16419H4.01684Z",
|
|
201
|
-
fill: "#86909C"
|
|
202
|
-
}),
|
|
203
|
-
vue.createElementVNode("path", {
|
|
204
|
-
"fill-rule": "evenodd",
|
|
205
|
-
"clip-rule": "evenodd",
|
|
206
|
-
d: "M7.37795 7.01975V12.192H6.17795V7.01975H7.37795Z",
|
|
207
|
-
fill: "#86909C"
|
|
208
|
-
}),
|
|
209
|
-
vue.createElementVNode("path", {
|
|
210
|
-
"fill-rule": "evenodd",
|
|
211
|
-
"clip-rule": "evenodd",
|
|
212
|
-
d: "M9.8224 7.01975V12.192H8.6224V7.01975H9.8224Z",
|
|
213
|
-
fill: "#86909C"
|
|
214
|
-
}),
|
|
215
|
-
vue.createElementVNode("path", {
|
|
216
|
-
"fill-rule": "evenodd",
|
|
217
|
-
"clip-rule": "evenodd",
|
|
218
|
-
d: "M1.28906 3.96419H14.7113V5.16419H1.28906V3.96419Z",
|
|
219
|
-
fill: "#86909C"
|
|
220
|
-
}),
|
|
221
|
-
vue.createElementVNode("path", {
|
|
222
|
-
"fill-rule": "evenodd",
|
|
223
|
-
"clip-rule": "evenodd",
|
|
224
|
-
d: "M6.03456 2.44245C6.13989 2.25031 6.34158 2.13086 6.5607 2.13086H9.45984C9.68079 2.13086 9.88386 2.25229 9.98841 2.44694L10.9732 4.28027C11.0731 4.46622 11.0679 4.69097 10.9596 4.87213C10.8512 5.05328 10.6557 5.16419 10.4446 5.16419H5.55573C5.34374 5.16419 5.14749 5.05233 5.03947 4.86993C4.93145 4.68753 4.92769 4.46167 5.02959 4.27578L6.03456 2.44245ZM6.91603 3.33086L6.56886 3.96419H9.44125L9.10105 3.33086H6.91603Z",
|
|
225
|
-
fill: "#86909C"
|
|
226
|
-
})
|
|
227
|
-
])),
|
|
228
|
-
vue.createElementVNode("span", { class: "btn-text" }, "\u5220\u9664")
|
|
229
|
-
])
|
|
230
|
-
], 64)) : vue.createCommentVNode("", true)
|
|
231
|
-
])
|
|
89
|
+
vue.createElementVNode("div", { class: "touchchat-action-tip" }, "\u5220\u9664")
|
|
90
|
+
])
|
|
91
|
+
], 64)) : vue.createCommentVNode("", true)
|
|
232
92
|
], 2);
|
|
233
93
|
};
|
|
234
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MessageActions.vue2.js","sources":["../../../../../../../packages/components/touchchat/src/AiChat/MessageActions.vue"],"sourcesContent":["<template>\n <div class=\"actions-container\" :class=\"{ 'ai-actions-container': messageType === 'ai' }\">\n <div class=\"actions\">\n <!-- 复制按钮 - 两个消息类型都有 -->\n <div v-if=\"showCopy\" class=\"action-btn copy-btn\" @click=\"onCopy\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"17\"\n height=\"17\"\n viewBox=\"0 0 17 17\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5.99855 3.64758C5.86144 3.64758 5.75028 3.75873 5.75028 3.89584V5.91834H4.52806V3.89584C4.52806 3.08371 5.18642 2.42535 5.99855 2.42535H13.4465C14.2586 2.42535 14.917 3.08371 14.917 3.89584V11.3438C14.917 12.1559 14.2586 12.8142 13.4465 12.8142H11.408V11.592H13.4465C13.5836 11.592 13.6947 11.4809 13.6947 11.3438V3.89584C13.6947 3.75873 13.5836 3.64758 13.4465 3.64758H5.99855Z\"\n fill=\"#86909C\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.08362 6.34028C2.08362 5.52816 2.74198 4.8698 3.5541 4.8698H11.002C11.8141 4.8698 12.4725 5.52816 12.4725 6.34028V13.7882C12.4725 14.6003 11.8141 15.2587 11.002 15.2587H3.5541C2.74198 15.2587 2.08362 14.6003 2.08362 13.7882V6.34028ZM3.5541 6.09202C3.41699 6.09202 3.30584 6.20317 3.30584 6.34028V13.7882C3.30584 13.9253 3.41699 14.0365 3.5541 14.0365H11.002C11.1391 14.0365 11.2503 13.9253 11.2503 13.7882V6.34028C11.2503 6.20317 11.1391 6.09202 11.002 6.09202H3.5541Z\"\n fill=\"#86909C\"\n />\n </svg>\n <span class=\"btn-text\">复制</span>\n </div>\n\n <!-- AI消息特有按钮 -->\n <template v-if=\"messageType === 'ai'\">\n <div class=\"action-btn retry-btn\" @click=\"onRetry\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"17\"\n height=\"17\"\n viewBox=\"0 0 17 17\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M8.49929 3.94207C11.2055 3.94207 13.3993 6.13588 13.3993 8.84207C13.3993 11.5483 11.2055 13.7421 8.49929 13.7421C7.14602 13.7421 5.92184 13.1943 5.03448 12.3069L4.61023 11.8826L3.76168 12.7311L4.18594 13.1554C5.28915 14.2587 6.81498 14.9421 8.49929 14.9421C11.8682 14.9421 14.5993 12.211 14.5993 8.84207C14.5993 5.47314 11.8682 2.74207 8.49929 2.74207C6.81498 2.74207 5.28915 3.42549 4.18594 4.52873C3.92073 4.79393 3.50856 5.24206 3.17034 5.61498C2.99953 5.8033 2.84476 5.97559 2.7327 6.10078C2.67665 6.16339 2.63124 6.21428 2.5998 6.24956L2.55089 6.30451L3.44794 7.10157L3.49567 7.04794C3.5266 7.01324 3.57142 6.96301 3.62681 6.90113C3.73765 6.77731 3.89061 6.60704 4.05921 6.42114C4.3998 6.04562 4.79307 5.61865 5.03448 5.37725C5.92184 4.48987 7.14602 3.94207 8.49929 3.94207ZM3.44794 7.10157C3.22791 7.34935 2.84867 7.37185 2.6009 7.15182C2.35312 6.93179 2.33086 6.55229 2.55089 6.30451L3.44794 7.10157Z\"\n fill=\"#86909C\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.39929 3.35318V6.70318C2.39929 7.03455 2.66792 7.30318 2.99929 7.30318H6.34929V6.10318H3.59929V3.35318H2.39929Z\"\n fill=\"#86909C\"\n />\n </svg>\n <span class=\"btn-text\">重新获取</span>\n </div>\n <div\n v-if=\"isShowLike\"\n class=\"action-btn like-btn\"\n :class=\"{ liked: isLiked }\"\n @click=\"onLike\"\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"17\"\n height=\"17\"\n viewBox=\"0 0 17 17\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M12.1307 14.9422H5.74276C5.41139 14.9422 5.14276 14.6735 5.14276 14.3422V8.29219C5.14276 8.20824 5.16038 8.12522 5.19447 8.04851L7.39448 3.0985C7.49078 2.88183 7.70565 2.74219 7.94276 2.74219C9.18542 2.74219 10.1928 3.74953 10.1928 4.99219V6.59219H12.8897C13.3871 6.58764 13.8616 6.8012 14.1881 7.1766C14.5153 7.55298 14.6608 8.0541 14.586 8.54722L13.827 13.4971C13.6998 14.3338 12.9766 14.9499 12.1307 14.9422ZM12.1405 13.7422C12.3899 13.745 12.6032 13.5637 12.6406 13.3172L13.3996 8.36715C13.4215 8.22221 13.3787 8.07461 13.2825 7.96403C13.1863 7.85332 13.0462 7.79048 12.8996 7.79215L12.8928 7.79223L9.59276 7.79219C9.26139 7.79219 8.99276 7.52356 8.99276 7.19219V4.99219C8.99276 4.53931 8.70608 4.15342 8.30429 4.00608L6.34276 8.41952V13.7422L12.1405 13.7422Z\"\n fill=\"#86909C\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M3.5927 13.1954C3.65245 13.5153 3.93497 13.7481 4.26359 13.7423L4.2742 13.7422H5.1427V8.83108H4.2742L4.26359 8.83098C3.97168 8.82582 3.65805 9.07918 3.5927 9.43845V13.1954ZM4.27901 14.9422C3.33289 14.956 2.52503 14.2609 2.39812 13.3226C2.39451 13.296 2.3927 13.2691 2.3927 13.2422V9.39219C2.3927 9.36529 2.39451 9.33842 2.39812 9.31176C2.51961 8.41362 3.29419 7.61684 4.279 7.63108H5.7427C6.07407 7.63108 6.3427 7.89971 6.3427 8.23108V14.3422C6.3427 14.6736 6.07413 14.9422 5.74276 14.9422L4.27901 14.9422Z\"\n fill=\"#86909C\"\n />\n </svg>\n <span class=\"btn-text\">点赞</span>\n </div>\n <div class=\"action-btn dislike-btn\" :class=\"{ disliked: isDisliked }\" @click=\"onDislike\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n viewBox=\"0 0 17 17\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M4.86745 2.74241H11.2554C11.5868 2.74241 11.8554 3.01104 11.8554 3.34241V9.3924C11.8554 9.47635 11.8378 9.55937 11.8037 9.63608L9.60371 14.5861C9.50741 14.8028 9.29254 14.9424 9.05542 14.9424C7.81276 14.9424 6.80542 13.9351 6.80542 12.6924V11.0924H4.10845C3.61105 11.0969 3.13658 10.8834 2.81013 10.508C2.48284 10.1316 2.33736 9.63049 2.41221 9.13736L3.1712 4.18745C3.17117 4.18763 3.17122 4.18726 3.1712 4.18745C3.29835 3.3508 4.02157 2.73469 4.86745 2.74241ZM4.85764 3.94237C4.60832 3.93955 4.39501 4.12086 4.35763 4.36737L3.59862 9.31743C3.5986 9.31756 3.59864 9.31731 3.59862 9.31743C3.57673 9.46238 3.61948 9.60997 3.71564 9.72056C3.81192 9.83127 3.95194 9.8941 4.0986 9.89244L4.10541 9.89236L7.40542 9.8924C7.73679 9.8924 8.00542 10.161 8.00542 10.4924V12.6924C8.00542 13.1453 8.2921 13.5312 8.69389 13.6785L10.6554 9.26507V3.94241L4.85764 3.94237Z\"\n fill=\"#86909C\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M13.4055 4.48916C13.3457 4.16932 13.0632 3.93649 12.7346 3.9423L12.724 3.94239H11.8555V8.85351H12.724L12.7346 8.8536C13.0265 8.85877 13.3401 8.60541 13.4055 8.24614V4.48916ZM12.7192 2.74239C13.6653 2.72855 14.4732 3.4237 14.6001 4.36196C14.6037 4.38862 14.6055 4.41549 14.6055 4.44239V8.2924C14.6055 8.3193 14.6037 8.34617 14.6001 8.37283C14.4786 9.27096 13.704 10.0678 12.7192 10.0535H11.2555C10.9241 10.0535 10.6555 9.78488 10.6555 9.45351V3.34239C10.6555 3.01102 10.9241 2.74241 11.2554 2.74241L12.7192 2.74239Z\"\n fill=\"#86909C\"\n />\n </svg>\n <span class=\"btn-text\">不喜欢</span>\n </div>\n </template>\n\n <!-- 用户消息特有按钮 -->\n <template v-if=\"messageType === 'user'\">\n <div class=\"action-btn edit-btn\" @click=\"onEdit\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"17\"\n viewBox=\"0 0 16 17\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.20557 13.7419H14.4056V14.9419H2.20557V13.7419Z\"\n fill=\"#86909C\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M10.3512 2.74194C10.5104 2.74191 10.6631 2.80517 10.7756 2.91777L13.0077 5.1508C13.2419 5.3851 13.2419 5.76485 13.0077 5.99914L6.68796 12.3217C6.57543 12.4342 6.42278 12.4975 6.2636 12.4975H4.02779C3.69642 12.4975 3.42779 12.2289 3.42779 11.8975V9.67302C3.42779 9.51402 3.4909 9.36152 3.60327 9.24901L9.92677 2.91793C10.0393 2.80528 10.192 2.74197 10.3512 2.74194ZM10.3515 4.19082L4.62779 9.92134V11.2975H6.01499L11.735 5.57497L10.3515 4.19082Z\"\n fill=\"#86909C\"\n />\n </svg>\n <span class=\"btn-text\">编辑</span>\n </div>\n <div class=\"action-btn delete-btn\" @click=\"onDelete\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"17\"\n viewBox=\"0 0 16 17\"\n fill=\"none\"\n >\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M2.81684 4.56419C2.81684 4.23282 3.08547 3.96419 3.41684 3.96419H12.5835C12.9149 3.96419 13.1835 4.23282 13.1835 4.56419V14.9531C13.1835 15.2845 12.9149 15.5531 12.5835 15.5531H3.41684C3.08547 15.5531 2.81684 15.2845 2.81684 14.9531V4.56419ZM4.01684 5.16419V14.3531H11.9835V5.16419H4.01684Z\"\n fill=\"#86909C\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.37795 7.01975V12.192H6.17795V7.01975H7.37795Z\"\n fill=\"#86909C\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M9.8224 7.01975V12.192H8.6224V7.01975H9.8224Z\"\n fill=\"#86909C\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M1.28906 3.96419H14.7113V5.16419H1.28906V3.96419Z\"\n fill=\"#86909C\"\n />\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M6.03456 2.44245C6.13989 2.25031 6.34158 2.13086 6.5607 2.13086H9.45984C9.68079 2.13086 9.88386 2.25229 9.98841 2.44694L10.9732 4.28027C11.0731 4.46622 11.0679 4.69097 10.9596 4.87213C10.8512 5.05328 10.6557 5.16419 10.4446 5.16419H5.55573C5.34374 5.16419 5.14749 5.05233 5.03947 4.86993C4.93145 4.68753 4.92769 4.46167 5.02959 4.27578L6.03456 2.44245ZM6.91603 3.33086L6.56886 3.96419H9.44125L9.10105 3.33086H6.91603Z\"\n fill=\"#86909C\"\n />\n </svg>\n <span class=\"btn-text\">删除</span>\n </div>\n </template>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { defineProps, defineEmits, withDefaults, inject } from 'vue';\n\nconst props = withDefaults(\n defineProps<{\n messageType: 'ai' | 'user'; // 消息类型\n index: number; // 消息索引\n showCopy?: boolean; // 是否显示复制按钮\n // AI消息特有属性\n isShowLike?: boolean; // 是否显示点赞按钮\n isLiked?: boolean; // 是否已点赞\n isDisliked?: boolean; // 是否已点踩\n // 用户消息特有属性\n isEditing?: boolean; // 是否正在编辑\n }>(),\n {\n showCopy: true,\n isShowLike: false,\n isLiked: false,\n isDisliked: false,\n isEditing: false,\n }\n);\n\nconst emits = defineEmits<{\n (e: 'copy', index: number): void;\n (e: 'retry', index: number): void;\n (e: 'like', index: number): void;\n (e: 'dislike', index: number): void;\n (e: 'edit', index: number): void;\n (e: 'delete', index: number): void;\n}>();\n\nconst onCopy = () => emits('copy', props.index);\nconst onRetry = () => emits('retry', props.index);\nconst onLike = () => {\n // 调用注入的 handleLike 函数,传递索引和当前点赞状态的反值\n handleLike(props.index, !props.isLiked);\n // 如果当前是点赞操作(由未点赞变为点赞),则重置不喜欢状态\n if (!props.isLiked) {\n handleUnlike(props.index, false);\n }\n emits('like', props.index);\n};\nconst onDislike = () => {\n // 调用注入的 handleUnlike 函数,传递索引和当前不喜欢状态的反值\n handleUnlike(props.index, !props.isDisliked);\n // 如果当前是不喜欢操作(由未不喜欢变为不喜欢),则重置点赞状态\n if (!props.isDisliked) {\n handleLike(props.index, false);\n }\n emits('dislike', props.index);\n};\nconst onEdit = () => emits('edit', props.index);\nconst onDelete = () => emits('delete', props.index);\n\nconst handleLike = inject<(index: number, isLike: boolean) => void>('handleLike', () => {\n console.warn('未提供handleLike函数');\n});\nconst handleUnlike = inject<(index: number, isUnlike: boolean) => void>('handleUnlike', () => {\n console.warn('未提供handleUnlike函数');\n});\n</script>\n\n<!-- <style lang=\"less\" scoped>\n@import '../../style/MessageActions.less';\n</style> -->\n"],"names":["inject","_createElementBlock","_normalizeClass","messageType","_createElementVNode","showCopy","_Fragment","isShowLike","isLiked","isDisliked"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MessageActions.vue2.js","sources":["../../../../../../../packages/components/touchchat/src/AiChat/MessageActions.vue"],"sourcesContent":["<template>\n\t<div class=\"touchchat-action\" :class=\"{ 'type-ai': messageType === 'ai' }\">\n\t\t<!-- 复制按钮 - 两个消息类型都有 -->\n\t\t<div v-if=\"showCopy\" class=\"touchchat-action-item value-copy\" @click=\"onCopy\">\n\t\t\t<div class=\"touchchat-action-tip\">复制</div>\n\t\t</div>\n\n\t\t<!-- AI消息特有按钮 -->\n\t\t<template v-if=\"messageType === 'ai'\">\n\t\t\t<div class=\"touchchat-action-item value-refresh\" @click=\"onRetry\">\n\t\t\t\t<div class=\"touchchat-action-tip\">重新获取</div>\n\t\t\t</div>\n\t\t\t<div v-if=\"isShowLike\" class=\"touchchat-action-item value-good\" :class=\"{ 'is-on': isLiked }\" @click=\"onLike\">\n\t\t\t\t<div class=\"touchchat-action-tip\">点赞</div>\n\t\t\t</div>\n\t\t\t<div class=\"touchchat-action-item value-bad\" :class=\"{ 'is-on': isDisliked }\" @click=\"onDislike\">\n\t\t\t\t<div class=\"touchchat-action-tip\">不喜欢</div>\n\t\t\t</div>\n\t\t</template>\n\n\t\t<!-- 用户消息特有按钮 -->\n\t\t<template v-if=\"messageType === 'user'\">\n\t\t\t<div class=\"touchchat-action-item value-edit\" @click=\"onEdit\">\n\t\t\t\t<div class=\"touchchat-action-tip\">编辑</div>\n\t\t\t</div>\n\t\t\t<div class=\"touchchat-action-item value-remove\" @click=\"onDelete\">\n\t\t\t\t<div class=\"touchchat-action-tip\">删除</div>\n\t\t\t</div>\n\t\t</template>\n\t</div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { defineProps, defineEmits, withDefaults, inject } from 'vue'\n\nconst props = withDefaults(\n\tdefineProps<{\n\t\tmessageType: 'ai' | 'user' // 消息类型\n\t\tindex: number // 消息索引\n\t\tshowCopy?: boolean // 是否显示复制按钮\n\t\t// AI消息特有属性\n\t\tisShowLike?: boolean // 是否显示点赞按钮\n\t\tisLiked?: boolean // 是否已点赞\n\t\tisDisliked?: boolean // 是否已点踩\n\t\t// 用户消息特有属性\n\t\tisEditing?: boolean // 是否正在编辑\n\t}>(),\n\t{\n\t\tshowCopy: true,\n\t\tisShowLike: false,\n\t\tisLiked: false,\n\t\tisDisliked: false,\n\t\tisEditing: false\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: 'edit', index: number): void\n\t(e: 'delete', index: number): void\n}>()\n\nconst onCopy = () => emits('copy', props.index)\nconst onRetry = () => emits('retry', props.index)\nconst onLike = () => {\n\t// 调用注入的 handleLike 函数,传递索引和当前点赞状态的反值\n\thandleLike(props.index, !props.isLiked)\n\t// 如果当前是点赞操作(由未点赞变为点赞),则重置不喜欢状态\n\tif (!props.isLiked) {\n\t\thandleUnlike(props.index, false)\n\t}\n\temits('like', props.index)\n}\nconst onDislike = () => {\n\t// 调用注入的 handleUnlike 函数,传递索引和当前不喜欢状态的反值\n\thandleUnlike(props.index, !props.isDisliked)\n\t// 如果当前是不喜欢操作(由未不喜欢变为不喜欢),则重置点赞状态\n\tif (!props.isDisliked) {\n\t\thandleLike(props.index, false)\n\t}\n\temits('dislike', props.index)\n}\nconst onEdit = () => emits('edit', props.index)\nconst onDelete = () => emits('delete', props.index)\n\nconst handleLike = inject<(index: number, isLike: boolean) => void>('handleLike', () => {\n\tconsole.warn('未提供handleLike函数')\n})\nconst handleUnlike = inject<(index: number, isUnlike: boolean) => void>('handleUnlike', () => {\n\tconsole.warn('未提供handleUnlike函数')\n})\n</script>\n\n<!-- <style lang=\"less\" scoped>\n@import '../../style/MessageActions.less';\n</style> -->\n"],"names":["inject","_createElementBlock","_normalizeClass","messageType","showCopy","_createElementVNode","_Fragment","isShowLike","isLiked","isDisliked"],"mappings":"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"}
|
|
@@ -28,7 +28,7 @@ var _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
28
28
|
emit("sceneClick", script);
|
|
29
29
|
};
|
|
30
30
|
return (_ctx, _cache) => {
|
|
31
|
-
return vue.openBlock(), vue.createElementBlock("div", { class: "scene
|
|
31
|
+
return vue.openBlock(), vue.createElementBlock("div", { class: "touchchat-scene" }, [
|
|
32
32
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(props.scripts, (script) => {
|
|
33
33
|
return vue.openBlock(), vue.createElementBlock("button", {
|
|
34
34
|
key: script.name,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Scene.vue2.js","sources":["../../../../../../../packages/components/touchchat/src/AiChat/Scene.vue"],"sourcesContent":["<template>\r\n\t<div class=\"touchchat-scene\">\r\n\t\t<button v-for=\"script in props.scripts\" :key=\"script.name\" class=\"scene-btn\" :disabled=\"props.btnDisable\" :class=\"{ active: props.selectedScriptName === script.name }\" @click=\"handleSceneClick(script)\">\r\n\t\t\t{{ script.name }}\r\n\t\t</button>\r\n\t</div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\nconst props = defineProps({\r\n\tscripts: {\r\n\t\ttype: Array<{\r\n\t\t\tname: string\r\n\t\t\tcontent: Array<{\r\n\t\t\t\tuser: string\r\n\t\t\t\tdata?: string\r\n\t\t\t\tsubData?: Array<string>\r\n\t\t\t\ttype?: string\r\n\t\t\t}>\r\n\t\t}>,\r\n\t\trequired: true\r\n\t},\r\n\tbtnDisable: {\r\n\t\ttype: Boolean,\r\n\t\trequired: true\r\n\t},\r\n\tselectedScriptName: {\r\n\t\ttype: String,\r\n\t\trequired: true\r\n\t}\r\n})\r\n\r\nconst emit = defineEmits(['sceneClick'])\r\n\r\nconst handleSceneClick = (script: {\r\n\tname: string\r\n\tcontent: Array<{\r\n\t\tuser: string\r\n\t\tdata?: string\r\n\t\tsubData?: Array<string>\r\n\t\ttype?: string\r\n\t}>\r\n}) => {\r\n\temit('sceneClick', script)\r\n}\r\n</script>\r\n\r\n<!-- <style lang=\"less\" scoped>\r\n@import '../../style/variables.less';\r\n@import './style/index.less';\r\n</style> -->\r\n"],"names":["_createElementBlock","_openBlock","_Fragment","_renderList","_normalizeClass","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAA,MAAM,KAAQ,GAAA,OAAA,CAAA;AAuBd,IAAA,MAAM,IAAO,GAAA,MAAA,CAAA;AAEb,IAAM,MAAA,gBAAA,GAAmB,CAAC,MAQpB,KAAA;AACL,MAAA,IAAA,CAAK,cAAc,MAAM,CAAA,CAAA;AAAA,KAC1B,CAAA;;4BA3CC,EAAAA,sBAAA,CAIM,OAAA,EAJD,KAAA,EAAM,mBAAiB,EAAA;AAAA,SAC3BC,aAAA,CAAA,IAAA,CAAA,EAAAD,sBAES,CAAAE,YAAA,EAFgB,MAAAC,cAAA,CAAA,KAAA,CAAM,UAAhB,MAAM,KAAA;gCAArB,EAAAH,sBAAA,CAES,QAAA,EAAA;AAAA,YAFgC,KAAK,MAAO,CAAA,IAAA;AAAA,YAAM,KAAA,EAAKI,kBAAA,CAAA,CAAC,WAA2D,EAAA,EAAA,MAAA,EAAA,KAAA,CAAM,kBAAuB,KAAA,MAAA,CAAO,IAAI,EAAA,CAAA,CAAA;AAAA,YAAtF,UAAU,KAAM,CAAA,UAAA;AAAA,YAA2E,OAAK,EAAA,CAAA,MAAE,KAAA,gBAAA,CAAiB,MAAM,CAAA;AAAA,WACnM,EAAAC,oBAAA,MAAO,CAAA,IAAI,GAAA,EAAA,EAAA,CAAA,UAAA,EAAA,SAAA,CAAA,CAAA,CAAA;AAAA;;;;;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var SiderBarView_vue_vue_type_script_setup_true_lang = require('./SiderBarView.vue2.js');
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
exports.default = SiderBarView_vue_vue_type_script_setup_true_lang.default;
|
|
10
|
+
//# sourceMappingURL=SiderBarView.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SiderBarView.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;"}
|