From b06f6a316b6a8293bb8aba6bfff33336b66c032a Mon Sep 17 00:00:00 2001
From: ahaos <8406649+lhailgl@user.noreply.gitee.com>
Date: 星期三, 13 十二月 2023 09:01:52 +0800
Subject: [PATCH] !64 版本升级 * Merge branch 'dev' of gitee.com:JavaLionLi/plus-ui into ts * 升级依赖 * !61 fix: 删除重复环境变量ElUploadInstance * fix: 删除重复环境变量ElUploadInstance

---
 src/store/modules/permission.ts |   65 ++++++++++++++++----------------
 1 files changed, 32 insertions(+), 33 deletions(-)

diff --git a/src/store/modules/permission.ts b/src/store/modules/permission.ts
index ed64e46..14d2387 100644
--- a/src/store/modules/permission.ts
+++ b/src/store/modules/permission.ts
@@ -2,35 +2,36 @@
 import router, { constantRoutes, dynamicRoutes } from '@/router';
 import store from '@/store';
 import { getRouters } from '@/api/menu';
+import auth from '@/plugins/auth';
+import { RouteRecordRaw } from 'vue-router';
+
 import Layout from '@/layout/index.vue';
 import ParentView from '@/components/ParentView/index.vue';
 import InnerLink from '@/layout/components/InnerLink/index.vue';
-import auth from '@/plugins/auth';
-import { RouteOption } from 'vue-router';
+
 // 鍖归厤views閲岄潰鎵�鏈夌殑.vue鏂囦欢
 const modules = import.meta.glob('./../../views/**/*.vue');
-
 export const usePermissionStore = defineStore('permission', () => {
-  const routes = ref<RouteOption[]>([]);
-  const addRoutes = ref<RouteOption[]>([]);
-  const defaultRoutes = ref<RouteOption[]>([]);
-  const topbarRouters = ref<RouteOption[]>([]);
-  const sidebarRouters = ref<RouteOption[]>([]);
+  const routes = ref<RouteRecordRaw[]>([]);
+  const addRoutes = ref<RouteRecordRaw[]>([]);
+  const defaultRoutes = ref<RouteRecordRaw[]>([]);
+  const topbarRouters = ref<RouteRecordRaw[]>([]);
+  const sidebarRouters = ref<RouteRecordRaw[]>([]);
 
-  const setRoutes = (newRoutes: RouteOption[]): void => {
+  const setRoutes = (newRoutes: RouteRecordRaw[]): void => {
     addRoutes.value = newRoutes;
     routes.value = constantRoutes.concat(newRoutes);
   };
-  const setDefaultRoutes = (routes: RouteOption[]): void => {
+  const setDefaultRoutes = (routes: RouteRecordRaw[]): void => {
     defaultRoutes.value = constantRoutes.concat(routes);
   };
-  const setTopbarRoutes = (routes: RouteOption[]): void => {
+  const setTopbarRoutes = (routes: RouteRecordRaw[]): void => {
     topbarRouters.value = routes;
   };
-  const setSidebarRouters = (routes: RouteOption[]): void => {
+  const setSidebarRouters = (routes: RouteRecordRaw[]): void => {
     sidebarRouters.value = routes;
   };
-  const generateRoutes = async (): Promise<RouteOption[]> => {
+  const generateRoutes = async (): Promise<RouteRecordRaw[]> => {
     const res = await getRouters();
     const { data } = res;
     const sdata = JSON.parse(JSON.stringify(data));
@@ -47,7 +48,7 @@
     setSidebarRouters(constantRoutes.concat(sidebarRoutes));
     setDefaultRoutes(sidebarRoutes);
     setTopbarRoutes(defaultRoutes);
-    return new Promise<RouteOption[]>((resolve) => resolve(rewriteRoutes));
+    return new Promise<RouteRecordRaw[]>((resolve) => resolve(rewriteRoutes));
   };
 
   /**
@@ -56,22 +57,20 @@
    * @param lastRouter 涓婁竴绾ц矾鐢�
    * @param type 鏄惁鏄噸鍐欒矾鐢�
    */
-  const filterAsyncRouter = (asyncRouterMap: RouteOption[], lastRouter?: RouteOption, type = false): RouteOption[] => {
+  const filterAsyncRouter = (asyncRouterMap: RouteRecordRaw[], lastRouter?: RouteRecordRaw, type = false): RouteRecordRaw[] => {
     return asyncRouterMap.filter((route) => {
       if (type && route.children) {
         route.children = filterChildren(route.children, undefined);
       }
-      if (route.component) {
-        // Layout ParentView 缁勪欢鐗规畩澶勭悊
-        if (route.component === 'Layout') {
-          route.component = Layout;
-        } else if (route.component === 'ParentView') {
-          route.component = ParentView;
-        } else if (route.component === 'InnerLink') {
-          route.component = InnerLink;
-        } else {
-          route.component = loadView(route.component);
-        }
+      // Layout ParentView 缁勪欢鐗规畩澶勭悊
+      if (route.component?.toString() === 'Layout') {
+        route.component = Layout;
+      } else if (route.component?.toString() === 'ParentView') {
+        route.component = ParentView;
+      } else if (route.component?.toString() === 'InnerLink') {
+        route.component = InnerLink;
+      } else {
+        route.component = loadView(route.component);
       }
       if (route.children != null && route.children && route.children.length) {
         route.children = filterAsyncRouter(route.children, route, type);
@@ -82,11 +81,11 @@
       return true;
     });
   };
-  const filterChildren = (childrenMap: RouteOption[], lastRouter?: RouteOption): RouteOption[] => {
-    let children: RouteOption[] = [];
+  const filterChildren = (childrenMap: RouteRecordRaw[], lastRouter?: RouteRecordRaw): RouteRecordRaw[] => {
+    let children: RouteRecordRaw[] = [];
     childrenMap.forEach((el) => {
       if (el.children && el.children.length) {
-        if (el.component === 'ParentView' && !lastRouter) {
+        if (el.component?.toString() === 'ParentView' && !lastRouter) {
           el.children.forEach((c) => {
             c.path = el.path + '/' + c.path;
             if (c.children && c.children.length) {
@@ -101,8 +100,8 @@
       if (lastRouter) {
         el.path = lastRouter.path + '/' + el.path;
         if (el.children && el.children.length) {
-          children = children.concat(filterChildren(el.children, el))
-          return
+          children = children.concat(filterChildren(el.children, el));
+          return;
         }
       }
       children = children.concat(el);
@@ -113,8 +112,8 @@
 });
 
 // 鍔ㄦ�佽矾鐢遍亶鍘嗭紝楠岃瘉鏄惁鍏峰鏉冮檺
-export const filterDynamicRoutes = (routes: RouteOption[]) => {
-  const res: RouteOption[] = [];
+export const filterDynamicRoutes = (routes: RouteRecordRaw[]) => {
+  const res: RouteRecordRaw[] = [];
   routes.forEach((route) => {
     if (route.permissions) {
       if (auth.hasPermiOr(route.permissions)) {

--
Gitblit v1.9.3