Blame view

src/utils/permission.js 604 Bytes
d7d9c38c2   Adam   auto commit the c...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
  import store from '@/store'
  
  /**
   * @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.getters && store.getters.roles
      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
    }
  }