permissions.ts
/**
* 权限判断
* @param {string[]} permissions //全部权限
* @param {string} current // 当前权限
* @param { function boolean} init // 权限判断方法
*/
// 定义接口
interface Classpermissions {
current: string;
init: () => boolean;
}
export class Permissions implements Classpermissions {
private permissions: string[];
current: string
constructor(current: string) {
this.permissions = Storage.get('permissions')
this.current = current
}
init() {
const permissions = this.permissions
if (this.current && this.current.length > 0) {
return permissions.some(v => {
return v === this.current
})
} else {
return false
}
}
}
index.vue
/**
* 权限判断
* @param {string} permissions //按钮权限
* @param { function boolean} controlShow // 返回值
*/
<div v-if="controlShow(permissions)" >显隐内容....</div>
import { Permissions } from "@/typeScript/permissions/index";
const controlShow = (per:string) => {
const permission = new Permissions(per);
return permission.init();
};