storage.ts 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import Cookies from 'js-cookie';
  2. /**
  3. * window.localStorage 浏览器永久缓存
  4. * @method set 设置永久缓存
  5. * @method get 获取永久缓存
  6. * @method remove 移除永久缓存
  7. * @method clear 移除全部永久缓存
  8. */
  9. export const Local = {
  10. // 查看 v2.4.3版本更新日志
  11. setKey(key: string) {
  12. // console.log(storesThemeConfig.themeConfig.prefix)
  13. // @ts-ignore
  14. return `${__NEXT_NAME__}:${key}`;
  15. },
  16. // 设置永久缓存
  17. set<T>(key: string, val: T) {
  18. window.localStorage.setItem(Local.setKey(key), JSON.stringify(val));
  19. },
  20. // 获取永久缓存
  21. get(key: string) {
  22. let json = <string>window.localStorage.getItem(Local.setKey(key));
  23. return JSON.parse(json);
  24. },
  25. // 移除永久缓存
  26. remove(key: string) {
  27. window.localStorage.removeItem(Local.setKey(key));
  28. },
  29. // 移除全部永久缓存
  30. clear() {
  31. window.localStorage.clear();
  32. },
  33. };
  34. /**
  35. * window.sessionStorage 浏览器临时缓存
  36. * @method set 设置临时缓存
  37. * @method get 获取临时缓存
  38. * @method remove 移除临时缓存
  39. * @method clear 移除全部临时缓存
  40. */
  41. export const Session = {
  42. // 设置临时缓存
  43. set<T>(key: string, val: T) {
  44. if (key === 'token') return Cookies.set(key, val);
  45. window.sessionStorage.setItem(Local.setKey(key), JSON.stringify(val));
  46. },
  47. // 获取临时缓存
  48. get(key: string) {
  49. if (key === 'token') return Cookies.get(key);
  50. let json = <string>window.sessionStorage.getItem(Local.setKey(key));
  51. return JSON.parse(json);
  52. },
  53. // 移除临时缓存
  54. remove(key: string) {
  55. if (key === 'token') return Cookies.remove(key);
  56. window.sessionStorage.removeItem(Local.setKey(key));
  57. },
  58. // 移除全部临时缓存
  59. clear() {
  60. Cookies.remove('token');
  61. window.sessionStorage.clear();
  62. },
  63. };