小程序初探之三-一个定位bug

叫醒个人不是梦想,是bug

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

遇到一样问题的同窗,若是着急,直接看最后一段便可。json

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

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

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

觉得本身很快找到问题,在app.json添加好了配置:微信

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

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

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

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, 可是post

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()
            }
          })
复制代码

根本不执行。ui

忽然想死。可是心里强大的程序媛不能放弃哈。 接着调试,点问题机的扫一扫不当心点成了摇一摇。

这时候,奇迹出现了

摇一摇页面出现了定位提醒,这个应该是微信的定位受权,点了赞成。

而后,再点开个人小程序,问题不出现了!!

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

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

小程序初探之二

相关文章
相关标签/搜索