storage.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. // 定义key名
  2. const USER_INFO_KEY = 'wx_user_info'
  3. const TOKEN_KEY = 'wx_token'
  4. const SEARCH_HISTORY_KEY = 'search_history'
  5. const Collect_HISTORY_KEY = 'collect_goods_key'
  6. const HasAddFriend = 'has_add_guide'
  7. function saveStorage (key, value, expired = 0) {
  8. const storage = {
  9. value
  10. }
  11. // 设置过期时间
  12. if (expired) {
  13. storage.expired = new Date().getTime() + expired * 1000
  14. }
  15. try {
  16. return wx.setStorageSync(key, storage)
  17. } catch (e) {
  18. console.log(e, `save ${key} storage err`)
  19. }
  20. }
  21. function loadStorage (key) {
  22. try {
  23. const storage = wx.getStorageSync(key)
  24. // 过期
  25. if (storage.expired && storage.expired <= new Date().getTime) {
  26. storage.value = ''
  27. removeStorage(key)
  28. }
  29. return storage.value
  30. } catch (e) {
  31. console.log(e, `load ${key} storage err`)
  32. }
  33. }
  34. function removeStorage (key) {
  35. try {
  36. return wx.removeStorageSync(key)
  37. } catch (e) {
  38. console.log(e, `remove ${key} storage err`)
  39. }
  40. }
  41. export function saveUserInfo (userinfo) {
  42. return saveStorage(USER_INFO_KEY, userinfo, 86400 / 24)
  43. }
  44. export function loadUserInfo () {
  45. return loadStorage(USER_INFO_KEY)
  46. }
  47. export function removeUserInfo () {
  48. return removeStorage(USER_INFO_KEY)
  49. }
  50. export function saveToken (token) {
  51. return saveStorage(TOKEN_KEY, token, 86400 / 24)
  52. }
  53. export function loadToken () {
  54. return loadStorage(TOKEN_KEY)
  55. }
  56. export function removeToken () {
  57. return removeStorage(TOKEN_KEY)
  58. }
  59. export function saveSearchHistory (value) {
  60. let historys = loadSearchHistory() || []
  61. historys = historys.filter(item => item !== value)
  62. historys.unshift(value)
  63. return saveStorage(SEARCH_HISTORY_KEY, historys.slice(0, 10))
  64. }
  65. export function loadSearchHistory () {
  66. return loadStorage(SEARCH_HISTORY_KEY)
  67. }
  68. export function removeSearchHistory () {
  69. return removeStorage(SEARCH_HISTORY_KEY)
  70. }
  71. export function saveCollectHistory (goods) {
  72. let historys = loadCollectHistory() || []
  73. historys = historys.filter(item => item.id !== goods.id)
  74. historys.unshift(goods)
  75. return saveStorage(Collect_HISTORY_KEY, historys)
  76. }
  77. export function loadCollectHistory (goods_id) {
  78. let arr = loadStorage(Collect_HISTORY_KEY) ? loadStorage(Collect_HISTORY_KEY) : []
  79. let result = arr
  80. if (goods_id) {
  81. result = arr.find(item => item.id == goods_id)
  82. }
  83. return result
  84. }
  85. export function removeCollect (goods_id) {
  86. let historys = loadCollectHistory() || []
  87. historys = historys.filter(item => item.id !== goods_id)
  88. return saveStorage(Collect_HISTORY_KEY, historys)
  89. }
  90. export function saveHasAddFriend () {
  91. return saveStorage(HasAddFriend, true)
  92. }
  93. export function loadHasAddFriend () {
  94. return loadStorage(HasAddFriend)
  95. }
  96. export function removeHasAddFriend () {
  97. return removeStorage(HasAddFriend)
  98. }