解决history 路由模式下微信js-sdk报invalid signature的问题

413 阅读1分钟

最近公司项目在用react开发H5项目,需要实现自定义分享。在按照官方文档,把获取到的 appId,timestamp,nonceStr,signature。放到wx.config,发现微信开发者工具debug出来的结果是通过的。然后开心放到线上环境去测试,安卓手机测试完美实现自定义分线,换到苹果手机,除了首次进入页面config能鉴权通过,其他页面都会报错invalid signature

直接上方法

  1. ios端,只需要第一次进入页面时,做一次wx.config的配置即可,之后切换页面,也不要再去处理wx.config
  2. 安卓端,需要每次切换页面重新获取wx.config的相关配置信息,重新配置,才能正常分享

注意点:

  1. 需要确保第一次进入的url,是真正的项目路由所包含的,比如,进入的url是www.baidu.com 。 但是我们的首页打开时的url却是www.baidu.com/ ,这个时候,你就会发现切换页面后自定义分享还是不生效
  2. 现在微信更新了,必须从公众号的配置菜单栏进入项目,才能自定义分享卡片,不然,直接从一个链接进入的话,指挥分享出一个光秃秃的链接