fix: 修复页面刷新导致丢失权限的问题

This commit is contained in:
gaoyunqi
2024-02-27 15:19:54 +08:00
parent d524aef472
commit cb075df41c
3 changed files with 413 additions and 414 deletions

View File

@ -9,8 +9,6 @@ import { usePermissionStoreWithOut } from '/@/store/modules/permission';
export function createParamMenuGuard(router: Router) {
const permissionStore = usePermissionStoreWithOut();
router.beforeEach(async (to, _, next) => {
console.log('createParamMenuGuard', to);
to.fullPath = (to.fullPath as string) + convertQuery(to);
// filter no name route

View File

@ -94,14 +94,14 @@ export function createPermissionGuard(router: Router) {
next();
return;
}
const routes = await permissionStore.buildRoutesAction(false);
const routes = await permissionStore.buildRoutesAction();
routes.forEach((route) => {
router.addRoute(route as unknown as RouteRecordRaw);
});
router.addRoute(PAGE_NOT_FOUND_ROUTE as unknown as RouteRecordRaw);
permissionStore.setDynamicAddedRoute(true);
if (to.name === PAGE_NOT_FOUND_ROUTE.name) {

View File

@ -118,7 +118,7 @@ export const useUserStore = defineStore({
// save token
this.setToken(token);
return this.afterLoginAction(goHome);
return await this.afterLoginAction(goHome);
} catch (error) {
return Promise.reject(error);
}
@ -137,13 +137,14 @@ export const useUserStore = defineStore({
} else {
const permissionStore = usePermissionStore();
if (!permissionStore.isDynamicAddedRoute) {
if (!permissionStore.getIsDynamicAddedRoute) {
permissionStore.setDynamicAddedRoute(true);
const routes = await permissionStore.buildRoutesAction();
routes.forEach((route) => {
router.addRoute(route as unknown as RouteRecordRaw);
});
router.addRoute(PAGE_NOT_FOUND_ROUTE as unknown as RouteRecordRaw);
permissionStore.setDynamicAddedRoute(true);
}
goHome && (await router.replace(userInfo?.homePath || PageEnum.BASE_HOME));
}