From 222d3e2e75de503c3513261ea6c7e2876b5ecdfd Mon Sep 17 00:00:00 2001 From: p
Date: Wed, 12 Aug 2026 15:17:06 +0800 Subject: [PATCH] workspace: tree dirs only, left 280px, right filler --- wwwroot/api/workspace_popup.dspy | 2 +- wwwroot/api/workspace_tree.dspy | 13 ++----------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/wwwroot/api/workspace_popup.dspy b/wwwroot/api/workspace_popup.dspy index 0db338f..403c760 100644 --- a/wwwroot/api/workspace_popup.dspy +++ b/wwwroot/api/workspace_popup.dspy @@ -42,7 +42,7 @@ async with DBPools().sqlorContext(dbname) as sor: "subwidgets": [ { "widgettype": "VBox", - "options": {"width": "30%"}, + "options": {"width": "280px"}, "subwidgets": [{ "widgettype": "Tree", "id": "ws_tree", diff --git a/wwwroot/api/workspace_tree.dspy b/wwwroot/api/workspace_tree.dspy index 340543d..f0f7ad0 100644 --- a/wwwroot/api/workspace_tree.dspy +++ b/wwwroot/api/workspace_tree.dspy @@ -1,4 +1,4 @@ -# workspace_tree.dspy - 返回 Tree widget 需要的 {id, parentid, label, path} 格式 +# workspace_tree.dspy - 只返回目录树,不含文件 uid = await get_user() if not uid: @@ -28,7 +28,6 @@ async with DBPools().sqlorContext(dbname) as sor: if not ws_dir or not os.path.isdir(ws_dir): return [{"id": "__root__", "parentid": "", "label": "📁 工作空间(不可用)", "path": ""}] -# 递归扫描目录,id 只含相对路径,full path 存 path 字段 items = [{"id": "__root__", "parentid": "", "label": "📁 " + os.path.basename(ws_dir), "path": ws_dir, "is_leaf": False}] def scan_dir(path, parent_id, rel_prefix): @@ -40,8 +39,8 @@ def scan_dir(path, parent_id, rel_prefix): full = os.path.join(path, name) if name.startswith('.') or name == '__pycache__': continue - rel_path = rel_prefix + '/' + name if rel_prefix else name if os.path.isdir(full): + rel_path = rel_prefix + '/' + name if rel_prefix else name items.append({ "id": rel_path, "parentid": parent_id, @@ -50,14 +49,6 @@ def scan_dir(path, parent_id, rel_prefix): "is_leaf": False }) scan_dir(full, rel_path, rel_path) - else: - items.append({ - "id": rel_path, - "parentid": parent_id, - "label": "📄 " + name, - "path": full, - "is_leaf": True - }) scan_dir(ws_dir, "__root__", "") return items