From 5e440a7dc434c43eb828fa62cf9c12b0078b8565 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期一, 20 一月 2025 11:36:18 +0800 Subject: [PATCH] !173 发布 5.3.0-BETA 公测版本 Merge pull request !173 from 疯狂的狮子Li/dev --- src/store/modules/permission.ts | 19 ++++++++++++------- 1 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/store/modules/permission.ts b/src/store/modules/permission.ts index 8bab2d8..43fcef8 100644 --- a/src/store/modules/permission.ts +++ b/src/store/modules/permission.ts @@ -9,6 +9,8 @@ import ParentView from '@/components/ParentView/index.vue'; import InnerLink from '@/layout/components/InnerLink/index.vue'; +import { createCustomNameComponent } from '@/utils/createCustomNameComponent'; + // 鍖归厤views閲岄潰鎵�鏈夌殑.vue鏂囦欢 const modules = import.meta.glob('./../../views/**/*.vue'); export const usePermissionStore = defineStore('permission', () => { @@ -19,13 +21,13 @@ const sidebarRouters = ref<RouteRecordRaw[]>([]); const getRoutes = (): RouteRecordRaw[] => { - return routes.value; + return routes.value as RouteRecordRaw[]; }; const getSidebarRoutes = (): RouteRecordRaw[] => { - return sidebarRouters.value; + return sidebarRouters.value as RouteRecordRaw[]; }; const getTopbarRoutes = (): RouteRecordRaw[] => { - return topbarRouters.value; + return topbarRouters.value as RouteRecordRaw[]; }; const setRoutes = (newRoutes: RouteRecordRaw[]): void => { @@ -82,7 +84,7 @@ } else if (route.component?.toString() === 'InnerLink') { route.component = InnerLink; } else { - route.component = loadView(route.component); + route.component = loadView(route.component, route.name as string); } if (route.children != null && route.children && route.children.length) { route.children = filterAsyncRouter(route.children, route, type); @@ -153,12 +155,15 @@ return res; }; -export const loadView = (view: any) => { +export const loadView = (view: any, name: string) => { let res; for (const path in modules) { - const dir = path.split('views/')[1].split('.vue')[0]; + const viewsIndex = path.indexOf('/views/'); + let dir = path.substring(viewsIndex + 7); + dir = dir.substring(0, dir.lastIndexOf('.vue')); if (dir === view) { - res = () => modules[path](); + res = createCustomNameComponent(modules[path], { name }); + return res; } } return res; -- Gitblit v1.9.3