微信小程序本地缓存二次封装
新建wxCache.js
/**
* 本地缓存
* @工具测试 https://tool.lu/timestamp/
* @param key 缓存参数
* @param value 缓存值
* @param time 缓存时间(小时为单位,传1,就意味缓存1个小时) 非必传
* */
export default class wxCache {
constructor() {
this.now = new Date().getTime();// 获取当前时间
}
// 获取
get(key) {
this.now = new Date().getTime();// 获取当前时间
let time = wx.getStorageSync(key).time || false;// 获取缓存时间
if(time) {
if (parseInt(time) >= this.now ) {
// console.log('还没过期')
return wx.getStorageSync(key).value
}else {
// console.log('过期啦')
this.remove(key);// 删除字段info
return false
}
}else {
// 没有设置时间处理返回
return wx.getStorageSync(key)
}
};
// 添加
put(key,value,time) {
let data;
if(time) {
let timefrom = parseInt(Number(time)*60*60*1000); // 小时转化毫秒
data = {
value: value,
time: timefrom + this.now
}
}else {
data = value;
}
wx.setStorageSync(key, data);
};
// 移除
remove(key) {
console.log('删除')
wx.removeStorageSync(key);
};
// 清空所有
clearall() {
wx.clearStorageSync();
}
}
app.js 全局导入
import wxCache from './common/wxCache.js'// 导入wxCache.js
App({
data:{},
wxCache:new wxCache(),// 全局导入
})
使用
app.wxCache.put('time','123',1); // 设置key为time,value为 '123',时间缓存时间为1小时
app.wxCache.get('time');// 获取key为time的value
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。