storage.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. // 定义key名
  2. const USER_INFO_KEY = 'wx_user_info'
  3. const TOKEN_KEY = 'wx_token'
  4. const SEARCH_HISTORY_KEY = 'search_history'
  5. function saveStorage (key, value, expired = 0) {
  6. const storage = {
  7. value
  8. }
  9. // 设置过期时间
  10. if (expired) {
  11. storage.expired = new Date().getTime() + expired * 1000
  12. }
  13. try {
  14. return wx.setStorageSync(key, storage)
  15. } catch (e) {
  16. console.log(e, `save ${key} storage err`)
  17. }
  18. }
  19. function loadStorage (key) {
  20. try {
  21. const storage = wx.getStorageSync(key)
  22. // 过期
  23. if (storage.expired && storage.expired <= new Date().getTime) {
  24. storage.value = ''
  25. removeStorage(key)
  26. }
  27. return storage.value
  28. } catch (e) {
  29. console.log(e, `load ${key} storage err`)
  30. }
  31. }
  32. function removeStorage (key) {
  33. try {
  34. return wx.removeStorageSync(key)
  35. } catch (e) {
  36. console.log(e, `remove ${key} storage err`)
  37. }
  38. }
  39. export function saveUserInfo (userinfo) {
  40. return saveStorage(USER_INFO_KEY, userinfo, 86400 / 24)
  41. }
  42. export function loadUserInfo () {
  43. return loadStorage(USER_INFO_KEY)
  44. }
  45. export function removeUserInfo () {
  46. return removeStorage(USER_INFO_KEY)
  47. }
  48. export function saveToken (token) {
  49. return saveStorage(TOKEN_KEY, token, 86400 / 24)
  50. }
  51. export function loadToken () {
  52. return loadStorage(TOKEN_KEY)
  53. }
  54. export function removeToken () {
  55. return removeStorage(TOKEN_KEY)
  56. }
  57. export function saveSearchHistory (value) {
  58. let historys = loadSearchHistory() || []
  59. historys = historys.filter(item => item !== value)
  60. historys.unshift(value)
  61. return saveStorage(SEARCH_HISTORY_KEY, historys)
  62. }
  63. export function loadSearchHistory () {
  64. return loadStorage(SEARCH_HISTORY_KEY)
  65. }
  66. export function removeSearchHistory () {
  67. return removeStorage(SEARCH_HISTORY_KEY)
  68. }