20

小程序开发中如何实现自定义头像和昵称?

发布时间:2022-04-29 阅读量:1 来源: 易企优

  从去年年底开始到今天这段时间,微信小程序生态比较大的动作就是开始对用户隐私保护方面做出各种调整。(当然是件好事情)

  这让原本可以方便使用的一些开放能力,被陆续收回去了,比如open-data这个组件的展示用户信息的能力就被回收了。下面的截图是官方给出的通知。

  小程序开发中如何实现自定义头像和昵称?

  能力被回收通知

  果然还未到时间,使用了此组件的地方就变成了如下这样:

  小程序开发中如何实现自定义头像和昵称?

  灰色头像、昵称为“微信用户”

  如今隐私保护越来越被大家所认同和重视,是大势所趋,对互联网行业发展有益无害。

  记得15年的时候每安装一个APP都需要获取各种各样的权限,有时候八竿子打不着的权限也要,不给还不能安装,可惜那时候整个App行业尚处于早期野蛮生长阶段,少有人在乎这种问题。那时候还有各种SDK都悄悄要通讯录权限,简直无法无天。(当然以上说的都是Android生态,这方面苹果的iOS做得就是好不得不佩服。)

  如今大家连头像和昵称都开始注重起来了,有没有发现我们发个微信截图都会把头像和昵称给马赛克。

  扯远了,回正题。

  既然open-data能力被回收了,那么我们如何尽量挽回用户体验的损失呢?

  这里给出两种方案。

  一、授权获取微信用户的头像及昵称并保存

  如果只是简单的展示用户的微信头像和昵称,不需要自定义时,可采取此方案,授权获取到数据后记得保存到后台,否则下次仍需要授权获取。相应的API为wx.getUserProfile。

  二、自己开发头像及昵称设置功能

  这里又分使用微信头像及昵称作为默认的头像和昵称(同样需要做授权处理)同时可以自定义昵称及上传自定义头像;再者就是利用微信官方提供的button和input的扩展能力直接获取微信头像和昵称,并且它们自带头像上传和昵称修改功能

  当然为了少造轮子,我们建议直接使用官方提供的扩展能力。

  注意:

  1)这里将用户上传的头像图片保存到了云存储中,因image组件支持显示云存储中的图片文件。你也可以选择其他存储方式,如七牛云。

  2)button和input的扩展能力,获取微信头像和昵称,在PC上尚不可使用;但open-data展示用户的微信头像和昵称在PC上却仍可以使用。所以请注意兼容处理。