本文介绍: v–auth=”[‘admin–contract–barter–add‘]” 或 v–auth=”admin–contract–barter-add“看别人写的这两种也行 但是我只有下面这种方法起作用了。authAll表示必须有所有的权限才可以,缺一不可。先创建一个js文件 plugins.js。再在同级创建一个tools.js文件。最后就可以在页面上使用了。在main.js中全局引入。
// import {
// auth,
// authAll
// } from "./tools";
import tools from "./tools.js"
// import Vue from 'vue'
function install(Vue, options) {
Vue.prototype.$auth = tools.auth;
Vue.prototype.$authAll = tools.authAll;
// 注册 v-auth 和 v-auth-all 指令
Vue.directive('auth', {
inserted: (el, binding) => {
if (!auth(binding.value)) {
el.remove()
}
}
})
Vue.directive('auth-all', {
inserted: (el, binding) => {
if (!authAll(binding.value)) {
el.remove()
}
}
})
}
export default {
install
}
var roles = [];
roles = uni.getStorageSync("storeRoleRules") ? uni.getStorageSync("storeRoleRules").split(",") : [];
var storeUserType = uni.getStorageSync("storeUserType")
// console.log(roles, '权限');
console.log(storeUserType, '身份');
// 管理员是0 普通员工是1
function hasPermission(permission) {
return roles.includes(permission)
}
/**
* 权限数据,如果传入为 array 时,匹配到其中一项则鉴权通过,并显示 slot 内容
* @param value
* @returns {*}
*/
function auth(value) {
let auth;
if (storeUserType == '0') {
return true
}
if (typeof value === 'string') {
auth = value !== '' ? hasPermission(value) : true
} else {
auth = value.length > 0 ? value.some(item => hasPermission(item)) : true;
}
return auth
}
/**
* 权限数据,如果传入为 array 时,全部匹配则鉴权通过,并显示 slot 内容
* @param value
* @returns {*}
*/
function authAll(value) {
if (storeUserType == '0') {
return true
}
if (value && value.constructor === Array) {
return value.length > 0 ? value.every(item => hasPermission(item)) : true
}
return true;
}
export default {
auth,
authAll
}
// 权限
import plugins from '@/utils/plugins.js';
Vue.use(plugins);
v-auth=”[‘admin–contract-barter-add‘]” 或 v-auth=”admin–contract-barter-add”
<view class="go-publish" v-auth="['admin-add']" v-if="$auth(['admin-add'])" @click="goPublish1">
发布商品券
</view>
<view v-authAll="['admin-add','admin-edit']" v-if="$authAll(['admin-add','admin-edit'])"></view>
原文地址:https://blog.csdn.net/qq_51538602/article/details/134812195
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_48080.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。