网站配置好微信分享,但是打开链接依然为网址的解决方法

页面配置好微信分享,直接将链接发送到微信中的时候,然后打开,发现分享出去还是个链接。

<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源码网 » 网站配置好微信分享,但是打开链接依然为网址的解决方法

提供最优质的资源集合

立即查看 了解详情