网站配置好微信分享,但是打开链接依然为网址的解决方法
页面配置好微信分享,直接将链接发送到微信中的时候,然后打开,发现分享出去还是个链接。
<script src="//res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
<script>
(function () {
var shareTitle = {$chat.title|json_encode|raw};
var shareDesc = {$og_description|json_encode|raw};
// 重要:确保获取的URL是完整的,不带#部分
var shareLink = window.location.href.split('#')[0].split('?')[0]; // 去掉参数和hash
var shareImg = '{:request()->domain()}/static/share.png';
// 确保分享图片存在且支持HTTPS
var imgUrl = shareImg.indexOf('https') === 0 ? shareImg : shareImg.replace('http', 'https');
// 获取签名时使用当前完整URL
var currentUrl = window.location.href.split('#')[0];
console.log(currentUrl);
fetch('/wx/sign?url=' + encodeURIComponent(currentUrl))
.then(function (r) { return r.json(); })
.then(function (cfg) {
if (cfg.code !== 1) {
console.error('[WX SDK] 签名获取失败:', cfg.msg);
return;
}
wx.config({
debug: 0, // 生产环境建议关闭debug
appId: cfg.appId,
timestamp: cfg.timestamp,
nonceStr: cfg.nonceStr,
signature: cfg.signature,
jsApiList: [
'updateAppMessageShareData',
'updateTimelineShareData',
'onMenuShareAppMessage', // 旧版接口
'onMenuShareTimeline', // 旧版接口
'checkJsApi',
'hideOptionMenu'
]
});
wx.ready(function () {
// 1. 先检查当前环境支持的API
wx.checkJsApi({
jsApiList: [
'updateAppMessageShareData',
'updateTimelineShareData'
],
success: function(res) {
console.log('支持的API:', res);
}
});
// 2. 新版接口(微信6.7.2+)
if (wx.updateAppMessageShareData) {
wx.updateAppMessageShareData({
title: shareTitle,
desc: shareDesc,
link: shareLink,
imgUrl: imgUrl,
success: function() {
console.log('新版分享设置成功');
}
});
wx.updateTimelineShareData({
title: shareTitle,
link: shareLink,
imgUrl: imgUrl,
success: function() {
console.log('新版朋友圈设置成功');
}
});
}
// 3. 同时兼容旧版接口(必须使用这两个,确保兼容性)
wx.onMenuShareAppMessage({
title: shareTitle,
desc: shareDesc,
link: shareLink,
imgUrl: imgUrl,
type: '', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,要提供数据链接
success: function () {
console.log('旧版分享设置成功');
},
cancel: function () {
console.log('用户取消了分享');
}
});
wx.onMenuShareTimeline({
title: shareTitle,
link: shareLink,
imgUrl: imgUrl,
success: function () {
console.log('旧版朋友圈设置成功');
},
cancel: function () {
console.log('用户取消了分享');
}
});
console.log('[WX SDK] 分享配置已就绪');
});
wx.error(function (err) {
console.error('[WX SDK] config error:', err);
// 如果config失败,尝试重新签名
console.log('config失败,errMsg:', err.errMsg);
});
})
.catch(function (err) {
console.error('[WX SDK] 网络请求失败:', err);
});
})();
</script>
当将链接分享到QQ时,发现是自定义卡片形式。
我将QQ的卡片在分享到微信里面时,打开分享到微信,是自定义卡片形式。
这个问题看了好久,淘宝找人花80没有解决,退款给我了,各大技术群问了个遍,也没有解决悬赏问答,也未能解决,最后发现是:
只有通过公众号/扫码/分享卡片这些渠道打开,分享给朋友到朋友圈才有卡片形式。
微信不支持直接进去链接分享,不然分享的还是链接,需要从微信的入口进去,比如先将内容生成二维码,然后扫描进去在分享,就可以了!!!
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,请使用WINRAR解压,如遇到无法解压的请联系管理员!
8. 精力有限,不少源码未能详细测试(解密),不能分辨部分源码是病毒还是误报,所以没有进行任何修改,大家使用前请进行甄别
TP源码网 » 网站配置好微信分享,但是打开链接依然为网址的解决方法
TP源码网 » 网站配置好微信分享,但是打开链接依然为网址的解决方法