fix: 修复页面刷新导致丢失权限的问题
This commit is contained in:
@ -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
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user