From e09c9f76a75db3b44571c564fc8cbe6ef3905146 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sat, 19 Sep 2026 01:12:33 +0000 Subject: [PATCH] feat(web): tree batch auto-expand with depth limit and view icons MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 勾选文件树文件夹时自动展开并懒加载子节点,按最大深度(默认 4,勾选文件夹为第 0 层)递归收集可下载文件;触及上限时中文提示部分文件已跳过。树侧栏顶部增加显眼的批量下载入口。Home/ShowList 窗格与文件树切换增加 Font Awesome 图标。 Co-authored-by: qaiu --- web-front/package.json | 3 +- web-front/src/components/DirectoryTree.vue | 286 +++++++++++++++++-- web-front/src/components/ViewModeSwitch.vue | 65 +++++ web-front/src/utils/batchTreeCollect.js | 147 ++++++++++ web-front/src/utils/batchTreeCollect.spec.js | 194 +++++++++++++ web-front/src/views/Home.vue | 8 +- web-front/src/views/ShowList.vue | 13 +- 7 files changed, 682 insertions(+), 34 deletions(-) create mode 100644 web-front/src/components/ViewModeSwitch.vue create mode 100644 web-front/src/utils/batchTreeCollect.js create mode 100644 web-front/src/utils/batchTreeCollect.spec.js diff --git a/web-front/package.json b/web-front/package.json index 9de737b..b13c687 100644 --- a/web-front/package.json +++ b/web-front/package.json @@ -7,7 +7,8 @@ "dev": "vue-cli-service serve", "build": "node scripts/sync-version.js && vue-cli-service build && node scripts/compress-vs.js", "build:no-compress": "node scripts/sync-version.js && vue-cli-service build", - "lint": "vue-cli-service lint" + "lint": "vue-cli-service lint", + "test": "node --test src/utils/batchTreeCollect.spec.js" }, "dependencies": { "@element-plus/icons-vue": "^2.3.1", diff --git a/web-front/src/components/DirectoryTree.vue b/web-front/src/components/DirectoryTree.vue index 6e886b2..06ee87d 100644 --- a/web-front/src/components/DirectoryTree.vue +++ b/web-front/src/components/DirectoryTree.vue @@ -103,7 +103,23 @@
-
+
+ + 文件树 + + + 批量下载 + + + {{ treeExpanding ? '正在展开并收集文件…' : `勾选文件夹将自动展开(最多 ${effectiveBatchMaxDepth} 层)` }} + +
+
@@ -236,7 +253,23 @@