微信小程序判断用户是否需要再次授权获取个人信息

一、index.js设置如下

 //获取用户的授权信息,放到本地缓存中
    wx.getSetting({
      success: (res) => {
        if(res.authSetting[‘scope.userInfo‘])
        {
          wx.setStorage({
            key: ‘can_getuserinfo‘,
            data: 1,
          })
        }
        else
        {
          wx.setStorage({
            key: ‘can_getuserinfo‘,
            data: 0,
          })
        }
      }
    }),
    //1:从本地缓存中获取数据,如果获取到根据结果显示Index页面的授权按钮是否显示,
    //2:如果从本地缓存获取不到数据则说明用户清空了本地数据,默认设置为0,让用户重新授权
    wx.getStorage({
      key: ‘can_getuserinfo‘,
      success: function (res) { 
        console.log(res.data);
        that.setData({
          can_getuserinfo:res.data
        })
      },fail:function()
      {
        that.setData({
          can_getuserinfo: 0
        })
      }
    })
   
  },

二、index.wxml设置如下

<view wx:if="{{can_getuserinfo==0}}">
<text>\n</text>
<text>\n</text>
<text>\n</text>
<button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="bindGetUserInfo">授权登录</button>
<view wx:else>请升级微信版本</view>
</view>

三、效果

效果是如果用户授权过了,则直接首页不显示授权按钮,直接进入业务页面,如果用户没授权,则显示授权按钮让用户选择授权

文章来自:https://www.cnblogs.com/wxjnew/p/9277362.html
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3