cache.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. const sessionCache = {
  2. set (key, value) {
  3. try {
  4. if (!sessionStorage) {
  5. return
  6. }
  7. if (key != null && value != null) {
  8. sessionStorage.setItem(key, value)
  9. }
  10. } catch (error) {
  11. console.warn('sessionStorage.setItem failed:', error)
  12. }
  13. },
  14. get (key) {
  15. try {
  16. if (!sessionStorage) {
  17. return null
  18. }
  19. if (key == null) {
  20. return null
  21. }
  22. return sessionStorage.getItem(key)
  23. } catch (error) {
  24. console.warn('sessionStorage.getItem failed:', error)
  25. return null
  26. }
  27. },
  28. setJSON (key, jsonValue) {
  29. if (jsonValue != null) {
  30. this.set(key, JSON.stringify(jsonValue))
  31. }
  32. },
  33. getJSON (key) {
  34. try {
  35. const value = this.get(key)
  36. if (value != null) {
  37. return JSON.parse(value)
  38. }
  39. } catch (error) {
  40. console.warn('sessionStorage.getJSON failed:', error)
  41. return null
  42. }
  43. },
  44. remove (key) {
  45. try {
  46. sessionStorage.removeItem(key);
  47. } catch (error) {
  48. console.warn('sessionStorage.removeItem failed:', error)
  49. }
  50. }
  51. }
  52. const localCache = {
  53. set (key, value) {
  54. try {
  55. if (!localStorage) {
  56. return
  57. }
  58. if (key != null && value != null) {
  59. localStorage.setItem(key, value)
  60. }
  61. } catch (error) {
  62. console.warn('localStorage.setItem failed:', error)
  63. }
  64. },
  65. get (key) {
  66. try {
  67. if (!localStorage) {
  68. return null
  69. }
  70. if (key == null) {
  71. return null
  72. }
  73. return localStorage.getItem(key)
  74. } catch (error) {
  75. console.warn('localStorage.getItem failed:', error)
  76. return null
  77. }
  78. },
  79. setJSON (key, jsonValue) {
  80. if (jsonValue != null) {
  81. this.set(key, JSON.stringify(jsonValue))
  82. }
  83. },
  84. getJSON (key) {
  85. try {
  86. const value = this.get(key)
  87. if (value != null) {
  88. return JSON.parse(value)
  89. }
  90. } catch (error) {
  91. console.warn('localStorage.getJSON failed:', error)
  92. return null
  93. }
  94. },
  95. remove (key) {
  96. try {
  97. localStorage.removeItem(key);
  98. } catch (error) {
  99. console.warn('localStorage.removeItem failed:', error)
  100. }
  101. }
  102. }
  103. export default {
  104. /**
  105. * 会话级缓存
  106. */
  107. session: sessionCache,
  108. /**
  109. * 本地缓存
  110. */
  111. local: localCache
  112. }