国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Heim WeChat-Applet WeChat-Entwicklung Von WeChat gepackte Klassenbibliothek, die das WeChat-Signaturpaket aufruft

Von WeChat gepackte Klassenbibliothek, die das WeChat-Signaturpaket aufruft

Jun 16, 2017 am 09:58 AM
Klassenbibliothek

Dieser 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 = &#39;&#39;; //令牌
    private $appid;
    private $appsecret;
  public function __construct()
  {
    $this->appid = C(&#39;APPID&#39;);//公眾號的appid
    $this->appsecret = C(&#39;APPSECRET&#39;);//公眾號的秘鑰
  }
  //調用js-sdk的簽名包
  public function getSignPackage() {
  $jsapiTicket = $this->getJsApiTicket();
  // 注意 URL 一定要動態(tài)獲取,不能 hardcode.(獲取當前網(wǎng)頁的url)
  $protocol = (!empty($_SERVER[&#39;HTTPS&#39;]) && $_SERVER[&#39;HTTPS&#39;] !== &#39;off&#39; || $_SERVER[&#39;SERVER_PORT&#39;] == 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);
  $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[&#39;HTTPS&#39;]) && $_SERVER[&#39;HTTPS&#39;] !== &#39;off&#39; || $_SERVER[&#39;SERVER_PORT&#39;] == 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[&#39;HTTP_HOST&#39;] . $_SERVER[&#39;REQUEST_URI&#39;]; 
    if (!isset($_GET[&#39;code&#39;])) {
     //獲取組裝的url
      $openidUrl = $this->snsapi_base($url);
      redirect($openidUrl);
    }else{
      $openidAccess_token = $this->openidAccess_token($_GET[&#39;code&#39;]);
      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!

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

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

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276
Kopieren Sie Comics (offizielle Website -Eingang) _copy Comics (NBA) Echtes Online -Leseportal Kopieren Sie Comics (offizielle Website -Eingang) _copy Comics (NBA) Echtes Online -Leseportal Jun 05, 2025 pm 04:12 PM

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.

Top 10 KI -Schreibsoftware -Rankings empfohlen, welche KI -Schreibsoftware kostenlos ist Top 10 KI -Schreibsoftware -Rankings empfohlen, welche KI -Schreibsoftware kostenlos ist Jun 04, 2025 pm 03:27 PM

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

Sehen Sie sich die offizielle Seite von NIS Comics online für kostenlose Comics an. Die Free -Eintrags -Website der NIS Comics -Anmeldeseite Sehen Sie sich die offizielle Seite von NIS Comics online für kostenlose Comics an. Die Free -Eintrags -Website der NIS Comics -Anmeldeseite Jun 12, 2025 pm 08:18 PM

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!

Frog Man Online anzeigen Eingangsmann Frog Man (Webseiteneingang) online ansehen Frog Man Online anzeigen Eingangsmann Frog Man (Webseiteneingang) online ansehen Jun 12, 2025 pm 08:06 PM

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.

Baozi Comics (Eingang) _ Baozi Comics (neuer Eingang) 2025 Baozi Comics (Eingang) _ Baozi Comics (neuer Eingang) 2025 Jun 05, 2025 pm 04:18 PM

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.

B Eine neueste registrierte address_Wow, um B einen Austausch zu registrieren B Eine neueste registrierte address_Wow, um B einen Austausch zu registrieren May 26, 2025 pm 07:12 PM

Die neueste offizielle Website von 2025b Anhui ist: https://www.marketwebb.co/zh-cn/join?ref=507720986&amp;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.

Wie lade ich Huobi auf Android -Handys herunter? Huobi Download Tutorial (Schritt-für-Schritt-Tutorial) Wie lade ich Huobi auf Android -Handys herunter? Huobi Download Tutorial (Schritt-für-Schritt-Tutorial) Jun 12, 2025 pm 10:12 PM

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.

Kann ich WeChat gleichzeitig auf zwei Telefonen verwenden? Kann ich WeChat gleichzeitig auf zwei Telefonen verwenden? Jul 11, 2025 am 03:28 AM

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.

See all articles