微信自定义分享功能;分享朋友,分享到朋友圈

要先在你们的微信公众号开发平台上  配置引入东西

 

经常在微信朋友圈分享一些好的文章或者让人哭或笑的段子,就在手机右上角的三个竖点一键分享就ok了,那么对于分享到朋友圈是怎么实现的呢?对于那种活动分享送流量是怎么定位分享者的呢?而想要将文章发送给朋友又是怎么获取到的朋友列表的呢?

 
         微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。

 

JSSDK使用步骤

 

1、绑定域名

           先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。

说明:设置此安全域名目的是为了当发现此公众平台发现诱导分享行为时,可以根据此域名追溯到所有分享出去的链接,以及通过这些链接增加的粉丝。

 

2、引入js文件

          在需要调用JS接口的页面引入如下JS文件http://res.wx.qq.com/open/js/jweixin-1.0.0.js

 

说明:如果页面启用了https,务必要引入https://res.wx.qq.com/open/js/jweixin-1.0.0.js ,否则将无法在iOS9.0以上系统中成功使用JSSDK

 

3、通过config接口注入权限验证配置

            在微信公众平台JSSDK说明文档是这样解释的:

wx.config({  
    debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。  
    appId: '', // 必填,公众号的唯一标识  
    timestamp: , // 必填,生成签名的时间戳  
    nonceStr: '', // 必填,生成签名的随机串  
    signature: '',// 必填,签名,见附录1  
    jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2  
})

4、通过ready接口处理成功验证

wx.error(function(res){  
// config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。  
}); 

 

分享接口:

1、获取“分享到朋友圈”按钮点击状态及自定义分享内容接口

wx.onMenuShareTimeline({  
    title: '', // 分享标题  
    link: '', // 分享链接  
    imgUrl: '', // 分享图标  
    success: function () {   
        // 用户确认分享后执行的回调函数  
    },  
    cancel: function () {   
        // 用户取消分享后执行的回调函数  
    }  
});

2、获取“分享给朋友”按钮点击状态及自定义分享内容接口


wx.onMenuShareAppMessage({  
    title: '', // 分享标题  
    desc: '', // 分享描述  
    link: '', // 分享链接  
    imgUrl: '', // 分享图标  
    type: '', // 分享类型,music、video或link,不填默认为link  
    dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空  
    success: function () {   
        // 用户确认分享后执行的回调函数  
    },  
    cancel: function () {   
        // 用户取消分享后执行的回调函数  
    }  
}); 

之前做过一个微信摇一摇的页面,当然这个页面需要自定义分享功能,

页面源码:

<%--引入js文件--%>  
 <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>  
<%--通过config接口注入权限验证配置--%>  
     <script>  
        wx.config({  
            debug: false,  
            appId: '${shakeMap.appId}',  
            timestamp: '${shakeMap.timestamp}',  
            nonceStr: '${shakeMap.nonceStr}',  
            signature: '${shakeMap.signature}',  
            jsApiList: [  
                'checkJsApi',  
                'onMenuShareTimeline',  
                'onMenuShareAppMessage'  
            ]  
        });  
        wx.ready(function () {  
                <%--公共方法--%>  
            var shareData = {  
                title: '${title}',  
                desc: '${description}',  
                link: '${url}',  
                imgUrl: '${headImgUrl}',  
                success: function (res) {  
                    //alert('已分享');  
                },  
                cancel: function (res) {  
                }  
            };  
                <%--分享给朋友接口--%>  
            wx.onMenuShareAppMessage({  
                title: '${title}',  
                desc: '${description}',  
                link: '${url}',  
                imgUrl: '${headImgUrl}',  
                trigger: function (res) {  
                          //  alert('用户点击发送给朋友');  
                },  
                success: function (res) {  
                    //alert('已分享');  
                },  
                cancel: function (res) {  
                    //alert('已取消');  
                },  
                fail: function (res) {  
                    alert(JSON.stringify(res));  
                }  
            });  
                <%--分享到朋友圈接口--%>  
            wx.onMenuShareTimeline(shareData);  
        });  
          <%--处理失败验证--%>  
        wx.error(function (res) {  
            alert("error: " + res.errMsg);  
        });  
    </script>  

一定要在公众号进行安全 域名的配置,这样,微信就可以 牢牢控制你的微信平台了,一旦发现 违规,让分 享链接失败,删 除掉诱导行为增加 的粉丝,是瞬间就可以 完成的。因此,微信平台 的开发者,一定要合理来使用 分享功能,不要因小失大。等到你的微信平台被 封,估计哭都 来不及了。 

 

           客户非要做一个红包的活动,就是嵌在微信公众号上的,我们疯狂的做完了势必要在 春节前上线,但是 测试的时候就被微信沉重的打击到了。谁都知道春节期间微信的 红包是如火如荼的撩了亿万群众,为此还差点 整垮了红包后台,红包二字丫的成了敏感字符,我们分 享到朋友圈,微信就秒删 我们的东西,这个时候急坏了项 目组长和产品经理。没 有办法,我们不能和微信硬碰硬,所以将红包二字改 成了个人红包……小编也是醉 了,微信也太小 气了些。不过微信还 是非常给力的,这么多 的接口免费给我们 用也是慈 悲为怀了。

原文链接:加载失败,请重新获取