auth.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. const USER_ACCESS_TOKEN = 'ACCESS-TOKEN'
  2. const USER_REFRESH_TOKEN = 'REFRESH-TOKEN'
  3. const USER_INFO = 'LUMNEIM-USERINFO'
  4. /**
  5. * 设置用户 token
  6. *
  7. * @param {Object} userToken
  8. */
  9. export function setUserToken(userToken) {
  10. const accessToken = userToken.accessToken
  11. const accessExpireAt = userToken.accessExpireAt
  12. localStorage.setItem(USER_ACCESS_TOKEN,
  13. JSON.stringify({
  14. accessToken,
  15. accessExpireAt
  16. })
  17. )
  18. const refreshToken = userToken.refreshToken
  19. const refreshExpireAt = userToken.refreshExpireAt
  20. localStorage.setItem(USER_REFRESH_TOKEN,
  21. JSON.stringify({
  22. refreshToken,
  23. refreshExpireAt
  24. })
  25. )
  26. }
  27. /**
  28. * 获取访问令牌
  29. */
  30. export function getAccessToken() {
  31. const result = localStorage.getItem(USER_ACCESS_TOKEN)
  32. if (result !== undefined && result !== null) {
  33. const token = JSON.parse(result)
  34. const t = new Date().getTime()
  35. if (token.accessExpireAt > t) {
  36. return token.accessToken
  37. }
  38. localStorage.removeItem(USER_ACCESS_TOKEN)
  39. }
  40. return null
  41. }
  42. /**
  43. * 获取刷新令牌
  44. */
  45. export function getRefreshToken() {
  46. const result = localStorage.getItem(USER_REFRESH_TOKEN)
  47. if (result !== undefined && result !== null) {
  48. const token = JSON.parse(result)
  49. const t = new Date().getTime()
  50. if (token.refreshExpireAt > t) {
  51. return token.refreshToken
  52. }
  53. localStorage.removeItem(USER_REFRESH_TOKEN)
  54. }
  55. return null
  56. }
  57. /**
  58. * 设置用户信息
  59. *
  60. * @param {Object} data
  61. */
  62. export function setUserInfo(data) {
  63. localStorage.setItem(USER_INFO, JSON.stringify(data))
  64. }
  65. /**
  66. * 获取用户信息
  67. */
  68. export function getUserInfo() {
  69. const data = localStorage.getItem(USER_INFO) || null
  70. return data !== null ? JSON.parse(data) : null
  71. }
  72. /**
  73. * 删除用户相关缓存信息
  74. */
  75. export function removeAll() {
  76. localStorage.removeItem(USER_ACCESS_TOKEN)
  77. localStorage.removeItem(USER_REFRESH_TOKEN)
  78. localStorage.removeItem(USER_INFO)
  79. console.log('删除 localstorage')
  80. }