解决:uniapp项目中调用小程序的chooseAddress() API失效

目录

问题描述

解决方案


问题描述

使用 Hbuilder X 编辑器和 uni-app 框架开发小程序项目,在调用小程序提供的 uni.chooseAddress() API实现选择收货地址的功能时,点击选择收货地址没有反应,获取不到用户收货地址,API失效了 

<!-- 省略其它代码... -->
methods: {
	// 选择收货地址
	async chooseAddress() { // 定义 chooseAddress 事件处理函数
		// 1. 调用小程序提供的 chooseAddress() 方法,即可使用选择收货地址的功能
		//    返回值是一个数组:第 1 项为错误对象;第 2 项为成功之后的收货地址对象
		const [err, succ] = await uni.chooseAddress().catch(err => err)

		// 2. 用户成功的选择了收货地址
		if (err === null && succ.errMsg === 'chooseAddress:ok') {
			// 为 data 里面的收货地址对象赋值
			this.address = succ
			console.log(succ)
		}
	}
}
<!-- 省略其它代码... -->

调用uni.chooseAddress() API,没有任何反映,无法实现跳转到收货地址页面

解决方案

uni-app官方提供的api点击不会跳转,不知为何?小程序官方有做说明:地理位置接口新增与相关流程调整 | 微信开放社区

另,关于uni.chooseAddress() 官方介绍:uni.chooseAddress(OBJECT) | uni-app官网

目前,我们可以在uniapp项目根目录中的manifest.json文件的源码视图里的mp-weixin这个节点新增两个属性节点即 requiredPrivateInfospermission 配置项,如下:

"mp-weixin" : {
		/* 小程序特有相关 */
		"appid" : "wx5346bceeae7dd1da",
		"setting" : {
				"urlCheck" : false
		},
		"usingComponents" : true,
		"unipush" : {
				"enable" : false
		},
		"requiredPrivateInfos": [
				"getFuzzyLocation",
				"choosePoi",
				"chooseAddress"
		],
		"permission": {
				"scope.userLocation": {
				"desc": "你的位置信息将用来进行接口调试"
				}
		}
}

最后,重新运行编译即可生效


👉 你可能还想了解uniapp开发时pages.json和manifest.json注释报错解决方案

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

儒雅的烤地瓜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值