使用button组件getuserinfo获取用户信息

官方文档中:

button组件的open-type属性代表这微信开放能力,当我们制定该属性值为getUserInfo 类型,用户允许授权后,可获取用户基本信息。

需要注意的是:此接口有调整,使用该接口将不再出现授权弹窗,请使用 <button open-type="getUserInfo"></button> 引导用户主动进行授权操作


<button wx:if="{{canIUse}}" open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 授权登录 </button>

<view wx:else>请升级微信版本</view>

js代码:


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 {

      //用户按了拒绝按钮

    }

  },

还有一点容易被我们忽略的问题:

在小程序中,不允许wx.navigateTo 和wx.redirectTo 跳转到tabbar list的页面,用wx.switchTab 跳转,所以在授权之后要跳转到的页面若为 tabBar中的页面 ,应该用wx.switchTab或wx.reLaunch。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容