调用微信扫一扫功能,踩坑'invalid signature'

    在vue项目中,调用微信扫一扫功能,在安卓系统下完全正常,ios系统下却报错'invalid signature'的错误,这可能令许多小伙伴困惑,经过查询大量博客相关资料,才找到了解决的方法。

    原因:由于在ios和android中,location.href在spa页面的机制不同(不同在于ios是只要不刷新页面,href就不会改变,在vue项目中就会出现类型的问题),所以我们需要借助路由钩子函数,手动改变其页面的url地址,这样ios系统的手机才能正常调起微信扫一扫。

beforeRouteEnter(to, from ,next) {
    if(to.path != location.pathname) {
         location.assign(to.fullPath);   
    } else {
        next();
    }
}

 这样就可以很完美的解决了这个问题了,希望能够对入坑的小伙伴有帮助~~ 

原文地址:https://www.cnblogs.com/linxing/p/9580018.html