permission.js 561 B

123456789101112131415161718192021
  1. import store from '@/store'
  2. /**
  3. * @param {Array} value
  4. * @returns {Boolean}
  5. * @example see @/views/permission/directive.vue
  6. */
  7. export default function checkPermission(value) {
  8. if (value && value instanceof Array && value.length > 0) {
  9. const roles = store.getters && store.getters.roles
  10. const permissionRoles = value
  11. const hasPermission = roles.some(role => {
  12. return permissionRoles.includes(role)
  13. })
  14. return hasPermission
  15. } else {
  16. console.error(`need roles! Like v-permission="['admin','editor']"`)
  17. return false
  18. }
  19. }