错误描述
在我们使用uni-app框架或微信原生开发微信小程序时,使用到uni.chooseAddress(OBJECT)
接口获取用户收货地址时,无法跳转到收货地址页面获取。
打印接口返回信息,显示 "chooseAddress:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json"
等内容,意思是此API接口需要在app.json中做声明才可以使用。
产生原因
我们来到微信官方文档可以发现如下图,
在使用方法中,明确指出自 2022 年 7 月 14 日后发布的小程序,若使用该接口,需要在 app.json 中进行声明,否则将无法正常使用该接口,2022年7月14日前发布的小程序不受影响。
但是在uni-app官方文档中,还没有对这一改变进行更新。
在微信官方文档中,提及除此接口外,还有其他7个接口使用,也需要进行声明,如下图
具体说明,详见微信官方说明:https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01
解决办法
若使用uni-app框架进行开发,则需要在 manifest.json
文件中,找到小程序相关设置中的mp-weixin
, 如下图所示。
添加如下代码,即可解决问题。
"requiredPrivateInfos": [
"chooseAddress"
]
如果使用微信原生代码开发小程序,则直接在 app.json
中 requiredPrivateInfos
配置项中声明即可,如下图所示。
若使用其他几个接口,依次添加即可。