久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      PHP制作微信自定義分享

      最近在做項目的時候遇到一個項目,要求再通過微信分享文章時,需要按照他自己的要求顯示分享標(biāo)題、分享摘要以及分享圖片,在網(wǎng)上找了好多種辦法,最后采用了微信公眾平臺自帶的分享接口功能。

      要制作微信接口分享功能,前期需要注冊一個公眾號,并認(rèn)證通過,只有這樣才能實現(xiàn)接口制作。在這里微信注冊再不做詳細(xì)的說明,大家可以直接在微信公眾平臺官網(wǎng)自己查找:mp.weixin.qq.com

      下面我一步步給大家做介紹

      1、公眾號開發(fā)信息配置

      在開發(fā)分享接口之前需要先配置公眾平臺配置信息,如下圖所示:點擊“開發(fā)-基本信息”,可以看到公眾號開發(fā)信息,在開發(fā)者秘鑰哪里點擊“開啟”,配置自己的秘鑰信息,配置成功后,保存開發(fā)者ID(AppID)和開發(fā)者密碼(AppSecret)

      PHP制作微信自定義分享

      2、配置JS接口安全域名

      點擊“設(shè)置與開發(fā)–公眾號設(shè)置”,點擊JS接口安全域名后面的設(shè)置,按照要求添加js安全域名,如圖所示

      3、PHP分享接口類

      這里不多說,直接上代碼

      class wechatClass {     public $AppID;     public $AppSecret;     public $redirect_uri;     public $DbSy;     public $dump_url;     public $scope;     public function __construct()     {         parent::__construct();         $this->AppID = "開發(fā)者密碼(AppSecret)";         $this->AppSecret = "開發(fā)者密碼(AppSecret)";     }     public function getSignPackage() {         $jsapiTicket = $this->getJsApiTicket();         // 注意 URL 一定要動態(tài)獲取,不能 hardcode.         $protocol = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443) ? "https://" : "http://";         $url = "{$protocol}{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}";         $timestamp = time();         $nonceStr = $this->createNonceStr();         // 這里參數(shù)的順序要按照 key 值 ASCII 碼升序排序         $string = "jsapi_ticket={$jsapiTicket}&noncestr={$nonceStr}&timestamp={$timestamp}&url={$url}";         $signature = sha1($string);         // var_dump($signature);die;         $signPackage = array(             "appId"     => $this->AppID,             "nonceStr"  => $nonceStr,             "timestamp" => $timestamp,             "url"       => $url,             "signature" => $signature,             "rawString" => $string         );         return $signPackage;     }     public 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;     }     public function getJsApiTicket() {         // jsapi_ticket 應(yīng)該全局存儲與更新,以下代碼以寫入到文件中做示例         //echo $_SERVER['DOCUMENT_ROOT'];         $data = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT']."/static/yejuzhi/js/access_token.json"));         // var_dump($data->expire_time);die;         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($_SERVER['DOCUMENT_ROOT']."/static/yejuzhi/js/access_token.json", "w");                 fwrite($fp, json_encode($data));                 fclose($fp);             }         } else {             $ticket = $data->jsapi_ticket;         }         return $ticket;     }     public function getAccessToken() {         // access_token 應(yīng)該全局存儲與更新,以下代碼以寫入到文件中做示例         $data = json_decode(file_get_contents($_SERVER['DOCUMENT_ROOT']."/static/yejuzhi/js/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($_SERVER['DOCUMENT_ROOT']."/static/yejuzhi/js/access_token.json", "w");                 fwrite($fp, json_encode($data));                 fclose($fp);             }         } else {             $access_token = $data->access_token;         }         return $access_token;     }     public 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;     } }

      4、PHP文件配置

      這里我是以TP5.1框架寫的,大家可以自行設(shè)置

      $wx = new WeChatClass(); $sign = $wx->getSignPackage(); $this->assign('sign',$sign);

      5、前端HTML代碼

      前端HTML代碼請參考開發(fā)文檔:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#111

      這里我以自定義“分享給朋友”及“分享到QQ”按鈕的分享內(nèi)容(1.4.0)接口為例

      <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>微信分享接口制作</title> </head> <body> <script src="http://res2.wx.qq.com/open/js/jweixin-1.6.0.js"></script> <script>  wx.config({         debug: false, // 開啟調(diào)試模式,調(diào)用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數(shù),可以在pc端打開,參數(shù)信息會通過log打出,僅在pc端時才會打印。  appId: '{$sign.appId}', // 必填,公眾號的唯一標(biāo)識  timestamp: '{$sign.timestamp}', // 必填,生成簽名的時間戳  nonceStr: '{$sign.nonceStr}', // 必填,生成簽名的隨機串  signature: '{$sign.signature}',// 必填,簽名  jsApiList: [             "updateAppMessageShareData",] // 必填,需要使用的JS接口列表  });  wx.ready(function () {         wx.updateAppMessageShareData({             title: '您的標(biāo)題', // 分享標(biāo)題  desc: '您的描述', // 分享描述  link: '您的分享鏈接', // 分享鏈接,該鏈接域名或路徑必須與當(dāng)前頁面對應(yīng)的公眾號JS安全域名一致  imgUrl: '您的分享圖標(biāo)', // 分享圖標(biāo)  success: function () {                 /*alert('成功');*/  }         });  }); </script> </body> </html>

      贊(3)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號