微信 JS SDK 网页分享自定义链接失效,打开始终为首页 BUG
遇到微信的一个 BUG,通过 JS SDK 设置的分享链接失效,打开始终为首页的问题。就不多吐槽了,微信的开发体验是真的差,希望能慢慢有改善吧。
在开发微信公众号页面时,用到了微信 JS SDK updateAppMessageShareData
, updateTimelineShareData
自定义分享给朋友/朋友圈链接。但不论怎么调试,分享出来的链接打开始终是首页,链接后面的内容全部丢失。
最终确定问题竟然来自于微信的 BUG,目前升级到 8.0.21 之后恢复正常。
一些官方回复的截图:
TL, DR
下面是一些详细描述、过程中的一些记录和其他未测试的解决方案
问题具体情况如下:
比如 https://xx.com/#/page/1
页面,分享出去的链接标题、副标题全部正常,唯独点开之后链接是打开的首页 https://xx.com/
。
一直怀疑和 # 号的处理有关系,但幸运的是没有尝试到这一步。最终的结果也证明了和链接中的 # 号没有关系。
另一个没有尝试从 hash route mode 切换到 history mode 的原因是:
当我尝试在 https://xx.com/#/page/1
页面分享时,给 updateAppMessageShareData
等方法传入的 link
属性为 https://xx.com/index.html#/page/1
时,分享出来的链接是正常且完整的。
在右上角分享并选择好友后,有一个“发送到”的询问确认发送的 modal ,点击上面的链接是可以正常跳转的,但点发送之后访问发出的链接却又是首页。