微信小程序:通过 wx.chooseAddress 获取微信的收货地址

文章目录

    正常的逻辑,没有什么好说的,参考微信小程序官方文档即可。

    需要注意的是,没有权限获取其收货地址数据的场景。

    测试方法:

    点击微信小程序开发工具左下角的缓存按钮,点击 “清除授权数据”,刷新页面。
    就可以模拟这种特殊情况了。

    微信小程序清除授权数据

    如果用户点击取消,拒绝访问其微信收货地址,则会触发 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 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式