更新0.1.1版本

This commit is contained in:
Ah jung
2021-07-07 10:26:14 +08:00
parent b74b6e61a4
commit d423f27e94
174 changed files with 15966 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
import { useUserStore } from '@/store/modules/user'
export function usePermission() {
const userStore = useUserStore();
/**
* 检查权限
* @param accesses
*/
function _someRoles(accesses: string[]) {
return userStore.getRoles.some(item => {
const { value }: any = item
return accesses.includes(value)
})
}
/**
* 判断是否存在权限
* 可用于 v-if 显示逻辑
* */
function hasPermission(accesses: string[]): boolean {
if (!accesses.length) return true
return _someRoles(accesses)
}
/**
* 是否包含指定的所有权限
* @param accesses
*/
function hasEveryPermission(accesses: string[]): boolean {
const rolesList = userStore.getRoles
if (Array.isArray(accesses)) {
return accesses.every((access) => !!rolesList[access])
}
throw new Error(`[hasEveryPermission]: ${ accesses } should be a array !`)
}
/**
* 是否包含其中某个权限
* @param accesses
* @param accessMap
*/
function hasSomePermission(accesses: string[]): boolean {
const rolesList = userStore.getRoles
if (Array.isArray(accesses)) {
return accesses.some((access) => !!rolesList[access])
}
throw new Error(`[hasSomePermission]: ${ accesses } should be a array !`)
}
return { hasPermission, hasEveryPermission, hasSomePermission };
}