微信小程序最新获取头像昵称方式

2023-11-18

 

前言

版本历史变迁

一、获取头像的正确姿势

二、获取昵称的正确姿势

总结


前言

产品需要获取微信用户的昵称和头像。

这这还不简单,so easy!

通过wx.getUserProfile或者 wx.getUserInfo 就可以获取到。

但是获取的昵称是”微信用户“获取的头像是灰色的头像。

如果你也是上面这种情况,一定是很久没有看过微信小程序的更新文档了。

版本历史变迁

自 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 接口将正常返回用户头像昵称,开发者可继续使用以上能力做向下兼容。

对于上述 3,wx.getUserProfile 接口、wx.getUserInfo 接口、头像昵称填写能力的基础库版本支持能力详细对比见下表:

*上面粘贴自微信开发文档

一、获取头像的正确姿势

头像获取的是一个临时路径,千万不要把获取的地址直接存储到数据库中。

需要将 button 组件 open-type 的值设置为 chooseAvatar,当用户选择需要使用的头像之后,可以通过 bindchooseavatar 事件回调获取到头像信息的临时路径

从基础库2.24.4版本起,若用户上传的图片未通过安全监测,不触发bindchooseavatar 事件。

    <!-- .wxml --> 
<button type="primary" open-type="chooseAvatar" bindchooseavatar="getChooseAvatar" >获取头像</button>

//.js
  getChooseAvatar(e) {
    console.log(e);
    this.setData({
      avatarUrl: e.detail.avatarUrl,
    })
  },

二、获取昵称的正确姿势

需要将 input 组件 type 的值设置为 nickname,当用户在此input进行输入时,键盘上方会展示微信昵称。

从基础库2.24.4版本起,在onBlur 事件触发时,微信将异步对用户输入的内容进行安全监测,若未通过安全监测,微信将清空用户输入的内容,建议开发者通过 form 中form-type 为submit 的button 组件收集用户输入的内容。


  <form bindsubmit="userInfoLogin">
  <input name="nickname" type="nickname" class="calculate-input" placeholder="请输入昵称" value="{{nickName}}"   />
  <button class="move-anim-box weight-save" type="primary" form-type="submit">保存</button>

  
  </form>

 userInfoLogin(e) {
 this.setData({
      nickName: e.detail.value.nickname
    })
},


总结

开发前要经常留意版本的升级调整

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序最新获取头像昵称方式 的相关文章

随机推荐

  • 排序之冒泡 选择 插入 快速(c++)

    by Nicole 11 2017 include
  • Vue项目打包详细过程(非nginx代理配置)

    Vue项目打包部署至阿里云ECS 将项目入口文件中含有跨域连接的地址改为服务器地址 将Config目录下index js中的build中的assetsPublicPath修改为 在build目录下util js中添加publicPath 同
  • docker安装openwrt

    docker安装openwrt docker安装openwrt 安装问题 1 docker Error response from daemon failed to create the macvlan port devic 插件安装 do
  • [Basic]测试的概念 - 集成测试- 系统测试- 验收测试- 回归测试 -

    b 集成测试 英文是Integration Testing b 集成测试是指一个应用系统的各个部件的联合测试 以决定他们能否在一起共同工作并没有冲突 部件可以是代码块 独立的应用 网络上的客户端或服务器端程序 这种类型的测试尤其与客户服务器
  • Mpvue介绍

    Mpvue是什么 Mpvue是一个基于Vue的微信小程序前端框架 可以让我们用vue的语法写小程序的项目 简单来说就是 以前我们写微信小程序 必须借助微信小程序的开发者工具 微信开发工具提供的语法才能写小程序 Mpvue的出现 让我们可以先
  • Java开发之高并发必备篇(一)——线程基础

    提到高并发 这几年几乎是火遍编程界的网络名词了 无它 随着现在互联网的高速发展特别是电商平台类的应用快速发展 互联网服务内容也越来越丰富 用户越来越多 淘宝 天猫 京东 拼夕夕 抖音等几乎成为了广大群众每日必用的应用了 而在这些应用中见到的
  • Pocket PC 2003中文模拟器

    在用EVC中有自带的模拟器STANDSDK emulator 进行基于WinCE平台的开发时 Pocket PC 2003 SDK是必不可少的 在安装完PPC后可以安装其中文补丁第二版 这样模拟器所使用的就是中文操作系统界面了 如果没有安装
  • dbscan聚类python_20分钟学会DBSCAN聚类算法

    DBSCAN是一种非常著名的基于密度的聚类算法 其英文全称是 Density Based Spatial Clustering of Applications with Noise 意即 一种基于密度 对噪声鲁棒的空间聚类算法 直观效果上看
  • 利用python语言编程控制LEGO EV3

    1 环境搭建 安装WinSCP 网址 https sourceforge net projects winscp 下载一个自己喜欢的python IDE 例如pycharm 将EV3的系统换为ev3dev 参考网址 https www ev
  • 适合儿童学习的编程语言一览

    近两年我们常常会看到如下新闻 4 5岁的就能具备独立开发APP的能力 6 7岁的孩子甚至可以设计出可以上线的小游戏 在我们感慨小朋友们出色的编程能力的同时 不难发现编程已从边缘学科逐渐被大家重视 编程普及率不断提升 而且逐渐呈现出低龄化发展
  • python——常见ERROR汇总

    读取txt csv等数据时 UnicodeDecodeError gbk codec can t decode byte 0xbf in position 2 illegal multibyte sequence 释义 Unicode的解码
  • 80. 删除有序数组中的重复项 II

    Powered by NEFU AB IN Link 文章目录 80 删除有序数组中的重复项 II 题意 思路 代码 80 删除有序数组中的重复项 II 题意 给你一个有序数组 nums 请你 原地 删除重复出现的元素 使得出现次数超过两次
  • 和愚蠢的人打交道_如何与工作困难的人打交道

    和愚蠢的人打交道 Humans are social creatures who seek personal validation based on how others interact with them We feel good an
  • (转) serialVersionUID作用

    Java的序列化机制是通过在运行时判断类的serialVersionUID来验证版本一致性的 在进行反序列化时 JVM会把传来的字节流中的serialVersionUID与本地相应实体 类 的serialVersionUID进行比较 如果相
  • C++11 -- 包装器

    文章目录 function包装器 function包装器的概念 function的运用 function实例化 使用function解决逆波兰表达式 bind包装器 bind包装器相关介绍 bind调整函数形参传参顺序 bind绑定函数固定
  • 双机热备,如何用浮动IP跨网络访问异地服务

    环境是这样的 本地有两台服务器A B A 192 168 151 170 主 B 192 168 151 171 备 双机的浮动IP 192 168 151 174 承载网IP 10 182 254 164 异地服务端 172 16 122
  • python怎么去除字符串的空格、回车

    内容取此 str 123 456 print str strip 去除左右两边的空格 print str lstrip 去除左边的空格 print str rstrip 去除右边的空格 print str replace 去除字符串全部空格
  • ELK详解(十七)——filebeat输出到Redis和Elasticsearch实战

    今天继续给大家介绍Linux运维相关知识 本文主要内容是使用filebeat将日志输出到Redis和Elasticsearch的实战配置 在ELK详解 十六 filebeat安装与使用一文中 我们介绍了filebeat的安装 部署和简单应用
  • 基于SpringBoot-Dubbo的微服务快速开发框架

    简介 基于Dubbo的分布式 微服务基础框架 为前端提供脚手架开发服务 结合前一篇 Web AP快速开发基础框架 可快速上手基于Dubbo的分布式服务开发 项目代码 https github com backkoms web service
  • 微信小程序最新获取头像昵称方式

    前言 版本历史变迁 一 获取头像的正确姿势 二 获取昵称的正确姿势 总结 前言 产品需要获取微信用户的昵称和头像 这这还不简单 so easy 通过wx getUserProfile或者 wx getUserInfo 就可以获取到 但是获取