token.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import { storage, tokenTableName } from '@/config'
  2. import cookie from 'js-cookie'
  3. /**
  4. * @description 获取token
  5. * @returns {string|ActiveX.IXMLDOMNode|Promise<any>|any|IDBRequest<any>|MediaKeyStatus|FormDataEntryValue|Function|Promise<Credential | null>}
  6. */
  7. export function getToken() {
  8. if (storage) {
  9. if ('localStorage' === storage) {
  10. return localStorage.getItem(tokenTableName)
  11. } else if ('sessionStorage' === storage) {
  12. return sessionStorage.getItem(tokenTableName)
  13. } else if ('cookie' === storage) {
  14. return cookie.get(tokenTableName)
  15. } else {
  16. return localStorage.getItem(tokenTableName)
  17. }
  18. } else {
  19. return localStorage.getItem(tokenTableName)
  20. }
  21. }
  22. /**
  23. * @description 存储token
  24. * @param token
  25. * @returns {void|*}
  26. */
  27. export function setToken(token) {
  28. if (storage) {
  29. if ('localStorage' === storage) {
  30. return localStorage.setItem(tokenTableName, token)
  31. } else if ('sessionStorage' === storage) {
  32. return sessionStorage.setItem(tokenTableName, token)
  33. } else if ('cookie' === storage) {
  34. return cookie.set(tokenTableName, token)
  35. } else {
  36. return localStorage.setItem(tokenTableName, token)
  37. }
  38. } else {
  39. return localStorage.setItem(tokenTableName, token)
  40. }
  41. }
  42. /**
  43. * @description 移除token
  44. * @returns {void|Promise<void>}
  45. */
  46. export function removeToken() {
  47. if (storage) {
  48. if ('localStorage' === storage) {
  49. return localStorage.removeItem(tokenTableName)
  50. } else if ('sessionStorage' === storage) {
  51. return sessionStorage.clear()
  52. } else if ('cookie' === storage) {
  53. return cookie.remove(tokenTableName)
  54. } else {
  55. return localStorage.removeItem(tokenTableName)
  56. }
  57. } else {
  58. return localStorage.removeItem(tokenTableName)
  59. }
  60. }