今天,打开qq发现同一学生组织的告诉我公众号回复的所有图文消息全部显示参数错误,让我还以为是链接发生了改变。但经过更新链接以后,发现仍然显示参数错误,第一时间我就预感到腾讯又在这方面做了改变。

解决之路

调用函数发生改变?

首先,我想到了可能是调用的函数发生了改变,因而我去看了微信开发者文档,发现最后的修改日期在2017年,所以,应该不是这方面的问题。

微信更新的bug?

接着,我在手机上回复了消息在电脑上显示了后,我发现在电脑端打开完全没有问题,接着,我又在同学的苹果手机上测试了,也没完全正常,这让我想到了只有安卓上才有这个问题,那应该问题出现在了更新后的安卓手机上了。
安卓=?bug

发现问题

经过我的上网查找,果不其然,微信团队在每个自定义的图文消息文章链接后面都添加了&subscene=131,这导致手机微信无法正常识别链接而导致显示参数错误。

初步解决方案

既然微信团队加入了&subscene=131,那我们只要想办法将其删除或者无法在打开链接的时候其相应的作用就好了,前者显然比较困难,因而我选择了从后者出发。我在所有的文章链接最后加了一个?,然后就能正常打开回复的图文链接了。
&subscene=131前加?

一劳永逸

上述方案可行性还不错,但可操作性不行,如果你的图文链接过多,每个改下来眼睛都要花了,而且万一以后修复了这个bug还要一个个改回来十分不方便。因而,我就想到了批量修改,在问过大佬以后,我没理解他的意思,因而这里就不放出他的方法。我在今天晚上上课的时候想到了另一个十分简单的方法(但此方法实在PHP环境下操作的,操作时根据你的环境做适当更改吧):
&subscene=131最终方案
在图文消息的调用函数出在$url后面加上 .'?'

至此这个问题终于解决了,赶紧喝杯茶压压惊。
压压惊



本文来自公众号“jackyu分享者”,欢迎扫下面二维码关注
二维码