巴青农资商城

permission.js 948B

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