localStorage.js 932 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. /**
  2. * @desc localStroge/sessionStroge缓存
  3. * @param {String} key 键名
  4. * @param {String} val 键值
  5. * @param {Date} time 过期时间
  6. */
  7. var localStorageApi = {
  8. // time有效期 默认是半小时传入ms
  9. set: function set(key, val) {
  10. var time = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : +new Date() + 0.5 * 3600 * 1000;
  11. var cacheVal = {
  12. val: val,
  13. exp: time
  14. };
  15. localStorage.setItem(key, JSON.stringify(cacheVal));
  16. },
  17. get: function get(key) {
  18. var cacheVal = localStorage.getItem(key);
  19. if (!cacheVal) return '';
  20. var result = JSON.parse(cacheVal);
  21. if (+new Date() > result.exp) {
  22. //缓存过期
  23. this.remove(key);
  24. return '';
  25. }
  26. return result.val;
  27. },
  28. remove: function remove(key) {
  29. localStorage.removeItem(key);
  30. },
  31. clear: function clear() {
  32. localStorage.clear();
  33. }
  34. };
  35. module.exports = localStorageApi;