🐛 修复管理员标签页刷新时的UI闪烁

- adminTab初始值直接从localStorage读取,而非在checkLoginStatus中恢复
- 这样Vue初始化时就已经是正确的标签页,避免先显示概览再切换的闪烁

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-11-30 11:11:20 +08:00
parent c4d3c15403
commit af15781154

View File

@@ -22,7 +22,11 @@ createApp({
fileViewMode: 'grid', // 文件显示模式: grid 大图标, list 列表 fileViewMode: 'grid', // 文件显示模式: grid 大图标, list 列表
shareViewMode: 'list', // 分享显示模式: grid 大图标, list 列表 shareViewMode: 'list', // 分享显示模式: grid 大图标, list 列表
debugMode: false, // 调试模式(管理员可切换) debugMode: false, // 调试模式(管理员可切换)
adminTab: 'overview', // 管理员页面当前标签overview, settings, monitor, users, tools adminTab: (() => {
// 从localStorage恢复管理员标签页防止刷新时UI闪烁
const saved = localStorage.getItem('adminTab');
return (saved && ['overview', 'settings', 'monitor', 'users', 'tools'].includes(saved)) ? saved : 'overview';
})(), // 管理员页面当前标签overview, settings, monitor, users, tools
// 表单数据 // 表单数据
loginForm: { loginForm: {
@@ -1070,14 +1074,6 @@ handleDragLeave(e) {
targetView = 'files'; targetView = 'files';
} }
// 恢复管理员标签页
if (this.user.is_admin) {
const savedAdminTab = localStorage.getItem('adminTab');
if (savedAdminTab && ['overview', 'settings', 'monitor', 'users', 'tools'].includes(savedAdminTab)) {
this.adminTab = savedAdminTab;
}
}
// 强制切换到目标视图并加载数据 // 强制切换到目标视图并加载数据
this.switchView(targetView, true); this.switchView(targetView, true);
} }