微信小程序:优化获取用户头像与昵称的高效解决方案

微信小程序获取用户头像和昵称的方法有多种,但由于微信官方接口的调整,一些方法可能已经不再适用。以下是一些当前可用的完美解决方法:

图片[1]_微信小程序:优化获取用户头像与昵称的高效解决方案_知途无界

使用<open-data>标签

  • 如果只需要展示用户头像和昵称,而不获取其地址和字符串,可以直接使用<open-data>标签。例如:

    <view class="userinfo-avatar" bindtap="bindViewTap">  
      <open-data type="userAvatarUrl"></open-data> <!-- 直接显示微信头像 -->  
    </view>  
    <open-data type="userNickName"></open-data> <!-- 直接显示微信昵称 -->

    这种方式可以直接在微信小程序中显示用户的头像和昵称,但无法获取到其地址或字符串。

    通过button组件和wx.chooseAvatar接口获取头像

    • 在新版本中,由于wx.getUserProfile接口已被收回,获取微信头像需要通过在button组件上绑定open-type属性并设置为chooseAvatar,然后通过bindchooseavatar事件回调获取到头像信息的临时路径。

      <button open-type="chooseAvatar" bindchooseavatar="onChooseAvatar">选择头像</button>

      在对应的JavaScript代码中:

      onChooseAvatar(e) {  
        console.log(e.detail.avatarUrl); // 头像的临时路径  
      }

      通过input组件和type="nickname"获取昵称

      • 要获取微信昵称,可以把input组件的type属性设置为nickname。当用户点击输入框后,将会在键盘上方展示微信昵称,但并不会直接通过一个接口返回昵称字符串。此时,你可以通过监听inputinput事件来获取用户输入的昵称(如果用户选择修改昵称的话)。

      <input type="nickname" bindinput="onNicknameInput" />

      在对应的JavaScript代码中:

      onNicknameInput(e) {  
        console.log(e.detail.value); // 用户输入的昵称(或默认的微信昵称)  
      }

        请注意,以上方法都需要用户授权后才能获取相关信息。同时,为了遵守用户隐私和数据保护的原则,你应该在获取用户信息前明确告知用户你的用途,并在用户同意后再进行获取。

        © 版权声明
        THE END
        喜欢就点个赞,支持一下吧!
        点赞83 分享
        评论 抢沙发
        头像
        欢迎您留下评论!
        提交
        头像

        昵称

        取消
        昵称表情代码图片

          暂无评论内容