# 6.3 菜单管理 :::tip 概述 菜单(gin_menu,平台级)一张表同时承担三件事:**前端路由定义**(path/component)、**侧边栏展示**(树形/图标/排序)、**权限节点承载**(permission 列)。后端菜单管理即前端路由管理。 ::: ## 功能清单 | 接口 | 说明 | |---|---| | Page / List / Detail / Add / Update / Delete / BatchDelete | 标准维护(树形数据) | ## 关键字段语义 | 字段 | 语义 | |---|---| | parent_id | 树形层级(目录 → 菜单/节点) | | path / component | 前端路由路径 / `views` 下组件相对路径 | | permission | 权限节点码(`sys:user:add`),type=1 节点专用此列 | | type | 0-菜单(页面)1-节点(纯权限点) | | target | 0-组件 1-内链 2-外链 | | status / hide | 停用 / 不可见(路由保留但侧边栏隐藏) | ## 动态菜单联动 ```text 用户登录 → /api/index/getMenus 返回按角色过滤的菜单树 → 前端 asyncRoute store 生成路由表 → addRoute 注入 + 侧边栏渲染 ``` 菜单行的 component 路径必须真实存在于 `ui/src/views` 下,否则路由懒加载失败。 ## 代码生成器的落点 生成器为新模块幂等创建菜单行(页面菜单 + 权限节点),挂载位置由 `generator.parentMenuId` 指定——菜单/权限/路由三者一致性由工具保证。 ## 管理界面 `system/menu`:树形表格 + 拖拽排序 + 新增/编辑(类型、图标、组件路径、权限码)。 ## 相关 - [3.9 权限节点配置](/zh/guide/permission.html) - [9.5 路由与动态菜单](/zh/frontend/router.html)