// Author: fruit.com.cn import { computed } from 'vue' import { useUserStoreWithOut } from '@/store/modules/user' /** * 权限判断:权限码由登录接口下发并存在 user store 中。 * 用法:const { can, hasAny } = useRbac(); can('drama:create') */ export function useRbac() { const userStore = useUserStoreWithOut() const permissions = computed(() => { const list = userStore.getUserInfo?.permissions return Array.isArray(list) ? list : [] }) const can = (code) => permissions.value.includes(code) const hasAny = (...codes) => codes.some((code) => permissions.value.includes(code)) return { permissions, can, hasAny } }