storage.ts 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. /**
  2. * * 存储本地会话数据
  3. * @param k 键名
  4. * @param v 键值
  5. * @returns RemovableRef
  6. */
  7. export const setLocalStorage = <T>(k: string, v: T) => {
  8. try {
  9. window.localStorage.setItem(k, JSON.stringify(v))
  10. } catch (error) {
  11. return false
  12. }
  13. }
  14. /**
  15. * * 获取本地会话数据
  16. * @returns any
  17. */
  18. export const getLocalStorage: (k: string) => any = (k: string) => {
  19. const item = window.localStorage.getItem(k)
  20. try {
  21. return item ? JSON.parse(item) : item
  22. } catch (err) {
  23. return item
  24. }
  25. }
  26. /**
  27. * * 存储临时会话数据
  28. * @param k 键名
  29. * @param v 键值
  30. * @returns RemovableRef
  31. */
  32. export const setSessionStorage = <T>(k: string, v: T) => {
  33. try {
  34. window.sessionStorage.setItem(k, JSON.stringify(v))
  35. } catch (error) {
  36. return false
  37. }
  38. }
  39. /**
  40. * * 获取临时会话数据
  41. * @returns any
  42. */
  43. export const getSessionStorage: (k: string) => any = (k: string) => {
  44. const item = window.sessionStorage.getItem(k)
  45. try {
  46. return item ? JSON.parse(item) : item
  47. } catch (err) {
  48. return item
  49. }
  50. }