正常的逻辑,没有什么好说的,参考微信小程序官方文档即可。
需要注意的是,没有权限获取其收货地址数据的场景。
测试方法:
点击微信小程序开发工具左下角的缓存按钮,点击 “清除授权数据”,刷新页面。 就可以模拟这种特殊情况了。
如果用户点击取消,拒绝访问其微信收货地址,则会触发 fail 的回调
errMsg: "chooseAddress:fail auth deny"
最终的逻辑是:
select_address: function(e) {
if (this.data.choosed_address) {
// 如果已经选择了地址,则变成可编辑框
return
}
wx.chooseAddress({
success: res => {
this.data.address = `${res.cityName}${res.countyName}${res.detailInfo}`
this.setData({
address: this.data.address,
choosed_address: true,
// 如果用户收货地址里有手机号和姓名,使用选择的内容覆盖当前内容
name: res.userName,
tel: res.telNumber,
})
},
fail: res => {
this.setData({
choosed_address: true
})
// TODO
// 自动从后台拉取其已有的收货地址
},
})
},
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式