auth.js 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. const USER_ACCESS_TOKEN = 'ACCESS-TOKEN'
  2. const USER_REFRESH_TOKEN = 'REFRESH-TOKEN'
  3. const USER_INFO = 'TNB-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 setAuthedUser(data) {
  63. localStorage.setItem(USER_INFO, JSON.stringify(data))
  64. }
  65. /**
  66. * 更新已登录用户信息
  67. *
  68. * @param {Object} data
  69. */
  70. export function updateAuthedUser(data) {
  71. localStorage.setItem(USER_INFO, JSON.stringify(data))
  72. }
  73. /**
  74. * 获取已登录用户信息
  75. */
  76. export function getAuthedUser() {
  77. const data = localStorage.getItem(USER_INFO) || null
  78. return data !== null ? JSON.parse(data) : null
  79. }
  80. /**
  81. * 删除已登录用户相关缓存信息
  82. */
  83. export function removeAll() {
  84. localStorage.removeItem(USER_ACCESS_TOKEN)
  85. localStorage.removeItem(USER_REFRESH_TOKEN)
  86. localStorage.removeItem(USER_INFO)
  87. console.log('删除 localstorage')
  88. }