uni.getLocation和wx.getLocation方法调用无效,也不返回失败,解决方案!!!

news2025/2/25 23:13:31

线上已解决问题的代码 记录时间 2022.12.10

//获得地理定位信息
						uni.getLocation({
							type: 'wgs84',
							success: function(resp) {
								console.log(11111);
								//保存纬度数据
								let latitude = resp.latitude;
								//保存经度度数据
								let longitude = resp.longitude;
								console.log('经度' + latitude);
								console.log('纬度' +longitude);
							},
							fail: function(resp) {
								console.log(resp);}
						});
"permission" : {
            "scope.userLocation" : {
                "desc" : "测试"
            }
        },
		"requiredPrivateInfos": ["getLocation", "chooseLocation"]

desc 的位置对应用户授权时候的提示
插入 代码
在这里插入图片描述

简述过程
属实被坑了一下午。
开发微信小程序,看之前的网课。可以直接通过一下的代码成功打印出经度维度。然后一样的代码 没有任何反应,也不报错。起初以为是 微信小程序开发工具的bug。(排查未果)。后面又以为是uniapp的bug(排查未果)。

//获得地理定位信息
				    uni.getLocation({
				    	type: 'wgs84',
				    	success: function (res) {
				    		console.log('当前位置的经度:' + res.longitude);
				    		console.log('当前位置的纬度:' + res.latitude);
				    	}
				    });

最后查了微信官方的说明:https://developers.weixin.qq.com/miniprogram/dev/api/location/wx.getLocation.html

在这里插入图片描述
两个问题:
1.需要在app.json中进行声明 (解决图里第一个问题)
解决方案:
我是用的是uniapp进行的小程序开发需要增加配置
在这里插入图片描述
这里添加后打包会自动在 app.json中增加。
在这里插入图片描述

但是注意:!!
!!!!坑!!!如果只在这里勾选 会缺少这段代码,打印fail的时候控制台会报“
getLocation:fail the api need to be declared in the requiredPrivateInfos field in app.json/ext.json"

"requiredPrivateInfos": ["getLocation", "chooseLocation"]

增了上面这个代码后 会提示 授权获取定位

另外一开始我直接使用这段代码也可以提示授权定位,但是还是会报上面的报错。后面试了下删掉下面这段代码可以 成功完成业务

```javascript
uni.authorize({
    scope: 'scope.userLocation',
    success() {
        uni.getLocation()
    }
})

2.小程序后台权限开通(解决图里第二个问题)

小程序类目 配置

需要符合链接中的 主体开发类目 才能申请权限开通。
注意:服务类目最多添加5个,本月可添加4次。(避免次数用完的尴尬)
在这里插入图片描述
点击去开通,申请内容和页面自己去写了。等待开通
在这里插入图片描述
然后等待中。说是预计 1-3个工作日
在这里插入图片描述

申请权限时候的坑。周五下午四点多申请的,五点多久驳回了,理由
在这里插入图片描述
我没上传图片。描述比较简单。

第二次申请比较快了,我上传了图片写了很多描述用途
在这里插入图片描述

问题总结:
1.微信小程序这个定位相关的api两年来有过很多变动,查贴和视频课中解释的相差甚远。(所以查贴 看课要注意时间。随着时间的增长微信的api改动很多)
2.合理使用 fail 参数打印报错。(不然就会认为没有报错!!!)
3.感觉微信api更改迭代的有点太快了。貌似uniapp和HBuilder工具已经跟不上这些细节上的更新了。


分割线

补充一下:我是在个人开发者下 申请上述权限
(因为没法企业资质 没有申请企业开发者)不清楚企业开发者下 是否需要申请开通。以后有机会弄企业开发者的话再补充
ps:我是业余开发者,大佬勿喷。希望能解决大家的问题。
另外 网上的微信小程序开发的网课,大家要注意时间。好多微信的api接口这两年都有变化和限制。

最后,吐槽基础微信生态。常年做微信、支付宝的支付等第三方业务依赖项目。个人感觉微信生态的底层做得真的不如支付宝生态。各种限制和问题(奇怪的限制 奇怪的问题,浪费好多时间去了解和解决)。审核的速度和客服电话 都不如支付宝。
但是就和腾讯游戏一样(你爱玩不玩)。
谁让微信生态用的人多。(你爱用不用,爱开发不开发)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/405466.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Vue项目搭建】修改【若依框架】的侧边栏、导航栏、面包屑样式、修改全局页面样式

掌握分寸感,找目标一致的人协同你,有效地调配资源,就可以提高效率。 写在前面的话:博主最近想要搭建自己的前端若依项目,因此此系列博客会做一些记录。我的项目gitee地址: https://gitee.com/xuruicong/rac…

less和sass的区别[简洁易懂]

一、基础知识 1.sass,less都是CSS的预处理器,其基本思想就是用编程的思路编写CSS代码。增加了变量,嵌套,函数,语句,继承等概念。有助于模块化开发,例如写一个换肤的效果,以前我们需要…

前端200道面试题及答案(更新中)

目录 html相关 1)说一下对cookie和Storage(localStorage和sessionStorage) 的认识和区别? 2)link和import的区别 3)浏览器如何实现不同标签页的通信? 4)iframe的优缺点 5)canvas 6&#x…

Sublime Text 4 (Build 4143) 注册方法STEP BY STEP

To 初学Python的Pythonista: Sublime Text相对于PyCharm和Visual Studio Code,确实有不足之处,但提供了众多功能丰富的插件,且最大优点就是相对于Pycharm和VSCODE,它体积小,启动速度快。对于Python的初学者来说&#…

JavaScript基础总结---重点

目录JavaScript简介什么是JavaScript浏览器执行JS过程JS的组成JS的引入方式函数与作用域arguments的使用全局变量与局部变量预解析对象创建对象的三种方式1.利用字面量创建对象2.利用 new Object 创建对象3.利用构造函数创建对象遍历对象属性变量、属性、函数、方法总结new关键…

节点流和处理流详解

CSDN话题挑战赛第2期 参赛话题:学习笔记 1. 基本介绍 节点流可以从一个特定的数据源读写数据,如FileReader,FileWriter处理流(也叫包装流)是“连接”在已存在的流(节点流或处理流)之上&#x…

web服务器项目常见面试题目(C++)

项目介绍 1、为什么要做这样一个项目? 在学习CPP语言的时候,发现需要做一个项目来巩固一下,网上有推荐这个项目,然后就自己尝试做了一下。这个项目综合性比较强,从中既能学习Linux环境下的一些系统调用,也…

Vue3创建项目(一)新手教程

✅作者简介: 我是痴心阿文,你们的学友哥。 整理一下Vue3创建项目,新手教程,看完需要预计花费10分钟。 1.环境准备 Vue依赖NodeJs的环境,需要先安装Nodejs。 2.NodeJs安装 打开NodeJs下载页选择自己系统对应的版本下载。…

【JAVA】书店管理系统(附带前后端源码及资源)

【JAVA_Web】书店管理系统(附带前后端源码及资源) 一、项目的目的和意义 1.1目的 在“互联网”的大趋势下,线上销售以其简单、便捷、高效的特点受到人们的青睐。网上书店不受时间或者空间的限制,只要在网络覆盖的地方人们就可以…

vue3 动态加载组件、动态引入组件

1.问题 在做一个用vite构建的vue3项目时,动态拉取导入.vue页面,然后控制台一直有以下提示,页面也无法渲染出来。 2.分析 根据上面的报错提示,让我们安装并使用:rollup/plugin-dynamic-import-vars 这个插件&#xff0…

JS遍历对象的七种方法

我根据阮老师的《ES6标准入门》学习并总结了七种遍历对象的方法,我会将分别介绍这七种方法并进行详细的区分,并将从属性可枚举性问题与遍历方法两个大方面讲述全文,其中可枚举性是掌握遍历对象之前的的铺垫,请读者耐心学习&#x…

【解决vscode终端输出中文乱码问题图文教程】

全网最全解决vscode运行C/C终端输出乱码问题图文教程解决vscode终端输出中文乱码问题,强推**方法二**,少走几年弯路乱码原因方法一(永久性)方法二(永久性)强力推荐!!!&am…

Vue3中样式渗透:deep()为什么无效

今天学习 /deep/ 样式穿透,因为vue3中已经使用:deep()取代了/deep/ ,所以直接用:deep()练习。 :deep()的使用场景: 如果给当前组件的style 节点添加了scoped 属性,则当前组件的样式对其子组件是不生效的。如果想让某些样式对子组…

DVWA(全级别通关教程详解)

文章目录Brute ForceLowMediumCommand InjectionLowMediumHighCSRFLowMediumHighFile InclusionLowMediumHighFile UploadLowMediumHighSQL Injection (手工)LowMediumHighSQL Injection(工具)LowMediumHighSQL Injection (Blind)Low布尔盲注时间盲注XSS…

若依RuoYi框架log图标与文字怎么改?

文章目录1.若依修改主界面图标2.若依修改主界面文字3.若依修改页面上方图标4.若依修改页面上方文字5.若依登录页面文字修改6.免费图片转换网站1.若依修改主界面图标 图片路径: /src/assets/logo/logo.png直接将想要替换的png格式图片将其替换即可,图片大小建议为60*…

Vue的生命周期的详解

Vue的生命周期 Vue的生命周期是每个使用Vue框架的前端人员都需要掌握的知识,以此作为记录。 Vue的生命周期就是vue实例从创建到销毁的全过程,也就是new Vue() 开始就是vue生命周期的开始。Vue 实例有⼀个完整的⽣命周期,也就是从开始创建、初…

vue中input标签上传本地文件或图片后获取完整路径,如E:\medicineOfCH\stageImage\xxx.jpg

前言&#xff1a; 好久没有写vue了。今天遇到一个需求&#xff1a;使用input框来上传图片类型&#xff0c;并且在选择之后立刻回显出来。使用< input type“file”/>在选定图片后再< img src“xxx”/>。今天在实现这个需求的时候主要是出现了三个问题&#xff1a;…

分享 6 个 Vue3 开发必备的 VSCode 插件

今天分享 6 个 Vue3 开发必备的 VSCode 插件&#xff0c;可以直接用过 VSCode 的插件中心直接安装使用。 如果有觉得有帮助&#xff0c;还请点赞&#x1f44d;支持一下~ 1. Volar &#x1f525; 下载数 153 万 相信使用 VSCode 开发 Vue2 的同学一定对 Vetur 插件不会陌生&…

40个web前端实战项目,练完即可就业,从入门到进阶,基础到框架,html_css【附视频+源码】

当下前端开发可以说是一个比较火的职业&#xff0c;所以学习的人比较多&#xff0c;不管是培训还是自学都是希望通过前端可以找到一份好的工作&#xff0c;但是很多自学的朋友在自学过程中有些盲目&#xff0c;不仅大大降低了学习的效率&#xff0c;而且也会打击自己的学习热情…

使用nvm安装node

常用命令 NVM的常用命令如下&#xff1a;nvm list available&#xff1a;查看可在线安装的NodeJS版本nvm ls&#xff1a;列出所有已经在NVM中安装的NodeJS版本。nvm current&#xff1a;显示当前正在使用的Node版本。nvm install xx.xx.xx&#xff1a;在NVM中在线安装指定版本的…