From 364dfb969de09b97c4629e1c46b9ed9c2352da1c Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期一, 07 十月 2024 10:45:25 +0800
Subject: [PATCH] update 优化代码

---
 src/store/modules/permission.ts |   22 +++++++++++++++-------
 1 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/src/store/modules/permission.ts b/src/store/modules/permission.ts
index a8611a9..e90df4c 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,12 @@
   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];
     if (dir === view) {
-      res = () => modules[path]();
+      res = createCustomNameComponent(modules[path], { name });
     }
   }
   return res;
@@ -200,7 +202,13 @@
   allRoutes.forEach((route) => {
     const name = route.name.toString();
     if (name && nameList.includes(name)) {
-      console.error(`璺敱鍚嶇О: [${name}] 閲嶅, 浼氶�犳垚 404`);
+      const message = `璺敱鍚嶇О: [${name}] 閲嶅, 浼氶�犳垚 404`;
+      console.error(message);
+      ElNotification({
+        title: '璺敱鍚嶇О閲嶅',
+        message,
+        type: 'error'
+      });
       return;
     }
     nameList.push(route.name.toString());

--
Gitblit v1.9.3