From 3a3e38d15a9400937d7a53cb32a188acdb3d96ab Mon Sep 17 00:00:00 2001 From: yumoqing Date: Fri, 11 Sep 2026 18:33:42 +0800 Subject: [PATCH] =?UTF-8?q?fix(core):=20agent=5Fproject=5Fpopup=E7=9A=84GE?= =?UTF-8?q?T/POST=20op=E6=92=9E=E5=90=8D=E2=80=94=E2=80=94GET=20op=3Dswitc?= =?UTF-8?q?h(=E5=88=97=E8=A1=A8)=E8=AF=AF=E5=85=A5POST=E5=88=86=E6=94=AF?= =?UTF-8?q?=E6=8A=A5'=E7=BC=BA=E5=B0=91project=5Fid';POST=E5=8A=A8?= =?UTF-8?q?=E4=BD=9C=E6=94=B9op=3Ddo=5Fswitch,=E5=89=8D=E7=AB=AF=E7=82=B9?= =?UTF-8?q?=E9=80=89=E8=84=9A=E6=9C=AC=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wwwroot/api/agent_project_popup.dspy | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/wwwroot/api/agent_project_popup.dspy b/wwwroot/api/agent_project_popup.dspy index 6e2958a..f4f5220 100644 --- a/wwwroot/api/agent_project_popup.dspy +++ b/wwwroot/api/agent_project_popup.dspy @@ -4,7 +4,7 @@ # GET op=switch → 项目切换弹窗:列出本产线全部项目 → 选择后关闭,会话进入该项目 # POST op=create → 创建项目(走 project_capability.create_project,带 alloc_project_dir+审计, # 禁止裸 INSERT)+ start_project + 初始迭代 + 写会话项目指针 -# POST op=switch → 校验项目归属(产线/机构)后写会话项目指针 +# POST op=do_switch → 校验项目归属(产线+本人创建)后写会话项目指针(GET op=switch 是列表) # 参数:session_id(会话级隔离,多 tab 各自项目) pipeline_id(产线隔离) # 会话「进入项目」= 写 pipeline_session_settings + pipeline_agent_settings(与 # AgentExecutor._persist_project 同口径);gateway/菜单/工作空间每次请求实时解析,写完即生效。 @@ -31,7 +31,7 @@ _STATUS_TXT = { # ══════════════════ POST:创建 / 切换 ══════════════════ -if _op in ('create', 'switch'): +if _op in ('create', 'do_switch'): if not uid: return json.dumps({"success": False, "error": "请先登录"}, ensure_ascii=False) if not pipeline_id or pipeline_id == '_generic': @@ -111,7 +111,7 @@ if _op in ('create', 'switch'): await _enter_project(sor, pid) return json.dumps({"success": True, "project_id": pid, "name": name}, ensure_ascii=False) - else: # switch + else: # do_switch pid = (params_kw or {}).get('project_id', '') or '' if not pid: return json.dumps({"success": False, "error": "缺少 project_id"}, ensure_ascii=False) @@ -283,7 +283,7 @@ for p in projects: _st_txt, _st_color = _STATUS_TXT.get(_st, (_st or '—', '#64748b')) _is_cur = (_pid_v == cur_pid) _switch_js = ( - _post_js([('op', "'switch'"), ('project_id', json.dumps(_pid_v)), + _post_js([('op', "'do_switch'"), ('project_id', json.dumps(_pid_v)), ('session_id', json.dumps(session_id)), ('pipeline_id', json.dumps(pipeline_id))]) + "if(d.success){"