最近同事找到我说他的微信分享的参数莫名消失,我一开始觉着肯定是代码有问题,有些细节没注意好。
后来我吧我做的微信分享的代码发给他,结果也是一样的,然后我就开始找原因。
PS:我这边是基于vue框架开发的,如果你用的是其他框架参照思路就好了,解决起来并不难
一开始我怀疑微信把跳转链接转码了,于是在前置路由中打印出了windown.location.href,发现参数被替换了,然后我发现我之前做的微信分享连接带的参数只有一个,于是把同事的微信分享参数改成一个之后又正常了,经百度搜搜之后也有相同的情况。
然后我就想,可能跟拿授权code一样,state参数值如果包含了URI中的特殊字符需要encodeURI,于是吧参数做了encodeURI结果就可以了。