使用单页应用的时候,微信经常会失效(只在iOS上有这个问题),只有刷新了页面,微信分享才生效,这是什么情况????我是使用接口获取分享信息的,只有接口返回了数据的时候我才调用微信的分享系列接口
Hello, your issue has been closed because it does not conform to our issue requirements. Please use the Issue Helper to create an issue - thank you!
我也遇到了这个问题,请问你解决了吗? @lzp0301
能简述一下你的情况吗?
On 2017年5月12日 +0800 16:43, ljyf5593 notifications@github.com, wrote:
我也遇到了这个问题,请问你解决了吗? @lzp0301
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
@lzp0301 使用的单页应用,路由方式是 history, 例如进入文章列表页,每个文章上都有一个分享按钮,点击分享实际上分享的是这一篇文章,链接地址也是这篇文章的,在部分安卓机器上功能正常,但是在苹果手机和小米手机上错误,分享出去的是首页,描述信息和标题也是首页的。
建议改成hash的方式,路由mode是history方式的话使用微信的jssdk的话会有不少的问题。
另外,你的苹果手机的版本是?
On 2017年5月12日 +0800 17:13, ljyf5593 notifications@github.com, wrote:
@lzp0301 使用的单页应用,路由方式是 history, 例如进入文章列表页,每个文章上都有一个分享按钮,点击分享实际上分享的是这一篇文章,链接地址也是这篇文章的,在部分安卓机器上功能正常,但是在苹果手机和小米手机上错误,分享出去的是首页,描述信息和标题也是首页的。
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
每个 view 中重新初始化一次微信的配置即可,就是在 vue 每个单页顶层组件的生命周期 created 中,重新初始化一次微信的 SDK,即重新调用 window.wx.config、window.wx.ready、window.wx.onMenuShareTimeline、window.wx.onMenuShareAppMessage 等方法。
一般如果想分享的就是当前页面,那么分享方法的 link 中传入的就是 window.document.location.href 。
我尝试过这么做,但是结果无效。
经过不同系统版本的测试,初步证明是微信的jssdk与最新的iOS10系统不兼容,所以导致出现这种情况
On 2017年5月15日 +0800 01:49, 尼奥 notifications@github.com, wrote:
每个 view 中重新初始化一次微信的配置即可,就是在 vue 每个单页顶层组件的生命周期 created 中,重新初始化一次微信的 SDK,即重新调用 window.wx.config、window.wx.ready、window.wx.onMenuShareTimeline、window.wx.onMenuShareAppMessage 等方法。
一般如果想分享的就是当前页面,那么分享方法的 link 中传入的就是 window.document.location.href 。
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
@lzp0301 我尝试了改用hash的方式,但是发现这种方式问题更多,原来的安卓机也不行了,主要原因是在调用config方法时url地址里面hash后面的信息被截断了获取不到。
@wangxiao 我现在是在每一个可能会调用到分享方法的页面都进行了初始化的操作。
使用location.href获取不到完整地址吗?hash后面的信息可以通过fullPath/params获取,如果还不行,就在hash的#号拼接一个”?”试试
On 2017年5月15日 +0800 15:47, ljyf5593 notifications@github.com, wrote:
@lzp0301 我尝试了改用hash的方式,但是发现这种方式问题更多,原来的安卓机也不行了,主要原因是在调用config方法时url地址里面hash后面的信息被截断了获取不到。
@wangxiao 我现在是在每一个可能会调用到分享方法的页面都进行了初始化的操作。
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
传给服务端的参数做过 encodeURIComponent 了吧,我这边一切正常。
我也遇到这个问题了,解决方案:微信网站主入口的地址改成最后加/,就可以了。如之前的http://wx.jk724.com,改成http://wx.jk724.com/
新版微信已经解决了这个bug了
在 2017-08-02 18:22:36,"zgcodes" notifications@github.com 写道:
我也遇到这个问题了,解决方案:微信网站主入口的地址改成最后加/,就可以了。如之前的http://jk724.com,改成http://jk724.com/
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
ios的wkwebview内核调用微信支付或者分享时还存在url未注册或者签名失败,刷新确实可以解决,但不是办法,上面说的都不行,头大啊
@bigbigbigbear 我这边正好刚刚都搞完过,没有问题。一般来说,显示「签名失败」,就真的是你的签名有问题。你按照文档再试试看。
@wangxiao 你确定测试 iOS 版本了么?我这边也是不行啊,你那怎么没有问题。我这分享也是分享的首页,我把传给微信的 link 参数重新做了拼接,而且alert 出来也是对的,就是最后分享出去的不对
参考这个,里面写到的一段非常有用
IOS:微信IOS版,微信安卓版,每次切换路由,SPA的url是不会变的,发起签名请求的url参数必须是当前页面的url就是最初进入页面时的url
Android:微信安卓版,每次切换路由,SPA的url是会变的,发起签名请求的url参数必须是当前页面的url(不是最初进入页面时的)
作者:MapleShaw
链接:https://juejin.im/post/5a3cc5ae5188252103347221
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
每个 view 中重新初始化一次微信的配置即可,就是在 vue 每个单页顶层组件的生命周期 created 中,重新初始化一次微信的 SDK,即重新调用 window.wx.config、window.wx.ready、window.wx.onMenuShareTimeline、window.wx.onMenuShareAppMessage 等方法。
一般如果想分享的就是当前页面,那么分享方法的 link 中传入的就是 window.document.location.href 。
我这么做了 但是ios分享中好像还是不行 微信的sdk我是用的vux自带的$wechat
每个 view 中重新初始化一次微信的配置即可,就是在 vue 每个单页顶层组件的生命周期 created 中,重新初始化一次微信的 SDK,即重新调用 window.wx.config、window.wx.ready、window.wx.onMenuShareTimeline、window.wx.onMenuShareAppMessage 等方法。
一般如果想分享的就是当前页面,那么分享方法的 link 中传入的就是 window.document.location.href 。我这么做了 但是ios分享中好像还是不行 微信的sdk我是用的vux自带的$wechat
我现在强制在首次进入刷新一次,然后就正常了。我用的也是vux。
router.beforeEach((to, from, next) => {
if (to.name !== 'Login' && from.name === null && getFirstPage() ===
undefined) {
setFirstPage(to.fullPath)
location.href = global.domain + to.fullPath
} else {
delFirstPage()
}
}
每个 view 中重新初始化一次微信的配置即可,就是在 vue 每个单页顶层组件的生命周期 created 中,重新初始化一次微信的 SDK,即重新调用 window.wx.config、window.wx.ready、window.wx.onMenuShareTimeline、window.wx.onMenuShareAppMessage 等方法。
一般如果想分享的就是当前页面,那么分享方法的 link 中传入的就是 window.document.location.href 。我这么做了 但是ios分享中好像还是不行 微信的sdk我是用的vux自带的$wechat
我现在强制在首次进入刷新一次,然后就正常了。我用的也是vux。
router.beforeEach((to, from, next) => { if (to.name !== 'Login' && from.name === null && getFirstPage() === undefined) { setFirstPage(to.fullPath) location.href = global.domain + to.fullPath } else { delFirstPage() } }
我刚刚按照这个方法尝试,发现还是一样,在ios上时灵时不灵,在页面内刷新,ios上偶尔会分享失效
每个 view 中重新初始化一次微信的配置即可,就是在 vue 每个单页顶层组件的生命周期 created 中,重新初始化一次微信的 SDK,即重新调用 window.wx.config、window.wx.ready、window.wx.onMenuShareTimeline、window.wx.onMenuShareAppMessage 等方法。
一般如果想分享的就是当前页面,那么分享方法的 link 中传入的就是 window.document.location.href 。我这么做了 但是ios分享中好像还是不行 微信的sdk我是用的vux自带的$wechat
我现在强制在首次进入刷新一次,然后就正常了。我用的也是vux。
router.beforeEach((to, from, next) => { if (to.name !== 'Login' && from.name === null && getFirstPage() === undefined) { setFirstPage(to.fullPath) location.href = global.domain + to.fullPath } else { delFirstPage() } }我刚刚按照这个方法尝试,发现还是一样,在ios上时灵时不灵,在页面内刷新,ios上偶尔会分享失效
你这还会?我这已经是完全解决问题了,没再出现了,ios和android都是正常的了。

进入页面前 强制刷新一下 解决问题
使用location.href获取不到完整地址吗?hash后面的信息可以通过fullPath/params获取,如果还不行,就在hash的#号拼接一个”?”试试
…
On 2017年5月15日 +0800 15:47, ljyf5593 @.*>, wrote: @lzp0301 我尝试了改用hash的方式,但是发现这种方式问题更多,原来的安卓机也不行了,主要原因是在调用config方法时url地址里面hash后面的信息被截断了获取不到。 @wangxiao 我现在是在每一个可能会调用到分享方法的页面都进行了初始化的操作。 — You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub, or mute the thread.
老哥奇才.解决了我的问题!
Most helpful comment
我也遇到这个问题了,解决方案:微信网站主入口的地址改成最后加/,就可以了。如之前的http://wx.jk724.com,改成http://wx.jk724.com/