菜单规则
MineAdmin 在菜单方面做了很多工作,兼顾路由和权限的一体化设计,即:路由就是权限
- 后台注解路由和权限路由的使用
- 前端的路由自动注册,以及扁平化处理
- 后端双鉴权的设计
- 无限子级菜单的设计
- 针对菜单记录日志的操作日志注解使用
菜单表重点字段说明
| 字段 | 说明 | 规则 | 建议 |
|---|---|---|---|
| type | 菜单类型 | M(菜单) B(按钮) L(外链) I(iFrame) | 无 |
| name | 菜单名称 | 比如:用户管理 | 一般指业务的简练概括,不宜太长 |
| code | 菜单标识 | 全局唯一,重复会导致前端报错 | 建议命名:模块名:菜单英文名:功能名 |
| route | 菜单路由(前端) | 全局唯一,重复会导致前端报错 | 建议命名:模块名/菜单英文名 |
| component | 前端视图页面 | 指定地址以模块名开头,不加斜杠 | 在新增菜单前,建议先增加视图的空白页面 |
注意事项
- 菜单类型涉及到树状结构,
按钮类型菜单不会出现在后台左侧菜单列表里面且不能新增子级菜单,而外链是指以新的窗口打开外部连接,iFrame是在后台打开外部连接 - 菜单标识设计为英文,
模块名、菜单名、功能名中间以冒号隔开 - 菜单路由要定义的层次分明,一眼可以看出属于哪个模块、哪个业务控制器,一般以
模块名、业务名为层次,中间用斜杠隔开 - 前端视图的目录存放在
src/views下面,指定视图页面地址,以当前模块名开头即可,比如:system/user/index。 那么注册路由的时候,前端路由系统会找src/views/system/user/index.vue文件