现象:
在微信环境页面变了,但是路由没有变
起因:
用了动态路由 path='/index/:id'
过程:
微信环境点击path(/index/:id)进入页面之后,进入购买页面(/buy),唤起微信支付的时候,提示我页面路径未注册,提醒的是path这个路径,可是我明明已经跳转页面了
处理:
- 在/buy页面使用微信的复制当前页面,发现是/index/:id页面
- 使用location.href打印当前页面,发现没有问题,打印的是/buy/
- 从c链接进入页面,跳转到/buy页面唤起微信支付,没有问题
结论:
动态路由在微信环境就会造成上诉问题,vue-router & react-router-dom 都测试过,百分百复现
原因:
未知(如果有大佬了解请告知)
解决方案
- 避开动态路由,不用(我是这么干的)
- 跳转页面的时候,不用路由(push())跳转,使用a标签