微信小程序4月13号新更新getUserInfo要用wx.getUserProfile接口替换

2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息,所以请尽快更新微信小程序授权登录接口。

wx.getUserProfile(Object object)

获取用户信息。每次请求都会弹出授权窗口,用户同意后返回 userInfo

参数

Object object

属性类型默认值必填说明
langstringen显示用户信息的语言
descstring 声明获取用户个人信息后的用途,不超过30个字符
successfunction 接口调用成功的回调函数
failfunction 接口调用失败的回调函数
completefunction 接口调用结束的回调函数(调用成功、失败都会执行)

object.lang 的合法值

说明最低版本
en英文 
zh_CN简体中文 
zh_TW繁体中文 

object.success 回调函数

参数

Object res

属性类型说明
userInfoUserInfo用户信息对象

示例代码

<view class="container">
  <view class="userinfo">
    <block wx:if="{{!hasUserInfo}}">
      <button wx:if="{{canIUseGetUserProfile}}" bindtap="getUserProfile"> 获取头像昵称 </button>
      <button wx:else open-type="getUserInfo" bindgetuserinfo="getUserInfo"> 获取头像昵称 </button>
    </block>
    <block wx:else>
      <image bindtap="bindViewTap" class="userinfo-avatar" src="{{userInfo.avatarUrl}}" mode="cover"></image>
      <text class="userinfo-nickname">{{userInfo.nickName}}</text>
    </block>
  </view>
</view>
Page({
  data: {
    userInfo: {},
    hasUserInfo: false,
    canIUseGetUserProfile: false,
  },
  onLoad() {
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true
      })
    }
  },
  getUserProfile(e) {
    // 推荐使用wx.getUserProfile获取用户信息,开发者每次通过该接口获取用户个人信息均需用户确认
    // 开发者妥善保管用户快速填写的头像昵称,避免重复弹窗
    wx.getUserProfile({
      desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
      success: (res) => {
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      }
    })
  },
  getUserInfo(e) {
    // 不推荐使用getUserInfo获取用户信息,预计自2021年4月13日起,getUserInfo将不再弹出弹窗,并直接返回匿名的用户个人信息
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  },
})

 来源:

https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html

 

备注:

今天有朋友问我,为什么更新了接口,编辑器本地调试不出来呢。PC调试时,显示的基础库版本是2.11.0,不是说的2.10.4就支持吗?

建议大家把编辑器升级到最新就问题了。旧版的不支持wx.getUserProfile这个方法,真机上是没有问题的。看我的调试基础库已经升级到最新2.16.1

 

  • 7
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
微信小程序是一种轻量级应用程序,可以在微信中直接运行。它提供了许多开发接口,使开发者可以使用微信的各种功能和服务。其中一个常用的功能是获取用户的昵称和头像。 在过去,开发者可以使用wx.getUserInfo接口获取用户的昵称和头像。然而,由于用户隐私保护的要求日益提高,微信团队对用户信息获取进行了限制。作为替代方案,微信团队推出了wx.getUserProfile接口wx.getUserProfile接口可以在用户同意授权的情况下获取用户的昵称和头像。开发者需要在button组件中设置open-type为getUserProfile,然后在button的bindgetuserinfo事件中获取用户信息获取用户信息后,可以通过e.detail.userInfo.nickName和e.detail.userInfo.avatarUrl分别获取用户的昵称和头像地址。 需要注意的是,wx.getUserProfile接口要用户授权才能获取用户信息。在用户点击button后,会出授权界面,用户可以选择是否授权提供信息。如果用户授权,则可以获取到用户的昵称和头像。如果用户拒绝授权,则无法获取用户信息。 总结来说,微信小程序获取用户昵称和头像的方式是使用wx.getUserProfile接口。开发者需要在button组件中设置open-type为getUserProfile,并在相应的事件中获取用户信息。授权后,可以通过e.detail.userInfo.nickName和e.detail.userInfo.avatarUrl获取用户的昵称和头像地址。同时,需要注意用户授权的情况,用户可以选择是否授权提供信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值