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

Rumah applet WeChat pembangunan WeChat 微信封裝的調(diào)用微信簽名包的類庫

微信封裝的調(diào)用微信簽名包的類庫

Jun 16, 2017 am 09:58 AM
Perpustakaan kelas

這篇文章主要介紹了微信封裝的調(diào)用微信簽名包的類庫的相關(guān)資料,需要的朋友可以參考下

廢話不多說了,直接給大家貼代碼了,具體代碼如下所示:

<?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;);//公眾號(hào)的appid
    $this->appsecret = C(&#39;APPSECRET&#39;);//公眾號(hào)的秘鑰
  }
  //調(diào)用js-sdk的簽名包
  public function getSignPackage() {
  $jsapiTicket = $this->getJsApiTicket();
  // 注意 URL 一定要?jiǎng)討B(tài)獲取,不能 hardcode.(獲取當(dāng)前網(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]";
  //時(shí)間戳
  $timestamp = time();
  //隨機(jī)字符串獲取
  $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; 
 }
 //使用會(huì)員卡領(lǐng)取的簽名包
 public function getHuiYuanSignPackage() {
  $apiTicket = $this->getApiTicket();
  // 注意 URL 一定要?jiǎng)討B(tài)獲取,不能 hardcode.(獲取當(dāng)前網(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]";
  //時(shí)間戳
  $timestamp = time();
  //隨機(jī)字符串獲取
  // $nonceStr = $this->createNonceStr();
  // 這里參數(shù)的順序要按照 key 值 ASCII 碼升序排序
  $string = $timestamp.$apiTicket."car_id";//card_id為自己創(chuàng)建的會(huì)員卡的id
  //生成字符串是用來簽名用的
  $signature = sha1($string);
  $signPackage = array(
   "timestamp" => $timestamp,
   "signature" => $signature,
  );
  return $signPackage; 
 }
 //獲取會(huì)員卡的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;
 }
 //獲取隨機(jī)字符串
 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字符串轉(zhuǎn)換為json對(duì)象(json_encode是將數(shù)組轉(zhuǎn)換為json字符串,json_decode("",true) 如果加true是將json字符串轉(zhuǎn)化為php數(shù)組,不加true轉(zhuǎn)換為PHP對(duì)象)
  $data = json_decode(file_get_contents("access_token.json"));
  if ($data->expire_time < time()) {
   // 如果是企業(yè)號(hào)用以下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是公眾號(hào)用于調(diào)用微信JS接口的臨時(shí)票據(jù))
  private function getJsApiTicket() {
  // jsapi_ticket 應(yīng)該全局存儲(chǔ)與更新,以下代碼以寫入到文件中做示例
  $data = json_decode(file_get_contents("jsapi_ticket.json"));
  if ($data->expire_time < time()) {
   $accessToken = $this->getAccessToken();
   // 如果是企業(yè)號(hào)用以下 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);
   //請(qǐng)求
  }
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;
 }
}

Atas ialah kandungan terperinci 微信封裝的調(diào)用微信簽名包的類庫. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276
Salin Komik (Pintu Laman Web Rasmi) _COPY COMICS (NBA) Portal Membaca Tulen Salin Komik (Pintu Laman Web Rasmi) _COPY COMICS (NBA) Portal Membaca Tulen Jun 05, 2025 pm 04:12 PM

Komik menyalin tidak diragukan lagi sebagai harta yang tidak dapat dilepaskan. Di sini anda boleh menemui komik bola keranjang dalam pelbagai gaya, dari cerita kompetitif yang bersemangat dan inspirasi untuk komedi harian yang santai dan lucu. Sama ada anda ingin menghidupkan semula klasik atau menemui karya baru, menyalin komik dapat memenuhi keperluan anda. Melalui portal bacaan dalam talian yang disediakan oleh Copy Comics, anda akan mengucapkan selamat tinggal kepada masalah sumber cetak rompak, menikmati pengalaman membaca yang tinggi dan lancar, dan dapat menyokong pengarang komik kegemaran anda dan menyumbang kepada pembangunan komik yang sahih.

Peringkat Perisian Penulisan AI Top 10 AI Disyorkan Perisian Penulisan AI adalah PERCUMA Peringkat Perisian Penulisan AI Top 10 AI Disyorkan Perisian Penulisan AI adalah PERCUMA Jun 04, 2025 pm 03:27 PM

Menggabungkan trend industri terkini dan data penilaian pelbagai dimensi pada tahun 2025, yang berikut adalah cadangan perisian penulisan AI yang komprehensif, yang meliputi senario arus perdana seperti penciptaan umum, penyelidikan akademik, dan pemasaran komersial, sambil mengambil kira perkhidmatan pengoptimuman dan penyetempatan Cina:

Tonton halaman rasmi NIS Comics dalam talian untuk komik percuma. Laman Web Kemasukan Percuma Laman Masuk NIS Comics Tonton halaman rasmi NIS Comics dalam talian untuk komik percuma. Laman Web Kemasukan Percuma Laman Masuk NIS Comics Jun 12, 2025 pm 08:18 PM

Komik yang bagus, platform pengalaman membaca yang mendalam yang didedikasikan untuk mencipta pencinta komik, menyatukan sejumlah besar sumber komik berkualiti tinggi di rumah dan di luar negara. Ia bukan sahaja platform membaca komik, tetapi juga komuniti yang menghubungkan artis komik dan pembaca dan berkongsi budaya komik. Melalui reka bentuk antara muka yang mudah dan intuitif dan fungsi carian yang kuat, NES Comics membolehkan anda dengan mudah mencari karya kegemaran anda dan menikmati pengalaman membaca yang lancar dan selesa. Katakan selamat tinggal kepada operasi yang lama menunggu dan membosankan, masukkan dunia komik yang bagus dengan serta -merta dan mulakan perjalanan komik anda!

Frog Man Online Melihat Lelaki Lelaki Masuk Lelaki (Masuk Web Page) Tonton Dalam Talian Frog Man Online Melihat Lelaki Lelaki Masuk Lelaki (Masuk Web Page) Tonton Dalam Talian Jun 12, 2025 pm 08:06 PM

Komik Frogman telah menjadi pilihan pertama bagi banyak pencinta komik dengan sumber komik yang kaya dan pelbagai dan pengalaman membaca dalam talian yang mudah dan lancar. Ia seperti kolam yang bersemangat, dengan cerita -cerita segar dan menarik yang sentiasa muncul, menunggu anda menemui dan meneroka. Frog Man Comics meliputi pelbagai subjek, dari pengembaraan yang ghairah hingga cinta manis, dari fantasi dan fiksyen sains untuk penangguhan yang menggembirakan, tidak kira genre yang anda suka, anda dapat mencari karya kegemaran anda di sini. Reka bentuk antara muka yang mudah dan intuitif membolehkan anda dengan mudah memulakan, dengan cepat mencari komik yang anda ingin baca, dan tenggelamkan diri anda dalam dunia komik yang menarik.

Baozi Comics (Masuk) _ Baozi Comics (pintu masuk baru) 2025 Baozi Comics (Masuk) _ Baozi Comics (pintu masuk baru) 2025 Jun 05, 2025 pm 04:18 PM

Di sini, anda boleh menikmati lautan komik yang luas dan meneroka karya-karya pelbagai tema dan gaya, dari komik lelaki muda yang ghairah hingga komik gadis yang halus dan bergerak, dari komik misteri yang membosankan dan membakar otak untuk komik harian yang santai dan lucu, ada segala-galanya, dan selalu ada yang dapat menyentuh hati anda. Kami bukan sahaja mempunyai sejumlah besar sumber komik yang tulen, tetapi juga sentiasa memperkenalkan dan mengemas kini kerja -kerja terkini untuk memastikan bahawa anda dapat membaca komik kegemaran anda secepat mungkin.

b Alamat Berdaftar Terkini untuk mendaftarkan B pertukaran b Alamat Berdaftar Terkini untuk mendaftarkan B pertukaran May 26, 2025 pm 07:12 PM

Laman web rasmi terbaru 2025b anhui adalah: https://www.marketwebb.co/zh-cn/join?ref=507720986&amp ;type=wenzi; Binance Exchange adalah pertukaran cryptocurrency global yang melayani 180 negara dan wilayah termasuk Amerika Utara, Eropah, Taiwan, Timur Tengah, Hong Kong, dan Malaysia. Ia menyediakan lebih daripada 600 kriptografi dan mempunyai 270 juta pengguna berdaftar di seluruh dunia.

Bagaimana untuk memuat turun Huobi pada telefon Android? Tutorial Muat Turun Huobi (tutorial langkah demi langkah) Bagaimana untuk memuat turun Huobi pada telefon Android? Tutorial Muat Turun Huobi (tutorial langkah demi langkah) Jun 12, 2025 pm 10:12 PM

Pengguna telefon bimbit Android boleh memuat turun dan memasang aplikasi Huobi/Huobi melalui langkah -langkah berikut: 1. Pastikan rangkaian stabil dan ruang penyimpanan mencukupi; 2. Muat turun aplikasi melalui laman web rasmi Huobi/Huobi, gunakan penyemak imbas untuk mengakses laman web rasmi dan klik pautan muat turun atau mengimbas kod QR, atau cari dan muat turun melalui kedai aplikasi pihak ketiga seperti Apptreasure dan Huawei App Market, dan anda juga boleh mendapatkan pakej pemasangan melalui perkongsian rakan-rakan; 3. Cari fail .apk yang dimuat turun, aktifkan kebenaran pemasangan "Sumber Sumber Tidak Diketahui", ikuti arahan untuk menyelesaikan pemasangan, dan lain -lain.

Bolehkah saya menggunakan WeChat pada dua telefon pada masa yang sama? Bolehkah saya menggunakan WeChat pada dua telefon pada masa yang sama? Jul 11, 2025 am 03:28 AM

Ya, tetapi ada sekatan. ① Anda boleh log masuk ke akaun yang sama pada kedua -dua telefon iPhone dan Android, tetapi log masuk ke peranti terkini akan menyebabkan sesi terawal menjadi luar talian; ② Anda boleh log masuk pada masa yang sama pada telefon bimbit dan desktop komputer, tetapi fungsi tidak disegerakkan; ③ Walaupun menggunakan alat pihak ketiga atau fungsi dwi-apl boleh membolehkan pembalakan di antara dua telefon bimbit, ia tidak disokong secara tidak rasmi dan boleh melanggar peraturan; ④ Penyelesaian alternatif termasuk menggunakan versi Web/Desktop untuk memadankan telefon utama, atau memindahkan rekod sembang melalui sandaran awan dan alat fail. Sesetengah mesin Android juga boleh menggunakan "aplikasi dwi" untuk menjalankan dua contoh akaun.

See all articles