热门

最新

红包

立Flag

投票

同城

我的

发布
weixin_53051713
油麦菜你好
4 年前
trueweixin_53051713

小程序P162 17.购物车-收货地址-解决重新授权的问题
解决 iPhone 真机上无法重新授权的问题
问题说明:在 iPhone 设备上,当用户取消授权之后,再次点击选择收货地址按钮的时候,无法弹出授权的提示框!

1、导致问题的原因 - 用户取消授权后,再次点击 “选择收货地址” 按钮的时候:

在模拟器和安卓真机上,错误消息 err.errMsg 的值为 chooseAddress:fail auth deny

在 iPhone 真机上,错误消息 err.errMsg 的值为 chooseAddress:fail authorize no response

2、解决问题的方案 - 修改 chooseAddress 方法中的代码,进一步完善用户没有授权时的 if 判断条件即可:

async chooseAddress() {
// 1. 调用小程序提供的 chooseAddress() 方法,即可使用选择收货地址的功能
// 返回值是一个数组:第1项为错误对象;第2项为成功之后的收货地址对象
const [err, succ] = await uni.chooseAddress().catch(err => err)

// 2. 用户成功的选择了收货地址
if (succ && succ.errMsg === 'chooseAddress:ok') {
this.updateAddress(succ)
}

// 3. 用户没有授权
if (err && (err.errMsg === 'chooseAddress:fail auth deny' || err.errMsg === 'chooseAddress:fail authorize no response')) {
this.reAuth()
}
}

CSDN App 扫码分享
分享
1
1
打赏
  • 复制链接
  • 举报
下一条:
记录下,今天MySQL被黑了
立即登录