被微信分享坑了好几个小时,十分郁闷。
之前一直都正常工作的调用微信 jsapi 自定义分享的页面,突然之间全都分享失败了。具体情况是,在 pc 的微信开发者工具里查看签名、分享等调用是一切正常的,没有报任何错误;在手机端,进行分享成功或者取消分享的操作时,均可以进入对应的 jsapi callback,只是分享出来,既没有自定义图标,也没有自定义的标题和描述。试了各种方式(延迟签名操作,在切换路由后重新调一次自定义分享,切换微信 webview 类型等等),均无法成功。后来试验了下,安卓下分享是成功的,又以为是 iOS 微信的问题,最后发现是 6.5.7 这个版本的微信的问题。
微信在 6.5.7 里新增了一项限制,要求分享出去的页面url 必须归属于注册的安全域名下,而之前分享的链接是微信的授权地址链接,因此,只要是升级了 6.5.7 的,都会失败,把自己的页面默认分享给别人了,别人打开的其实是分享者自己的页面和信息。坑爹的是,微信仅仅在其 微信开发者
公众号上有一篇短文粗略了的提及了一下,app 里分享失败居然不通过 jsapi 的错误回调而是仍然进入了成功回调。这未免也太坑开发者了!