您所在的位置:首页 / 知识分享

微信公众号开发之微信分享

2019.01.15

2740

最近微信公众号分享规则升级,很多都出现“弹出config:invalid signature”,是什么原因呐...

微信公众号开发之微信分享

最近微信公众号分享规则升级,很多都出现“弹出config:invalid signature”,是什么原因呐。

实际上最大原因在于,微信对分享当前页与  link 参数作了比对,若两者不致,就会报错。

当然,也不忘记了其他参数设置:

1  在微信后台是否已添加相关安全域名。

2 查看签名包signature 是否正确,可使用http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign  来查验。

3 查看后端与前端,timestamp与用以签名中的对应noncestr, timestamp一致,注意前端 config中nonceStr 看S是大写的。

4 确认当前页面实际的URL地址,可使用location.href.split('#')[0] 来返回查看。

5 config 中的 appid 与用来获取 jsapi_ticket 的 appid 一致

6 服务器端中的access_token和jsapi_ticket是否有效,是否有缓存(超请求次数)。

7 确保你获取用来签名的url是动态获取的,动态页面可参见实例代码中php的实现方式。如果是html的静态页面在前端通过ajax将url传到后台签名,前端需要用js获取当前页面除去'#'hash部分的链接(可用location.href.split('#')[0]获取,而且需要encodeURIComponent),因为页面一旦分享,微信客户端会在你的链接末尾加入其它参数,如果不是动态获取当前链接,将导致分享后的页面签名失败。



相关新闻

Cesium介绍与场景应用

2021.07.08

1771

Cesium是一款开源的基于JavaScript的3D地图框架。