localstorage.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /** @format */
  2. import type { LocalStorageKeys } from '@/enums/localstorage'
  3. import { ConstKeys } from '@/enums/const-enums'
  4. /**
  5. * 用于在localstorage中存储item的函数
  6. * @param {*} key 键名
  7. * @param {*} value 值
  8. * @example setItem('userid','12345')
  9. * @author 李畅
  10. * @email dotb116393@163.com
  11. */
  12. export function setItem(key: LocalStorageKeys, value: any) {
  13. localStorage.setItem(key + ConstKeys.PROJECTNAME, JSON.stringify(value))
  14. }
  15. /**
  16. * 用于获取当前项目存储在localstorage中的item,当item不存在时返回空字符串''
  17. * @param {*} key 要获取的键名
  18. * @returns 当前项目的item值
  19. * @example getItem('userid')
  20. * @author 李畅
  21. * @email dotb116393@163.com
  22. */
  23. export function getItem<T>(key: LocalStorageKeys): T {
  24. return JSON.parse(
  25. localStorage.getItem(key + ConstKeys.PROJECTNAME) || JSON.stringify(''),
  26. )
  27. }
  28. /**
  29. * 从localstorage中删除item
  30. * @param {*} key 不传则删除所有||要删除的键名
  31. * @example removeItem('userid')
  32. * @author 李畅
  33. * @email dotb116393@163.com
  34. */
  35. export function removeItem(key?: LocalStorageKeys) {
  36. if (key)
  37. localStorage.removeItem(key + ConstKeys.PROJECTNAME)
  38. else
  39. localStorage.clear()
  40. }