From 85dc5466c587625d29206b16042b3e5f20af717c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=89=E9=91=AB=E5=8D=87?= Date: Wed, 17 Jun 2026 20:39:22 +0800 Subject: [PATCH] =?UTF-8?q?fix(frontend):=20=E4=BB=BB=E5=8A=A1=E6=B7=B1?= =?UTF-8?q?=E9=93=BE=E5=BC=80=E5=9C=BA=E4=BF=A1=E6=81=AF=E8=A1=A5=E5=85=85?= =?UTF-8?q?=20task=5Fid=20+=20=E5=8A=A0=E5=AE=BD=E4=BB=BB=E5=8A=A1?= =?UTF-8?q?=E7=9B=AE=E7=9A=84=E5=BC=B9=E6=A1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - rwfx 任务深链开场信息末尾追加「任务id(task_id)为xxx」,让后端能识别任务 (buildOpeningText 增加 taskId 参数,覆盖 pendingAgentMessage 与任务上下文两条路径)。 - 任务目的「弹框查看」用 sm:!max-w-[90vw] 覆盖 DialogContent 基类的 sm:max-w-lg (此前无前缀的 max-w-4xl 被基类响应式类压回 512px,故加宽不生效)。 Co-Authored-By: Claude Opus 4.8 (1M context) --- frontend-web/src/core/auth/task-deeplink.ts | 9 +++++---- .../components/task-components/TaskPurposePanel.tsx | 3 ++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/frontend-web/src/core/auth/task-deeplink.ts b/frontend-web/src/core/auth/task-deeplink.ts index 54937c92..cc3be21f 100644 --- a/frontend-web/src/core/auth/task-deeplink.ts +++ b/frontend-web/src/core/auth/task-deeplink.ts @@ -116,11 +116,12 @@ export interface TaskDeeplinkTarget { state?: Record; } -/** 用 taskName / taskContent 拼出开场信息文本。 */ -function buildOpeningText(detail: CopTaskDetail): string { +/** 用 taskName / taskContent 拼出开场信息文本;末尾附上任务 id(task_id),供后端识别任务。 */ +function buildOpeningText(detail: CopTaskDetail, taskId: string): string { return [ detail.taskName ? `任务名称:${detail.taskName}` : "", detail.taskContent ? `任务内容:${detail.taskContent}` : "", + taskId ? `任务id(task_id)为${taskId}` : "", ] .filter(Boolean) .join("\n"); @@ -174,7 +175,7 @@ export async function resolveTaskDeeplinkTarget( // rwfx:走「任务工作区」——暂存任务上下文(taskId + 开场信息),跳到 chats 索引, // 由工作区按 taskId 决定开最新历史对话 / 新建(新建走目的树闸门)。不设 pendingAgentMessage: // 开场信息在闸门通过后由目的树面板发出。 - persistTaskContext({ taskId, agentId, openingText: buildOpeningText(detail) }); + persistTaskContext({ taskId, agentId, openingText: buildOpeningText(detail, taskId) }); return { path: `${taskBase}/agent/${agentId}/chats` }; } @@ -182,7 +183,7 @@ export async function resolveTaskDeeplinkTarget( try { sessionStorage.setItem( "pendingAgentMessage", - JSON.stringify({ agentId, text: buildOpeningText(detail) }), + JSON.stringify({ agentId, text: buildOpeningText(detail, taskId) }), ); } catch { /* noop */ diff --git a/frontend-web/src/strategy-components/components/task-components/TaskPurposePanel.tsx b/frontend-web/src/strategy-components/components/task-components/TaskPurposePanel.tsx index c0998568..802d85d7 100644 --- a/frontend-web/src/strategy-components/components/task-components/TaskPurposePanel.tsx +++ b/frontend-web/src/strategy-components/components/task-components/TaskPurposePanel.tsx @@ -174,7 +174,8 @@ export function TaskPurposePanel({ {/* 弹框查看:放大显示完整表格 */} - + {/* 宽度用 sm: 前缀覆盖 DialogContent 基类里的 sm:max-w-lg,否则被基类压回 512px。 */} + 任务目的(任务 {taskId})