1,项目使用 vue 开发微信端商城,获取从后端传来的 微信配置信息, android 端 能够配置正确并能 正常调用 微信提供的js api。 但是 在 ios 上 报 签名错误,重新刷新页面又能正确配置 微信的 config, 再次刷新页面又报 签名错误,求解。
1,项目使用 vue 开发微信端商城,获取从后端传来的 微信配置信息, android 端 能够配置正确并能 正常调用 微信提供的js api。 但是 在 ios 上 报 签名错误,重新刷新页面又能正确配置 微信的 config, 再次刷新页面又报 签名错误,求解。
问题分析:因为苹果分享会是调取签名失败是因为:苹果在微信中浏览器机制和安卓不同,有IOS缓存问题,和IOS对单页面的优化问题,通俗点说安卓进行页面跳转分享时会刷新当前的url,而苹果不会,苹果是通过历史记录进来的,不会刷新url所以会导致签名失败(这里解释的可能不够详细,可以去百度)。
因为需求只需要分享当前页面的时候有自定义内容,其他页面分享出去是公众号都无所谓,主要是活动,所以就用了如下解决办法!!!!
因为vue的history在IOS的微信分享时不会刷新,但是我们又要做自定义分享。我在网上也看了很多,比如什么beforerouteEnter的路由判断,或者写在Vue.prototype.Wxshare()的原型链中等,看起来都太麻烦,不够简单粗暴,但是这些方法可以好像可以做到判断每一个分享页面的自定义内容。而我只需要当前分享特定的单一页面,那么我们在A页面跳转B页面(需要分享的页面)就不用vue的history的push来跳转传参,我们用!我们用!我们用!window.location.href="...."来跳转传参,重要的事情说三遍!!!!
4 回答1.7k 阅读✓ 已解决
2 回答1.9k 阅读
2 回答1.5k 阅读
1 回答913 阅读✓ 已解决
请问解决了吗?我也出现了相同的问题