优化: 切换视图时自动刷新数据,解决切换存储方式后需要手动刷新的问题

问题描述:
- 用户在设置页面切换存储方式(本地 ↔ SFTP)
- 点击导航栏回到"我的文件"页面
- 文件列表不会自动刷新,显示的还是旧存储方式的文件
- 需要手动刷新浏览器才能看到新存储方式的文件

解决方案:
1. 新增 switchView(view) 方法统一管理视图切换
   - 切换到 files 视图:自动加载文件列表
   - 切换到 shares 视图:自动加载分享列表
   - 切换到 admin 视图:自动加载用户列表和存储统计
   - 切换到 settings 视图:无需加载数据
   - 防止重复切换:如果已在当前视图则跳过

2. 修改导航栏点击事件
   - 从 @click="currentView = 'xxx'"
   - 改为 @click="switchView('xxx')"
   - 应用到所有4个导航按钮

改进效果:
 用户切换存储方式后,点击"我的文件"立即看到新数据
 所有视图切换都会自动刷新对应数据
 提升用户体验,无需手动刷新页面

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
WanWanYun
2025-11-12 15:43:03 +08:00
parent 0dc2ac9188
commit 1e19b41f48
2 changed files with 36 additions and 4 deletions

View File

@@ -612,16 +612,16 @@
<i class="fas fa-cloud"></i> 玩玩云
</div>
<div class="navbar-menu">
<div v-if="user && !user.is_admin" class="nav-item" :class="{active: currentView === 'files'}" @click="currentView = 'files'">
<div v-if="user && !user.is_admin" class="nav-item" :class="{active: currentView === 'files'}" @click="switchView('files')">
<i class="fas fa-folder"></i> 我的文件
</div>
<div v-if="user && !user.is_admin" class="nav-item" :class="{active: currentView === 'shares'}" @click="currentView = 'shares'">
<div v-if="user && !user.is_admin" class="nav-item" :class="{active: currentView === 'shares'}" @click="switchView('shares')">
<i class="fas fa-share-alt"></i> 我的分享
</div>
<div v-if="user && user.is_admin" class="nav-item" :class="{active: currentView === 'admin'}" @click="currentView = 'admin'">
<div v-if="user && user.is_admin" class="nav-item" :class="{active: currentView === 'admin'}" @click="switchView('admin')">
<i class="fas fa-user-shield"></i> 管理员
</div>
<div class="nav-item" :class="{active: currentView === 'settings'}" @click="currentView = 'settings'">
<div class="nav-item" :class="{active: currentView === 'settings'}" @click="switchView('settings')">
<i class="fas fa-cog"></i> 设置
</div>