auth.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. import { getStorageItem, setStorageItem, delStorageItem } from '@/utils/storage'
  2. const TokenKey = 'AJReportToken'
  3. const ShareTokenKey = 'AJReportShareToken'
  4. const AccessUserKey = 'AJReportUser'
  5. export function getToken() {
  6. return getStorageItem(TokenKey)
  7. }
  8. export function getShareToken() {
  9. return getStorageItem(ShareTokenKey) == null ? '' : getStorageItem(ShareTokenKey);
  10. }
  11. export function setToken(token) {
  12. return setStorageItem(TokenKey, token)
  13. }
  14. export function setShareToken(shareToken) {
  15. return setStorageItem(ShareTokenKey, shareToken)
  16. }
  17. export function delToken() {
  18. return delStorageItem(TokenKey)
  19. }
  20. export function delShareToken() {
  21. return delStorageItem(ShareTokenKey)
  22. }
  23. export function getAccessUser() {
  24. return getStorageItem(AccessUserKey)
  25. }
  26. export function setAccessUser(accessUser) {
  27. return setStorageItem(AccessUserKey, accessUser)
  28. }
  29. export function delAccessUser() {
  30. return delStorageItem(AccessUserKey)
  31. }
  32. // 获取当前用户的所有的权限码,判断是否有
  33. export function hasPermission(permissionStr) {
  34. // 不需要权限
  35. if (permissionStr == null || permissionStr.length == 0) {
  36. return true
  37. }
  38. // 登录用户的全部权限码
  39. let user = getAccessUser()
  40. if (user == null || user.authorities == null) {
  41. return false
  42. }
  43. let opAuthoritiesStr = JSON.stringify(user.authorities)
  44. // permissionStr可能是:authorityManage、authorityManage:insert、authorityManage:insert|authorityManage:update
  45. let needPermissionArray = permissionStr.split('|')
  46. for (let i = 0; i < needPermissionArray.length; i++) {
  47. // 只要有其中的一个权限,就返回true
  48. let needPermission = needPermissionArray[i] // authorityManage、authorityManage:insert
  49. needPermission = needPermission.replace(/\ /g, "") // 去除authorityManage : insert中:前后的空格
  50. if(opAuthoritiesStr.indexOf(needPermission)>=0){
  51. return true
  52. }
  53. }
  54. return false
  55. }