console.log(res.currentSize);
console.log(res.limitSize);
}
});
}
}
var Sync={
set(k,val,expires){
var expires=expires || 300;
var type= typeof val;
if(type==='object'){
val =JSON.stringify(val)
}
return uni.setStorageSync(k,{data:val,expires:expires+(Date.parse(new Date())/1000),type:type})
},get(k){
try{
var data= uni.getStorageSync(k) || {};
// console.log(data)
if(data.expires){
if(data.expires> (Date.parse(new Date())/1000)){
if(data.type==='object'){
return JSON.parse(data.data)
}
return data.data;
}
uni.removeStorageSync(k);
try {
uni.removeStorageSync(k);
} catch (e) {
// error
}
}
}catch(e){
console.log(e)
return false;
//TODO handle the exception
}
return false;
},reset(){
// 获取本地说有缓存信息 删除过期的,超长的,净化系统
try {
const res = uni.getStorageInfoSync();
console.log(res.keys);
console.log(res.currentSize);
console.log(res.limitSize);
} catch (e) {
// error
}
}
}
export default {
// CusBASE64: __BASE64,
set:Storage.set,//异步
get:Storage.get,
reset:Storage.reset,
setSync:Sync.set,//同步
getSync:Sync.get,
resetSync:Sync.reset
// encoder:base64decode
}
引入
import Storage from '@/common/utils/Storage.js'
1.4. 节点布局交叉状态
- uni.createIntersectionObserver,地址
- 作用:可以用来推断某些节点是否可以被用户看见、有多大比例可以被用户看见
1.5. TabBar操作
- uni.hideTabBar()
- 作用:隐藏TabBar,还有很多TabBar相关操作,参看这里
- 可以进行红点显示,角标显示等等
1.6. uni的节点选择器
- uni.createSelectorQuery(),可以用来选择特定节点进行操作,参看这里,用于懒加载图片
- 例子
uni.createSelectorQuery().selectAll('.lazy').boundingClientRect((images) => {
images.forEach((image, index) => {
if (image.top <= this.windowHeight) {
this.list[image.dataset.index].show = true;
}
})
}).exec()
- 当然图片自身有个属性可以设置懒加载,只是有一定局限性,参考这里,使用
lazy-load 属性为true能达到同样的效果
1.7. 布局上遇到的问题
- 想实现类似饿了吗的悬浮框效果,即上移过程中,中间的某个组件框到顶部后不再上移,呈类似置顶效果
- 参考这个
|