项目场景:

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"
			]

但是写完之后,还是报错误!!!!!!

解决方案:

其实,之前做这个功能的时候是没有报错的,然后有一天我升级了一下我的微信开发者工具之后就一直报错了,就把版本回退了,还是报错,最后发现是基础库没有退回之前的版本,把基础库的版本调到2.25.4就可以正常使用了。
在这里插入图片描述
试了这个版本以上的都会报错。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐