ebike-plus-ui/src/router/route-output.ts

25 lines
734 B
TypeScript
Raw Normal View History

2024-04-11 00:15:57 +08:00
import { dynamicRoutes } from "@/router/route";
2024-04-08 00:13:27 +08:00
export function initSetRouter() {
2024-04-08 20:25:28 +08:00
console.log("路由数据处理");
2024-04-11 00:15:57 +08:00
// 过滤后的结果
let filteredData = filterByRole(dynamicRoutes[0].children);
console.log("路由处理完", filteredData);
2024-04-08 00:13:27 +08:00
}
2024-04-11 00:15:57 +08:00
// 过滤路由树,返回有权限的树
export const filterByRole = (nodes: any) => {
return nodes.filter((item: any) => {
if (item.meta && item.meta.roles) {
if (!roleBase(item.meta.roles)) return false;
}
if (item.children) item.children = filterByRole(item.children);
return true;
});
};
// 校验角色权限
export const roleBase = (roles: Array<string>) => {
let userRoles = ["admin"];
return userRoles.some(el => roles.includes(el));
};