Skip to content

Latest commit

 

History

History
67 lines (54 loc) · 2.36 KB

README_zh.md

File metadata and controls

67 lines (54 loc) · 2.36 KB

vue-authplugin

用于视图权限显示控制的一款轻量级Vue Plugin,支持指令、原型链等方法。

安装

$ npm install vue-authplugin

示例

import authPlugin from 'vue-authplugin'

Vue.use(authPlugin, {
    permissionCode: [101, 102, 103, 104, 105],
    permissionCodeMap: new Map([
      ['AUTH_LOGIN', 101],
      ['AUTH_SUBMIT', [102, 103]],
    ])
})

在初始化完成后,即可使用指令或原型链的形式调用验证方法:

<template>
  <!-- show Login btn if 101 is exists -->
  <button v-auth="'101'">Login</button>
  <!-- AUTH_LOGIN is Map to 101 -->
  <button v-auth="'AUTH_LOGIN'">Login</button>

  <!-- show Submit1 btn if 102 or 103 is exists -->
  <button v-auth="[102, 103]">Submit1</button>
  <button v-auth="'AUTH_SUBMIT'">Submit2</button>
</template>

使用规则

验证权限参数十分灵活,具体有以下形式可使用:

  • 传入String,检测权限表是否包含此权限
  • 传入Array,检测权限表是否包含数组中的任意一个权限
  • 传入Object,检测所有键值是否都通过校验,key为权限名称,value为是否需要此权限
  • 传入映射名称,即permissionCodeMap的Key,则实际检测对象为映射值

用法

使用this.$_auth.check验证成功或失败,则会返回true或false;使用指令形式,验证成功,则会在dom方法上添加data-auth="success"属性,验证失败,则会添加data-auth="fail",并设置display: none。

初始化

在使用Vue.use(authPlugin, options)时,options的各个选项为:

key desc type default required
name 指令名与Vue原型链上的键名 String auth false
permissionCode 权限表 Array [] true
permissionCodeMap 权限验证映射表 Object {} false

API

initPermissionCode(permissionCode)

  • 参数
    • { Array | Map } permissionCode

在初始化插件以后,有时权限表会更改,这是可通过此方法来�进行更新。记得在组件初始化之前调用此方法。

check(code)

  • 参数
    • {String | Object | Array} code
  • 返回值:true or false

查找权限表,验证所需权限是否满足,若满足则返回true,否则返回false。