微信里点右上角分享,卡片标题显示「首页 - 某某网站」,不是文章标题,同一篇文章在 QQ 里却正常,换了三台手机都一样。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

wx.ready(function () {
  wx.updateAppMessageShareData({ title: '文章标题', desc: '摘要', link: location.href, imgUrl: cover });
  wx.updateTimelineShareData({ title: '文章标题', link: location.href, imgUrl: cover });
});

页面没有接入 JS-SDK 的 updateAppMessageShareData,微信用网页 title 兜底,而 title 被主题拼成了「文章名 - 站点名」,超长后截成了首页标题。分享回调里也没有区分好友和朋友圈两个接口。这一点先确认清楚,后面就不用反复试。

「微信分享标题覆盖」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。把这次用到的命令存进笔记,比记住结论有用,换个环境还能照着走。

改完隔一天再看一次,当场正常不代表能稳住。

具体做法是,确认公众号后台的 JS 接口安全域名已经加上当前域名;在 wx.ready 里分别调用好友和朋友圈两个分享接口;标题只传文章标题 不要带站点后缀。

改完照着核一遍,微信里再次分享,好友和朋友圈两种卡片的标题都是文章标题,没有站点后缀。

作者 9823189