提交 c5b1f279 编写于 作者: Mr.奇淼('s avatar Mr.奇淼(

添加指令:v-auth,根据当前角色来选择是否展示页面某些元素

上级 8560f2f0
// 权限按钮展示指令
import { store } from '@/store/index'
const userInfo = store.getters['user/userInfo']
export const auth = (Vue) => {
Vue.directive('auth', {
// 当被绑定的元素插入到 DOM 中时……
bind: function (el, binding) {
let type = ""
switch (Object.prototype.toString.call(binding.value)) {
case "[object Array]":
type = "Array"
break;
case "[object String]":
type = "String"
break;
case "[object Number]":
type = "Number"
break;
default:
type = ""
break;
}
if (type === "") {
/* eslint-disable */
console.error("v-auth必须是Array,Number,String属性,暂不支持其他属性")
/* eslint-enable */
return
}
const waitUse = binding.value.toString().split(",")
let flag = waitUse.some(item=>item==userInfo.authorityId)
if (binding.modifiers.not) {
flag = !flag
}
if(!flag){
el.style.display = 'none'
}
}
})
}
......@@ -47,6 +47,11 @@ Vue.use(APlayer, {
});
import {auth} from '@/directive/auth'
// 按钮权限指令
auth(Vue)
new Vue({
render: h => h(App),
router,
......@@ -56,6 +61,3 @@ new Vue({
//引入echarts
import echarts from 'echarts'
Vue.prototype.$echarts = echarts;
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册