西藏巴青项目

permission.js 1015B

1234567891011121314151617181920212223242526272829303132333435
  1. import { useUserStore } from '@/store/user'
  2. /**
  3. * 接口/业务权限校验(非页面权限)
  4. * 用于:是否调用某接口、是否展示某操作按钮等
  5. * @param {string[]} value 如 ['system:user:add']
  6. */
  7. export function checkPermi(value) {
  8. if (value && Array.isArray(value) && value.length > 0) {
  9. const { state } = useUserStore()
  10. const permissions = state.permissions || []
  11. const all = '*:*:*'
  12. return permissions.some(
  13. (p) => all === p || value.includes(p)
  14. )
  15. }
  16. console.error("need permissions! Like checkPermi(['system:user:add'])")
  17. return false
  18. }
  19. /**
  20. * 角色权限校验
  21. * @param {string[]} value 如 ['admin']
  22. */
  23. export function checkRole(value) {
  24. if (value && Array.isArray(value) && value.length > 0) {
  25. const { state } = useUserStore()
  26. const roles = state.roles || []
  27. const superAdmin = 'admin'
  28. return roles.some((r) => superAdmin === r || value.includes(r))
  29. }
  30. console.error("need roles! Like checkRole(['admin'])")
  31. return false
  32. }