权限
适用场景
中后台常见的前端权限控制大概可概括为以下场景:
菜单权限控制,针对某个菜单/页面进行权限管理,有则能看到此页面,否则将展示无权限。 针对某页面中的某触发器进行权限管理,例如对列表页的某一条数据进行删除操作。有权限情况下则展示删除按钮。
使用
目前权限分为两种细粒度: 基于权限码(菜单的 permission 字段) 基于角色码(角色的 code 字段)
业务逻辑使用
vue
<script setup lang="ts">
import usePermission from '@/hooks/permission';
const {hasPermission,hasRole} = usePermission();
// 权限判断
if (hasPermission('permission') || hasAnyPermission(['log', 'log:index'])) {
// 权限通过
}
// 角色判断
if (hasRole('SuperAdmin') || hasAnyRole(['ceo', 'cfo'])) {
// 角色通过
}
</script>
指令使用
vue
<a-button v-permission="['sys:level:edit']">修改</a-button>