微信小程序调整头像和昵称获取规则后,开发者该怎样应对?

微信小程序官方在2022年11月9日的时候,出了一则公告,公告内容大概为:开发者不能通过wx.getUserInfo接口去获取微信用户头像和昵称了,生效期后发布的插件新版本,通过 wx.getUserInfo 接口获取用户头像将统一返回默认灰色头像,昵称将统一返回 “微信用户”。生效期前发布的插件版本不受影响,但如果要进行版本更新则需要进行适配。通过 wx.login 与 wx.getUserInfo 接口获取 openId、unionId 能力不受影响。因为微信小程序官方为了防止有人不合理收集用户的微信昵称头像,收回了这接口。

然后我们会发现,之前上线的小程序,头像变灰了,昵称也变成了“微信用户”,这对用户体验性来说,简直是致命打击。作为一枚拥有极度强迫症的攻城狮,绝对不能接受这样的情况发生!

针对这一现象,我们怎么来挽救或者规避呢?微信也针对这个问题,做了一些调整,从之前的wx.getUserInfo直接获取,改成了头像昵称填写。开发者呢,则可以根据微信小程序官方指导文档,进行二次处理。

下面是我个人实践的流程和结果:

1、首先前端简单做一个授权界面,因为我是负责后端,前端就简单写一下,同行勿喷!

 

777c69cacf2027fe655895b964ee9f68.png

授权框代码

 

2、看一下界面效果

我这里设计的逻辑是用户取消授权就跳回原页面,去授权就弹出微信小程序头像选择框;

ffc9bdfc90d65fcab2f9c2faaa4620ec.png

头像授权

头像选择:

 

75c7be2f1ecb1cd480814d0714617b9c.png

去授权微信小程序头像

这里我们不用去管用户到底是取消授权还是用什么头像,只要触发bindchooseavatar 事件,我们监听这个事件函数,拿到头像结果即可。

fba99028fdd29a17bbe71012c985e2b7.png

选择微信小程序头像,并监听该事件

拿到头像之后,我们可以提示用户填写昵称,当然,如果没有用到昵称也可以不需要这一步,直接去登录。

 

967a1cba1eb0ee23a412f442ed6dfc43.png

提示用户去填写昵称

当用户点击输入框的时候,会自动弹出用户微信昵称,此时用户点击昵称填入。

 

6eeff9d29e724cb0e9c32ecb4367c864.png

微信昵称获取

用户也可以自行填写,当然,本着后端不相信前端输入的原则,然后后端逻辑拦截一下输入的文字内容,有敏感词汇的,做拦截提示处理。

 

ea32d26768731f3eb868fdb095160741.png

用户自定义的昵称做名敏感词拦截

获取到头像和昵称后,因为微信提供的头像是一个临时路径,不能作为微信头像的永久路径储存。所以这里需要将头像存入缓存,或者直接传给后端存储。我这里是前端缓存的同时,也传给后端存储了。

 

2e1abd0ba09872378841c1c4aa99a580.png

头像昵称获取成功

利用文件上传接口,传给后端处理,去储存或者做别的功能。

 

d56f751345f0d750ad7fe176137ebdc7.png

后端存储

这样,我们就可以愉快的接下一个项目了~

 

be2d792d8f5ac2e73ea0977d5146a4ef.png

头像昵称获取展示

你们又是怎么处理的呢,欢迎留言交流。下期见~

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值