微信分享页面一直重定向问题

846 阅读2分钟

刚刚解决了一个微信分享页面一直重定向问题,后来发现问题的原因后,现在异常兴奋,必须拿出来说道说道。

据说昨天晚上,22:30 左右,忽然收到一条线上报账,报账啦😭。问题就是下图的样子,看着胆战心惊的😺


然后开始了漫长的排除bug 的旅程

  1. 经过实验,同类型的的其他页面正常--排除代码明显bug 导致的问题
  2. 只有ios 手机复现次问题
  3. 经试验,排除手机型号问题,微信版本问题,最后发现可能与手机系统有关系

然而手机系统不同,为什么会导致微信中分享页面会出现重定向,又陷入深深的自闭中。。。

所以摒弃了这个线索,曲线救国,从同类型页面,不同内容只有最后一个有问题入手。

当前的页面为一个feed 详情页面

  1.  排除feed 详情内容的影响
  2. 排除feed 中图片过大或其他问题的影响
  3. 最后发现feed 标题问题,标题啊

为什么标题会有影响啊 

 这是我们实际的标题【爱豆乐园】传送带💫 

带了一个特殊字符有没有,但是按正常特殊字符不回有影响。

经过代码追查,发现做微信分享的过程中,为防止标题过长导致分享失败的问题代码对分享标题进行了截断,获取10个字符,所以好玩的事情就发生了

我们可以看到标题的 【爱豆乐园】传送带💫  应该是满足要求了,但是不要忘记特殊字符不是一个字节长度啊啊啊,好死不死的这个特殊字符还是4个字节长度,截取10个字符,刚好吧当前的特殊字符截断。所以有趣的事情就发生了

当微信中打开,获取分享标题,刚好当前被截断之后的特殊字符,在当前ios 系统中没有字体包,所以微信就一直重定向请求啊。也就解释了为什只跟ios 的系统版本有关系。

解决方法 

  1. 最快速的方法运营妹子修改标题啊,把特殊字符去掉
  2. 开发后期做处理,分享的标题去除特殊字符

到此问题解决🎉