打开微信调试功能
发现会弹出
首先肯定是根据百度来寻找帮助,发现一篇总结了出现这种情况的各种原因以及解决方法的文章:https://www.yudouyudou.com/jiaochengheji/wangzhanjianshe/1237.html
根据步骤一个个测试,发现并没有解决问题。于是寻找了另一篇文章https://blog.youkuaiyun.com/gong0585/article/details/54616077。发现可能是生成signnatrue的参数url错误,于是根据文章中的内容来重新获取,获取Url的方式可参见下面的代码。如果是html的静态页面在前端通过ajax将url传到后台签名,前端需要用js获取当前页面除去'#'hash部分的链接(可用location.href.split('#')[0]获取,而且需要encodeURIComponent),因为页面一旦分享,微信客户端会在你的链接末尾加入其它参数,如果不是动态获取当前链接,将导致分享后的页面签名失败。
下面就是分享的URL格式
var url=location.href.split('#')[0];
url = encodeURIComponent(url);
后台获取处理生成signnatrue后,这时又出现了另一个问题
原因:未绑定微信公众平台上的JS接口安全域名或者填写错误
方法:先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”,可以按照提示进行填写,最多填写三个。
备注:登录后可在“开发者中心”查看对应的接口权限,只有获取了权限才能保证后面的工作继续进行。
填写的内容应该与上文说的url上的二级域名相对应,如xxx.xxx.com
然后就微信配置中的签名就可以通过了,弹窗出来【config:ok】,此时分享给他人就能够成功了。
为了解决这个问题,花了两天,故做一下记录。在此感谢各路大神提供的解决方案