2022微信小程序填充昵称头像 open-type=“chooseAvatar“

2023-11-06

2021年7月份之后,微信开始加强对微信用户个人信息的安全防控,收回了相关服务端接口。微信后面也推出了前端填写昵称头像的方法。

官方代码如下:

<button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar">
  <image class="avatar" src="{{avatarUrl}}"></image>
</button> 
<input type="nickname" class="weui-input" placeholder="请输入昵称"/>
const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'

Page({
  data: {
    avatarUrl: defaultAvatarUrl,
  },
  onChooseAvatar(e) {
    const { avatarUrl } = e.detail 
    this.setData({
      avatarUrl,
    })
  }
})

最终页面效果:

 

 但是,这个是对小程序基础库以及微信客户端版本有要求的。

目前测试,微信小程序基础库要在2.24.7及以上版本才能同时支持昵称跟头像的填写。

而且微信客户端版本要求需要是8.0.24以上版本。

所以对应有些客户的微信版本没有及时更新,停留在8.0.24以下版本的,填充功能不能使用,需要另外兼容能够支持头像上传,于是需要获取并比较微信客户端版本号

获取微信客户端版本号:

const wxVersion = wx.getSystemInfoSync().version;

比较版本号:

compareVersion(v1, v2) {
    v1 = v1.split('.')
    v2 = v2.split('.')
    const len = Math.max(v1.length, v2.length)
  
    while (v1.length < len) {
      v1.push('0')
    }
    while (v2.length < len) {
      v2.push('0')
    }
  
    for (let i = 0; i < len; i++) {
      const num1 = parseInt(v1[i])
      const num2 = parseInt(v2[i])
  
      if (num1 > num2) {
        return 1
      } else if (num1 < num2) {
        return -1
      }
    }
    return 0
  }

另外在做真机调试时,一直出现真机的小程序基础库跟开发工具的基础库不同步问题

 只要在工具选择好对应版本的基础库,然后推送,并且真机的微信客户端版本达到版本要求即可,真机调试器显示的基础库即使显示低版本并没有影响。

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

2022微信小程序填充昵称头像 open-type=“chooseAvatar“ 的相关文章

  • 阻容降压原理的通俗讲解

    将交流市电转换为低压直流的常规方法是采用变压器降压后再整流滤波 当受体积和成本等因素的限制时 最简单实用的方法就是采用电容降压式电源 电容降压的工作原理并不复杂 他的工作原理是利用电容在一定的交流信号频率下产生的容抗来限制最大工作电流 例如
  • linux中反单引号(`)的作用

    在linux当中反引号也就是 符号 作用是 打上反引号的命令 首先将反引号内的命令执行一次 然后再将已经执行过的命令得到的结果再执行一次 就可以得到我们反引号的输出 看以下例子便可懂得
  • 设置海思芯片MMZ内存、OS内存详解

    1 前言 1 本文是基于hi3516dv300芯片的uboot和内核进行讲解 2 dv300芯片的板子上实际接了2G内存 dv300芯片实际最大也只支持2G内存 2 hi3516dv300芯片的内存地址范围 1 通过查阅数据手册可知 Hi3
  • adb命令怎么打开_细说电脑运行命令怎么打开

    电脑运行命令怎么打开呢 有时候决定一步一步的打开某个管理器或者程序太麻烦 有没有一步到位的方法呢 打开运行命令就可以啦 不过运行命令不太好找 下面我就给大家分享一下打开电脑运行命令的方法以及快捷键 运行命令主要是DOS操作系统的运行方式 我
  • 【华为OD机试 2023 B卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • 茶叶的保健作用与有益成分

    保健作用 能减低心脑血管发病和死亡风险据研究报道 日本研究者从1994年起对某地4万多名40岁至79岁中老年人进行跟踪调查发现 与一天喝茶不到1杯的人相比 每天喝5杯以上绿茶的男性因脑血管病死亡的平均风险下降了22 女性下降了31 其中脑梗

随机推荐

  • 《Spring源码深度分析》第6章 容器的功能扩展

    目录标题 前言 一 ApplicationContext代码切入点 加载配置文件的方式 代码切入点 二 设置配置路径 三 扩展功能 四 环境准备 五 加载 BeanFactory 1 obtainFreshBeanFactory 源码 流程
  • 目标跟踪(OTB100、GOT10K、LaSOT)数据集pysot测试结果

    论文画图 必不可少的测试结果 因为接触跟踪较晚 且对于matlab实在是不熟悉 所以最开始直接尝试的就是pysot进行曲线图 各算法比较框图的绘制 但是最近因为写论文需要画图 发现一些算法的txt文件实在难找 所以写下了这个帖子 目前并不全
  • 键盘盲打练习打字软件 v6.30绿色版

    点击下载来源 键盘盲打练习打字软件 v6 30绿色版 键盘盲打练习是一款字母和数字相结合的键盘打字练习软件 跟其他同性质功能软件相比较 它最大的特点是 眼睛不用看键盘 击闪烁的键 仔细体会 单击鼠标右键或按Alt A键 可弹出快捷菜单 非常
  • # STM32错误积累01:error: #11-D: unrecognized preprocessing directive

    解决办法 在 ifndef 与 define 后加上一个空格
  • docker安装kafka

    Kafka 是一个分布式流媒体平台 类似于消息队列或企业消息传递系统 kafka介绍 名词解释 producer 发布消息的对象称之为主题生产者 Kafka topic producer topic Kafka 将消息分门别类 每一类的消息
  • 【多模态】14、Segment Anything

    文章目录 一 Intruduction 二 Segment Anything Task 三 Segment Anything Model 四 Segment Anything Data Engine 五 Segment Anything D
  • 关于Qt pro、pri、qmake、Makefile的资源整理

    QT中PRO文件写法的详细介绍 如何在Qt Creator中创建pri文件 以及pri文件的说明 qmake的使用 跟我一起写 Makefile 一 推荐大家仔细看陈皓的和我一起写Makefile 可以通透makefile的工作原理 其次里
  • 林园价值交易策略

    文章目录 选股策略 林园6条炒股 心经 选股策略 选股时可以考虑在低市盈率 高分红的绩优龙头股和确定性高的小盘股中选 所选择的上市公司的财务指标需符合七大标准 每股盈利不低于0 3元 净利润不少于7000万元 毛利率在20 以上 净资产回报
  • 病毒反调试跟踪

    跟踪一个反调试巨多的病毒样本 1 调用 QueryPerformanceCounter反调试 这个API调用了封装ZwQueryPerformanceCounter系统调用的ntdll NtQueryPerformanceCounter 0
  • 什么是mvvm模式

    MVVM 是把 MVC 的 Controller 和 MVP 的 Presenter 改成了 ViewModel View 的变化会 动更新到 ViewModel ViewModel 的变化也会 动同步到 View 上显示 这种 动 同步是
  • vue-cli3.0 多核编译ts及内存配置(解决项目过大编译内存溢出)

    主要配置webpack插件ForkTsChecker 在vue config js中配置 module exports configureWebpack config gt 多核启动编译及内存提升 const data config plu
  • 区块链将如何改变服装、改变时尚?

    越来越多的服装公司开始注意到在某些情况下 它们需要改变自己的商业模式 以耐克为例 他们不再把自己定位成一家服装公司 相反 他们说自己是一家科技公司 碰巧生产服装 他们的衣服和鞋子通常都装有传感器 用于跟踪心率 英里数或卡路里燃烧情况 这是因
  • MySQL - 表字段的默认值约束

    设置表字段的默认值 DEFAULT 当为数据库表中插入一条新记录时 如果没有为某个字段赋值 数据库系统就会自动为这个字段插入默认值 为了达到这种效果 可通过SQL语句关键字DEFAULT来设置 设置数据库表中某字段的默认值非常简单 可以在M
  • Vue UI 组件库大起底 element VS iview VS ...

    最近接触了几个开源项目 发现大家都在用iview框架 趁机整理一下自己接触过的几个基于Vue js的UI组件库 Element 一套为开发者 设计师和产品经理准备的基于 Vue 2 0 的桌面端组件库 由饿了么前端开源的UI框架 主要用于开
  • Java多线程实现抢票

    1 1抢票系统 多人抢票 package Demo8 多个线程同时操作一个对象 买车票例子 public class TestThread4 implements Runnable private int ticket nums 10 Ov
  • Couldn't read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before

    在做项目时碰到一个问题 就是一直报 java lang IllegalStateException Couldn t read row 0 col 1 from CursorWindow Make sure the Cursor is in
  • QML设计登陆界面

    QML设计登陆界面 本文博客链接 http blog csdn net jdh99 作者 jdh 转载请注明 环境 主机 WIN7 开发环境 Qt5 2 说明 用QML设计一个应用的登陆界面 效果图 源代码 main qml javascr
  • python数据处理中的日期转换处理中的to_datetime()函数(一)

    python使用的是 jupyter notebook 话不多说 直接说说主要内容吧 一 函数简介 我们可以通过输入 import pandas as pd help pd to datetime 可以得到to datetime函数的相关作
  • 第三方登录之微信扫码登录

    文章目录 1 申请微信接入 2 项目环境搭建 3 后端Controller接口 4 HTML页面代码 5 测试结果 6 补充说明 小伙伴们有各种疑问可以去参考官方文档进行详细的学习下 微信开发文档 此次介绍的将是前后端不分离的微信扫码登录
  • 2022微信小程序填充昵称头像 open-type=“chooseAvatar“

    2021年7月份之后 微信开始加强对微信用户个人信息的安全防控 收回了相关服务端接口 微信后面也推出了前端填写昵称头像的方法 官方代码如下