uniapp项目开发踩坑篇
因为是第一次尝试使用uniapp开发app,对个平台兼容性不是很清楚,所以在开发过程中遇到了不少问题,特地来总结一下
存储机制
uni-app的localStorage在不同端的实现不同
- H5端为localStorage,浏览器限制5M大小,是缓存概念,可能会被清理
- app端为原生的plus.storage,无限制大小,不是缓存,是持久性的
- 各个小程序端为其自带的storage api,数据存储生命周期跟小程序本身一致,即除用户主动删除或超过一定时间被自动清理,否则数据都一直可用。
- 微信小程序单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。
同步存储
在uniapp中存储token需要使用uni.setStorageSync(key,data)
来存储
uni.setStorageSync('token','XXX')
同步读取
读取使用uni.getStorageSync(key)
获取指定key对应的内容
uni.getStorageSync('token')
移除
从本地缓存中同步移出指定key
uni.removeStorageSync(KEY)
清除
// 清除本地数据缓存
uni.clearStorage()
// 同步清除本地数据缓存
uni.clearStorageSync()
页面跳转
uni.navigateTo()
保留当前页面,跳转到应用内的某个页面,使用uni.navigate
可以返回到原页面
参数编码
url有长度限制,太长字符会传递失败,可以使用``encodeURIComponent对参数进行编码
<navigator :url="'/pages/test/test?item='+ encodeURIComponent(JSON.stringify(item))