微信公众号分享功能防坑指南

//1.分享出去的链接域名必须和微信公众号后台配置的业务域名一致,注意一点,微信公众号配置的业务域名不能带端口号,否则分享不成功,微信小程序到是没有这个限制。

//2.需要把即将废弃的分享接口也加进去,做好兼容,否则分享同样会失效。

wx.config({

debug: false,

appId: appId,

timestamp: timestamp,

nonceStr: nonceStr,

signature: signature,

jsApiList: [

"updateTimelineShareData",

"updateAppMessageShareData",

"onMenuShareAppMessage",

"onMenuShareTimeline"

]

})

if (wx.updateAppMessageShareData) {

    wx.updateAppMessageShareData({

        title: title, // 分享标题

        desc: desc, // 分享描述

        link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致

        imgUrl: imgUrl, // 分享图标

        success: function() {}

        });

} else {

    wx.onMenuShareAppMessage({

        title: title, // 分享标题

        desc: desc, // 分享描述

        link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致

        imgUrl: imgUrl, // 分享图标

        type: "link", // 分享类型,music、video或link,不填默认为link

        dataUrl: "", // 如果type是music或video,则要提供数据链接,默认为空

        success: function() {

            // 用户点击了分享后执行的回调函数

        }

    });

}

if (wx.updateTimelineShareData) {

     wx.updateTimelineShareData({

        title: title, // 分享标题

        link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致

        imgUrl: imgUrl, // 分享图标

        success: function() {}

    });

} else {

    wx.onMenuShareTimeline({

        title: title, // 分享标题

        link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致

        imgUrl: imgUrl, // 分享图标

        success: function() {

            // 用户点击了分享后执行的回调函数

        }

    });

}

    wx.error(err => {

        Toast("鉴权失败,请退出重试");

    });