UNPKG

w-vue-middle

Version:

统一公共服务组件

63 lines (57 loc) 1.45 kB
/* * @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"; } });