微信分享接口示例(設置標題、縮略圖、連接、描述),附demo下載

原文鏈接:https://blog.csdn.net/qq_38166084/article/details/79696251

前幾天因爲項目所需要實現微信分享接口,在網上搜了一大堆,實現辦法大致分爲兩種,第一:在body之後加一個img標籤並且設置display:none,這種方法感覺不科學所以我沒有測試過。第二:使用微信的分享接口,但在網上也沒用找到完整的示例,還是自己折騰吧,請看下面。

第一步:
先登錄微信公衆平臺進入“公衆號設置”的“功能設置”裏填寫“JS接口安全域名”。
注:認證帳號纔有分享權限

第二步
創建一個demo.php文件和wxshare.js

demo.php

<?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&timestamp=$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;
    }
 
 
?>
 
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Share Demo</title>
</head>
<body>
</body>
// 步驟6.調用JS接口
<script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script>
<script>
  wx.config({
      debug: false,
      appId: '<?php echo $ws["appId"]; ?>',
      timestamp: '<?php echo $ws["timestamp"]; ?>',
      nonceStr: '<?php echo $ws["nonceStr"]; ?>',
      signature: '<?php echo $ws["signature"]; ?>',
      jsApiList: [
          'checkJsApi',
          'onMenuShareTimeline',
          'onMenuShareAppMessage',
          'onMenuShareQQ',
          'onMenuShareWeibo',
          'onMenuShareQZone',
      ]
  });
 
  var wstitle = "我是標題";
  var wsdesc = "我是描述";
  var wslink = "<?php echo $surl; ?>";
  var wsimg = "http://fmwei.com/usr/uploads/2016/07/794257096.png";
 
</script>
<script src="wxshare.js"></script>
</html>

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 () {
    }
});


});

大功告成!

https://blog.csdn.net/qq_34543438/article/details/78254667

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章