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