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

发布时间: 2017-09-08 16:04:47 作者: 大象笔记

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

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

测试方法:

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

如果用户点击取消,拒绝访问其微信收货地址,则会触发 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
				// 自动从后台拉取其已有的收货地址
			},
	    })
	},
我是一名山东烟台的开发者,联系作者