joe

解决在微信内分享第三方链接标题、图片、摘要、链接等问题

我们等第三方网站在微信中分享给好友或朋友圈会碰到下面这种现象。

问题解决方法很简单,可是由于自身对微信的分享机制不清楚导致走了很多弯路,在微信公众平台官方QA找到了答案

var imgUrl = 'http://qqfood.tc.qq.com/meishio/16/4585bf7c-be04-420f-ac8a-2dba61a7561f/0';
var lineLink = 'http://life.qq.com/weixin/r/lottery/13826036970196242008#wechat_redirect';
var descContent = "万达狂欢节, 夺宝幸运星大抽奖活动开始啦!";
var shareTitle = '万达狂欢节';
var appid = 'wxc9937e3a66af6dc8';
function shareFriend() {
    WeixinJSBridge.invoke('sendAppMessage',{
        "appid": appid,
        "img_url": imgUrl,
        "img_width": "640",
        "img_height": "640",
        "link": lineLink,
        "desc": descContent,
        "title": shareTitle
        }, function(res) {
        _report('send_msg', res.err_msg);
    })
}
function shareTimeline() {
    WeixinJSBridge.invoke('shareTimeline',{
        "img_url": imgUrl,
        "img_width": "640",
        "img_height": "640",
        "link": lineLink,
        "desc": descContent,
        "title": shareTitle
        }, function(res) {
        _report('timeline', res.err_msg);
    });
}
function shareWeibo() {
    WeixinJSBridge.invoke('shareWeibo',{
        "content": descContent,
        "url": lineLink,
        }, function(res) {
        _report('weibo', res.err_msg);
    });
}
// 当微信内置浏览器完成内部初始化后会触发WeixinJSBridgeReady事件。
document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
  // 发送给好友
    WeixinJSBridge.on('menu:share:appmessage', function(argv){
        shareFriend();
        });

    // 分享到朋友圈
    WeixinJSBridge.on('menu:share:timeline', function(argv){
        shareTimeline();
        });

    // 分享到微博
    WeixinJSBridge.on('menu:share:weibo', function(argv){
        shareWeibo();
        });
   }, false);

微信在内部加载完成时会初始化WeixinJSBridgeReady事件,把页面缓存起来,然后分享时把缓存的东西

直接以微信聊天内部格式发送到聊天框中实现预览效果.




码字很辛苦,转载请注明来自朱一兵的博客《解决在微信内分享第三方链接标题、图片、摘要、链接等问题》

评论