小程序button引导用户受权

wx.getUserInfo(OBJECT) 注意:此接口有调整,使用该接口将再也不出现受权弹窗,请使用
<button open-type="getUserInfo"></button>
引导用户主动进行受权操做
当用户未受权过,调用该接口将直接报错 当用户受权过,能够使用该接口获取用户信息

因此咱们要使用上述button来请求用户受权html


1.index.wxml小程序

<button 
    wx:if="{{canIUse}}" 
    open-type="getUserInfo" 
    bindgetuserinfo="bindGetUserInfo"
>受权登陆</button>
<view wx:else>请升级微信版本</view>

2.index.js缓存

Page({
  data: {
    //判断小程序的API,回调,参数,组件等是否在当前版本可用。
    canIUse: wx.canIUse('button.open-type.getUserInfo')
  },
  onLoad: function () {
    // 查看是否受权
    wx.getSetting({
      success: function (res) {
        if (res.authSetting['scope.userInfo']) {
          wx.getUserInfo({
            success: function (res) {
              console.log(res.userInfo)
              //用户已经受权过
            }
          })
        }
      }
    })
  },
  bindGetUserInfo: function (e) {
    console.log(e.detail.userInfo)
    if (e.detail.userInfo) {
      //用户按了容许受权按钮
    } else {
      //用户按了拒绝按钮
    }
  }
})

注:若是未出现微信受权的弹窗,则多是由于以前受权的缓存致使的,由于只有未受权才会出现弹窗,清除缓存便可
参考:https://blog.csdn.net/weixin_...
https://blog.csdn.net/weidong...
https://www.cnblogs.com/legen...微信

相关文章
相关标签/搜索