import { storeToRefs } from "pinia"; import pinia from '@/utils/pinia'; import { useUserStore } from "@/store/user"; const userStore = useUserStore(pinia); const { roles } = storeToRefs(userStore); /** * @param {Array} value * @returns {Boolean} * @example see @/views/permission/directive.vue */ export default function checkPermission(value) { if (value && value instanceof Array && value.length > 0) { const roles = store.user && roles.value; const permissionRoles = value; const hasPermission = roles.some((role) => { return permissionRoles.includes(role); }); if (!hasPermission) { return false; } return true; } else { console.error(`need roles! Like v-permission="['admin','editor']"`); return false; } }