场景:
微信推送时,需要对数据进行处理跳转到h5页面,拿到数据进行处理,之后再跳转到第三方网址。参数是后台拼接到微信卡片链接上的。
举例:
www.baidu.com/#/empty?patientId=132&articleUrl=https:mp.weixin.qq.com
在空页面empty拿到patientId处理之后,在跳转到https:mp.weixin.qq.com.这个链接中。
Bug:
刚开始后台就是这么写的是没有问题的,在2018/12月微信升级之后Bug就出现了。点击卡片之后url解析成
www.baidu.com/&scence=0&subscence=93&clicktime=1546284512#/empty?patientId=132&articleUrl=https:mp.weixin.qq.com
这时候完了,崩盘了,把我的url都给拆开了,直接页面404。
我们用的是react框架,微信更新之前是没有问题的,更新之后这几天这个问题就呈现出来,微信自动添加参数的机制不清楚,更改了原页面的链接导致404。
问题解决:PS(我们公司大佬帮忙给搞定的,分享给大家)
卡片链接的参数位置变为
www.baidu.com/?patientId=132&articleUrl=https:mp.weixin.qq.com#/empty
将参数放在#号前面,在此点击卡片后链接就变为 www.baidu.com/?patientId=132&articleUrl=https:mp.weixin.qq.com&scence=0&subscence=93&clicktime=1546284512#/empty
也不会导致页面直接报404了,这时候不能用react框架this.props.location.query方法来拿参数,使用location.search对参数进行处理之后就可以了。