小程序关闭位置服务时跳转至手机设置界面

小程序跳转至手机位置设置界面

需求(产品的要求):

gis相关项目需要小程序在首页判断是否开启位置权限,未开启时提醒用户并要跳转至设置

分析(我觉得产品的要求):

首页获取一下位置,成功就ok,不行就弹框,然后就跳到小程序设置页面嘛,so easy

开整:

wx.getLocation({
  success: res = >{
    // ok
  },
  fail: err = >{
    wx.showModal({
      title: '温馨提示',
      content: '无位置授权将无法获取距离哦!',
      confirmText: '开启授权',
      cancelText: '不管他!',
      success: res = >{
        if (res.confirm) {
          wx.openSetting({
            success: res = >{
              // 授权成功
              setTimeout(() = >{
                // 再进一次这个代码块
              },
              1500)
            }
          })
        }
      }
    })
  }
})

直接搞定(我以为)

新需求(产品真正的需求):

未开启时提醒用户并要跳转至手机设置(不是小程序设置)

再次分析(好像不需要了)

我直接面向百度,粗略一扫,好像实现不了啊,好耶!

我:实现不了,微信没提供接口

产品:实现不了吗,那好吧

...几分钟后

产品:我看别人都可以实现啊

我:谁?不可能哦,咋实现的?

产品:我发给你看嘛

... 我靠还真能实现

我:我看一下嘛

开整(过程很曲折):

微信社区扫荡,发现很多人都有这个需求,就是没有解决办法,有人发现调用wx.chooseLocation接口,如果未开启位置设置,微信会自己弹出一个提醒框,可跳转至手机设置页面,但是会弹出微信的地图页面,肯定是不行地

...after a long time

终于让我找到了方法,那就是调用wx.getLocation,不过需要在webview页面调用,需要配置wx.config

...after a long time

配置好了,调用一下wx.getLocation不用做任何操作就行,wx.config配置改天写吧

新新需求(???):

产品:这个可不可以在微信页面实现?

我:不行

产品:好吧,那就这样吧

看来别人也没实现(滑稽)

原文地址:https://www.cnblogs.com/chenliang0817/p/15105290.html