vue之浏览器存储方法封装实例

弃我而去而又重返的人,我会把他忽略。因为他再也给不了我一颗完整的心。将来的一面,我们必须容忍爱人的所有面。

如下所示:

export function isObject (val) {
 return val !== null && typeof val === 'object'
}
export function setStore (key, val, type = 'localStorage') {
 if (isObject(val)) window[type].setItem(key, JSON.stringify(val))
 else window[type].setItem(key, val)
}
export function getStore (key, type = 'localStorage') {
 var val = window[type].getItem(key)
 try {
 return JSON.parse(val)
 } catch (e) {
 return val
 }
}
export function setSessionStore (key, val) {
 setStore(key, val, 'sessionStorage')
}
export function getSessionStore (key) {
 return getStore(key)
}
// 默认30minute
export function setExpireStore (key, val, ex = 1.8e6) {
 setStore(key, {v: val, t: Date.now() + ex})
}
export function getExpireStore (key) {
 var obj = getStore(key)
 if (obj.t > Date.now()) return obj.v
 else return false
}
export default {
 isObject,
 setStore,
 getStore,
 setSessionStore,
 getSessionStore,
 setExpireStore,
 getExpireStore
}

以上这篇vue之浏览器存储方法封装实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

您可能有感兴趣的文章
Vue路由参数的传递与获取方式详细介绍

vue学习记录之动态组件浅析

vue如何实现列表固定列滚动

vue如何实现伸缩菜单功能

vue项目中canvas如何实现截图功能