微信头像失效问题解释?
最近遇到了微信头像无效的问题。情况是这样的。我们的一个h5页面是微信授权后打开的,会存储微信相关昵称和头像信息。但是我们没有把图片保存到我们的服务器上,只保存了微信头像地址。然而,N多天后,用户在微信上修改了头像。此时,我们的服务并不知道。N多天后,用户访问了我们的h5页面,找到了他们的头像。
用户找到我们,说他有头像。为什么没显示出来?我们还问他最近有没有换头像。他说没有,但他很久以前就改了。
这时候就尴尬了,用户体验超级差。
然后我们去查官方文件,发现上面写着这样一句话:
官方文件描述-获取用户个人信息
官员们还建议他们应该保存并处理它。
然后我们又去了谷歌,看看别人有没有被同样的问题骗过。
似乎很多用户都遇到过,相关问题链接
我经常看到人们的脑袋时而好时而坏,因为
旧头像链接失效需要一定的时间,从CDN节点开始一个个失效。你现在访问的应该是旧头像链接,每次访问可能会到达不同的CDN节点,可能会导致偶尔缺席。那么如何解决这个问题呢?
我们在这里也想了很多方案。我们考虑接下来的几个方面,并将其分为两个想法
Idea 1:省去了自己的本地服务和CDN,缺点成本有点高
Idea 2:有一个定期更新头像的策略
定期更新头像链接,不要一直缓存。例如,当session_key过期时,一起更新头像链接。后台服务定期检查头像链接是否过期(如何自动判断是否过期,下面会详细说明)。前端根据头像链接判断是否过期,过期后重新授权更新头像信息。下面,如何判断微信头像是否已过期,经研究发现:
正常微信图片返回的请求信息如下:
但是,异常图片地址怎么返回呢?
可以看看异常情况,返回的信息不一样,可以根据X-X-info : notexist :-6101-6101或者X-ErrNo: -6101关键字来判断
然而,还有一个问题。如果存储在本地,就会遇到。用户修改头像后,获得的地址可能不是最新的。虽然不会显示特别丑的头像,但是这里怎么解决呢?它需要产品定义一个策略,哪些场景需要定期授权,并再次更新头像和用户信息。
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。