harsima / vue-backend

简单的后台管理框架
MIT License
883 stars 347 forks source link

按钮权限未起作用 #17

Closed vickhello closed 6 years ago

vickhello commented 6 years ago

在navilist.js中将“完整示例--->列表页面”中的“edit”权限注释,如下:

image

页面仍然显示“修改”按钮

image

细看“hasPermission\index.js”这部分代码加了一个console.log,如下:

image

浏览器中查看:

image
vickhello commented 6 years ago

刚才测试了一下,在navilist.js中放开“edit”权限,发现上图中的"permission list is undefined"这个应该是正确的。放开后,显示为

image

可为什么注释“edit”权限,前端页面仍然会显示“修改”按钮呢?

vickhello commented 6 years ago

harsima大牛,这个有方便交流的QQ群,或者微信群吗?

harsima commented 6 years ago

刚才又看了一下,想说的是你对每个异步路由中或者说权限路由中的permission字段肯定没有全覆盖到。 需要权限的路由需要加入permission字段

path: '/table',
meta:{
     permission:[]
},
harsima commented 6 years ago

你可以修改该文件,以保证当前环境下好用:

if(!permissionList){
    console.error(`权限判断不生效。因路由中不包含permission字段,请检查路由表设置。当前路由地址:${vnode.context.$route.path}`)
    return
}
if(typeof (permissionList) != "object" || !permissionList.length){
    console.error(`权限判断不生效。因路由中permission字段非数组类型或内容为空,请检查路由表设置。当前路由地址:${vnode.context.$route.path}`)
    return
}
if(!permissionList.includes(binding.value)){
    el.parentNode.removeChild(el)
}
vickhello commented 6 years ago

只改了一下判断条件,已经生效了 O(∩_∩)O

harsima commented 6 years ago

@javalihuang QQ交流群刚刚创建:745454791