今天在做小程序的时候突然发现获取用户昵称和头像的时候出现了奇怪的bug(如下图)

检查了n遍代码后还是找不到问题,想着看看以前的代码是怎么写的,结果发现所有的都变成了这种情况,肯定是官方又更新了,经过一系列的查看文档修改后成功解决了问题,现在将解决过程记下来,一是做一个记录,二是希望能帮助到大家

解决过程
第一时间是查看是不是微信又更新了(之前就因为一个bug卡了好长时间,最后发现使用的是旧版本。。。)当更新到最新版本1.05.2103190后,在终端发现了

微信小程序提供了一个新的接口wx.getUserProfile获取用户信息

官方详情文档

重点:wx.getUserProfile不能在onShow或者onLoad里面调用,要在 catchtap或者button的bindtap调用

最终代码

js

Page({data: {userInfo: null,isUser: false},getUserProfile() {wx.getUserProfile({desc: '使用户得到更好的体验',success: (res) => {console.log("获取用户信息成功", res)let user = res.userInfowx.setStorageSync('user', user)this.setData({isUser: true,userInfo: user})},fail: res => {console.log("获取用户信息失败", res)}})},onShow() {this.getUserProfile()var user = wx.getStorageSync('user')if (user && user.nickName) {this.setData({isUser: true,userInfo: user})}}
})

wxml

<view class="header" wx:if="{{isUser}}"><image src="{{userInfo.avatarUrl}}"></image><text>{{userInfo.nickName}}</text>
</view>
<view wx:if="{{!isUser}}"><button type="primary" bindtap="getUserProfile">登录</button>
</view>

原文链接:https://blog.csdn.net/qq_45758589/article/details/115414315

微信小程序新版本后用户昵称变成了“微信用户“解决方法相关推荐

  1. 微信小程序手机号解密报错:pad block corrupted 解决方法

    微信小程序手机号解密报错:pad block corrupted 解决方法 微信小程序获取用户手机号,后端解密手机号的时候偶尔会报错 javax.crypto.BadPaddingException: ...

  2. 微信支付服务商,![CDATA[sub_mch_id与sub_appid不匹配],微信小程序支付,签名错误,CDATA[签名错误]解决方法,支付签名验证失败

    微信支付服务商,微信小程序支付,签名错误,CDATA[签名错误]解决方法 1:服务商和普通的商户支付在代码上没有太大差异(不同的是上传的参数,而且微信支付服务商参数上比较难找,官方文档又太简洁,所以很 ...

  3. 微信小程序JSjavascript中的Math.pow()函数负数开立方解决方法

    微信小程序JSjavascript中的Math.pow()函数负数开立方解决方法 Math.pow()函数是不能负数开立方的,会返回Null,因为对于计算机而言,负数开三次方是一个复数(实际上负数开三 ...

  4. 微信小程序音频或视频拖动进度条时间不变解决方法

    问题描述: 微信小程序在较新版本的音频接口中推荐使用InnerAudioContext对象实现音频的播放.暂停.跳转等功能,通过监听接口回调实现. InnerAudioContext.onTimeUp ...

  5. 微信小程序使用swiper制作轮播图留白的解决方法

    微信小程序相比网页制作轮播图快捷了很多,直接可以使用swiper标签,但是对于新手来说,也有很多不可避免的坑. 附上轮播图代码 <view class="swp">&l ...

  6. 微信小程序出现【需要进行身份验证】弹框解决方法

    2019独角兽企业重金招聘Python工程师标准>>> 问题 在做微信小程序时,需要使用 Authorization 进行授权,结果每次登录的时候都出现这个弹窗. 原因 部分代码如下 ...

  7. 微信小程序不能使用本地图片当背景图片的解决方法

    本来直接用的本地图片,但结果真机调试的时候无法显示,上网查了之后知道小程序图片只能加载网络上的(直接写链接),或者是base64转码后的 style="background-image:ur ...

  8. 微信小程序解密encryptedData报错:pad block corrupted 解决方法

    今天碰到一个pad block corrupted错误,跟代码发现是Cipher里面的doFinal()爆出的错. 代码: public static JSONObject getUserInfo(S ...

  9. 微信小程序page页面下有多余空白区域(解决方法)

    出现的问题是这样子的: 仔细检查,是因为自定义组件导致的问题,但是组件中对高度没有定义,应该是自适应的. 解决方法: 在使用自定义组件的外面套上一层层view,然后给它设置高度并设置超出部分隐藏即可. ...

  10. 微信小程序—swiper轮播图图片不显示的解决方法

    swiper轮播图图片不显示的解决方法 遇到图片无法显示的问题,是样式问题 在wxss里面新型修改 设置宽度 .container{width: 750rpx; } .container swiper ...

最新文章

  1. Python 程序员常见错误
  2. Windows 编程[9] - WM_CLOSE 消息
  3. python画图代码彩虹-python绘制彩虹图
  4. OpenHub框架–下一个有趣的功能
  5. 多元正太分布条件密度
  6. Electron 打包Mac安装包代码签名问题解决方案Could not get code signature for running application
  7. 《Microsoft SQL Server 2008 Analysis Services Step by Step》学习笔记十一:与Cube交互(下)...
  8. bios 微星click_微星主板CLICK BIOS II BIOS设置软件下载_微星主板CLICK BIOS II BIOS设置软件官方下载-太平洋下载中心...
  9. PMP第六版计算题公式整理
  10. 《上海悠悠接口自动化平台》-1.新增API 与 各参数的描述
  11. java计算机毕业设计中学教务管理系统源码+mysql数据库+系统+部署+lw文档
  12. matlab函数关系式,怎么用MATLAB建立数据间的函数关系
  13. 大庆金桥:基于 SpreadJS 开发实现计量器具检定证书的在线生成与打印
  14. 路由器与计算机的ip地址,路由器ip地址,教您怎么样查看路由器的IP地址
  15. 很舒服的几句话,心静,人就不会累了
  16. 解决Navicat远程服务器2013-Lost connection to MYSQL server at 'waitting for initial communication packet'
  17. 课程预约小程序开发需要哪些功能?
  18. centos7安装XtraBackup 2.4.4
  19. 微信公众号文章爬取下载各种格式
  20. RHEL6基础之六RHEL6基本命令bash常用快捷键变量环境变量命令的返回值

热门文章

  1. 在CentOS上MySQL数据库服务器配置方法
  2. Flutter Sliver滚动组件
  3. react插件,树状图(可自由定义子节点结构,大小,样式)
  4. 数学和计算机竞赛,数学类和计算机类竞赛有哪些??
  5. 图嵌入综述整理(上)
  6. 银河帝国----基地
  7. uniapp 动态插槽 slot 兼容微信小程序 h5 APP
  8. 零代码上线小布对话技能:技能平台的实践与思考
  9. 使用 Sun Jimi 进行图像格式转换
  10. android 设置默认铃声,我的Android进阶之旅------gt;Android系统设置默认来电铃声、闹钟铃声、通知铃声,android进阶...