2
0

fix: 路由加载合并排序(还存在切换账号菜单缓存问题)

This commit is contained in:
TsMask
2024-12-02 20:03:31 +08:00
parent f6bfceab29
commit 18dacb0c75
5 changed files with 37 additions and 92 deletions

View File

@@ -79,6 +79,8 @@ export const generatedRoutes: GeneratedRoute[] = [
i18nKey: 'route.user-center'
}
},
// 下面是管理员角色才有
{
name: 'function',
path: '/function',
@@ -87,7 +89,7 @@ export const generatedRoutes: GeneratedRoute[] = [
title: 'function',
i18nKey: 'route.function',
icon: 'icon-park-outline:all-application',
order: 6,
order: 1002,
roles: ['admin'],
},
children: [
@@ -205,7 +207,7 @@ export const generatedRoutes: GeneratedRoute[] = [
title: 'about',
i18nKey: 'route.about',
icon: 'fluent:book-information-24-regular',
order: 100,
order: 1003,
roles: ['admin']
}
},

View File

@@ -3,9 +3,9 @@
// Generated by elegant-router
// Read more: https://github.com/soybeanjs/elegant-router
import type { RouteRecordRaw } from 'vue-router';
import type { ElegantConstRoute } from '@elegant-router/vue';
import type { RouteKey, RouteMap, RoutePath } from '@elegant-router/types';
import type {RouteRecordRaw} from 'vue-router';
import type {ElegantConstRoute} from '@elegant-router/vue';
import type {RouteKey, RouteMap} from '@elegant-router/types';
import BaseLayout from '@/layouts/base-layout/index.vue';
import BlankLayout from '@/layouts/blank-layout/index.vue';
@@ -84,14 +84,14 @@ function transformElegantRouteToVueRoute(
route.props = true;
}
const { name, path, component, children, ...rest } = route;
const {name, path, component, children, ...rest} = route;
const vueRoute = { name, path, ...rest } as RouteRecordRaw;
const vueRoute = {name, path, ...rest} as RouteRecordRaw;
try {
if (component) {
if (isSingleLevelRoute(route)) {
const { layout, view } = getSingleLevelRouteComponent(component);
const {layout, view} = getSingleLevelRouteComponent(component);
const singleLevelRoute: RouteRecordRaw = {
path,
@@ -208,18 +208,5 @@ const routeMap: RouteMap = {
* @param name route name
*/
export function getRoutePath<T extends RouteKey>(name: T) {
console.log(name);
return routeMap[name];
}
/**
* get route name by route path
* @param path route path
*/
export function getRouteName(path: RoutePath) {
const routeEntries = Object.entries(routeMap) as [RouteKey, RoutePath][];
const routeName: RouteKey | null = routeEntries.find(([, routePath]) => routePath === path)?.[0] || null;
return routeName;
}