当前位置:网站首页 > 微服务架构 > 正文

企业微信提示定位失败(企业微信打开定位权限显示定位失败)



项目背景:开发工具为HBuilderX,框架为uniapp,开发移动端的Web应用,在企业微信中使用(自建应用),Web开发的应用,不是小程序。
需求点:获取用户当前的位置信息,技术流程包括以下几个环节:

  • 1、获取当前用户的经纬度位置信息,用的uniapp的接口。
  • 2、显示一个地图,标记用户的位置,用的百度地图SDK。
  • 3、地图可以拖动,拖动后标记点会跟着移动,让用户可以自行调整位置。
  • 4、获取标记点详细地址,采用百度地图的逆解析API,获得详细位置信息。

❓问题:但实际开发中定位老是不准,存在各种问题,最后通过升级HTTPS解决,记录一下处理过程。


到百度地图开放平台,注册一个开发者账号,百度地图需要申请一个KEY才能使用。可根据项目情况选择个人账号,还是企业账号。

类型 个人账号 企业开发者账号 应用场景 个人学习 企业商业使用 认证方式 开发者认证,个人实名认证(已完成) 企业名称、营业执照、法人、联系方式、对公帐号信息 认证时长 很快 几分钟-5个工作日,多种认证方式 收费 白嫖 商业授权,基础版 5W/年 调用限额 JS API 定位:5,000次/日,并发10次/秒
JS API 逆地理编码:5,000次/日,并发30次/秒 JS API 定位:30W次/日,并发100次/秒
JS API 逆地理编码:300W次/日,并发100次/秒

方案

  • 如果使用次数较多,则需要考虑企业账号,或购买额度。
  • 一般小项目、公司内部使用,调用频次不多,可申请个人账号,或者多申请几个账号,轮训使用。

📢 国内地图三巨头腾讯、高德、百度的商业授权都是收费的,起步价都是5W/年。

逆地址解析:

 
   

坐标转换,wgs84坐标转换为火星坐标,否则在百度地图上显示会有偏差

 
   

📄资料

  • 开发者权益
  • 商用授权服务
  • 逆地址解析
  • 地址解析在线demo

UNI的定位核心API:uni.getLocation(OBJECT),但在使用中定位有问题。

  • uni自带的在移动端浏览器上运行正常,第一次会提示定位权限。为可定位,如果为则定位失败。
  • 如果H5应用嵌入企业微信,在企业微信中运行,则会定位失败,可能是权限问题,无法获取手机定位权限。

type String:默认为 wgs84 返回 gps 坐标,gcj02 返回国测局坐标,可用于 uni.openLocation 和 map 组件坐标,App 和 H5 需配置定位 SDK 信息才可支持 gcj02。

还有bug,就是如果内部调用失败,就会报错,且无法捕获,看源码(gitee源码)是其内部使用了但没有处理好异常导致的,外面无法捕获。

Uncaught (in promise) Error: network error

定位不准,继续寻找方案。打包的H5是在企业微信中使用,就申请了一个腾讯地图的Key,在uniapp中配置。如下图,在Web配置中启用地图定位,填上腾讯开发者key。

然而并没有什么改善,返回的定位依然是不准的。这里的不准不是有偏差,而是一个城市里的位置都一样,都指向市政府。

企业微信为应用开发提供了一个JS-SDK,可以用来定位、获取蓝牙、摄像头等权限。

 
    

但使用前必须先用接口注册,流程比较麻烦,需要前后端配合。官方使用说明,看官方要求和项目情况可能存在问题,还是先试试HTTPS吧。

部署的网站是HTTP的,并没有启用HTTPS,在微信小程序的开发文档中有明确说明需要HTTPS进行网络通信,那就升级到HTTPS吧。

在腾讯云申请免费的HTTPS证书,总计可以申请最多50张免费的SSL证书(其中20张免费证书支持绑定全网域名,30张免费证书可绑定腾讯云域名),成为腾讯云 V2 会员即可提升绑定全网域名的额度。

  • 免费证书不支持泛域名(*..com)。
  • 免费证书有效期为1年,到期后如需继续使用证书,请重新申请并安装。
  • 正式版可以自动续费,单域名证书个人版500+/年,企业版2K+/年;泛域名证书个人版2K+/年,企业版5K+/年。

输入域名,选择DNS验证,需要在域名解析处添加一条TEXT记录。参考官方DNS 验证文档。

验证通过后,即可下载证书。然后配置Nginx,腾讯文档Nginx 服务器 SSL 证书安装部署。

  • 先确保Nginx是否安装了ssl模块“http_ssl_module”
  • 证书拷贝到cert 文件夹下。
  • 修改配置文件“nginx.conf ”,添加“https server”配置。
  • 重启Nginx。

配置好HTTPS的相关配置,重新打包部署,PC端正常,但移动端存在故障。移动端访问老是被重定向到HTTP上了,几经波折,发现是刚才在打包时顺手勾上了一个选项“启用https协议”,去掉就好了。😂😂😂,这个选项是干什么的?

重新打包更新,定位准确了!😀😀😀


可以安装微信开发者工具,用公众号网页来调试H5,打开页面后提示错误:“无法获取用户身份”。

需要两个条件:

  • 1、开启开发者模式:我的企业 -> 微信插件 -> 开发者工具勾选上
  • 2、注意是“当前管理员”,开发者工具登录的微信必须是当前企业微信的管理员。
到此这篇企业微信提示定位失败(企业微信打开定位权限显示定位失败)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • samba共享服务搭建(搭建samba服务器对资源共享有什么意义)2025-08-07 07:27:08
  • steam怎么用二维码登录微信(steam怎么扫码登录)2025-08-07 07:27:08
  • 企业微信打开定位权限显示定位失败(企业微信定位开了还是无法定位)2025-08-07 07:27:08
  • 跨域请求会到达服务器吗(跨域的请求发送到服务器了吗)2025-08-07 07:27:08
  • samba共享服务手机端(samba文件共享服务)2025-08-07 07:27:08
  • 个人服务器配置推荐(个人电脑搭建小型服务器)2025-08-07 07:27:08
  • 免费的个人服务器(免费的个人服务器软件)2025-08-07 07:27:08
  • 个人服务器搭建违法(私自搭建服务器)2025-08-07 07:27:08
  • 速排小蚂蚁微信编辑器怎么使用(速排小蚂蚁编辑器收费吗)2025-08-07 07:27:08
  • 速排小蚂蚁微信编辑器 自动回复(小蚂蚁微信编辑器如何发到公众号)2025-08-07 07:27:08
  • 全屏图片