一、现象

根据《小程序用户头像昵称获取规则调整公告》

自 2022 年 10 月 25 日 24 时后(以下统称 “生效期” ),

用户头像昵称获取规则将进行调整 :

通过 wx.getUserInfo 接口获取用户头像将统一返回默认灰色头像,昵称将统一返回 “微信用户”

官方链接: https://developers.weixin.qq.com/community/develop/doc/00022c683e8a80b29bed2142b56c01

 

二、解决

TIPS: 基础库 2.21.2 版本开始支持

1、添加点击按钮进行获取头像地址:

官方用例:
<button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar"> <image class="avatar" src="{{avatarUrl}}"></image> </button>


const defaultAvatarUrl = 'https://mmbiz.qpic.cn/mmbiz/icTdbqWNOwNRna42FI242Lcia07jQodd2FJGIYQfG0LAJGFxM4FbnQP6yfMxBgJ0F3YRqJCJ1aPAK2dQagdusBZg/0'
Page({
  data: {
    avatarUrl: defaultAvatarUrl,
  },
  onChooseAvatar(e) {
    const { avatarUrl } = e.detail 
    this.setData({
      avatarUrl,
    })
  }
})

  TIPS: 假如是基于Uni-app进行开发的小程序,可能你得调整一下绑定的回调方法,@chooseavatar="onChooseAvatar",如:

<button class="avatar-wrapper" open-type="chooseAvatar" @chooseavatar="onChooseAvatar">
  <image class="avatar" src="{{avatarUrl}}"></image>
</button> 

 

2、获取用户昵称:

官方用例:
<input type="nickname" class="weui-input" placeholder="请输入昵称"/>

  TIPS: 假如是基于Uni-app进行开发的小程序,可能你得需要对数据进行绑定一下,添加change方法进行处理,v-model="nickName" @change="onChangeNickname",如:

<input type="nickname" class="weui-input" placeholder="请输入昵称" v-model="nickName" @change="onChangeNickname" />


data () {
  return {
    nickName: ''
  }
},
methods: {
  onChangeNickname (e) {
    const getNickName = e.detail.value
    if (getNickName) {
      this.nickName = getNickName
    }
  }
}

三、总结

在不同的开发框架中,合理利用当前框架的数据绑定方法。

 

posted on 2023-05-05 16:16  小老虎网络  阅读(883)  评论(0编辑  收藏  举报