fix: 🐛 修复移除所有路由导致注销后重新登陆页面卡死

This commit is contained in:
Ray.Hao
2025-02-08 11:18:20 +08:00
parent 7b8298a8c5
commit dc85bb0afe

View File

@@ -51,15 +51,16 @@ export const usePermissionStore = defineStore("permission", () => {
* 重置路由
*/
const resetRouter = () => {
// 清空本地存储的路由和菜单数据
routes.value = [];
mixedLayoutLeftRoutes.value = [];
// 从 Vue Router 中移除所有动态注册的路由
router.getRoutes().forEach((route) => {
if (route.name) {
// 从 router 实例中移除动态路由
routes.value.forEach((route) => {
if (route.name && !constantRoutes.find((r) => r.name === route.name)) {
router.removeRoute(route.name);
}
});
// 清空本地存储的路由和菜单数据
routes.value = [];
mixedLayoutLeftRoutes.value = [];
isRoutesLoaded.value = false;
};