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

问题描述

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

出现原因

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

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

解决办法

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。