问题说明:在iphone真机上,当点击收货地址弹框用户取消权限之后,再次点击选择地址按钮时候,无法弹出授权提示框。
问题原因:
用户取消授权后再次点击选择地址按钮时候:
-
在模拟器和安卓真机上,错误消息
err.errMsg
的值为chooseAddress:fail auth deny
-
在 iphone 真机上,错误消息
err.errMsg
的值为chooseAddress:fail authorize no response
解决方法:
async chooseAddress() {
const [err, succ] = await uni.chooseAddress().catch(err => err)
// 用户成功选择地址
if (succ && succ.errMsg === 'chooseAddress:ok') {
this.updateAddress(succ)
}
// 用户没有授权
if (err && (err.errMsg === 'chooseAddress:fail auth deny' || err.errMsg === 'chooseAddress:fail authorize no response')) {
// 处理授权重新弹起授权框
this.reAuth()
}
}