From c303ec1a23c4b1fbad4fbda9007af2147dc327e2 Mon Sep 17 00:00:00 2001
From: vben <anncwb@126.com>
Date: 星期四, 03 十二月 2020 21:49:32 +0800
Subject: [PATCH] refactor: refactor route

---
 src/store/modules/permission.ts |   20 ++++++++------------
 1 files changed, 8 insertions(+), 12 deletions(-)

diff --git a/src/store/modules/permission.ts b/src/store/modules/permission.ts
index b46f938..ab1497b 100644
--- a/src/store/modules/permission.ts
+++ b/src/store/modules/permission.ts
@@ -1,4 +1,3 @@
-import { REDIRECT_ROUTE } from '/@/router/constant';
 import type { AppRouteRecordRaw, Menu } from '/@/router/types';
 import store from '/@/store/index';
 import { hotModuleUnregisterModule } from '/@/utils/helper/vuexHelper';
@@ -15,14 +14,12 @@
 import { toRaw } from 'vue';
 import { getMenuListById } from '/@/api/sys/menu';
 
-import { genRouteModule, transformObjToRoute } from '/@/utils/helper/routeHelper';
-import { transformRouteToMenu } from '/@/utils/helper/menuHelper';
+import { transformObjToRoute } from '/@/router/helper/routeHelper';
+import { transformRouteToMenu } from '/@/router/helper/menuHelper';
 
 import { useMessage } from '/@/hooks/web/useMessage';
 // import { warn } from '/@/utils/log';
 import { useI18n } from '/@/hooks/web/useI18n';
-
-const { t } = useI18n();
 
 const { createMessage } = useMessage();
 const NAME = 'permission';
@@ -87,6 +84,7 @@
 
   @Action
   async buildRoutesAction(id?: number | string): Promise<AppRouteRecordRaw[]> {
+    const { t } = useI18n();
     let routes: AppRouteRecordRaw[] = [];
     const roleList = toRaw(userStore.getRoleListState);
 
@@ -95,17 +93,15 @@
     // role permissions
     if (permissionMode === PermissionModeEnum.ROLE) {
       routes = filter(asyncRoutes, (route) => {
-        const { meta } = route;
-        const { roles } = meta!;
+        const { meta } = route as AppRouteRecordRaw;
+        const { roles } = meta || {};
         if (!roles) return true;
         return roleList.some((role) => roles.includes(role));
       });
       //  濡傛灉纭畾涓嶉渶瑕佸仛鍚庡彴鍔ㄦ�佹潈闄�,璇峰皢涓嬮潰鏁翠釜鍒ゆ柇娉ㄩ噴
     } else if (permissionMode === PermissionModeEnum.BACK) {
-      const messageKey = 'loadMenu';
       createMessage.loading({
         content: t('sys.app.menuLoading'),
-        key: messageKey,
         duration: 1,
       });
       // 杩欓噷鑾峰彇鍚庡彴璺敱鑿滃崟閫昏緫鑷淇敼
@@ -118,10 +114,10 @@
       routeList = transformObjToRoute(routeList);
       //  鍚庡彴璺敱杞彍鍗曠粨鏋�
       const backMenuList = transformRouteToMenu(routeList);
+
       this.commitBackMenuListState(backMenuList);
-      // 鐢熸垚璺敱
-      routes = genRouteModule(routeList) as AppRouteRecordRaw[];
-      routes.push(REDIRECT_ROUTE);
+
+      routes = routeList;
     }
     return routes;
   }

--
Gitblit v1.8.0