小程序昵称突然变成了微信用户头像变成了默认

1、原因

微信规则更新:添加链接描述
在这里插入图片描述

2、现象:

按照之前的获取方法登录后如图所示:
在这里插入图片描述

3、解决方法:
a、老代码中登录流程:

在这里插入图片描述

<view class="userinfo" wx:if="{{authSetting}}">
    <open-data class="userinfo-avatar" type="userAvatarUrl" ></open-data>
    <open-data class="userinfo-nickname" type="userNickName" lang="zh_CN"></open-data>
  </view>
  <view class="userinfo" wx:else bindtap="userLogin">
    <image class="userinfo-avatar" src="../../img/user.png"></image><text class="loginfont">点击登录</text>
  </view>

当用户未登录的时候,显示系统默认图片做为头像。并绑定userLogin触发打开登录页面。登录页面中的触发点击微信快速登录,触发登录事件:

<button type="primary" class='button' plain="true" bindtap="url">暂不登录</button>
<button  type="primary" open-type="getUserInfo" class='button'   bindgetuserinfo="bindLogin" >微信快速登录</button>
bindLogin: function (res) {
    // 声明一个变量接收用户授权信息
    var userinfo = res.detail.userInfo;
  },
b、更改后的登录流程:

头像显示部分代码:

<view class="userinfo" wx:if="{{authSetting}}">
      <image class="userinfo-avatar" src="{{userInfo.avatarUrl}}"></image><text class="loginfont">{{userInfo.nickName}}</text>
</view>
<button type="primary" class='button' plain="true" bindtap="url">暂不登录</button>
<button  type="primary"  class='button'   bindtap="getUserProfile" >微信快速登录</button> 
getUserProfile: function(){
    wx.getUserProfile({
      desc: '用户完善会员资料',
      success: (res) => {
      	// 保存用户信息到本地缓存,供后续读取使用
        wx.setStorageSync("userInfo",res.userInfo);
      }
    })
  },

在onLoad添加读取本地存储的userInfo赋值到userInfo变量即可。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值