feat(projects): 新增静态路由

This commit is contained in:
Soybean
2022-03-30 01:19:37 +08:00
parent bbfdcc8276
commit ca2dfa6185
34 changed files with 1591 additions and 1875 deletions

23
src/utils/router/auth.ts Normal file
View File

@ -0,0 +1,23 @@
/* eslint-disable @typescript-eslint/no-unused-vars */
/**
* 根据用户权限过滤路由
* @param routes - 权限路由
* @param permission - 权限
*/
export function filterAuthRoutesByUserPermission(routes: AuthRoute.Route[], permission: Auth.RoleType) {
const filters: AuthRoute.Route[] = [];
routes.forEach((route) => {
filterAuthRouteByUserPermission(route, permission);
});
return filters;
}
/**
* 根据用户权限过滤单个路由
* @param route - 单个权限路由
* @param permission - 权限
*/
function filterAuthRouteByUserPermission(route: AuthRoute.Route, permission: Auth.RoleType): AuthRoute.Route[] {
return [];
}

View File

@ -33,7 +33,7 @@ export function transformAuthRoutesToSearchMenus(routes: AuthRoute.Route[], tree
/**
* 将单个权限路由转换成vue路由
* @param route - 权限路由
* @param item - 单个权限路由
*/
function transformAuthRouteToVueRoute(item: AuthRoute.Route) {
const resultRoute: RouteRecordRaw[] = [];

View File

@ -1,3 +1,4 @@
export * from './module';
export * from './helpers';
export * from './cache';
export * from './menu';

View File

@ -0,0 +1,28 @@
import { consoleError } from '../common';
/**
* 权限路由排序
* @param routes - 权限路由
*/
function sortRoutes(routes: AuthRoute.Route[]) {
return routes.sort((next, pre) => Number(next.meta?.order) - Number(pre.meta?.order));
}
/**
* 处理全部导入的路由模块
* @param modules - 路由模块
*/
export function handleModuleRoutes(modules: AuthRoute.RouteModule) {
const routes: AuthRoute.Route[] = [];
Object.keys(modules).forEach((key) => {
const item = modules[key].default;
if (item) {
routes.push(item);
} else {
consoleError(`路由模块解析出错: key = ${key}`);
}
});
return sortRoutes(routes);
}