码迷,mamicode.com
首页 > 微信 > 详细

关于小程序opensetting废弃后地理位置的二次授权

时间:2018-08-27 21:40:03      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:存在   family   highlight   auth   http   oca   res   inf   open   

 

  由于小程序为了客户体验,在用户首次拒绝授权后,弹窗短时间内将不会再出现。然而此时可能有些需要经纬度的重要数据就无法调取,因此需要引导客户去再次授权。目前发现能够吊起授权弹框的有wx.getLocation、 wx.authorize但是用户拒绝后短期内调用这些api也不会出现授权弹框了。

  现如今opensetting也已经废弃

<button hidden=‘{{!hiddenLoading}}‘ open-type="openSetting" bindopensetting=‘handler‘ class=‘getLocation‘>请先授权</button>

  这段代码可以使用户进入授权界面再度授权,而上面的按钮则可以通过用户是否授权来进行显示或者隐藏(hiddenLoading)

技术分享图片

此时我们只需要在handle里再次调用该函数即可

  handler:function(){
    this.getAuthor();
  },
  getLoaction() {
    const that = this;
    wx.getLocation({
      type: ‘gcj02‘,
      success: function(res) {
        // console.log(‘success‘)
        latitude = res.latitude;
        longitude = res.longitude;
        that.categoryList();/*这是我通过经纬度调取数据的函数*/
        that.setData({
          hiddenLoading: false
        });
      },
      fail: function() {
        // console.log(‘fail‘);
        wx.hideLoading();
        that.setData({
          hiddenLoading: true
        })
      }
    })

  },

因为本人小程序这方面所需要面对的情况也不多,所以并没有写太多的判断。不管授权是否,handler函数都会执行!会调动getLocation。倘若此时已经授权,便可以获取到经纬度调取数据,否则按钮仍然存在。

 

关于小程序opensetting废弃后地理位置的二次授权

标签:存在   family   highlight   auth   http   oca   res   inf   open   

原文地址:https://www.cnblogs.com/mistrainy/p/9543850.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!