最近的一个公众号是基于vue的spa应用,在接入微信分享和微信语音的时候出现了:在Android上一切正常,但是在ios端调用wx.config的时候总是失败,去翻了官方文档也并没有找到解决方案,最后在测试中发现是因为初始化的时候传入的URL的问题。具体过程如下:
微信config接口配置,官方文档如下:
所有需要使用JS-SDK的页面必须先注入配置信息,否则将无法调用(同一个url仅需调用一次,对于变化url的SPA的web app可在每次url变化时进行调用,目前Android微信客户端不支持pushState的H5新特性,所以使用pushState来实现web app的页面会导致签名失败,此问题会在Android6.2中修复)。
官方明确给出SPA在每次url变化时进行调用,于是我们的最初代码如下:
// 此处在main.js中,在vue-router每次改变路由的时候去调用wx.config
router.beforeEach((to, from, next) => {
let url =`www.example.com`;
let getConfig = async function