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