- 点击事件触发获取当前用户的设置
- 根据用户当前设置的授权结果,判断是否包含收货地址授权
- 如果包含收货地址授权并且没有取消过授权,直接调用wx.chooseAddress(),获取用户收货地址
- 用户如果取消过授权,调用wx.openSetting(),调取客户端小程序设置界面让用户开启授权
- 用户当前设置不包含收货地址授权(说明是第一次打开获取用户收货地址信息授权),调用wx.chooseAddress(),获取用户收货地址。
<button bindtap='handleChooseAddress'>获取地址</button>
//点击收货地址触发
async handleChooseAddress(){
//获取权限状态
const res1=await getSetting();
const scopeAddress=res1.authSetting['scope.address'];
//判断权限状态
if(scopeAddress===true||scopeAddress===undefined){
//调用获取收货地址的api
const res2=await chooseAddress();
wx.setStorageSync('address', res2);
}else{
//打开授权页面
await openSetting();
//调用获取收货地址的api
const res2=await chooseAddress();
//存入到缓存中
wx.setStorageSync('address', res2);
}
},