jeecg-boot前端v-has权限控制

v-has是一个很方便的前端权限控制标签,目前只支持一个授权标识,如果需要两个或以上的权限与或运算就不支持了。

解决:

修改路径下 src/utils/hasPermission.js 中的 filterGlobalPermission 方法

原代码

 修改后

 代码:

复制代码
  let value = binding.value
  // 目前只支持全与、全或
  // 含“||”
  if (value.includes('||')) {
    let testPerms = value.split('||')
    for (let i = 0; i < testPerms.length; i++) {
      if (permissions.indexOf(testPerms[i]) != -1) {
        return
      }
    }
    el.parentNode.removeChild(el)
  }
  // 含“&&”
  else if (value.includes('&&')) {
    let testPerms = value.split('&&')
    for (let i = 0; i < testPerms.length; i++) {
      if (permissions.indexOf(testPerms[i]) == -1) {
        el.parentNode.removeChild(el)
      }
    }
  }
  //什么都不含
  // update--begin--autor:cyq------for:按钮权限,权限前加!表示没有这个权限时显示 -------
  else {
    if (value[0] === '!') {
      if (permissions.includes(value.slice(1))) {
        el.parentNode.removeChild(el)
      }
    } else {
      if (!permissions.includes(binding.value)) {
        el.parentNode.removeChild(el)
      }
    }
  }
复制代码

 

只支持全“&&”或全“||”,混合甚至带括号的太复杂,暂不支持。

 

自己对照大概位置进行修改。

posted @   不爱学习的摆烂王  阅读(395)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示