在main.js进行挂载。
例如挂载全局请求的url。
Vue.prototype.apiUrl = "http://api.***.cn";在其他vue文件里面进行使用时,直接this即可。
let url = this.apiUrl全局方法的挂载
现在main.js里面声明一个变量,值为一个函数。
const setCache = (key, value, seconds) => {
console.log("setCache")
};然后使用Vue.prototype.变量的形式将方法挂载上去,如下。
Vue.prototype.$Cache = {
setCache
};这样setCache方法就被挂载在一个全局变量符号开头
console.log(this.$Cache.setCache("lll","111",100));2.二次封装uniapp的缓存方法
uniapp的异步缓存
uni.setStorage({
key: 'storage_key',
data: 'hello',
success: function () {
console.log('success');
}
});uniapp的异步获取缓存
try {
const value = uni.getStorageSync('storage_key');
if (value) {
console.log(value);
}
} catch (e) {
// error
}代码量虽然不多,但是当使用的次数多了之后你仍然会发现这些代码很冗余,就很难受。不过uniapp处理得比较好的是,缓存时key为字符串,而值可以为一个json对象,或者Boolean值,这样就很嗨皮了呀。反正我做缓存就只会使用这两种类型,别问我为什么。
接着封装一下咯
设置缓存的同步封装:这里我们加上了缓存时间,uniapp默认缓存有效时间为28天。但是日常使用中,我觉得太长了。所以改为支撑自定义。
怎么改,uniapp没有封装这个方法呀。于是缓存一次的,变为了缓存两次。一次存数据,一次存时间。就像下面这这样,看不懂的可以留言。
const setCache = (key, value, seconds) => {
try {
if (key && value) {
![img]()
![img]()
![img]()
















