首先引入微信文件

<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script type="text/javascript" src="share.js"></script>

新建share.js

function share(datas){
    /*
     分享
     */
    //success: to share
    function encode(url) {
        return encodeURIComponent(url).replace(/'/g, "%27").replace(/"/g, "%22");
    }
    //统计分享次数
    function countShare(datas) {
        var parameter =  datas.parameter;
        var countUrl = "https://activity.xxxxxx.com/activityapi/weixin/countShare.json?activityType="+datas.activityType;
        $.ajax({
            type: 'get',
            contentType:"application/x-www-form-urlencoded;charset=UTF-8",
            url: countUrl,
            dataType:'jsonp',
            jsonp:'jsoncallback',
            success: function(data){
                if(data.success){

                }else{

                }
            },
            error: function(xhr, type){

            }
        })
        return
    }
    surl = window.location.href;
    var url = "https://www.xxxxxx.com/weixin/wx_share.json?url=" + encode(window.location.href.split('#')[0]);
    var callback = function (json) {
        var data = json.message;
        data = eval("(" + data + ")");
        wx.config({
            debug: false,// 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
            appId: data.appId,// 必填,公众号的唯一标识
            timestamp: data.timestamp,// 必填,生成签名的时间戳
            nonceStr: data.nonceStr,// 必填,生成签名的随机串
            signature: data.signature,// 必填,签名
            jsApiList: ['onMenuShareTimeline', 'onMenuShareAppMessage', 'onMenuShareQQ', 'onMenuShareWeibo']// 必填,需要使用的JS接口列表
        });

        wx.ready(function () {
            var shareData = {
                title: datas.title,
                desc: datas.desc,
                link: datas.shareUrl==undefined?surl:datas.shareUrl, // 分享链接
                imgUrl: datas.imgUrl,
                success: function () {
                    // 用户确认分享后执行的回调函数

                    //如果存在统计类型 则统计分享次数
                    if(datas.activityType){
                        countShare(datas);
                    }

                }
            };
            var shareFrieds = {
                title: datas.title,
                link: datas.shareUrl==undefined?surl:datas.shareUrl, // 分享链接
                imgUrl: datas.imgUrl,
                success: function () {
                    // 用户确认分享后执行的回调函数

                    //如果存在统计类型 则统计分享次数
                    if(datas.activityType){
                        countShare(datas);
                    }

                }
            };
            wx.onMenuShareAppMessage(shareData);//分享给好友
            wx.onMenuShareQQ(shareData);
            wx.onMenuShareWeibo(shareData);
            wx.onMenuShareTimeline(shareFrieds);//朋友圈

            console.log('weixin support set success.');
        });
        wx.error(function (res) {
            //alert(res.errMsg);
        });
    };
    $.ajax({
        url: url,
        dataType: "jsonp",
        jsonp: "jsoncallback",
        success: function (response) {
            callback && callback(response);
        },
        error: function (xhr, type) {
            console.log('xhr:' + xhr + "type:" + type);

        }
    })
}
    

调用

//微信分享
var datas = {
title: "分享标题",
desc: "分享描述",
imgUrl: "分享图片",
activityType: 'xxxx',// 用来查询分享次数
shareUrl: '分享链接'
};
share(datas);


清儿
72 声望0 粉丝