1、菜单权限
菜单权限由之前的动态路由实现,不同的用户绑定不同的角色,前端根据不同的角色请求对应的路由信息,由此实现不同的用户角色可以看到不同的菜单。
2、指令权限(操作权限)
除了菜单权限外,页面上会有一些按钮和链接,根据实际需要,这些按钮或链接往往只针对特定的角色进行展示。比如审批按钮往往只针对有审批权限的用户开放,普通员工无法看到这些按钮,从而无法进行审批操作。
2.1. v-action
针对按钮和链接,可以使用v-action指令。
<template>
<!-- 校验是否有 dashboard 权限下的 add 操作权限 -->
<a-button v-action:add >添加用户</a-button>
<!-- 校验是否有 dashboard 权限下的 del 操作权限 -->
<a-button v-action:del>删除用户</a-button>
<!-- 校验是否有 dashboard 权限下的 edit 操作权限 -->
<a v-action:edit @click="edit(record)">修改</a>
</template>
2.2. v-if
除了按钮和链接以外,其它的一些组件或内容可以使用v-if指令。
<template>
<a-tabs>
<a-tab-pane v-if="$auth('dashboard.add')" tab="Tab 1">
some context..
</a-tab-pane>
<a-tab-pane v-if="$auth('dashboard.del')" tab="Tab 2">
some context..
</a-tab-pane>
<a-tab-pane v-if="$auth('dashboard.edit')" tab="Tab 3">
some context..
</a-tab-pane>
</a-tabs>
</template>