w-vue-middle
Version:
统一公共服务组件
63 lines (57 loc) • 1.45 kB
JavaScript
/*
* @Author: Jason Liu
* @Date: 2023-11-08 17:08:59
* @Desc: 按钮权限编码
*/
import Vue from "vue";
let apps = undefined;
const hasAuthbutton = code => {
const isAdmin =
$storage.userInfo.userId == "admin" ||
$storage.userInfo.userId == "liu.chao";
if (isAdmin) {
//超级管理员账号有最高级权限
return true;
} else {
const isEnable = $storage.get("system_authbutton_enable") == "1";
if (isEnable) {
//启动按钮设置
if (!apps) {
apps = $storage.get("STSTEM_INFO").toJson([]);
}
let pass = false;
try {
apps.forEach(app => {
app.menus.forEach(item => {
if (item.menu.name == $router.history.current.name) {
app.menus.forEach(button => {
if (
button.menu.menuType == "F" &&
button.menu.name == code &&
button.menu.parentId == item.menu.menuMapId
) {
pass = true;
}
});
throw false;
}
});
});
} catch (error) {}
return pass;
} else {
return true;
}
}
};
Vue.prototype.$hasAuth = code => {
return hasAuthbutton(code);
};
Vue.directive("wAuthCode", (el, binding) => {
let pass = hasAuthbutton(binding.value);
if (pass) {
el.style.display = null;
} else {
el.style.display = "none";
}
});