微信公众号开发

H5页面调用微信扫一扫,在iOS中无法调起的解决方法

2020-04-03  本文已影响0人  西瓜鱼仔

问题描述

使用Vue开发的H5页面调用微信扫一扫,Android系统中能调起成功,iOS系统第一次进入页面调起失败,需手动刷新一次才能调起成功。

出现原因

Android系统中能调起成功说明整个调用逻辑没有问题,iOS系统中调起失败说明wx.config里的验证信息出现了错误。

经排查,发现从某页跳转至扫码页是使用路由方式this.$router.push()实现的页面跳转,在iOS版微信中,此跳转方式不会导致实际路径发生改变,也就是说虽然跳转到了扫码页面,但是在扫码页通过location.href获取到的url还是上一级页面的,导致扫码页在进行微信验证时签名无效。

解决办法

进入扫码页时不要使用路由跳转,使用window.location.href进行跳转,这样会刷新一下路径,再用location.href获取的就是当前扫码页的url。

上一篇下一篇

猜你喜欢

热点阅读