博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
小程序初探之三-一个定位bug
阅读量:5813 次
发布时间:2019-06-18

本文共 1688 字,大约阅读时间需要 5 分钟。

叫醒我的不是梦想,是bug

问题描述: 小程序里的定位功能不能唤起地图,一直在确认授权之间来回切。

遇到同样问题的同学,如果着急,直接看最后一段即可。

早上被产品同学呼叫,说小程序因为定位功能出了问题不能下单了。

赶紧打开电脑,查看小程序更新日志:

客户端 7.0.0 新增配置

A 新增 框架 支持页面级自定义导航配置 navigationStyle: custom 详情
A 新增 框架 支持页面禁止右滑返回手势 disableSwipeBack: true 详情
A 新增 框架 如需使用位置接口,需在 app.json 中添加配置 permission
字段用于说明位置接口用途

以为自己很快找到问题,在app.json添加好了配置:

"permission": {    "scope.userLocation": {      "desc": "你的位置信息将用于推荐距离最近的订单"    }  }复制代码

发现问题还是不断复现,且只有部分手机有问题。

赶紧拿过来问题机真机调试,发现有段代码没有执行,

wx.openSetting({      success: function (settingRes) {        if (settingRes.authSetting['scope.userLocation']) {          wx.getLocation({            type: 'gcj02',            success: function (res) {              let {                latitude,                longitude              } = res              that.globalData.iSlocation = true              that.globalData.latitude = latitude              that.globalData.longitude = longitude              callBack && callBack()            }          })        } else {        }      }    })复制代码

获取授权配置一切正常,settingRes.authSetting['scope.userLocation']true, 但是

wx.getLocation({            type: 'gcj02',            success: function (res) {              let {                latitude,                longitude              } = res              that.globalData.iSlocation = true              that.globalData.latitude = latitude              that.globalData.longitude = longitude              callBack && callBack()            }          })复制代码

根本不执行。

突然想死。但是内心强大的程序媛不能放弃哈。 接着调试,点问题机的扫一扫不小心点成了摇一摇。

这时候,奇迹出现了

摇一摇页面出现了定位提醒,这个应该是微信的定位授权,点了同意。

然后,再点开我的小程序,问题不出现了!!

所以,我在想,小程序是基于微信的,小程序虽然授权了位置信息,但是微信的位置授权因为某种原因(升级?清除缓存?)失效了。这时候小程序的也不能用。 小程序的位置授权是依赖微信的位置授权的?只能这样猜一下了。

吐槽一下,小程序的文档真的写的挺糊弄的。

转载地址:http://ritbx.baihongyu.com/

你可能感兴趣的文章
聊一聊log4j2配置文件log4j2.xml
查看>>
NeHe OpenGL教程 第七课:光照和键盘
查看>>
修改上一篇文章的node.js代码,支持默认页及支持中文
查看>>
Php实现版本比较接口
查看>>
删除设备和驱动器中软件图标
查看>>
第四章 TCP粘包/拆包问题的解决之道---4.1---
查看>>
html语言
查看>>
从源码看集合ArrayList
查看>>
spring-boot支持websocket
查看>>
菜鸟笔记(一) - Java常见的乱码问题
查看>>
我理想中的前端工作流
查看>>
记一次Git异常操作:将多个repository合并到同一repository的同一分支
查看>>
CodeIgniter 3.0 新手捣鼓源码(一) base_url()
查看>>
Chrome 广告屏蔽功能不影响浏览器性能
查看>>
vSphere 6将于2月2日全球同步发表
查看>>
Android状态栏实现沉浸式模式
查看>>
让你的APP实现即时聊天功能
查看>>
iOS 绝对路径和相对路径
查看>>
使用Openfiler搭建ISCSI网络存储
查看>>
iOS - UIViewController
查看>>