微信分享接口示例(设置标题、缩略图、连接、描述),附demo下载

前几天因为项目所需要实现微信分享接口,在网上搜了一大堆,实现办法大致分为两种,第一:在body之后加一个img标签并且设置display:none,这种方法感觉不科学所以我没有测试过。第二:使用微信的分享接口,但在网上也没用找到完整的示例,还是自己折腾吧,请看下面。

实现工具:GetwxLink

第一步:

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

注:认证帐号才有分享权限

第二步

创建一个demo.php文件和wxshare.js

demo.php

    // 步骤1.设置appid和appsecret

    $appid = 'wxd75a2b20d3a54752';

    $appsecret = '9b32270f32874ea7a7427f88ff770777';

    // 步骤2.生成签名的随机串

    function nonceStr($length){

        $str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';//62个字符

        $strlen = 62;

        while($length > $strlen){

        $str .= $str;

        $strlen += 62;

        }

        $str = str_shuffle($str);

        return substr($str,0,$length);

    }

    // 步骤3.获取access_token

    $result = http_get('https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.$appid.'&secret='.$appsecret);

    $json = json_decode($result,true);

    $access_token = $json['access_token'];

    function http_get($url){

        $oCurl = curl_init();

        if(stripos($url,"https://")!==FALSE){

            curl_setopt($oCurl, CURLOPT_SSL_VERIFYPEER, FALSE);

            curl_setopt($oCurl, CURLOPT_SSL_VERIFYHOST, FALSE);

            curl_setopt($oCurl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1

        }

        curl_setopt($oCurl, CURLOPT_URL, $url);

        curl_setopt($oCurl, CURLOPT_RETURNTRANSFER, 1 );

        $sContent = curl_exec($oCurl);

        $aStatus = curl_getinfo($oCurl);

        curl_close($oCurl);

        if(intval($aStatus["http_code"])==200){

            return $sContent;

        }else{

            return false;

        }

    }

    // 步骤4.获取ticket

    $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=$access_token";

    $res = json_decode ( http_get ( $url ) );

    $ticket = $res->ticket;

    // 步骤5.生成wx.config需要的参数

    $surl = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

    $ws = getWxConfig( $ticket,$surl,time(),nonceStr(16) );

    function getWxConfig($jsapiTicket,$url,$timestamp,$nonceStr) {

        $string = "jsapi_ticket=$jsapiTicket&noncestr=$nonceStr×tamp=$timestamp&url=$url";

        $signature = sha1 ( $string );

        $WxConfig["appId"] = $appid;

        $WxConfig["nonceStr"] = $nonceStr;

        $WxConfig["timestamp"] = $timestamp;

        $WxConfig["url"] = $url;

        $WxConfig["signature"] = $signature;

        $WxConfig["rawString"] = $string;

        return $WxConfig;

    }

?>

   

    Share Demo

// 步骤6.调用JS接口

wxshare.js

wx.ready(function () {

    // 分享到朋友圈

    wx.onMenuShareTimeline({

        title: wstitle,

        link: wslink,

        imgUrl: wsimg,

        success: function () {

            alert('分享成功');

        },

        cancel: function () {

        }

    });

    // 分享给朋友

    wx.onMenuShareAppMessage({

        title: wstitle,

        desc: wsdesc,

        link: wslink,

        imgUrl: wsimg,

        success: function () {

          alert('分享成功');

        },

        cancel: function () {

        }

    });

    // 分享到QQ

    wx.onMenuShareQQ({

        title: wstitle,

        desc: wsdesc,

        link: wslink,

        imgUrl: wsimg,

        success: function () {

            alert('分享成功');

        },

        cancel: function () {

        }

    });

    // 微信到腾讯微博

    wx.onMenuShareWeibo({

        title: wstitle,

        desc: wsdesc,

        link: wslink,

        imgUrl: wsimg,

        success: function () {

            alert('分享成功');

        },

        cancel: function () {

        }

    });

    // 分享到QQ空间

    wx.onMenuShareQZone({

        title: wstitle,

        desc: wsdesc,

        link: wslink,

        imgUrl: wsimg,

        success: function () {

            alert('分享成功');

        },

        cancel: function () {

        }

    });

});

你可能感兴趣的:(微信分享接口示例(设置标题、缩略图、连接、描述),附demo下载)