菜单管理页主要包括菜单信息展示和菜单、目录、权限/按钮的增删改查操作,页面如下:
菜单展示页.png

菜单分类

菜单目前分为3类

  1. 目录(即文件夹,可以包含目录和菜单,不能跳转路径,目录可逐级向下建立,但目前首页菜单显示只支持显示到2级子目录,建议目录层数不超过2层
  2. 菜单(具有跳转作用,不能建立子菜单和目录)
    菜单和目录.png
    如系统管理为目录,下级的菜单管理等均为菜单
  3. 权限/按钮(页面上展示的按钮,可通过增加权限对具有不同权限的用户针对性展示)
    定时任务集成-菜单路由配置-02.png
    如这里的新增按钮

目录操作

新增

点击【新增】→【目录】
定时任务集成-菜单路由配置-01.png
3的位置选择上层目录所处位置,目录必须选定图标

修改

选中目录,点击【修改】
修改目录.png

删除

选中目录,点击【删除】
删除目录.png
点击【确认】,删除成功后看到如下提示:
删除目录成功.png

菜单操作

新增

点击【新增】→【目录】
定时任务集成-菜单路由配置-03.png
3的位置选择上层目录所处位置,目录不是必须选定图标。菜单的接口为controller中跳转页面的接口,如views/sys/menu/

  1. @Controller
  2. @RequestMapping("/views/sys/menu")
  3. public class SysMenuViewsController {
  4. @ApiOperation(value = "跳转至菜单页")
  5. @GetMapping({"/list", "/"})
  6. public String goToMenu() {
  7. return "sys/menu";
  8. }
  9. }

修改

选中目录,点击【修改】
修改菜单.png

删除

选中目录,点击【删除】
删除目录.png
点击【确认】,删除成功后看到如下提示:
删除目录成功.png

权限配置

系统支持通过配置菜单权限,针对不同角色,决定是否可以调用后台的接口
1.第一步,在需要授权的接口上增加授权,如这里更新主题的后台接口配置权限(@RequiresPermissions注解,后面配置需要的授权标识)

  1. @PostMapping("/layout/left-right/update")
  2. @RequiresPermissions("theme:update")
  3. @ApiOperation(value="保存左右布局",notes = "将新左右布局保存,并生成新的布局css和elementUIcss")
  4. public JsonResult<Void> saveLeftRightLayout(@RequestBody LayoutLeftRightForm layout) throws Exception {
  5. if(layout==null){
  6. layout.setAdminHeaderBgColor("#3385ff");
  7. layout.setAdminHeaderHoverBgColor("#2286e2");
  8. layout.setAdminHeaderFontColor("#fff");
  9. layout.setAdminLeftBgColor("#262626");
  10. layout.setAdminLeftHoverBgColor("#151515");
  11. layout.setAdminLeftFontColor("#fff");
  12. layout.setAdminLeftSelectFontColor("#1890ff");
  13. layout.setContentColor("#1890ff");
  14. }

2.第二步,配置菜单的授权标识,【新增】或【修改菜单时】配置
定时任务集成-菜单路由配置-03.png
3.第三步,点击【角色管理】,对角色授予对应的权限
角色赋予权限.png
这样,登录对应角色的账号可以正常调用接口,如果没有增增加授权标识,会出现如下提示:
没有配置权限.png

按钮/权限操作

按钮/权限操作主要为赋予权限,针对不同角色的用户起到鉴别是否显示和授权的作用
1.第一步,用户需要在页面上建立这个按钮,并使用isAuth(permission)方法,permission为授权标识,如菜单页面修改菜单的标识

  1. <el-button v-if="isAuth('sys:menu:update')"
  2. type="text" @click="addOrUpdateHandle(scope.row.menuId)"
  3. icon="el-icon-edit">修改
  4. </el-button>

2.第二步,新增菜单,并增加授权标识,注意:按钮的上级菜单为按钮所在页面菜单【新增】→【按钮】
新增权限按钮.png
3.第三步,点击【角色管理】,对角色授予对应的权限
按钮授权.png
这样,登录对应角色的帐号可以看到按钮并正常使用,角色管理如果没有配置权限或者按钮缺少授权标识,则此按钮对此角色为不可见
隐藏按钮.png

[!WARNING|label:注意] [1] 菜单和目录的删除菜单需要首先删除子目录或菜单 [2] 为避免接口地址冲突,菜单的接口地址建议增加相应的标识前缀,如views等