fix:联调权限接口

This commit is contained in:
liangdong
2026-01-13 18:32:56 +08:00
parent c6a4604d1f
commit 05496ae4c4
28 changed files with 1234 additions and 382 deletions

View File

@@ -0,0 +1,33 @@
import { componentMap } from "./routeMap";
/**
* 组装函数:将后端原始嵌套树重组为前端要求的骨架结构
* @param backendTree 后端返回的原始数据 (包含 backend, business 等顶层节点的树)
*/
export const transformBackendTree = (backendTree: any[]): any[] => {
if (!backendTree || !Array.isArray(backendTree)) return [];
// 排序操作
const sortedTree = [...backendTree].sort((a, b) => {
const sortA = a.sort ?? 999; // 兜底值,防止没有 sort 字段
const sortB = b.sort ?? 999;
return sortA - sortB;
});
return sortedTree.map(item => {
// 2. 构造当前节点
const newNode: any = {
...item,
code: componentMap[item.code],
originalCode: item.code, // 保留一份原始 code 备用
};
// 3. 递归处理 children
if (item.children && item.children.length > 0) {
newNode.children = transformBackendTree(item.children);
} else {
newNode.children = null;
}
return newNode;
});
};