| 1 |
- {"remainingRequest":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/babel-loader/lib/index.js!/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/eslint-loader/index.js??ref--13-0!/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/src/utils/permission.js","dependencies":[{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/src/utils/permission.js","mtime":1616226196000},{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/cache-loader/dist/cjs.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/babel-loader/lib/index.js","mtime":499162500000},{"path":"/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/node_modules/eslint-loader/index.js","mtime":499162500000}],"contextDependencies":[],"result":[{"type":"Buffer","data":"base64:aW1wb3J0ICJjb3JlLWpzL21vZHVsZXMvZXMuYXJyYXkuaW5kZXgtb2YiOwoKLyoqDQogKiDop5LoibLmnYPpmZDmjqfliLbnu4Tku7YNCiAqLwppbXBvcnQgc3RvcmUgZnJvbSAnQC9zdG9yZSc7CmV4cG9ydCBkZWZhdWx0IHsKICBpbnN0YWxsOiBmdW5jdGlvbiBpbnN0YWxsKFZ1ZSkgewogICAgdmFyIF90aGlzID0gdGhpczsKCiAgICAvLyDmt7vliqDlhajlsYDmlrnms5UKICAgIFZ1ZS5wcm90b3R5cGUuJGhhc1JvbGUgPSB0aGlzLmhhc1JvbGU7CiAgICBWdWUucHJvdG90eXBlLiRoYXNBbnlSb2xlID0gdGhpcy5oYXNBbnlSb2xlOwogICAgVnVlLnByb3RvdHlwZS4kaGFzUGVybWlzc2lvbiA9IHRoaXMuaGFzUGVybWlzc2lvbjsKICAgIFZ1ZS5wcm90b3R5cGUuJGhhc0FueVBlcm1pc3Npb24gPSB0aGlzLmhhc0FueVBlcm1pc3Npb247IC8vIOa3u+WKoOiHquWumuS5ieaMh+S7pAoKICAgIFZ1ZS5kaXJlY3RpdmUoJ3JvbGUnLCB7CiAgICAgIGluc2VydGVkOiBmdW5jdGlvbiBpbnNlcnRlZChlbCwgYmluZGluZykgewogICAgICAgIGlmICghX3RoaXMuaGFzUm9sZShiaW5kaW5nKSkgZWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbCk7CiAgICAgIH0KICAgIH0pOwogICAgVnVlLmRpcmVjdGl2ZSgnYW55LXJvbGUnLCB7CiAgICAgIGluc2VydGVkOiBmdW5jdGlvbiBpbnNlcnRlZChlbCwgYmluZGluZykgewogICAgICAgIGlmICghX3RoaXMuaGFzQW55Um9sZShiaW5kaW5nKSkgZWwucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChlbCk7CiAgICAgIH0KICAgIH0pOwogICAgVnVlLmRpcmVjdGl2ZSgncGVybWlzc2lvbicsIHsKICAgICAgaW5zZXJ0ZWQ6IGZ1bmN0aW9uIGluc2VydGVkKGVsLCBiaW5kaW5nKSB7CiAgICAgICAgaWYgKCFfdGhpcy5oYXNQZXJtaXNzaW9uKGJpbmRpbmcpKSBlbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsKTsKICAgICAgfQogICAgfSk7CiAgICBWdWUuZGlyZWN0aXZlKCdhbnktcGVybWlzc2lvbicsIHsKICAgICAgaW5zZXJ0ZWQ6IGZ1bmN0aW9uIGluc2VydGVkKGVsLCBiaW5kaW5nKSB7CiAgICAgICAgaWYgKCFfdGhpcy5oYXNBbnlQZXJtaXNzaW9uKGJpbmRpbmcpKSBlbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGVsKTsKICAgICAgfQogICAgfSk7CiAgfSwKCiAgLyoqDQogICAqIOaYr+WQpuacieafkOS6m+inkuiJsg0KICAgKiBAcGFyYW0gcm9sZSDlrZfnrKbmiJblrZfnrKbmlbDnu4QNCiAgICogQHJldHVybnMge2Jvb2xlYW59DQogICAqLwogIGhhc1JvbGU6IGZ1bmN0aW9uIGhhc1JvbGUocm9sZSkgewogICAgaWYgKCFyb2xlKSByZXR1cm4gdHJ1ZTsKICAgIHZhciByb2xlcyA9IHN0b3JlLnN0YXRlLnVzZXIucm9sZXM7CiAgICBpZiAoIXJvbGVzKSByZXR1cm4gZmFsc2U7CgogICAgaWYgKEFycmF5LmlzQXJyYXkocm9sZSkpIHsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCByb2xlLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgaWYgKHJvbGVzLmluZGV4T2Yocm9sZVtpXSkgPT09IC0xKSByZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAgIHJldHVybiB0cnVlOwogICAgfQoKICAgIHJldHVybiByb2xlcy5pbmRleE9mKHJvbGUpICE9PSAtMTsKICB9LAoKICAvKioNCiAgICog5piv5ZCm5pyJ5Lu75oSP6KeS6ImyDQogICAqIEBwYXJhbSByb2xlIOWtl+espuaIluWtl+espuaVsOe7hA0KICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0NCiAgICovCiAgaGFzQW55Um9sZTogZnVuY3Rpb24gaGFzQW55Um9sZShyb2xlKSB7CiAgICBpZiAoIXJvbGUpIHJldHVybiB0cnVlOwogICAgdmFyIHJvbGVzID0gc3RvcmUuc3RhdGUudXNlci5yb2xlczsKICAgIGlmICghcm9sZXMpIHJldHVybiBmYWxzZTsKCiAgICBpZiAoQXJyYXkuaXNBcnJheShyb2xlKSkgewogICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHJvbGUubGVuZ3RoOyBpKyspIHsKICAgICAgICBpZiAocm9sZXMuaW5kZXhPZihyb2xlW2ldKSAhPT0gLTEpIHJldHVybiB0cnVlOwogICAgICB9CgogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CgogICAgcmV0dXJuIHJvbGVzLmluZGV4T2Yocm9sZSkgIT09IC0xOwogIH0sCgogIC8qKg0KICAgKiDmmK/lkKbmnInmn5DkupvmnYPpmZANCiAgICogQHBhcmFtIGF1dGgg5a2X56ym5oiW5a2X56ym5pWw57uEDQogICAqIEByZXR1cm5zIHtib29sZWFufQ0KICAgKi8KICBoYXNQZXJtaXNzaW9uOiBmdW5jdGlvbiBoYXNQZXJtaXNzaW9uKGF1dGgpIHsKICAgIGlmICghYXV0aCkgcmV0dXJuIHRydWU7CiAgICB2YXIgYXV0aG9yaXRpZXMgPSBzdG9yZS5zdGF0ZS51c2VyLmF1dGhvcml0aWVzOwogICAgaWYgKCFhdXRob3JpdGllcykgcmV0dXJuIGZhbHNlOwoKICAgIGlmIChBcnJheS5pc0FycmF5KGF1dGgpKSB7CiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYXV0aC5sZW5ndGg7IGkrKykgewogICAgICAgIGlmIChhdXRob3JpdGllcy5pbmRleE9mKGF1dGhbaV0pID09PSAtMSkgcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0KCiAgICByZXR1cm4gYXV0aG9yaXRpZXMuaW5kZXhPZihhdXRoKSAhPT0gLTE7CiAgfSwKCiAgLyoqDQogICAqIOaYr+WQpuacieS7u+aEj+adg+mZkA0KICAgKiBAcGFyYW0gYXV0aCDlrZfnrKbmiJblrZfnrKbmlbDnu4QNCiAgICogQHJldHVybnMge2Jvb2xlYW59DQogICAqLwogIGhhc0FueVBlcm1pc3Npb246IGZ1bmN0aW9uIGhhc0FueVBlcm1pc3Npb24oYXV0aCkgewogICAgaWYgKCFhdXRoKSByZXR1cm4gdHJ1ZTsKICAgIHZhciBhdXRob3JpdGllcyA9IHN0b3JlLnN0YXRlLnVzZXIuYXV0aG9yaXRpZXM7CiAgICBpZiAoIWF1dGhvcml0aWVzKSByZXR1cm4gZmFsc2U7CgogICAgaWYgKEFycmF5LmlzQXJyYXkoYXV0aCkpIHsKICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhdXRoLmxlbmd0aDsgaSsrKSB7CiAgICAgICAgaWYgKGF1dGhvcml0aWVzLmluZGV4T2YoYXV0aFtpXSkgIT09IC0xKSByZXR1cm4gdHJ1ZTsKICAgICAgfQoKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQoKICAgIHJldHVybiBhdXRob3JpdGllcy5pbmRleE9mKGF1dGgpICE9PSAtMTsKICB9Cn07"},{"version":3,"sources":["/usr/local/develop/php/www/waibao/project/NN2020060801/addons/admin/src/utils/permission.js"],"names":["store","install","Vue","prototype","$hasRole","hasRole","$hasAnyRole","hasAnyRole","$hasPermission","hasPermission","$hasAnyPermission","hasAnyPermission","directive","inserted","el","binding","parentNode","removeChild","role","roles","state","user","Array","isArray","i","length","indexOf","auth","authorities"],"mappings":"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","sourcesContent":["/**\r\n * 角色权限控制组件\r\n */\r\nimport store from '@/store'\r\n\r\nexport default {\r\n install(Vue) {\r\n // 添加全局方法\r\n Vue.prototype.$hasRole = this.hasRole;\r\n Vue.prototype.$hasAnyRole = this.hasAnyRole;\r\n Vue.prototype.$hasPermission = this.hasPermission;\r\n Vue.prototype.$hasAnyPermission = this.hasAnyPermission;\r\n\r\n // 添加自定义指令\r\n Vue.directive('role', {\r\n inserted: (el, binding) => {\r\n if (!this.hasRole(binding)) el.parentNode.removeChild(el);\r\n }\r\n });\r\n Vue.directive('any-role', {\r\n inserted: (el, binding) => {\r\n if (!this.hasAnyRole(binding)) el.parentNode.removeChild(el);\r\n }\r\n });\r\n Vue.directive('permission', {\r\n inserted: (el, binding) => {\r\n if (!this.hasPermission(binding)) el.parentNode.removeChild(el);\r\n }\r\n });\r\n Vue.directive('any-permission', {\r\n inserted: (el, binding) => {\r\n if (!this.hasAnyPermission(binding)) el.parentNode.removeChild(el);\r\n }\r\n });\r\n },\r\n /**\r\n * 是否有某些角色\r\n * @param role 字符或字符数组\r\n * @returns {boolean}\r\n */\r\n hasRole(role) {\r\n if (!role) return true;\r\n let roles = store.state.user.roles;\r\n if (!roles) return false;\r\n if (Array.isArray(role)) {\r\n for (let i = 0; i < role.length; i++) {\r\n if (roles.indexOf(role[i]) === -1) return false;\r\n }\r\n return true;\r\n }\r\n return roles.indexOf(role) !== -1;\r\n },\r\n /**\r\n * 是否有任意角色\r\n * @param role 字符或字符数组\r\n * @returns {boolean}\r\n */\r\n hasAnyRole(role) {\r\n if (!role) return true;\r\n let roles = store.state.user.roles;\r\n if (!roles) return false;\r\n if (Array.isArray(role)) {\r\n for (let i = 0; i < role.length; i++) {\r\n if (roles.indexOf(role[i]) !== -1) return true;\r\n }\r\n return false;\r\n }\r\n return roles.indexOf(role) !== -1;\r\n },\r\n /**\r\n * 是否有某些权限\r\n * @param auth 字符或字符数组\r\n * @returns {boolean}\r\n */\r\n hasPermission(auth) {\r\n if (!auth) return true;\r\n let authorities = store.state.user.authorities;\r\n if (!authorities) return false;\r\n if (Array.isArray(auth)) {\r\n for (let i = 0; i < auth.length; i++) {\r\n if (authorities.indexOf(auth[i]) === -1) return false;\r\n }\r\n return true;\r\n }\r\n return authorities.indexOf(auth) !== -1;\r\n },\r\n /**\r\n * 是否有任意权限\r\n * @param auth 字符或字符数组\r\n * @returns {boolean}\r\n */\r\n hasAnyPermission(auth) {\r\n if (!auth) return true;\r\n let authorities = store.state.user.authorities;\r\n if (!authorities) return false;\r\n if (Array.isArray(auth)) {\r\n for (let i = 0; i < auth.length; i++) {\r\n if (authorities.indexOf(auth[i]) !== -1) return true;\r\n }\r\n return false;\r\n }\r\n return authorities.indexOf(auth) !== -1;\r\n }\r\n}\r\n"]}]}
|