小程序P162 17.购物车-收货地址-解决重新授权的问题解决 iPhone 真机上无法重新授权的问题问题说明:在 iPhone 设备上,当用户取消授权之后,再次点击选择收货地址按钮的时候,无法弹出授权的提示框!1、导致问题的原因 - 用户取消授权后,再次点击 “选择收货地址” 按钮的时候:在模拟器和安卓真机上,错误消息 err.errMsg 的值为 chooseAddress:fail auth deny在 iPhone 真机上,错误消息 err.errMsg 的值为 chooseAddress:fail authorize no response2、解决问题的方案 - 修改 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() }}