auth.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import Cookies from 'js-cookie'
  2. const TokenKey = 'dy_admin_token'
  3. // const CrossTokenKey = 'Admin-Token'
  4. const CrossTokenKey = 'Admin-Token'
  5. function getCookieDomain() {
  6. let host = location.hostname
  7. const ip = /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/
  8. if (ip.test(host) === true || host === 'localhost') return host
  9. const regex = /([^]*).*/
  10. const match = host.match(regex)
  11. if (typeof match !== 'undefined' && match !== null) host = match[1]
  12. if (typeof host !== 'undefined' && host !== null) {
  13. const strAry = host.split('.')
  14. if (strAry.length > 1) {
  15. host = strAry[strAry.length - 2] + '.' + strAry[strAry.length - 1]
  16. }
  17. }
  18. return '.' + host
  19. }
  20. export function getToken () {
  21. return Cookies.get(TokenKey)
  22. }
  23. export function getTenantId() {
  24. const tenantConfig = sessionStorage.getItem('tenantConfig')
  25. const tmp = tenantConfig ? JSON.parse(tenantConfig) : null
  26. return tmp ? tmp.tenantId : 0
  27. }
  28. export function setToken (token) {
  29. return Cookies.set(TokenKey, token)
  30. }
  31. export function removeToken () {
  32. return Cookies.remove(TokenKey)
  33. }
  34. export function removeTenant() {
  35. // 移除跟机构相关信息
  36. sessionStorage.removeItem('tenantRenewStatus')
  37. sessionStorage.removeItem('tenantConfig')
  38. sessionStorage.removeItem('baseTenantId')
  39. }
  40. export function setCrossToken (token) {
  41. return Cookies.set(CrossTokenKey, token, { domain: getCookieDomain() })
  42. }
  43. export function removeCrossToken () {
  44. return Cookies.remove(CrossTokenKey, { domain: getCookieDomain() })
  45. }