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

今天在做小程序的时候突然发现获取用户昵称和头像的时候出现了奇怪的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.userInfo
        wx.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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值