網(wǎng)頁鏈接分享到微信朋友圈帶圖標(biāo)和摘要的完美解決方法

先看效果:



我不喜歡回形針。

以前我僅僅把網(wǎng)頁開始的地方放一個(gè)不可見的圖片,后來發(fā)現(xiàn)沒有效果所坯。

現(xiàn)在我們開始:

原料:GetwxLink

微信公眾號(hào):




步驟一:綁定域名

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

步驟二:引入JS文件

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

<script>

? ? var? url=location.href;

? ? $.ajax({

? ? ? ? type : "get",

? ? ? ? url : "http://這里改為你自己的網(wǎng)址.com/jssdk.php?url="+url,

? ? ? ? dataType : "jsonp",

? ? ? ? jsonp: "callback",

? ? ? ? jsonpCallback:"success_jsonpCallback",

? ? ? ? success : function(data){

? ? ? ? ? ? wx.config({

? ? ? ? ? ? ? ? debug: false,

? ? ? ? ? ? ? ? appId: data.appId,

? ? ? ? ? ? ? ? timestamp: data.timestamp,

? ? ? ? ? ? ? ? nonceStr: data.nonceStr,

? ? ? ? ? ? ? ? signature: data.signature,

? ? ? ? ? ? ? ? jsApiList: [

? ? ? ? ? ? ? ? ? ? 'onMenuShareTimeline',//

? ? ? ? ? ? ? ? ? ? 'onMenuShareAppMessage',

? ? ? ? ? ? ? ? ? ? 'onMenuShareQQ',

? ? ? ? ? ? ? ? ? ? 'onMenuShareWeibo',

? ? ? ? ? ? ? ? ? ? 'onMenuShareQZone'

? ? ? ? ? ? ? ? ]

? ? ? ? ? ? });

? ? ? ? },

? ? ? ? error:function(data){

? ? ? ? ? ? alert("連接失敗掐暮!");

? ? ? ? }

? ? });

? ? wx.ready(function () {

? ? ? ? var shareData = {

? ? ? ? ? ? title: '這是是分享標(biāo)題',

? ? ? ? ? ? desc: '這是是摘要',

? ? ? ? ? ? link: url,

? ? ? ? ? ? imgUrl: '這里改為你網(wǎng)站域名下的小圖標(biāo)文件的地址'

? ? ? ? };

? ? ? ? wx.onMenuShareAppMessage(shareData);//分享給好友

? ? ? ? wx.onMenuShareTimeline(shareData);//分享到朋友圈

? ? ? ? wx.onMenuShareQQ(shareData);//分享給手機(jī)QQ

? ? ? ? wx.onMenuShareWeibo(shareData);//分享騰訊微博

? ? ? ? wx.onMenuShareQZone(shareData);//分享到QQ空間

? ? });

? ? wx.error(function (res) {

? ? ? ? //alert(res.errMsg);//錯(cuò)誤提示

? ? });

</script>

url : "http://這里改為你自己的網(wǎng)址.com/jssdk.php?url="+url,

<?php

$url = $_GET['url'];

class JSSDK {

? ? private $appId;

? ? private $appSecret;

? ? private $url;

? ? public function __construct($appId, $appSecret,$url) {

? ? ? ? $this->appId = $appId;

? ? ? ? $this->appSecret = $appSecret;

? ? ? ? $this->url = $url;

? ? }

? ? public function getSignPackage() {

? ? ? ? $jsapiTicket = $this->getJsApiTicket();

? ? ? ? $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";

? ? ? ? // $url = "$protocol$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

? ? ? ? $url =$this->url;

? ? ? ? $timestamp = time();

? ? ? ? $nonceStr = $this->createNonceStr();

? ? ? ? // 這里參數(shù)的順序要按照 key 值 ASCII 碼升序排序

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

? ? ? ? $signature = sha1($string);

? ? ? ? $signPackage = array(

? ? ? ? ? ? "appId"? ? => $this->appId,

? ? ? ? ? ? "nonceStr"? => $nonceStr,

? ? ? ? ? ? "timestamp" => $timestamp,

? ? ? ? ? ? "url"? ? ? => $url,

? ? ? ? ? ? "signature" => $signature,

? ? ? ? ? ? "rawString" => $string

? ? ? ? );

? ? ? ? return $signPackage;

? ? }

? ? private function createNonceStr($length = 16) {

? ? ? ? $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

? ? ? ? $str = "";

? ? ? ? for ($i = 0; $i < $length; $i++) {

? ? ? ? ? ? $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);

? ? ? ? }

? ? ? ? return $str;

? ? }

? ? private function getJsApiTicket() {

? ? ? ? // jsapi_ticket 應(yīng)該全局存儲(chǔ)與更新,以下代碼以寫入到文件中做示例

? ? ? ? $data = json_decode(file_get_contents("jsapi_ticket.json"));

? ? ? ? if ($data->expire_time < time()) {

? ? ? ? ? ? $accessToken = $this->getAccessToken();

? ? ? ? ? ? // 如果是企業(yè)號(hào)用以下 URL 獲取 ticket

? ? ? ? ? ? // $url = "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=$accessToken";

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

? ? ? ? ? ? $res = json_decode($this->httpGet($url));

? ? ? ? ? ? $ticket = $res->ticket;

? ? ? ? ? ? if ($ticket) {

? ? ? ? ? ? ? ? $data->expire_time = time() + 7000;

? ? ? ? ? ? ? ? $data->jsapi_ticket = $ticket;

? ? ? ? ? ? ? ? $fp = fopen("jsapi_ticket.json", "w");

? ? ? ? ? ? ? ? fwrite($fp, json_encode($data));

? ? ? ? ? ? ? ? fclose($fp);

? ? ? ? ? ? }

? ? ? ? } else {

? ? ? ? ? ? $ticket = $data->jsapi_ticket;

? ? ? ? }

? ? ? ? return $ticket;

? ? }

? ? private function getAccessToken() {

? ? ? ? // access_token 應(yīng)該全局存儲(chǔ)與更新政钟,以下代碼以寫入到文件中做示例

? ? ? ? $data = json_decode(file_get_contents("access_token.json"));

? ? ? ? if ($data->expire_time < time()) {

? ? ? ? ? ? // 如果是企業(yè)號(hào)用以下URL獲取access_token

? ? ? ? ? ? // $url = "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$this->appId&corpsecret=$this->appSecret";

? ? ? ? ? ? $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$this->appId&secret=$this->appSecret";

? ? ? ? ? ? $res = json_decode($this->httpGet($url));

? ? ? ? ? ? $access_token = $res->access_token;

? ? ? ? ? ? if ($access_token) {

? ? ? ? ? ? ? ? $data->expire_time = time() + 7000;

? ? ? ? ? ? ? ? $data->access_token = $access_token;

? ? ? ? ? ? ? ? $fp = fopen("access_token.json", "w");

? ? ? ? ? ? ? ? fwrite($fp, json_encode($data));

? ? ? ? ? ? ? ? fclose($fp);

? ? ? ? ? ? }

? ? ? ? } else {

? ? ? ? ? ? $access_token = $data->access_token;

? ? ? ? }

? ? ? ? return $access_token;

? ? }

? ? private function httpGet($url) {

? ? ? ? $curl = curl_init();

? ? ? ? curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

? ? ? ? curl_setopt($curl, CURLOPT_TIMEOUT, 500);

? ? ? ? curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);

? ? ? ? curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);

? ? ? ? curl_setopt($curl, CURLOPT_URL, $url);

? ? ? ? $res = curl_exec($curl);

? ? ? ? curl_close($curl);

? ? ? ? return $res;

? ? }

}

$jssdk = new JSSDK("wx********************a", "*************************",$url);

$signPackage = $jssdk->GetSignPackage();

$tmp=json_encode(array ('appId'=>$signPackage["appId"],'timestamp'=>$signPackage["timestamp"],'nonceStr'=>$signPackage["nonceStr"],'signature'=>$signPackage["signature"],'url'=>$signPackage["url"]));

$callback = $_GET['callback'];

echo $callback.'('.$tmp.')';

exit;

?>

只要改一下這一行為你自己的:

$jssdk = new JSSDK("wx********************", "*************************",$url);

最后路克,別忘了存放這個(gè)PHP的文件夾權(quán)限為可寫。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末养交,一起剝皮案震驚了整個(gè)濱河市精算,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌碎连,老刑警劉巖灰羽,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異鱼辙,居然都是意外死亡廉嚼,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門倒戏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來怠噪,“玉大人,你說我怎么就攤上這事杜跷“睿” “怎么了矫夷?”我有些...
    開封第一講書人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)憋槐。 經(jīng)常有香客問我双藕,道長(zhǎng),這世上最難降的妖魔是什么阳仔? 我笑而不...
    開封第一講書人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任惧笛,我火速辦了婚禮软免,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己蛹批,他們只是感情好寞宫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開白布缎罢。 她就那樣靜靜地躺著少梁,像睡著了一般。 火紅的嫁衣襯著肌膚如雪稚照。 梳的紋絲不亂的頭發(fā)上蹂空,一...
    開封第一講書人閱讀 51,679評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音果录,去河邊找鬼上枕。 笑死,一個(gè)胖子當(dāng)著我的面吹牛弱恒,可吹牛的內(nèi)容都是我干的辨萍。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼返弹,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼锈玉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起义起,我...
    開封第一講書人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤拉背,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后默终,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體椅棺,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年齐蔽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了两疚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡肴熏,死狀恐怖鬼雀,靈堂內(nèi)的尸體忽然破棺而出顷窒,到底是詐尸還是另有隱情蛙吏,我是刑警寧澤源哩,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站鸦做,受9級(jí)特大地震影響励烦,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜泼诱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一坛掠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧治筒,春花似錦屉栓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至堤框,卻和暖如春域滥,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蜈抓。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來泰國(guó)打工启绰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人沟使。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓委可,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親腊嗡。 傳聞我的和親對(duì)象是個(gè)殘疾皇子撤缴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容