修复: 使用临时状态变量兼容SFTP配置显示逻辑
问题描述: - 用户希望本地存储模式时隐藏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 <noreply@anthropic.com>
This commit is contained in:
@@ -1005,7 +1005,7 @@
|
||||
</div>
|
||||
|
||||
<!-- SFTP配置 - 仅普通用户且权限允许SFTP -->
|
||||
<div v-if="user && !user.is_admin && (storagePermission === 'sftp_only' || storagePermission === 'user_choice')" id="sftp-config-section">
|
||||
<div v-if="user && !user.is_admin && (storagePermission === 'sftp_only' || (storagePermission === 'user_choice' && (storageType === 'sftp' || forceSftpConfigVisible)))" id="sftp-config-section">
|
||||
<h3 style="margin-bottom: 20px;">SFTP配置</h3>
|
||||
<div v-if="user && !user.has_ftp_config" class="alert alert-info">
|
||||
请配置SFTP服务器
|
||||
|
||||
@@ -176,7 +176,10 @@ createApp({
|
||||
// 上传工具管理
|
||||
uploadToolStatus: null, // 上传工具状态 { exists, fileInfo: { size, sizeMB, modifiedAt } }
|
||||
checkingUploadTool: false, // 是否正在检测上传工具
|
||||
uploadingTool: false // 是否正在上传工具
|
||||
uploadingTool: false, // 是否正在上传工具
|
||||
|
||||
// 强制显示SFTP配置(用于本地存储模式下临时显示SFTP配置)
|
||||
forceSftpConfigVisible: false
|
||||
};
|
||||
},
|
||||
|
||||
@@ -407,6 +410,9 @@ handleDragLeave(e) {
|
||||
}
|
||||
}
|
||||
|
||||
// 重置强制显示标志
|
||||
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':
|
||||
|
||||
Reference in New Issue
Block a user