feat(m11): add v-permission directive and button-level permission codes

This commit is contained in:
2026-05-25 01:41:50 +08:00
parent 1f599e5646
commit 3bb19537fe
6 changed files with 69 additions and 10 deletions
@@ -0,0 +1,27 @@
import { useAuthStore } from '../stores/auth'
export default {
mounted(el, binding) {
const auth = useAuthStore()
const requiredPermission = binding.value
if (!requiredPermission) return
const userPermissions = auth.permissions || []
const hasPermission = userPermissions.some(p => {
if (typeof p === 'string') {
if (requiredPermission.endsWith(':*')) {
const prefix = requiredPermission.slice(0, -2)
return p.startsWith(prefix)
}
return p === requiredPermission || p === '*:*'
}
return false
})
if (!hasPermission) {
el.parentNode?.removeChild(el)
}
}
}