微信公众号,分享功能(朋友圈或朋友)

1、引入微信的js文件。

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

2、通过ajax从后台获取必填字段。

appId: ‘’, // 必填,公众号的唯一标识
timestamp: ‘’, // 必填,生成签名的时间戳<?= $data['timestamp']?>
nonceStr: ‘’,// 必填,生成签名的随机串<?= $data['noncestr']?>
signature:‘’,// 必填,签名<?= $data['signature']?>
//        分享// 微信分享函数
var signature = {};
$.ajax({
    url:'http://mxp.chinacmcp.com/index.php?s=Postcard/Postcard/wecat',
    timeout: 10000, // 超时时间 10 秒
    type:'get',
    data: {
        url: window.location.href
    },
    async: false,
    cache:false,
    dataType: 'json',
    success: function (data) {
        console.log(data)
        if(data.code==200) {
            console.log(data)
            signature = data.data;
        }
    },
    error: function (data) {
    }
});
wx.config({
    debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
    appId: signature.appid, // 必填,公众号的唯一标识
    timestamp: signature.timestamp, // 必填,生成签名的时间戳<?= $data['timestamp']?>
    nonceStr: signature.noncestr,// 必填,生成签名的随机串<?= $data['noncestr']?>
    signature: signature.signature,// 必填,签名<?= $data['signature']?>
    jsApiList: ['onMenuShareTimeline',
        'onMenuShareAppMessage',
        'onMenuShareQQ',
        'onMenuShareWeibo',
        'onMenuShareQZone']// 必填,需要使用的JS接口列表
});
wx.ready(function () {
    wx.checkJsApi({
        jsApiList: ['chooseImage'], // 需要检测的JS接口列表,所有JS接口列表见附录2,
        success: function(res) {
            console.log(res);
            // 以键值对的形式返回,可用的api值true,不可用为false
            // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"}
        }
    });
    var shareUrl='http://mxp.chinacmcp.com/html';
    var obj = {//朋友圈
        title: shareUserPhone1+'给您的悄悄话', // 分享标题
        desc: '点击查看那些未曾对你说出口的话吧!', // 分享描述
        link: shareUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
        // 该链接是重定向链接,因为需要获取用户code,但是该链接又无法直接写微信获取code的链接,
        // 所以需要点击后重新加载新的页面,来实现重定向,重新打开获取code的微信链接,实现获取用户信息的功能;
        imgUrl: 'http://mxp.chinacmcp.com/html/images/shareBack.png', // 分享图标
        fail: function (res) {
            alert(JSON.stringify(res));
        }
    };
    var obj1 = {//好友
        title: shareUserPhone1+'有些话,早就想对您说', // 分享标题
        desc: '点击查看那些未曾对你说出口的话吧!', // 分享描述
        link: shareUrl, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
        // 该链接是重定向链接,因为需要获取用户code,但是该链接又无法直接写微信获取code的链接,
        // 所以需要点击后重新加载新的页面,来实现重定向,重新打开获取code的微信链接,实现获取用户信息的功能;
        imgUrl: 'http://mxp.chinacmcp.com/html/images/shareBack.png', // 分享图标
        fail: function (res) {
            alert(JSON.stringify(res));
        }
    };
    // 2.1 监听“分享给朋友”,按钮点击、自定义分享内容及分享结果接口
    wx.onMenuShareAppMessage(obj1);

    // 2.2 监听“分享到朋友圈”按钮点击、自定义分享内容及分享结果接口
    wx.onMenuShareTimeline(obj);

    // 2.3 监听“分享到QQ”按钮点击、自定义分享内容及分享结果接口
    wx.onMenuShareQQ(obj);

    // 2.4 监听“分享到微博”按钮点击、自定义分享内容及分享结果接口
    wx.onMenuShareWeibo(obj);

    // 2.5 监听“分享到QZone”按钮点击、自定义分享内容及分享接口
    wx.onMenuShareQZone(obj);
});

 

posted @ 2018-04-16 19:30  Candy-Yao  阅读(20677)  评论(1编辑  收藏  举报