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

前幾天因?yàn)轫?xiàng)目所需要實(shí)現(xiàn)微信分享接口,在網(wǎng)上搜了一大堆,實(shí)現(xiàn)辦法大致分為兩種,第一:在body之后加一個(gè)img標(biāo)簽并且設(shè)置display:none,這種方法感覺不科學(xué)所以我沒有測試過。第二:使用微信的分享接口,但在網(wǎng)上也沒用找到完整的示例,還是自己折騰吧,請(qǐng)看下面。


實(shí)現(xiàn)工具:GetwxLink

第一步:

先登錄微信公眾平臺(tái)進(jìn)入“公眾號(hào)設(shè)置”的“功能設(shè)置”里填寫“JS接口安全域名”。

注:認(rèn)證帳號(hào)才有分享權(quán)限

第二步

創(chuàng)建一個(gè)demo.php文件和wxshare.js

demo.php

<?php

? ? // 步驟1.設(shè)置appid和appsecret

? ? $appid = 'wxd75a2b20d3a54752';

? ? $appsecret = '9b32270f32874ea7a7427f88ff770777';

? ? // 步驟2.生成簽名的隨機(jī)串

? ? function nonceStr($length){

? ? ? ? $str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';//62個(gè)字符

? ? ? ? $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需要的參數(shù)

? ? $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.調(diào)用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 = "我是標(biāo)題";

? 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 () {

? ? ? ? }

? ? });

});

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容