From 74f38609e04f89d6b50fdf6a84dec846086d1aae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=9D=E5=B0=98?= <237809796@qq.com> Date: Fri, 19 Jun 2026 21:45:09 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=8D=E6=9E=84:=20ToolCard.vue=20=E6=8B=86?= =?UTF-8?q?=E5=88=86(1167=E2=86=92374=20=E8=A1=8C,REFACTOR-260619-04)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 纯结构拆分,逻辑等价,渲染/交互/接口契约不变: - 抽 ToolResultBody.vue(545 行,8 工具结果渲染分支:read_file/list_directory/ search_files/write_file/patch_file/run_command/http_request/通用 CRUD) - 抽 useToolCardRender.ts(45 行,parseDiffLines 渲染纯函数) - 抽 useToolCardHeader.ts(154 行,toolDisplayName/displayArgValue/projectNameById 头部显示) - ToolCard.vue 瘦身至 374 行(容器+头部+审批区+状态机,结果展示委托 ToolResultBody) - props/emits 契约不变(ToolCardList/AiChat/MessageList 调用零改动) vue-tsc EXIT 0 + 8/8 渲染分支完整核对 --- src/components/ToolCard.vue | 993 +++--------------------- src/components/ToolResultBody.vue | 545 +++++++++++++ src/composables/ai/useToolCardHeader.ts | 154 ++++ src/composables/ai/useToolCardRender.ts | 45 ++ 4 files changed, 844 insertions(+), 893 deletions(-) create mode 100644 src/components/ToolResultBody.vue create mode 100644 src/composables/ai/useToolCardHeader.ts create mode 100644 src/composables/ai/useToolCardRender.ts diff --git a/src/components/ToolCard.vue b/src/components/ToolCard.vue index 188c76a..2d09c2d 100644 --- a/src/components/ToolCard.vue +++ b/src/components/ToolCard.vue @@ -6,7 +6,7 @@ { 'ai-tool-card--collapsed': !isExpanded && !shouldKeepOpen(tc), 'ai-tool-card--failed': isFailed }, ]" > - +
{{ ln.text }}{{ '\n' }}
{{ parsed?.content }}
- {{ ln.text }}{{ '\n' }}
- {{ argString(tc.args, 'command') }}
-
- {{ cmdOutput }}
- {{ parsed?.url }}
- {{ parsed?.status }}
-
- {{ parsed.body }}
- {{ formatToolResult(tc) }}
- {{ parsed?.content }}
+ {{ ln.text }}{{ '\n' }}
+ {{ argString(tc.args, 'command') }}
+
+ {{ cmdOutput }}
+ {{ parsed?.url }}
+ {{ parsed?.status }}
+
+ {{ parsed.body }}
+ {{ formatToolResult(tc) }}
+