适配微信最新wx.getUserProfile获取用户信息

迅睿框架 更新 2023-08-15 11:26:56 匿名者

最近微信官方调整获取用户头像和昵称的接口,因此给大家带来最新接口适配方法及代码。先看看官方说明:

调整说明

自 2022 年 10 月 25 日 24 时后(以下统称 “生效期” ),用户头像昵称获取规则将进行如下调整:

  1. 自生效期起,小程序 wx.getUserProfile 接口将被收回:生效期后发布的小程序新版本,通过 wx.getUserProfile 接口获取用户头像将统一返回默认灰色头像,昵称将统一返回 “微信用户”。生效期前发布的小程序版本不受影响,但如果要进行版本更新则需要进行适配。

  2. 自生效期起,插件通过 wx.getUserInfo 接口获取用户昵称头像将被收回:生效期后发布的插件新版本,通过 wx.getUserInfo 接口获取用户头像将统一返回默认灰色头像,昵称将统一返回 “微信用户”。生效期前发布的插件版本不受影响,但如果要进行版本更新则需要进行适配。通过 wx.login 与 wx.getUserInfo 接口获取 openId、unionId 能力不受影响。

  3. 「头像昵称填写能力」支持获取用户头像昵称:如业务需获取用户头像昵称,可以使用「头像昵称填写能力」(基础库 2.21.2 版本开始支持,覆盖iOS与安卓微信 8.0.16 以上版本),具体实践可见下方《最佳实践》。

  4. 小程序 wx.getUserProfile 与插件 wx.getUserInfo 接口兼容基础库 2.27.1 以下版本的头像昵称获取需求:对于来自低版本的基础库与微信客户端的访问,小程序通过 wx.getUserProfile 接口将正常返回用户头像昵称,插件通过 wx.getUserInfo 接口将正常返回用户头像昵称,开发者可继续使用以上能力做向下兼容。

根据基础库的不断更新,部分功能无法实现。

下面利用头像昵称填写能力来实现此问题

废话不多说直接上代码!

下面是wxml部分代码。

my.wxml

<button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar">
  <text class="img-type">{{avatar_type}}</text>
  <image class="avatar" src="{{avatarUrl}}"></image>
</button>
<form catchsubmit="formSubmit">
  <view class="row">
    <view class="text1">当前名称:{{name}}</view>
    <input type="nickname" class="weui-input" name="input" placeholder="请输入昵称" />
  </view>
  <button class="edit-button" type="primary" style="margin-top:40rpx;margin-bottom:20rpx" formType="submit">提交</button>
</form>

下面是js部分代码

my.js

const defaultAvatarUrl = 'https://thirdwx.qlogo.cn/mmopen/vi_32/POgEwh4mIHO4nibH0KlMECNjjGxQUq24ZEaGT4poC6icRiccVGKSyXwibcPq4BWmiaIGuG1icwxaQX6grC9VemZoJ8rg/132'


data:{
avatarUrl: defaultAvatarUrl,
}


onChooseAvatar(e) {
    var self = this;
    const { avatarUrl } = e.detail 
    self.setData({
      avatarUrl,
    })

剩下的功能可以根据自己的能力拓展! 承接项目Q 50938884

方案

  • 湘西北的风 #1 · 2022-11-20 13:42:14
    感谢,学习学习
  • zhzhz #2 · 2022-11-20 14:24:17
    ,学习学习
  • zhzhz #3 · 2022-11-20 14:34:48
  • 匿名者 #4 · 2022-11-20 14:40:17
    zhzhz 分享叫分享懂吗?
  • haozii #5 · 2022-11-23 13:55:46
    不是这么简单吧
  • Swlts #6 · 2022-11-23 14:27:38
    看看是什么再说
  • nameaj #7 · 2022-12-02 17:19:37
    学习学习,谢谢楼主
  • 程新科技 #8 · 2023-01-22 11:16:24
    学习一下,谢谢分享
  • 胡银萍 #9 · 2023-02-07 20:55:16
    学习一下,谢谢分享
  • 志伟 #10 · 2023-03-27 15:14:05
    学习一下看看
  • 听海 #11 · 2023-03-27 15:49:01
    看看大牛是怎么写的学习一下

  • 不耻下问小菜新 #12 · 2023-04-18 10:54:52
    感谢,学习学习
  • chenxingen168 #13 · 2023-05-18 20:00:23
    学习了新帖,好资料
  • 多一边 #14 · 2023-05-20 17:49:38
    回复一下,学学
  • 约定 #15 · 2023-05-27 16:38:37
    感谢,学习学习
  • 13669622509 #16 · 2023-08-15 11:26:56
    • 感谢,学习学习

迅睿系统漏洞

GeoSeo收录宝
GeoSeo收录宝(2026-09-01)
升级 ai智能发布功能 升级 支持8国语言后端设置和前端输出功能 ...
Word发布批量上传
Word发布批量上传(2026-08-31)
版本覆盖问题重发
多语言翻译Seolang
多语言翻译Seolang(2026-08-31)
新增 LLM 大模型对话翻译模块 配置层强类型化重构 URL 模...
自定义存储
自定义存储(2026-08-30)
同步服务器端通用版实现,统一管理端、CMS 端和浏览器直传的提示与错...
GeoSeo工具箱
GeoSeo工具箱(2026-08-29)
新增 bing推送 新增 IndexNow推送 新增 baidu...
外贸多语言建站
外贸多语言建站(2026-08-27)
新增阿里云专业版入口 新增阿里云自动识别字符格式
Querylist渐进式采集
Querylist渐进式采集(2026-08-26)
增加范围截取规则
实时任务
实时任务(2026-08-26)
补充并整理完整使用说明、历史版本更新日志,统一帮助页样式。