


Von WeChat gepackte Klassenbibliothek, die das WeChat-Signaturpaket aufruft
Jun 16, 2017 am 09:58 AMDieser Artikel stellt haupts?chlich die relevanten Informationen über die Klassenbibliothek vor, die das in WeChat gepackte WeChat-Signaturpaket aufruft. Freunde, die es ben?tigen, k?nnen darauf verweisen
Kein Unsinn mehr, ich werde den Code direkt für alle ver?ffentlichen . Der spezifische Code Wie unten gezeigt:
<?php namespace Home\Model; use Think\Model; class WechatModel extends Model { private $_token = ''; //令牌 private $appid; private $appsecret; public function __construct() { $this->appid = C('APPID');//公眾號的appid $this->appsecret = C('APPSECRET');//公眾號的秘鑰 } //調用js-sdk的簽名包 public function getSignPackage() { $jsapiTicket = $this->getJsApiTicket(); // 注意 URL 一定要動態(tài)獲取,不能 hardcode.(獲取當前網(wǎng)頁的url) $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×tamp=$timestamp&url=$url"; //生成字符串是用來簽名用的 $signature = sha1($string); $signPackage = array( "appId" => $this->appid, "nonceStr" => $nonceStr, "timestamp" => $timestamp, "url" => $url, "signature" => $signature, "rawString" => $string ); return $signPackage; } //使用會員卡領取的簽名包 public function getHuiYuanSignPackage() { $apiTicket = $this->getApiTicket(); // 注意 URL 一定要動態(tài)獲取,不能 hardcode.(獲取當前網(wǎng)頁的url) $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 = $timestamp.$apiTicket."car_id";//card_id為自己創(chuàng)建的會員卡的id //生成字符串是用來簽名用的 $signature = sha1($string); $signPackage = array( "timestamp" => $timestamp, "signature" => $signature, ); return $signPackage; } //獲取會員卡的api_ticket public function getApiTicket(){ $data = json_decode(file_get_contents("api_ticket.json")); if ($data->expire_time < time()) { $accessToken = $this->getAccessToken(); $url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=wx_card&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("api_ticket.json", "w"); fwrite($fp, json_encode($data)); fclose($fp); } } else { $ticket = $data->jsapi_ticket; } return $ticket; } //獲取隨機字符串 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; } //獲取Access Token public function getAccessToken(){ //將json字符串轉換為json對象(json_encode是將數(shù)組轉換為json字符串,json_decode("",true) 如果加true是將json字符串轉化為php數(shù)組,不加true轉換為PHP對象) $data = json_decode(file_get_contents("access_token.json")); if ($data->expire_time < time()) { // 如果是企業(yè)號用以下URL獲取access_token $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; } //獲取jsapi_ticket(jsapi_ticket是公眾號用于調用微信JS接口的臨時票據(jù)) private function getJsApiTicket() { // jsapi_ticket 應該全局存儲與更新,以下代碼以寫入到文件中做示例 $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; } //獲取用戶的openid public function openId(){ $url = $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; if (!isset($_GET['code'])) { //獲取組裝的url $openidUrl = $this->snsapi_base($url); redirect($openidUrl); }else{ $openidAccess_token = $this->openidAccess_token($_GET['code']); return $openidAccess_token; } } //獲取微信用戶的opnid public function getOpenId($openid,$access_token) { $userInfo = $this->getUserInfo($openid,$access_token); return $userInfo; } public function snsapi_base($redirect_uri, $scope = "snsapi_userinfo", $state = 0) { $appId = $this->appid; $url = "https://open.weixin.qq.com/connect/oauth2/authorize"; $url .= "?appid=$appId"; $url .= "&redirect_uri=http://$redirect_uri"; $url .= "&response_type=code"; $url .= "&scope=$scope"; $url .= "&state=$state#wechat_redirect"; return $url; } public function openidAccess_token($code){ $appId = $this->appid; $appSecret= $this->appsecret; $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appId&secret=$appSecret&code=$code&grant_type=authorization_code"; return json_decode($this->httpGet($url),true); } //獲取用戶信息 public function getUserInfo($openid, $access_token){ $url = "https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN "; return json_decode($this->httpGet($url),true); //請求 } 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; } }
Das obige ist der detaillierte Inhalt vonVon WeChat gepackte Klassenbibliothek, die das WeChat-Signaturpaket aufruft. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Das Kopieren von Comics ist zweifellos ein Schatz, der nicht übersehen werden kann. Hier finden Sie Basketball -Comics in verschiedenen Stilen, von leidenschaftlichen und inspirierenden Wettbewerbsgeschichten bis hin zu entspannten und humorvollen t?glichen Kom?dien. Unabh?ngig davon, ob Sie die Klassiker noch einmal erleben oder neue Werke entdecken m?chten, kann das Kopieren von Comics Ihre Bedürfnisse erfüllen. Durch das authentische Online-Leseportal, das von Copy Comics bereitgestellt wird, verabschieden Sie sich von der Mühe von Rabour-Ressourcen, genie?en Sie eine hochaufl?sende und reibungslose Leseerfahrung und k?nnen Ihre bevorzugten Comic-Autoren unterstützen und zur Entwicklung authentischer Comics beitragen.

Die Kombination der neuesten Branchentrends und mehrdimensionalen Bewertungsdaten im Jahr 2025 sind die folgenden Top-Ten-Empfehlungen für KI.

Nice Comics, eine immersive Leserfahrungsplattform, die sich der Erstellung von Comicliebhabern widmet, vereint eine gro?e Anzahl hochwertiger Comic-Ressourcen im In- und Ausland. Es ist nicht nur eine Comic -Leseplattform, sondern auch eine Community, die Comic -Künstler und Leser verbindet und die Comic -Kultur teilt. Mit einfachem und intuitivem Schnittstellendesign und leistungsstarken Suchfunktionen k?nnen Sie mit NES Comics Ihre Lieblingswerke problemlos finden und ein reibungsloses und komfortables Leseerlebnis genie?en. Verabschieden Sie sich von den langen Warten und mühsamen Operationen, betreten Sie sofort die Welt der netten Comics und beginnen Sie Ihre Comic -Reise!

Frogman Comics ist die erste Wahl für viele Comicliebhaber mit seinen reichen und vielf?ltigen Comic -Ressourcen und einem bequemen und reibungslosen Online -Leseerlebnis. Es ist wie ein pulsierender Teich, mit frischen und interessanten Geschichten, die st?ndig auftauchen und darauf warten, dass Sie entdecken und erkunden. Frog Man Comics berichten von einer Vielzahl von Themen, von leidenschaftlichen Abenteuern bis hin zu sü?er Liebe, von Fantasie und Science -Fiction bis hin zu Spannung, egal welches Genre Sie m?gen, Sie finden Ihre Lieblingswerke hier. Mit seinem einfachen und intuitiven Schnittstellendesign k?nnen Sie leicht loslegen, schnell die Comics finden, die Sie lesen m?chten, und sich in die aufregende Comic -Welt eintauchen.

Hier k?nnen Sie den riesigen Ozean der Comics genie?en und Werke verschiedener Themen und Stile erkunden, von leidenschaftlichen jungen Mann-Comics bis hin zu zarten und bewegenden M?dchen-Comics, von spannend und hirnverbrennenden Mystery-Comics bis hin zu entspannten und lustigen t?glichen Comics, alles, und es gibt immer eine, die Ihre Herzstrings berühren kann. Wir haben nicht nur eine gro?e Menge echter Comic -Ressourcen, sondern auch die neuesten Arbeiten st?ndig vor, um sicherzustellen, dass Sie Ihre Lieblingscomics so schnell wie m?glich lesen k?nnen.

Die neueste offizielle Website von 2025b Anhui ist: https://www.marketwebb.co/zh-cn/join?ref=507720986&type=wenzi; Binance Exchange ist ein globaler Kryptow?hrungsaustausch, der 180 L?nder und Regionen, einschlie?lich Nordamerika, Europa, Taiwan, dem Nahen Osten, Hongkong und Malaysia, dient. Es liefert mehr als 600 Kryptow?hrungen und verfügt über 270 Millionen registrierte Benutzer weltweit.

Benutzer von Android Mobiltelefonen k?nnen die Huobi/Huobi -App in den folgenden Schritten herunterladen und installieren: 1. Stellen Sie sicher, dass das Netzwerk stabil ist und der Speicherplatz ausreicht; 2. Laden Sie die App über die offizielle Website von Huobi/Huobi herunter, greifen Sie mit dem Browser auf die offizielle Website zu und klicken Sie auf den Link Download oder scannen Sie den QR-Code. Suchen Sie und laden Sie sie über Anwendungsgesch?fte von Drittanbietern wie AppTreasure und Huawei-App-Markt herunter und laden Sie sie herunter. 3. Suchen Sie die heruntergeladene .APK -Datei, aktivieren Sie die Berechtigung "Unbekannte Quell -App", befolgen Sie die Eingabeaufforderungen, um die Installation abzuschlie?en usw.

Ja, aber es gibt Einschr?nkungen. ① Sie k?nnen sich sowohl für iPhone als auch auf Android -Telefonen bei demselben Konto anmelden. Wenn Sie sich jedoch beim neuesten Ger?t anmelden, wird die früheste Sitzung offline sein. ② Sie k?nnen sich gleichzeitig auf dem Mobiltelefon und dem Computerdesktop anmelden, aber die Funktionen werden nicht synchronisiert. Obwohl die Verwendung von Tools von Drittanbietern oder Dual-App-Funktionen die Protokollierung zwischen zwei Mobiltelefonen erm?glichen kann, wird sie inoffiziell unterstützt und kann gegen Vorschriften versto?en. ④ Zu den alternativen L?sungen geh?rt die Verwendung der Webversion/der Desktop -Version, die zum Haupttelefon entspricht, oder über die übertragung von Chat -Datens?tzen über Cloud -Sicherungs- und Datei -Tools. Einige Android -Maschinen k?nnen auch "Dual -Anwendungen" verwenden, um zwei Kontoinstanzen auszuführen.
