/** * @fileoverview 菜单构建工具模块。 * * 从扁平路由配置构建菜单树。根据 meta.moduleInfo 对页面进行逻辑分组, * 无需路由嵌套结构即可生成层级菜单。 * * 核心逻辑: * - 有 moduleInfo 的页面 → 归入对应模块分组(如"系统管理"下的"用户管理") * - 无 moduleInfo 的页面 → 作为顶级菜单项(如"首页") * - 模块分组和顶级项均按 meta.menuOrder 排序 */ import type { RouteRecordRaw } from 'vue-router'; import type { SideMenuItem } from '../types/layout-types'; /** * 从扁平路由配置构建菜单树。 * * 根据 meta.moduleInfo 将页面分组到模块菜单下; * 无 moduleInfo 的页面作为顶级菜单项。 * * @param routes - 扁平路由列表(由 buildRoutesFromConfigs 生成) * @param context.parentPath - 父路径前缀(如 '/'),用于生成绝对路径 */ export declare function createMenuTreeFromRoutes(routes: RouteRecordRaw[], context?: { parentPath?: string; }): SideMenuItem[]; /** * 菜单树去重。 * 按路径(item.to)去重,防止重复路由出现在菜单中。 * 递归处理子菜单,空分组和无路径项会被过滤。 */ export declare function dedupeMenuTree(items: SideMenuItem[], existed?: Set): SideMenuItem[]; /** * 读取路由配置并转换为菜单格式。 * 用于安装向导预览等场景,直接从 views 目录扫描生成菜单。 */ export declare function readRoutes(): SideMenuItem[]; //# sourceMappingURL=menu-builder.d.ts.map