项目场景:
uniapp开发微信小程序时,需要做一个授权位置信息的需求,使用getLocation获取用户当前的经纬度。期间遇到了一个问题老是报这个错误:“getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json”
问题描述
根据官方文档
https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html
app.json 配置
https://developers.weixin.qq.com/community/develop/doc/000a02f2c5026891650e7f40351c01
我这里用的是HBuilder做的uniapp项目所以附上代码:
1、在使用到的地方使用这个方法
uni.getLocation({
type: 'wgs84',
success:(res)=>{
console.log("获取成功",res)
resolve(res)
},
fail:(err)=>{
console.log("获取失败",err)
reject(err)
}
})
2、在文件的manifest.json目录下,点源码视图,添加如图代码(切记位置不要写错了):
"permission" : {
"scope.userLocation" : {
"desc" : "你的位置信息将用于小程序接口效果展示"
}
},
"requiredPrivateInfos": [
"getLocation"
]
但是写完之后,还是报错误!!!!!!文章来源:https://uudwc.com/A/wJ3Ey
解决方案:
其实,之前做这个功能的时候是没有报错的,然后有一天我升级了一下我的微信开发者工具之后就一直报错了,就把版本回退了,还是报错,最后发现是基础库没有退回之前的版本,把基础库的版本调到2.25.4就可以正常使用了。
试了这个版本以上的都会报错。文章来源地址https://uudwc.com/A/wJ3Ey