其实获取用户信息,一种是获取权限的,一种是不用获取权限,前者获取到的信息更多,包含一些敏感信息,包括给getaccessToken接口需要传的参数,后者就是简单获取一些头像、昵称等信息,具体可参考文档https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html

第一种:获取权限的

跟上一篇获取手机号权限方式一样的,都是通过button按钮触发,调用权限弹框:

代码:

<button open-type="getUserInfo" bindgetuserinfo="onGetUserInfo">登录获取个人信息权限</button>
onGetUserInfo(e) {
    if (e.detail.userInfo !== undefined) { // 允许
      app.loginfn()
    } else { // 拒绝

    }
}

如果用户允许的话,就可以调用获取用户信息的接口wx.getUserInfo:

wx.login({
      success: resCode => {
        // 发送 res.code 到后台换取 openId
        that.globalData.code = resCode.code
        wx.getSetting({
          success: res => {
            if (res.authSetting['scope.userInfo']) {// 已经授权
              wx.getUserInfo({
                success: rsl => {
                  // 获取用户信息后的操作
                }
              })
            }
          }
        })
      }
})

第二种:通过open-data

<open-data type="userAvatarUrl"></open-data>
<open-data type="userNickName"></open-data

详细参考文档:https://developers.weixin.qq.com/miniprogram/dev/component/open-data.html

10-18 13:39