微信小程序授权拒绝后,如何再次发起授权

蛰伏已久 蛰伏已久 2018-03-21

第一次做小程序,遇到一个问题,在用户第一次进入小程序时,请求获取用户信息,此时如果被用户拒绝了,当进入个人中心或者其他需要用户信息的页面,想再次请求,由于用户已经拒绝授权,不会再弹出授权框,也就无法获取用户信息。

查了一些资料,我们可以进入授权列表,打开权限,打开权限成功后再获取用户信息即可

wx.openSetting(OBJECT)

image.png


image.png


部分代码,可在需求再次授权的地方调用

var that=this;
wx.openSetting({
    success:function(res){ 
        if (res.authSetting["scope.userInfo"]==true){
           //如果用户授权获取用户信息
           
           wx.getUserInfo({
              success: res => {
                
                //存储用户信息
                 wx.setStorage({
                    key: 'userinfo',
                    data: res.userInfo,
                 })
                 
                 //set之后页面显示用户信息
                that.setData({
                    userinfo: res.userInfo
                })
              }
           })
        }
  
   }
})


文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/setting.html#wxopensettingobject


分享到

点赞(1)