微信小程序获取的微信头像模糊问题

一、头像模糊

微信小程序获取用户微信的头像,放大查看时图片是模糊不清的。这是因为在获取头像数据的时候,我们拿的不是高清图。

微信小程序开发文档的相关说明:

string avatarUrl

用户头像图片的 URL。URL 最后一个数值代表正方形头像大小(有 0、46、64、96、132 数值可选,0 代表 640×640 的正方形头像,46 表示 46×46 的正方形头像,剩余数值以此类推。默认132),用户没有头像时该项为空。若用户更换头像,原有头像 URL 将失效。

因为前端调用微信小程序的getUserInfo拿到的头像默认是132的,如下:

https://wx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTKzerXkgVCsBxN4Sdwr2HiaE0fofFChOzCVszOians5ewebL4wuaonACA0NXDHfxX7POBaHMCFj5xVQ/132

这个数据在放大时,是会模糊的,但如果把最后一个数值改成0,那么拿到的就是清晰图,如下:

https://wx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTKzerXkgVCsBxN4Sdwr2HiaE0fofFChOzCVszOians5ewebL4wuaonACA0NXDHfxX7POBaHMCFj5xVQ/0

所以,只需要后端在存储头像时将132改成0,或者前端在放大查看图片时,将132改成0即可。

二、头像无法显示
这是因为微信用户换了头像,所以会导致原来的头像URL失效,小程序端如果拿的还是用户原来的旧头像地址,那就是无法查看了。
我的解决办法就是每次都调微信小程序的getUserInfo是都获取用户的微信头像,然后把这个数据拿去更新数据库里面的头像数据。

发表回复

后才能评论