微信头像失效问题说明?

最近工作遇到一个微信头像失效的问题,情况是这样的,我们一个h5页面在微信授权后打开,会存储微信相关昵称和头像信息,不过,我们没有保存图片到自己的服务器,而是仅仅存储微信头像地址,然而过了n多天后,用户在微信修改了自己的头像,这时候,我们的服务是无感知的,又过了n多天,用户去访问我们那个h5页面,发现自己的头像是这样的:

用户找到我们,说自己有头像呀,怎么没显示呢? 我们也反问他,是否最近改过头像呢,他说没,不过很早之前改过。

而此时就比较尴尬,用户体验超级不好。

然后我们就去查看官方文档,发现这么说的:

官方也建议自己保存下来处理。

然后我们又去google了一把,看下别人是否也被同样的问题坑过。

看来好多用户都遇到了,相关问题链接

经常看到还有人的头像时而好时而不好,那是因为

旧的头像链接失效需要一定的时间,从 CDN 节点一个一个失效。你现在访问到的应该是旧的头像链接,每次访问可能到达不同的 CDN 节点,导致时有时无。

那么如何解决这个问题呢?

我们这边也想了好多方案,我们考虑下几个方面,分两个思路

思路1: 自己本地服务保存并CDN,缺点成本有点高

思路2: 有个策略定时更新头像

定期更新下头像链接,不要一直缓存着,比如在 session_key 过期时一起更新下头像链接

后台服务定期检查头像链接是否过期(怎么自动判断是否过期呢,下面会详细说明)

前端根据头像链接判断是否过期,过期重新授权更新头像信息

下面介绍下,怎么判断微信的头像是否过期了,经过研究发现:

正常的微信图片返回的请求信息如下:

然而异常的图片地址怎么返回的呢?

可以看下异常情况,返回的信息不一样,可以根据X-Info: notexist:-6101 判断或者 X-ErrNo: -6101 关键字

不过还有一个疑问,如果本地存储的话,还会遇到,用户修改头像后,获取的地址可能不是最新的,虽然不会显示一个特别丑陋的头像,这里怎么解决呢,这里需要产品定义个策略,哪些场景需要定期授权,重新更新头像和用户信息等等。

END

如有收获,请帮忙转发,后续会有更好文章贡献,您的鼓励是作者最大的动力!

欢迎关注我的公众号:架构师的修炼,获得独家整理的学习资源和日常干货推送。

微信头像失效_微信头像地址失效踩坑记附带方案相关推荐

  1. 微信头像失效_微信头像地址失效踩坑记附带解决方案

    微信头像失效问题说明? 最近工作遇到一个微信头像失效的问题,情况是这样的,我们一个h5页面在微信授权后打开,会存储微信相关昵称和头像信息,不过,我们没有保存图片到自己的服务器,而是仅仅存储微信头像地址 ...

  2. iOS旧版微信SDK升级1.8.6版本小白踩坑记

    虽然写了多年前端,但是一直都是写的lua,这次突然接到通知要升级微信SDK,以前也不是我捣鼓的,这下可愁坏了.本着万事不明,先备份改错的心态去下了微信SDK然后对比了下,发现跟以前没太大区别.主要区别 ...

  3. 如何微信链接自定义_微信链接自定义

    微信在分享第三方网站是不显示缩略图和描述的,如下图所示 微信链接自定义_微信链接自定义 要解决这个问题必须调用微信JS-SDK接口,下面讲一下如何调用接口. 第一部分 准备步骤 注册微信公众号. 通过 ...

  4. 微信公众号服务器配置但没有回调,微信公众号 “服务器配置” 踩坑记

    前言 今天工作的时候,碰到一个极其无语的关于微信公众号的坑,为此,我语言攻击了腾讯的机器人客服.然而并没有卵用...万万没想到,我还是解决了这个问题,并记录下踩坑经历,希望能帮到一些朋友吧. 背景 今 ...

  5. 微信小程序踩坑记——ColorUI组件的使用

    微信小程序踩坑记--组件的使用 组件类型 ColorUI Vant weapp ColorUI 首先贴上官网链接:官网链接,GitHub链接 简介 ColorUI是一个css库!!!在你引入样式后可以 ...

  6. android小程序_小程序踩坑记

    小程序踩坑记 希望这个文章能尽量记录下小程序的那些坑,避免开发者们浪费自己的生命来定位到底是自己代码导致的还是啥神秘的字节跳变原因. 前记 小程序大多数坑是同一套代码在不同平台上表现不一致导致的,微信 ...

  7. url 微信公众号开发 配置失效_微信公众号开发之授权登录

    一.UnionId和openId 微信登录最重要的两个返回信息,一个是UnionId,一个是OpenId.两者之间有着必然的联系. UnionID机制的作用说明:如果开发者拥有多个移动应用.网站应用和 ...

  8. 怎样把照片中的头像扶正_微信头像看出你的性格,准得可怕!!

    弗洛伊德曾经说过:"人们可以用行为掩饰自己的动机,但无法决定自己潜意识的流露."有时候,生活中的小细节会比你想象的更有趣. 那么,你平常爱发朋友圈吗? 一张图.一段话.一个小视频. ...

  9. 唯一标识 微信小程序_微信小程序获取用户唯一标识(不用授权)

    在做微信小程序开发时,根据应用的需要,可能会要求获得用户不同的信息和硬件设备不同的使用权限.前者比如:用户标识.头像.昵称.姓别.地址.手机号码等,后者包括:地理位置.手机相册.摄像头等.根据小程序现 ...

最新文章

  1. 码工里开关灯为什么遮罩层在下面_装修公司为什么推荐无主灯设计?
  2. 为什么有了接口还要增加一层抽象类?
  3. 神奇的python(一)之python脚本调用shell常用方法
  4. 【iOS开发】在一个Xcode页面建立多个工程
  5. lamp源码三层结构
  6. php更新记录没有获取值,php – 节点更新:获取旧值
  7. 创建React脚手架项目
  8. android 测网速方案,Android_检测当前网速
  9. Java单身狗,java 的23种设计模式 之单身狗和隔壁老王的故事
  10. 老广人为粤语---广州话写篇文章
  11. Mac如何通过远程控制其他Mac
  12. matlab添加文件夹语音_基于MATLAB的语音处理
  13. 教育行业电商SaaS系统解决方案:助力企业实现经营、管理一体化
  14. 非标准分布随机数生成 - 逆变换ITM与舍选法Rejection
  15. 计算机怎么删除我的苹果设备管理器,怎么删除电脑我的苹果设备管理器
  16. Qt Creator禁用警告
  17. 在docker上安装AWVS
  18. Power Platform基本介绍
  19. 常见国内微博的字数限制 javascript判断
  20. 【分享】5款记录点滴的App,人生路上的轨迹一定要珍藏~

热门文章

  1. LINUX下的makefile学习(此文是我学习过程遇到问题时找到的所有回答,感谢其它大佬的回答,各个文章我都标明了原文链接)
  2. 【转】 看《墨攻》理解IoC概念
  3. 如何保障业务0暂停下,从11gR2 MAA升级到12c?
  4. 关于cpu-z,everest,IntelCoreSeries的一些认识
  5. 关于暗影骑士擎重装win10纯净版遇到的问题(使用的u盘作为系统盘)
  6. 论区块链技术如何赋能社交代币并打造创作者经济新局面
  7. OpenCV系列四 --- 颜色通道分离与多通道图像混合
  8. 大于2TB的卷的知识.主要关于windows, EFI,GPT
  9. 高数不定积分方法汇总:
  10. 计算机 显卡 淘汰,早该淘汰的VGA模拟接口:新显卡不再支持