feat(app): 侧边栏刷新按钮升级为清缓存+全量重拉(用户信息/菜单/管理员状态),避免旧缓存导致安装状态显示错乱

This commit is contained in:
TermiNexus committed 2026-08-13 08:22:16 +08:00
1 parent e654d147db
commit 2746fe4ce9
1 file changed
+9 -2
+9 -2
View File
@@ -128,14 +128,21 @@ function openRoleSwitcher(): void {
roleSwitcherVisible.value = true
}
/** 强制刷新菜单(应用安装/卸载/菜单调整后手动同步侧边栏) */
/** 强制刷新菜单(应用安装/卸载/菜单调整后手动同步侧边栏)
* 先清 localStorage 缓存(menus/userInfo/roles),再重新拉取用户信息+菜单+管理员状态,
* 一次点击彻底同步,避免旧缓存导致"已安装/未安装"显示错乱。 */
const menuRefreshing = ref(false)
async function refreshMenus(): Promise<void> {
if (menuRefreshing.value) return
menuRefreshing.value = true
try {
// 清除本地缓存(user store 内部方法:清内存态 + localStorage)
userStore.reset()
// 重新拉取用户信息、菜单、管理员状态(reset 后 isLoggedIn=false,需重新获取)
await userStore.fetchUserInfo()
await userStore.fetchMenus()
ElMessage.success('菜单已刷新')
await userStore.fetchAdminCheck()
ElMessage.success('已清缓存并刷新菜单')
} catch {
ElMessage.error('菜单刷新失败,请重试')
} finally {