按照官方的指引实现公众号h5的自定义分享,加入图片和title,但是分享出去的链接没有图片和title的显示。
async getShareInfo() {
let item = JSON.parse(sessionStorage.getItem("shareInfo")) || {};
let url = location.href.split("#")[0];
console.log("#号前缀", url);
let params = {
referenceId: item.productCode || "480443128109596672",
tenantId: this.tenantId,
productId: item.productId,
channelId: item.channelId,
url: url,
};
const res = await getsharedList(params);
if (res) {
this.wxinfo = res;
//如果分享的内容会根据情况变化,那么这里可以传入分享标题及url
//拿到后端给的这些数据
wx.config({
debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: res.appId, // 必填,公众号的唯一标识,填自己的!
timestamp: res.timestamp, // 必填,生成签名的时间戳,刚才接口拿到的数据
nonceStr: res.nonceStr, // 必填,生成签名的随机串
signature: res.signature, // 必填,签名,见附录1
jsApiList: [
"updateTimelineShareData",
"updateAppMessageShareData",
// "onMenuShareAppMessage",
// "onMenuShareTimeline",
],
});
wx.ready(function () {
// wx.checkJsApi({
// jsApiList: ["updateTimelineShareData", "updateAppMessageShareData"], // 需要检测的JS接口列表,所有JS接口列表见附录2,
// success: function (ress) {
// if (
// ress.checkResult.updateAppMessageShareData ||
// ress.checkResult.updateTimelineShareData
// ) {
console.log("支持分享");
// 新的
//分享到朋友圈
wx.updateTimelineShareData({
title: res.title, // 分享时的标题
link: res.link, // 分享时的链接
imgUrl: "http://www.zhongmeihealth.com" + res.imgUrl, // 分享时的图标
success: function () {
console.log("分享成功");
},
cancel: function () {
console.log("取消分享");
},
});
//分享给朋友
wx.updateAppMessageShareData({
title: "分享标题",
desc: "分享的介绍",
imgUrl: "http://it.oss.qorosauto.com/qoros/mina/milestone.jpg",
// link: window.location.href,
// title: res.title,
// desc: res.desc,
link: res.link,
// imgUrl: "http://www.zhongmeihealth.com" + res.imgUrl,
type: "",
dataUrl: "",
success: function () {
console.log("分享成功");
},
cancel: function () {
console.log("取消分享");
},
});
// }
// },
// });
});
}
}
试下这个看看https://www.dookay.com/faq/share/656