网站分析怎么做,安福网站建设,做网站是不是要学编程,购物网站建设网页推广微信JS-SDK说明文档微信JS-SDK Demo我所要实现的分享功能要求#xff1a;只要提供一段js代码给前端美工放置在静态页面等就可以实现分享功能。js代码如下#xff1a;urllocation.href;$.ajax({type : get,url : http://域名/wx/test/jssdk.php?urlu…微信JS-SDK说明文档微信JS-SDK Demo我所要实现的分享功能要求只要提供一段js代码给前端美工放置在静态页面等就可以实现分享功能。js代码如下urllocation.href;$.ajax({type : get,url : http://域名/wx/test/jssdk.php?urlurl,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]});},error:function(data){alert(连接失败);}});wx.ready(function (){var shareData {title: 霾黄色预警昨发布 冷空气昨夜到温 雾霾可能消散,desc: 在长大的过程中我才慢慢发现我身边的所有事别人跟我说的所有事那些所谓本来如此注定如此的事它们其实没有非得如此事情是可以改变的。更重要的是有些事既然错了那就该做出改变。,link: http://news.wendu.cn/2015/0127/482049.shtml,imgUrl: http://upload.wendu.cn/2015/0127/1422306020538.jpg};wx.onMenuShareAppMessage(shareData);wx.onMenuShareTimeline(shareData);});为了便于在不同的域名下面页面调用用了jsonp(json的一种使用模式)来解决跨域数据访问的问题。urllocation.href;获取当前网址以参数的方式传给jssdk.php进行签名验证。 url : http://域名/wx/test/jssdk.php?urlurljssdk.php是在微信JS-SDK DEMO的基础上进行了修改。代码如下$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();// 这里参数的顺序要按照 key 值 ASCII 码升序排序$string jsapi_ticket$jsapiTicketnoncestr$nonceStrtimestamp$timestampurl$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 应该全局存储与更新以下代码以写入到文件中做示例$data json_decode(file_get_contents(jsapi_ticket.json));if ($data-expire_time time()) {$accessToken $this-getAccessToken();// 如果是企业号用以下 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?typejsapiaccess_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 应该全局存储与更新以下代码以写入到文件中做示例$data json_decode(file_get_contents(access_token.json));if ($data-expire_time time()) {// 如果是企业号用以下URL获取access_token// $url https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid$this-appIdcorpsecret$this-appSecret;$url https://api.weixin.qq.com/cgi-bin/token?grant_typeclient_credentialappid$this-appIdsecret$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(公众号, 公众号密钥,$url);$signPackage $jssdk-GetSignPackage();$tmpjson_encode(array (appId$signPackage[appId],timestamp$signPackage[timestamp],nonceStr$signPackage[nonceStr],signature$signPackage[signature],url$signPackage[url]));$callback $_GET[callback];echo $callback.(.$tmp.);exit;?标签 微信顶一下(0)0%踩一下(0)0%