cache.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. // +----------------------------------------------------------------------
  2. // | likeshop开源商城系统
  3. // +----------------------------------------------------------------------
  4. // | 欢迎阅读学习系统程序代码,建议反馈是我们前进的动力
  5. // | gitee下载:https://gitee.com/likeshop_gitee
  6. // | github下载:https://github.com/likeshop-github
  7. // | 访问官网:https://www.likeshop.cn
  8. // | 访问社区:https://home.likeshop.cn
  9. // | 访问手册:http://doc.likeshop.cn
  10. // | 微信公众号:likeshop技术社区
  11. // | likeshop系列产品在gitee、github等公开渠道开源版本可免费商用,未经许可不能去除前后端官方版权标识
  12. // | likeshop系列产品收费版本务必购买商业授权,购买去版权授权后,方可去除前后端官方版权标识
  13. // | 禁止对系统程序代码以任何目的,任何形式的再发布
  14. // | likeshop团队版权所有并拥有最终解释权
  15. // +----------------------------------------------------------------------
  16. // | author: likeshop.cn.team
  17. // +----------------------------------------------------------------------
  18. const Cache = {
  19. //设置缓存(expire为缓存时效)
  20. set(key, value, expire) {
  21. let data = {
  22. expire: expire ? (this.time() + expire) : "",
  23. value
  24. }
  25. if (typeof data === 'object')
  26. data = JSON.stringify(data);
  27. try {
  28. uni.setStorageSync(key, data)
  29. } catch (e) {
  30. return false;
  31. }
  32. },
  33. get(key) {
  34. try {
  35. let data = uni.getStorageSync(key)
  36. const {value, expire} = JSON.parse(data)
  37. if(expire && expire < this.time()) {
  38. uni.removeStorageSync(key)
  39. return false;
  40. }else {
  41. return value
  42. }
  43. } catch (e) {
  44. return false;
  45. }
  46. },
  47. //获取当前时间
  48. time() {
  49. return Math.round(new Date() / 1000);
  50. },
  51. remove(key) {
  52. if(key) uni.removeStorageSync(key)
  53. }
  54. }
  55. export default Cache;