微信小程序 wx.getUserProfile 接口获取用户信息

为优化用户的使用体验,平台将进行以下调整:

1、2021年2月23日起,若小程序已在微信开放平台进行绑定,则通过 wx.login 接口获取的登录凭证可直接换取 unionID 

2、2021年4月13日后发布的小程序新版本,无法通过 wx.getUserInfo 与 <button open-type="getUserInfo"/> 获取用户个人信息(头像、昵称、性别与地区),将直接获取匿名数据(包括userInfo与encryptedData中的用户个人信息),获取加密后的openID与unionID数据的能力不做调整。此前发布的小程序版本不受影响,但如果要进行版本更新则需要进行适配。

3、新增 getUserProfile 接口(基础库 2.10.4 版本开始支持),可获取用户头像、昵称、性别及地区信息,开发者每次通过该接口获取用户个人信息均需用户确认。具体接口文档:《getUserProfile接口文档》

4月13日后发布的新版本小程序,开发者调用wx.getUserInfo或<button open-type="getUserInfo"/>将不再弹出弹窗,直接返回匿名的用户个人信息,获取加密后的openID、unionID数据的能力不做调整。

具体变化如下表:

即wx.getUserInfo接口的返回参数不变,但开发者获取的userInfo为匿名信息。自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息。

调试前准备:

  1. 升级微信开发者工具 :1.05.2103022版本 开始支持
  2. 升级调试基础库:2.10.4 版本开始支持

wxml:

<view class="box">
  <button class="btn" catchtap="GetUserInfo">登录</button>
</view>

js:

  // 登录
  getUserInfo() {
    let self = this
    wx.getUserProfile({
      desc: "获取你的昵称、头像、地区及性别", // 不写不弹提示框
      success: res => {
        console.log(res)
        self.setData({
          userInfo: res.userInfo
        })
      },
      fail: res => {
        //拒绝授权
        wx.showToast({
          title: '您拒绝了授权',
          icon: 'none'
        })
        return;
      }
    })
  },

 

如果要是仅仅想展示用户信息的话,可以直接使用 open-data

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

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

 

posted on 2021-03-17 14:19  JoeYoung  阅读(5855)  评论(0编辑  收藏  举报