uniapp 小程序获取微信收货地址

引言

小程序商城中,不可避免会出现获取并添加微信的收货地址,根据现在小程序的规则实现获取微信收货地址

封装获取微信收货地址API

// asyncWx.js

/**
 * 获取用户收货地址 uni.chooseAddress
 */
export const chooseAddress = () => {
    
    
	return new Promise((resolve, reject) => {
    
    
		uni.chooseAddress({
    
    
			success: (res) => {
    
    
				resolve(res)
			},
			fail: (err) => {
    
    
				reject(err)
			}
		})
	})
}

API具体使用

<template>
	<view @click="getWxAddress">
		<view>添加微信地址</view>
	</view>
</template>

<script>
import {
    
     chooseAddress } from '@/utils/asyncWx.js';
export default {
    
    
	methods:{
    
    
		getWxAddress() {
    
    
			chooseAddress().then(resAddress => {
    
    
				const addressData = {
    
    
					// 收货人
					consignee: resAddress.userName,
					// 手机号
					mobile: resAddress.telNumber,
					// 省
					province: resAddress.provinceName,
					// 市
					city: resAddress.cityName,
					// 区
					region: resAddress.countyName,
					// 详细地址
					detailAddress: resAddress.detailInfo,
				};
			});
		}
	}
}
</script>

使用过程中出现的问题

小程序报错 chooseAddress:fail the api need to be declared in …e requiredPrivateInfos field in app.jso

解决方法

manifest.json 文件"mp-weixin" 里面加一行配置
"requiredPrivateInfos" : [ "chooseAddress" ]

注意事项

现在小程序获取微信收货地址不需要进行授权,完成上述配置后,便可以直接进行接口调用

文章如有不足之处,欢迎各位大神指出

猜你喜欢

转载自blog.csdn.net/m0_64344940/article/details/127545389