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