| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- // 权限按钮展示指令
- import { useUserStore } from '@/pinia/modules/user'
- export default {
- install: (app) => {
- const userStore = useUserStore()
- app.directive('auth', {
- // 当被绑定的元素插入到 DOM 中时……
- mounted: function(el, binding) {
- const userInfo = userStore.userInfo
- 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 === '') {
- el.parentNode.removeChild(el)
- return
- }
- const waitUse = binding.value.toString().split(',')
- let flag = waitUse.some(item => Number(item) === userInfo.authorityId)
- if (binding.modifiers.not) {
- flag = !flag
- }
- if (!flag) {
- el.parentNode.removeChild(el)
- }
- }
- })
- }
- }
|