刚刚解决了一个微信分享页面一直重定向问题,后来发现问题的原因后,现在异常兴奋,必须拿出来说道说道。
据说昨天晚上,22:30 左右,忽然收到一条线上报账,报账啦😭。问题就是下图的样子,看着胆战心惊的😺
然后开始了漫长的排除bug 的旅程
- 经过实验,同类型的的其他页面正常--排除代码明显bug 导致的问题
- 只有ios 手机复现次问题
- 经试验,排除手机型号问题,微信版本问题,最后发现可能与手机系统有关系
然而手机系统不同,为什么会导致微信中分享页面会出现重定向,又陷入深深的自闭中。。。
所以摒弃了这个线索,曲线救国,从同类型页面,不同内容只有最后一个有问题入手。
当前的页面为一个feed 详情页面
- 排除feed 详情内容的影响
- 排除feed 中图片过大或其他问题的影响
- 最后发现feed 标题问题,标题啊
为什么标题会有影响啊
这是我们实际的标题【爱豆乐园】传送带💫
带了一个特殊字符有没有,但是按正常特殊字符不回有影响。
经过代码追查,发现做微信分享的过程中,为防止标题过长导致分享失败的问题代码对分享标题进行了截断,获取10个字符,所以好玩的事情就发生了
我们可以看到标题的 【爱豆乐园】传送带💫 应该是满足要求了,但是不要忘记特殊字符不是一个字节长度啊啊啊,好死不死的这个特殊字符还是4个字节长度,截取10个字符,刚好吧当前的特殊字符截断。所以有趣的事情就发生了
当微信中打开,获取分享标题,刚好当前被截断之后的特殊字符,在当前ios 系统中没有字体包,所以微信就一直重定向请求啊。也就解释了为什只跟ios 的系统版本有关系。
解决方法
- 最快速的方法运营妹子修改标题啊,把特殊字符去掉
- 开发后期做处理,分享的标题去除特殊字符
到此问题解决🎉