1、菜单权限
    菜单权限由之前的动态路由实现,不同的用户绑定不同的角色,前端根据不同的角色请求对应的路由信息,由此实现不同的用户角色可以看到不同的菜单。

    2、指令权限(操作权限)
    除了菜单权限外,页面上会有一些按钮和链接,根据实际需要,这些按钮或链接往往只针对特定的角色进行展示。比如审批按钮往往只针对有审批权限的用户开放,普通员工无法看到这些按钮,从而无法进行审批操作。

    2.1. v-action
    针对按钮和链接,可以使用v-action指令。

    1. <template>
    2. <!-- 校验是否有 dashboard 权限下的 add 操作权限 -->
    3. <a-button v-action:add >添加用户</a-button>
    4. <!-- 校验是否有 dashboard 权限下的 del 操作权限 -->
    5. <a-button v-action:del>删除用户</a-button>
    6. <!-- 校验是否有 dashboard 权限下的 edit 操作权限 -->
    7. <a v-action:edit @click="edit(record)">修改</a>
    8. </template>

    2.2. v-if
    除了按钮和链接以外,其它的一些组件或内容可以使用v-if指令。

    1. <template>
    2. <a-tabs>
    3. <a-tab-pane v-if="$auth('dashboard.add')" tab="Tab 1">
    4. some context..
    5. </a-tab-pane>
    6. <a-tab-pane v-if="$auth('dashboard.del')" tab="Tab 2">
    7. some context..
    8. </a-tab-pane>
    9. <a-tab-pane v-if="$auth('dashboard.edit')" tab="Tab 3">
    10. some context..
    11. </a-tab-pane>
    12. </a-tabs>
    13. </template>