最近用uniapp写了一个钉钉小程序项目,由于刚兼容钉钉小程序不久,安卓和ios体验上差距还是蛮大的,包括本地测试和真机预览以及线上发布后都出现了各种问题。
1.支付宝开发者工具体验开发者权限
需要去钉钉开发者后台配置,首先要在版本管理处-开发版本中添加开发者,然后在基本信息里,添加体验组织和体验人员。两者缺一不可,我也不知道什么原因。
2.交互反馈API覆盖问题
先调用dd.showLoading(),再调用dd.showToast()。ios机制下会先销毁dd.showLoading()然后再执行dd.showToast(),而安卓机制下不会,需要手动调用一次dd.hideLoading()才会销毁。
3.token过期
使用dd.httpRequest()发起网络请求,当token过期时,服务端状态返回401,安卓机制下走fail方法,ios机制下走success方法。
4.onShow生命周期执行顺序
在本地测试以及安卓、ios真机预览下没啥问题,当小程序发布上线后在ios环境下,onShow生命周期会提前执行,当页面加载完成后onShow已经执行完毕了。因此需要用异步来解决。
onShow(){
if (this.$store.state.addRess) {
//2020-04-09 解决应用上线后ios中onShow函数页面为加载完成就先触发的bug 因此需要异步执行
setTimeout(()=>{
this.address = this.$store.state.addRess;
},0)
}
}