Browse Source

feat(router): 动态router

gemercheung 3 years ago
parent
commit
783ed70f24

+ 7 - 0
src/router/helper/routeHelper.ts

@@ -45,6 +45,8 @@ function dynamicImport(
   component: string,
 ) {
   const keys = Object.keys(dynamicViewsModules);
+  console.log('component', component);
+  // debugger;
   const matchKeys = keys.filter((key) => {
     const k = key.replace('../../views', '');
     const startFlag = component.startsWith('/');
@@ -71,6 +73,11 @@ function dynamicImport(
 export function transformObjToRoute<T = AppRouteModule>(routeList: AppRouteModule[]): T[] {
   routeList.forEach((route) => {
     const component = route.component as string;
+    // console.log('route', route);
+    // if (route.menuId === 1) {
+    //   console.log('route', route);
+    //   debugger;
+    // }
     if (component) {
       if (component.toUpperCase() === 'LAYOUT') {
         route.component = LayoutMap.get(component.toUpperCase());

+ 1 - 1
src/router/types.ts

@@ -16,7 +16,7 @@ export interface AppRouteRecordRaw extends Omit<RouteRecordRaw, 'meta'> {
   children?: AppRouteRecordRaw[];
   props?: Recordable;
   fullPath?: string;
-  menuId?: number;
+  // menuId?: number;
 }
 
 export interface MenuTag {

+ 4 - 5
src/store/modules/permission.ts

@@ -24,7 +24,7 @@ import { getPermCode } from '/@/api/sys/user';
 import { useMessage } from '/@/hooks/web/useMessage';
 import { PageEnum } from '/@/enums/pageEnum';
 
-import { makeMenuTree } from '/@/utils/treeUtils';
+// import { makeMenuTree, TreeMenuNode } from '/@/utils/treeUtils';
 
 interface PermissionState {
   // Permission code list
@@ -188,10 +188,9 @@ export const usePermissionStore = defineStore({
           let routeList: AppRouteRecordRaw[] = [];
           try {
             // this.changePermissionCode();
-            const tdata = await getMenuList();
-            console.log('tdata', tdata);
-            console.log(' makeMenuTree(tdata)', makeMenuTree(tdata));
-            routeList = makeMenuTree(tdata) as AppRouteRecordRaw[];
+            // const tdata: TreeMenuNode[] = await getMenuList();
+            // const treeData = makeMenuTree(tdata);
+            routeList = (await getMenuList()) as AppRouteRecordRaw[];
 
             console.log('routeList', routeList);
           } catch (error) {

+ 2 - 0
src/utils/treeUtils.ts

@@ -1,3 +1,5 @@
+// import type { AppRouteRecordRaw } from '/@/router/types';
+
 export interface TreeNode {
   id: number;
   parentId: number;