<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
<script>
// 使用带随机参数的URL作为分享链接,但签名使用原始URL
var baseUrl = "{$share_url}"; // 分享链接带随机参数
var signUrl = "{$current_url}"; // 签名使用原始URL
var shareImageUrl = 'http://www.wzleh.cn/mobile/themes/blue/images/index_yl2.png';
// 确保图片URL是完整的绝对路径
if (shareImageUrl.indexOf('http') !== 0) {
shareImageUrl = 'http://www.wzleh.cn/' + shareImageUrl.replace(/^\//, '');
}
// 分享数据 - 确保标题和描述合适
var wxData = {
"imgUrl" : shareImageUrl,
"link" : baseUrl, // 分享使用带随机参数的URL
"title" : '{$article.title|escape:"javascript"|truncate:20}', // 标题限制在20字内
"desc" : '{$article.title|escape:"javascript"|truncate:50}' // 描述限制在50字内
};
console.log('分享配置:', wxData);
// 微信配置 - 签名使用原始URL
wx.config({
debug: true, // 保持调试模式以便查看问题
appId: '{$signPackage.appId|escape:"javascript"}',
timestamp: {$signPackage.timestamp},
nonceStr: '{$signPackage.nonceStr|escape:"javascript"}',
signature: '{$signPackage.signature|escape:"javascript"}',
jsApiList: [
'updateTimelineShareData',
'updateAppMessageShareData',
'onMenuShareTimeline',
'onMenuShareAppMessage',
'onMenuShareQQ',
'onMenuShareWeibo'
]
});
wx.ready(function () {
console.log('微信JS-SDK初始化成功');
// 方法1: 新版分享接口
wx.updateTimelineShareData({
title: wxData.title,
link: wxData.link,
imgUrl: wxData.imgUrl,
success: function () {
console.log('updateTimelineShareData: 成功');
},
fail: function (res) {
console.error('updateTimelineShareData失败:', res);
}
});
wx.updateAppMessageShareData({
title: wxData.title,
desc: wxData.desc,
link: wxData.link,
imgUrl: wxData.imgUrl,
success: function () {
console.log('updateAppMessageShareData: 成功');
},
fail: function (res) {
console.error('updateAppMessageShareData失败:', res);
}
});
// 方法2: 旧版分享接口(兼容性更好)
wx.onMenuShareTimeline({
title: wxData.title,
link: wxData.link,
imgUrl: wxData.imgUrl,
success: function () {
console.log('onMenuShareTimeline: 成功');
// 分享成功统计
trackShare('timeline');
},
cancel: function () {
console.log('用户取消分享到朋友圈');
},
fail: function (res) {
console.error('onMenuShareTimeline失败:', res);
}
});
wx.onMenuShareAppMessage({
title: wxData.title,
desc: wxData.desc,
link: wxData.link,
imgUrl: wxData.imgUrl,
type: 'link',
success: function () {
console.log('onMenuShareAppMessage: 成功');
trackShare('friend');
},
cancel: function () {
console.log('用户取消分享给朋友');
},
fail: function (res) {
console.error('onMenuShareAppMessage失败:', res);
}
});
// 方法3: 延迟设置分享(解决时机问题)
setTimeout(function() {
console.log('延迟设置分享信息');
// 重新调用一次分享设置
wx.updateTimelineShareData({
title: wxData.title,
link: wxData.link,
imgUrl: wxData.imgUrl
});
wx.updateAppMessageShareData({
title: wxData.title,
desc: wxData.desc,
link: wxData.link,
imgUrl: wxData.imgUrl
});
}, 1000);
});
wx.error(function(res){
console.error('微信JS-SDK配置失败:', res);
if (res.errMsg && res.errMsg.indexOf('invalid signature') !== -1) {
console.error('签名验证失败,请检查:');
console.error('签名URL:', '{$signPackage.url}');
console.error('当前URL:', window.location.href.split('#')[0]);
}
});
// 分享统计
function trackShare(platform) {
var xhr = new XMLHttpRequest();
xhr.open('POST', 'share_statistics.php', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.send('article_id={$article.article_id}&platform=' + platform);
}
</script>
调试接口是成功的,,但微信分享只显示链接,也做了动态清除缓存了,,请问这是什么原因,,麻烦各位大佬帮助一下,谢谢

链接转成二维码 扫码进到h5 再转发试试
配置微信分享的网页,只有通过公众号/扫码/分享卡片三种渠道打开,才能自定义分享,直接在微信打开某一个链接,分享出来的依然是链接