关于微信小程序获取头像和昵称

不知道为什么微信一直对开发者获取:微信头像+微信昵称。一直抱以限制态度,关于接口调用方法,也是一直在修改!

open-type=“getUserInfo” 在2021年4月13日停用

wx.getUserInfo 在2021年4月28日停用

wx.getUserProfile 在2022年11月8日停用

但是如果你在接口停用前发布的,还可以正常使用!

到目前为止,2023年初了,要开始使用微信新接口来获取微信头像和昵称方式,我们开始:

微信小程序wxml端:

<!--获取头像-->
<button open-type="chooseAvatar" bind:chooseavatar="onChooseAvatar"></button> 
<!--获取昵称-->
<input type="nickname" class="weui-input" placeholder="请输入昵称"/>

微信小程序JS端:


onChooseAvatar(e) {
    console.log(e.detail.avatarUrl)
  }

但是到目前位置,端口还有存在问题:

1:点击chooseAvatar按钮报错。

当点击获取头像,不选择头像,点取消时候,会出现 chooseAvatar:fail cancel 事件

但是微信官方没有给出这个说明,和这个方法的参考操作.

2: open-type="chooseAvatar" 通过这个方法获取的 e.detail.avatarUrl这个头像是一个临时图片,不能在外部使用:

例如:http://tmp/FmDQRKhbce0Ie239b08f13955f6b1b97ab8c53a649f5.jpeg

临时头像,在微信小程序,关闭后重启后会释放。

到目前为止,如果要存客户头像在自己非云开发后台,使用建议还是获取客户上传图片为头像是最好的,昵称获取没有问题。

如果有更好办法,请开发者留言!

  • 6
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要在微信小程序获取用户的头像昵称,可以通过调用微信提供的接口来实现。以下是获取用户头像昵称的步骤: 1. 在小程序的页面中,使用`wx.getUserInfo`方法获取用户的基本信息,包括头像昵称等。示例代码如下: ```javascript wx.getUserInfo({ success: function(res) { var userInfo = res.userInfo; var nickName = userInfo.nickName; // 用户昵称 var avatarUrl = userInfo.avatarUrl; // 用户头像图片链接 // 这里可以将获取到的信息保存到本地或发送到服务器进行处理 } }); ``` 2. 在小程序的`app.js`或需要使用用户信息的页面中,需要在`onLaunch`或`onLoad`方法中调用`wx.login`方法获取用户的登录凭证code。示例代码如下: ```javascript wx.login({ success: function(res) { if (res.code) { // 登录成功,获取到用户的登录凭证code var code = res.code; // 这里可以将code发送到服务器进行处理,用于换取用户的openid等信息 } else { console.log('登录失败!' + res.errMsg); } } }); ``` 需要注意的是,获取用户信息和登录凭证code的接口都需要用户授权才能调用成功。在小程序的`app.json`文件中,需要添加`scope.userInfo`和`scope.login`权限,示例代码如下: ```json { "pages": [ "pages/index/index" ], "permission": { "scope.userLocation": { "desc": "你的位置信息将用于小程序定位" }, "scope.userInfo": { "desc": "你的头像、称等信息将用于小程序展示" }, "scope.login": { "desc": "你的登录凭证将用于小程序登录" } } } ``` 这样,当用户打开小程序时,会弹出授权提示框,让用户授权获取头像昵称的权限。用户授权后,就可以成功获取到用户的头像昵称信息了。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值