国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

詳解html靜態(tài)頁面實現(xiàn)微信分享思路的示例代碼分析

2020-03-24 18:17:58
字體:
供稿:網(wǎng)友
微信分享網(wǎng)頁的時候,希望分享出來的鏈接是標(biāo)題+描述+縮略圖,微信開發(fā)代碼示例里已提供了方法,但只適用于動態(tài)頁面。由于dedecms是生成了靜態(tài)文件,其實我想使用ajax獲取jssdk參數(shù)也能也能實現(xiàn)微信分享功能了,在這里分享給大家。
前臺HTML代碼示例:

 script src= http://外部站點引入/js/html' target='_blank'>jquery-1.11.1.min.js /script 
 script src= /uploads/allimg/190528/120Z4JX-1.jpg /script script var url=location.href; $.ajax({ type : get , url : http://xxx/jssdk.php?url= +url,//替換網(wǎng)址,xxx根據(jù)自己jssdk文件位置修改 dataType : jsonp , jsonp: callback , jsonpCallback: success_jsonpCallback , success : function(data){ wx.config({ appId: data.appId, timestamp: data.timestamp, nonceStr: data.nonceStr, signature: data.signature, jsApiList: [ onMenuShareTimeline , //分享給好友 onMenuShareAppMessage , //分享到朋友圈 onMenuShareQQ , //分享到QQ onMenuShareWeibo //分享到微博] error:function(data){ alert( 連接失敗!  wx.ready(function (){ var shareData = { title: 標(biāo)題 , desc: 簡介 ,//這里請?zhí)貏e注意是要去除html link: 鏈接 , imgUrl: 標(biāo)題圖  wx.onMenuShareAppMessage(shareData); wx.onMenuShareTimeline(shareData); wx.onMenuShareQQ(shareData); wx.onMenuShareWeibo(shareData); }); /script 

修改服務(wù)端文件jssdk.php

 ?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- $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)該全局存儲與更新,以下代碼以寫入到文件中做示例 $data = json_decode(file_get_contents( jsapi_ticket.json )); if ($data- expire_time time()) { $accessToken = $this- getAccessToken(); // 如果是企業(yè)號用以下 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)該全局存儲與更新,以下代碼以寫入到文件中做示例 $data = json_decode(file_get_contents( access_token.json )); if ($data- expire_time time()) { // 如果是企業(yè)號用以下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( 公眾號ID , 公眾號密鑰 ,$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;? 

其它的按照動態(tài)頁面參數(shù)設(shè)置即可。

以上就是詳解html靜態(tài)頁面實現(xiàn)微信分享思路的示例代碼分析的詳細內(nèi)容,

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 北川| 靖江市| 灵武市| 南丰县| 玉环县| 凤城市| 寿宁县| 洛浦县| 民和| 德兴市| 永兴县| 灵璧县| 报价| 中西区| 全州县| 宁陵县| 锦州市| 九龙县| 松阳县| 阳信县| 珲春市| 榆树市| 泽库县| 安徽省| 涪陵区| 徐水县| 汝阳县| 阳山县| 台湾省| 平定县| 翁源县| 岑巩县| 边坝县| 丹棱县| 沭阳县| 儋州市| 吕梁市| 吉首市| 西盟| 芦溪县| 祁门县|