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