fix: 修复页面刷新导致丢失权限的问题
This commit is contained in:
@ -9,8 +9,6 @@ import { usePermissionStoreWithOut } from '/@/store/modules/permission';
|
|||||||
export function createParamMenuGuard(router: Router) {
|
export function createParamMenuGuard(router: Router) {
|
||||||
const permissionStore = usePermissionStoreWithOut();
|
const permissionStore = usePermissionStoreWithOut();
|
||||||
router.beforeEach(async (to, _, next) => {
|
router.beforeEach(async (to, _, next) => {
|
||||||
console.log('createParamMenuGuard', to);
|
|
||||||
|
|
||||||
to.fullPath = (to.fullPath as string) + convertQuery(to);
|
to.fullPath = (to.fullPath as string) + convertQuery(to);
|
||||||
|
|
||||||
// filter no name route
|
// filter no name route
|
||||||
|
|||||||
@ -94,14 +94,14 @@ export function createPermissionGuard(router: Router) {
|
|||||||
next();
|
next();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const routes = await permissionStore.buildRoutesAction(false);
|
|
||||||
|
const routes = await permissionStore.buildRoutesAction();
|
||||||
|
|
||||||
routes.forEach((route) => {
|
routes.forEach((route) => {
|
||||||
router.addRoute(route as unknown as RouteRecordRaw);
|
router.addRoute(route as unknown as RouteRecordRaw);
|
||||||
});
|
});
|
||||||
|
|
||||||
router.addRoute(PAGE_NOT_FOUND_ROUTE as unknown as RouteRecordRaw);
|
router.addRoute(PAGE_NOT_FOUND_ROUTE as unknown as RouteRecordRaw);
|
||||||
|
|
||||||
permissionStore.setDynamicAddedRoute(true);
|
permissionStore.setDynamicAddedRoute(true);
|
||||||
|
|
||||||
if (to.name === PAGE_NOT_FOUND_ROUTE.name) {
|
if (to.name === PAGE_NOT_FOUND_ROUTE.name) {
|
||||||
|
|||||||
@ -118,7 +118,7 @@ export const useUserStore = defineStore({
|
|||||||
// save token
|
// save token
|
||||||
this.setToken(token);
|
this.setToken(token);
|
||||||
|
|
||||||
return this.afterLoginAction(goHome);
|
return await this.afterLoginAction(goHome);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
return Promise.reject(error);
|
return Promise.reject(error);
|
||||||
}
|
}
|
||||||
@ -137,13 +137,14 @@ export const useUserStore = defineStore({
|
|||||||
} else {
|
} else {
|
||||||
const permissionStore = usePermissionStore();
|
const permissionStore = usePermissionStore();
|
||||||
|
|
||||||
if (!permissionStore.isDynamicAddedRoute) {
|
if (!permissionStore.getIsDynamicAddedRoute) {
|
||||||
|
permissionStore.setDynamicAddedRoute(true);
|
||||||
|
|
||||||
const routes = await permissionStore.buildRoutesAction();
|
const routes = await permissionStore.buildRoutesAction();
|
||||||
routes.forEach((route) => {
|
routes.forEach((route) => {
|
||||||
router.addRoute(route as unknown as RouteRecordRaw);
|
router.addRoute(route as unknown as RouteRecordRaw);
|
||||||
});
|
});
|
||||||
router.addRoute(PAGE_NOT_FOUND_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));
|
goHome && (await router.replace(userInfo?.homePath || PageEnum.BASE_HOME));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user