ruoyi-plus-soybean/src/utils/router/module.ts
2023-02-12 13:13:03 +08:00

32 lines
735 B
TypeScript

/**
* 权限路由排序
* @param routes - 权限路由
*/
export function sortRoutes(routes: AuthRoute.Route[]) {
return routes
.sort((next, pre) => Number(next.meta?.order) - Number(pre.meta?.order))
.map(i => {
if (i.children) sortRoutes(i.children);
return i;
});
}
/**
* 处理全部导入的路由模块
* @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 {
window.console.error(`路由模块解析出错: key = ${key}`);
}
});
return sortRoutes(routes);
}