Files
easygoadmin-wiki/EasyGoAdmin_Gin_NaiveVue/zh/modules/menu.md
T
2026-10-25 17:24:27 +08:00

46 lines
1.6 KiB
Markdown

# 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)