fix(projects): fix repeat routes
This commit is contained in:
parent
37d20b8e0d
commit
2c543f19ec
@ -14,7 +14,7 @@ export const generatedRoutes: GeneratedRoute[] = [
|
||||
title: '403',
|
||||
i18nKey: 'route.403',
|
||||
constant: true,
|
||||
hideInMenu: true
|
||||
hideInMenu: true
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -25,7 +25,7 @@ hideInMenu: true
|
||||
title: '404',
|
||||
i18nKey: 'route.404',
|
||||
constant: true,
|
||||
hideInMenu: true
|
||||
hideInMenu: true
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -36,7 +36,7 @@ hideInMenu: true
|
||||
title: '500',
|
||||
i18nKey: 'route.500',
|
||||
constant: true,
|
||||
hideInMenu: true
|
||||
hideInMenu: true
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -140,7 +140,8 @@ hideInMenu: true
|
||||
title: 'function_super-page',
|
||||
i18nKey: 'route.function_super-page',
|
||||
icon: 'ic:round-supervisor-account',
|
||||
order: 5
|
||||
order: 5,
|
||||
roles: ['R_SUPER']
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -162,8 +163,7 @@ hideInMenu: true
|
||||
title: 'function_toggle-auth',
|
||||
i18nKey: 'route.function_toggle-auth',
|
||||
icon: 'ic:round-construction',
|
||||
order: 4,
|
||||
roles: ['R_SUPER']
|
||||
order: 4
|
||||
}
|
||||
}
|
||||
]
|
||||
@ -188,7 +188,7 @@ hideInMenu: true
|
||||
title: 'login',
|
||||
i18nKey: 'route.login',
|
||||
constant: true,
|
||||
hideInMenu: true
|
||||
hideInMenu: true
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -225,7 +225,7 @@ hideInMenu: true
|
||||
i18nKey: 'route.manage_role',
|
||||
icon: 'carbon:user-role',
|
||||
order: 2,
|
||||
roles: ['R_ADMIN']
|
||||
roles: ['R_SUPER']
|
||||
}
|
||||
},
|
||||
{
|
||||
|
@ -56,7 +56,13 @@ export const useRouteStore = defineStore(SetupStoreId.Route, () => {
|
||||
const authRoutes = shallowRef<ElegantConstRoute[]>([]);
|
||||
|
||||
function addAuthRoutes(routes: ElegantConstRoute[]) {
|
||||
authRoutes.value = [...authRoutes.value, ...routes];
|
||||
const authRoutesMap = new Map(authRoutes.value.map(route => [route.name, route]));
|
||||
|
||||
routes.forEach(route => {
|
||||
authRoutesMap.set(route.name, route);
|
||||
});
|
||||
|
||||
authRoutes.value = Array.from(authRoutesMap.values());
|
||||
}
|
||||
|
||||
const removeRouteFns: (() => void)[] = [];
|
||||
@ -227,6 +233,8 @@ export const useRouteStore = defineStore(SetupStoreId.Route, () => {
|
||||
|
||||
const vueRoutes = getAuthVueRoutes(sortRoutes);
|
||||
|
||||
resetVueRoutes();
|
||||
|
||||
addRoutesToVueRouter(vueRoutes);
|
||||
|
||||
getGlobalMenus(sortRoutes);
|
||||
@ -241,10 +249,6 @@ export const useRouteStore = defineStore(SetupStoreId.Route, () => {
|
||||
*/
|
||||
function addRoutesToVueRouter(routes: RouteRecordRaw[]) {
|
||||
routes.forEach(route => {
|
||||
if (route.name && router.hasRoute(route.name)) {
|
||||
router.removeRoute(route.name);
|
||||
}
|
||||
|
||||
const removeFn = router.addRoute(route);
|
||||
addRemoveRouteFn(removeFn);
|
||||
});
|
||||
@ -291,7 +295,8 @@ export const useRouteStore = defineStore(SetupStoreId.Route, () => {
|
||||
}
|
||||
|
||||
if (authRouteMode.value === 'static') {
|
||||
return isRouteExistByRouteName(routeName, authRoutes.value);
|
||||
const { authRoutes: staticAuthRoutes } = createStaticRoutes();
|
||||
return isRouteExistByRouteName(routeName, staticAuthRoutes);
|
||||
}
|
||||
|
||||
const { data } = await fetchIsRouteExist(routeName);
|
||||
|
Loading…
Reference in New Issue
Block a user