From 32a8377a4cf645be30c77efbeff59c88f7b141da Mon Sep 17 00:00:00 2001 From: ymq Date: Mon, 24 Aug 2026 18:10:21 +0800 Subject: [PATCH] =?UTF-8?q?fix(workspace):=20workspace=5Ftree=20=E6=8F=90?= =?UTF-8?q?=E5=89=8D=E5=9C=A8=20async=20with=20=E5=9D=97=E5=86=85=E8=AF=BB?= =?UTF-8?q?=20apps/modules=EF=BC=8C=E4=BF=AE=E5=A4=8D=20sor=20=E5=85=B3?= =?UTF-8?q?=E9=97=AD=E5=90=8E=20get=5Fproject=5Fapps=5Fmodules=20=E8=BF=94?= =?UTF-8?q?=E5=9B=9E=E7=A9=BA=E5=AF=BC=E8=87=B4=E5=BC=95=E7=94=A8=E8=8A=82?= =?UTF-8?q?=E7=82=B9=E4=B8=8D=E6=98=BE=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- wwwroot/api/workspace_tree.dspy | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/wwwroot/api/workspace_tree.dspy b/wwwroot/api/workspace_tree.dspy index 147ee35..a1c7d53 100644 --- a/wwwroot/api/workspace_tree.dspy +++ b/wwwroot/api/workspace_tree.dspy @@ -15,6 +15,8 @@ dbname = get_module_dbname('pipeline-sdlc') async with DBPools().sqlorContext(dbname) as sor: project_dir, _ = await get_project_dir(sor, uid, session_id) space_dir, _ = await get_space_dir(sor, uid, session_id) + # 提前读出项目用到的 apps/modules(sor 在块内有效,块外调用会因 sor 关闭返回空) + _apps, _modules = await get_project_apps_modules(sor, uid, session_id) if not project_dir or not os.path.isdir(project_dir): if not node_id: @@ -56,7 +58,7 @@ items = [] # 根节点:额外挂项目用到的 apps 子目录 + modules 子目录 if extra_children: - apps, modules = await get_project_apps_modules(sor, uid, session_id) + apps, modules = _apps, _modules for app in apps: app_path = os.path.join(space_dir, 'apps', app) if os.path.isdir(app_path):