微信小程序获取用户头像昵称

news/2024/11/23 13:43:35/

微信小程序获取头像昵称问题解决

文章目录

  • 微信小程序获取头像昵称问题解决
    • 前言和传统方法
    • 问题描述
    • 解决方案
    • 实现效果

前言和传统方法

微信小程序是一种基于微信开发平台的轻应用,用户可以通过微信扫码、搜索等方式进入小程序并使用。在小程序中,获取用户昵称和头像是非常常见的需求,因为这些信息可以用来个性化展示内容,提高用户体验。以下是获取用户头像昵称的传统方法:

  • 在小程序中,可以通过调用微信提供的API获取用户信息。具体步骤如下:

    (1) 在小程序的app.json文件中添加“scope.userInfo”权限,表示需要获取用户信息。

    (2) 在小程序中使用wx.getUserInfo()方法获取用户信息。

    (3) 获取到用户信息后,可以通过userInfo.nickName和userInfo.avatarUrl属性获取用户昵称和头像。

代码示例:

wx.getUserInfo({success: function(res) {var userInfo = res.userInfovar nickName = userInfo.nickNamevar avatarUrl = userInfo.avatarUrl}
})
  • 另外,如果只需要获取用户头像,可以直接调用微信提供的wx.getUserProfile()方法。

(1) 在小程序的app.json文件中添加“scope.userProfile”权限,表示需要获取用户头像。

(2) 在小程序中使用wx.getUserProfile()方法获取用户头像。

(3) 获取到用户头像后,可以通过userProfile.avatarUrl属性获取用户头像。

代码示例:

wx.getUserProfile({desc: '用于展示用户头像',success: function(res) {var userProfile = res.userInfovar avatarUrl = userProfile.avatarUrl}
})

问题描述

但如果我们现在再使用类似的方法时,往往无法得到自动获取用户头像昵称的效果。微信小程序开发现已不支持使用wx.getUserProfile 接口获取用户头像,同时也无法使用wx.getUserInfo 接口获取用户头像和昵称,因此在使用微信小程序获取头像昵称时,可能出现模拟器中成功但真机调试无法获取头像昵称的情况。

在这里插入图片描述

解决方案

  • 头像选择:需要将 button 组件 open-type 的值设置为 chooseAvatar,当用户选择需要使用的头像之后,可以通过 bindchooseavatar 事件回调获取到头像信息的临时路径。
 //js文件// 用户选择头像onChooseAvatar(e) {const {avatarUrl} = e.detailconsole.log(avatarUrl);this.setData({['userInfo.avatarUrl']: avatarUrl,})},
<!-- wxml文件 --><button class="avatar-wrapper" open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar">修改头像 </button>
  • 昵称填写:需要将 input 组件 type 的值设置为 nickname,当用户在此input进行输入时,键盘上方会展示微信昵称。
//js文件// 用户修改昵称changeNickName(e) {let name = e.detail.value;if (name.length === 0) return;this.setData({['userInfo.nickName']: e.detail.value})},
<!-- wxml文件 --><input type="nickname" class="nick-name-input" placeholder="请输入昵称" bindblur="changeNickName"/>

实现效果

通过以上代码示例,我们可以实现获取微信小程序用户的昵称和头像的功能。当用户进入小程序后,程序会请求用户授权,用户同意授权后,即可获取到用户的信息。按照上述步骤修改代码后,无法直接获取到用户的昵称和头像,但可以在用户修改默认头像和昵称时选择使用自己的昵称和头像。
在小程序中,我们可以根据用户的昵称和头像信息,实现个性化展示,比如在页面顶部显示用户头像,页面中显示用户昵称等等。这些个性化的展示方式可以提高用户的体验,增强用户对小程序的好感度。
如在WXSS文件中进行如下设置:


.userinfo {display: flex;flex-direction: column;align-items: center;color: #aaa;
}.userinfo-avatar {overflow: hidden;width: 128rpx;height: 128rpx;margin: 20rpx;border-radius: 50%;
}.avatar-wrapper{margin: 10px 0;
}.nick-name-input{border: 1px solid #f1f1f1;padding:5px;
}

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

此外,由于小程序的用户信息获取需要用户授权,因此我们需要在代码中加入相应的授权请求代码,保障用户隐私安全,提升小程序的信誉度。
具体的实现代码以及小程序项目完整功能源码:https://github.com/WYXNICK/The-evening-scenery-is-like-spring


http://www.ppmy.cn/news/629160.html

相关文章

微信小程序获取用户头像和昵称(头像昵称填写能力)

开放能力调整公告 总体来说就是通过按钮来授权获取用户基础信息的能力都没啦&#xff08;wx.getUserProfile&#xff0c;wx.getUserInfo都不行了&#xff09;&#xff0c;都要使用新版本的 【头像昵称填写能力】啦。 小程序用户头像昵称获取规则调整公告 获取头像 获取头像代…

微信小程序授权获取头像昵称的最新形式——头像昵称填写

微信小程序授权用户信息&#xff0c;不知道有没有人像我一样&#xff0c;从wx.getUserInfo到wx.getUserProfile再到头像昵称填写获取用户头像昵称全部尝试了一遍&#xff0c;怪就怪自己一开始没仔细看官方文档&#xff0c;没注意到小程序的官方公告&#xff0c;不多说了&#x…

Map集合-根据宠物昵称查找宠物

1 package collection;2 3 /**4 * 宠物类5 * @author 6 *7 */8 public class Pet {9 private

根据QQ号获取昵称和头像

# 开发时间&#xff1a;2021/2/2 22:28 # 开发工具&#xff1a;PyCharm # 开发者&#xff1a;GoTop import requests import redef getPhoto(qqCode):url f"http://q.qlogo.cn/headimg_dl?dst_uin{qqCode}&spec640&img_typejpg"headers {Referer: http://…

用JS获得QQ号码的昵称,头像,生日

&#xff08;转载请在开始注明来自赵亮的博客blog.csdn.net/theforever&#xff09; http://r.qzone.qq.com/cgi-bin/user/cgi_personal_card?uin指定QQ号码 将会返回下列内容&#xff1a; _Callback({"uin":查询的QQ号码,"qzone":1,"nickname&q…

Flutter系列(十)实现个人中心页

基础工程&#xff1a; Flutter系列&#xff08;四&#xff09;底部导航顶部导航图文列表完整代码_摸金青年v的博客-CSDN博客 一、前言 本文用flutter实现个人中心页布局&#xff0c;效果如下图&#xff1a; 二、使用的组件 1.颜色渐变&#xff1a;LinearGradient 线性渐变组…

前端position使用方法

position 是一个 CSS 属性,用于控制元素的定位方式。它可以设置以下几个值: static:默认值,元素按照正常的文档流进行布局,不进行定位。relative:相对定位,元素会相对于其正常位置进行偏移,但仍然占据原来的空间。absolute:绝对定位,元素会脱离正常文档流,相对于其最…

电脑很大,笔记本电脑响声很大怎么回事

大家好&#xff0c;我是时间财富网智能客服时间君&#xff0c;上述问题将由我为大家进行解答。 以风扇为例&#xff0c;其笔记本电脑响声很大的原因有&#xff1a; 1、使用时间过长&#xff0c;风扇的线圈老化&#xff0c;缺油。 2、由于使用不当&#xff0c;受到撞击或震动导致…