From f0c4c10f797f7c552c2ec7efc0c2b9791c77dc34 Mon Sep 17 00:00:00 2001 From: ymq Date: Thu, 17 Sep 2026 21:30:20 +0800 Subject: [PATCH] =?UTF-8?q?fix(workspace):=20=E4=B8=8A=E4=BC=A0=E7=AB=AF?= =?UTF-8?q?=E7=82=B9=E9=80=8F=E4=BC=A0pipeline=5Fid=E2=80=94=E2=80=94?= =?UTF-8?q?=E9=80=9A=E7=94=A8=E5=8A=A9=E6=89=8B(=5Fgeneric)=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E7=A9=BA=E9=97=B4=E4=B8=8A=E4=BC=A0=E6=8A=A5'?= =?UTF-8?q?=E7=9B=AE=E6=A0=87=E7=9B=AE=E5=BD=95=E4=B8=8D=E5=AD=98=E5=9C=A8?= =?UTF-8?q?'=E6=A0=B9=E5=9B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit workspace_files.dspy 构造 upload_url 只带 session_id 不带 pipeline_id, 通用助手入口(pipeline_id=_generic、无session_id)下 workspace_upload.dspy 走不到 _generic 分支→回退全局 current_project_id(其他产线项目)→ resolve到别的项目目录→'目标目录不存在: projects/调研1'。 对齐 tree/files/delete 端点的 session_id+pipeline_id 双透传模式。 2026-09-17 实测:不带pipeline_id复现报错,带pipeline_id=_generic上传成功。 --- wwwroot/api/workspace_files.dspy | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/wwwroot/api/workspace_files.dspy b/wwwroot/api/workspace_files.dspy index b5f145b..24ea32b 100644 --- a/wwwroot/api/workspace_files.dspy +++ b/wwwroot/api/workspace_files.dspy @@ -42,7 +42,16 @@ full_dir = resolve_workspace_path(project_dir, space_dir, folder_id) if not os.path.isdir(full_dir): return {"widgettype": "Text", "options": {"otext": "目录不可用: ${p0}", "text": "目录不可用: ${p0}", "i18n": True, "i18n_params": {"p0": str(folder_id)}, "cfontsize": 0.9}} -upload_url = entire_url("/pipeline-sdlc/api/workspace_upload.dspy") + (("?session_id=" + session_id) if session_id else "") +# 上传端点必须与列表端点同参数:session_id + pipeline_id 都要透传。 +# 只传 session_id 的旧代码在通用助手(pipeline_id=_generic、无 session_id)下 +# 让 workspace_upload.dspy 走不到 _generic 分支,解析到别的项目目录 → +# 上传报「目标目录不存在」(2026-09-17 实测根因)。 +_uq = [] +if session_id: + _uq.append("session_id=" + session_id) +if pipeline_id: + _uq.append("pipeline_id=" + pipeline_id) +upload_url = entire_url("/pipeline-sdlc/api/workspace_upload.dspy") + (("?" + "&".join(_uq)) if _uq else "") # 拖拽上传脚本:读取文件 → base64 → form-encoded POST → 刷新浏览器 upload_script = (