mirror of
https://gitcode.com/flipped-aurora/gin-vue-admin.git
synced 2026-05-19 13:47:52 +00:00
* feature: 根据 #377 pr进行修改embed, 打包静态文件夹与配置文件 * 修改角色id为uint * 修改日志格式 Co-authored-by: SliverHorn <503551462@qq.com> Co-authored-by: cg81344 <cg831344@126.com>
42 lines
1.1 KiB
JavaScript
42 lines
1.1 KiB
JavaScript
// 权限按钮展示指令
|
|
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)
|
|
}
|
|
}
|
|
})
|
|
}
|
|
}
|
|
|