From cfcbc22ae74f57981716783f493a9c277b89d942 Mon Sep 17 00:00:00 2001 From: WanWanYun Date: Wed, 12 Nov 2025 23:31:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D:=20=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E4=B8=B4=E6=97=B6=E7=8A=B6=E6=80=81=E5=8F=98=E9=87=8F=E5=85=BC?= =?UTF-8?q?=E5=AE=B9SFTP=E9=85=8D=E7=BD=AE=E6=98=BE=E7=A4=BA=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 问题描述: - 用户希望本地存储模式时隐藏SFTP配置区域 - 但点击"切换到SFTP"时需要能看到SFTP配置表单进行填写 解决方案: 1. 添加forceSftpConfigVisible状态变量用于临时强制显示 2. 修改HTML v-if条件,增加forceSftpConfigVisible的判断 3. 在switchStorage中设置forceSftpConfigVisible为true 4. 在updateFtpConfig成功后重置为false 5. 在switchView切换视图时自动重置 效果: - 本地存储模式:SFTP配置默认隐藏 - 点击切换到SFTP:临时显示SFTP配置区域并滚动到该区域 - 配置成功:自动切换到SFTP模式,标志自动重置 - 切换视图:标志自动重置 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- frontend/app.html | 2 +- frontend/app.js | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/frontend/app.html b/frontend/app.html index e3f52d4..b110986 100644 --- a/frontend/app.html +++ b/frontend/app.html @@ -1005,7 +1005,7 @@ -
+

SFTP配置

请配置SFTP服务器 diff --git a/frontend/app.js b/frontend/app.js index d182048..a41a548 100644 --- a/frontend/app.js +++ b/frontend/app.js @@ -176,7 +176,10 @@ createApp({ // 上传工具管理 uploadToolStatus: null, // 上传工具状态 { exists, fileInfo: { size, sizeMB, modifiedAt } } checkingUploadTool: false, // 是否正在检测上传工具 - uploadingTool: false // 是否正在上传工具 + uploadingTool: false, // 是否正在上传工具 + + // 强制显示SFTP配置(用于本地存储模式下临时显示SFTP配置) + forceSftpConfigVisible: false }; }, @@ -406,7 +409,10 @@ handleDragLeave(e) { console.error('[SFTP配置] 自动切换存储模式失败:', err); } } - + + // 重置强制显示标志 + this.forceSftpConfigVisible = false; + // 刷新到文件页面 this.currentView = 'files'; this.loadFiles('/'); @@ -1583,6 +1589,8 @@ handleDragLeave(e) { if (goToSettings) { // 直接设置视图并加载配置,避免switchView的重复检查 this.currentView = 'settings'; + // 强制显示SFTP配置区域 + this.forceSftpConfigVisible = true; // 如果是普通用户,手动加载SFTP配置 if (this.user && !this.user.is_admin) { this.loadFtpConfig(); @@ -1633,6 +1641,11 @@ handleDragLeave(e) { this.currentView = view; + // 离开settings页面时,重置强制显示SFTP配置的标志 + if (this.currentView !== 'settings') { + this.forceSftpConfigVisible = false; + } + // 根据视图类型自动加载对应数据 switch (view) { case 'files':