在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美

當前位置:雨林木風下載站 > 網絡軟件教程 > 詳細頁面

微信封裝的調用微信簽名包的類庫

微信封裝的調用微信簽名包的類庫

更新時間:2025-09-22 文章作者:未知 信息來源:網絡 閱讀次數:

微信(WeChat)是騰訊公司于2011年1月21日推出的一個為智能終端提供即時通訊服務的免費應用程序,由張小龍所帶領的騰訊廣州研發中心產品團隊打造 [2] 。微信支持跨通信運營商、跨操作系統平臺...
微信(WeChat)是騰訊公司于2011年1月21日推出的一個為智能終端提供即時通訊服務的免費應用程序,由張小龍所帶領的騰訊廣州研發中心產品團隊打造 [2] 。微信支持跨通信運營商、跨操作系統平臺通過網絡快速發送免費(需消耗少量網絡流量)語音短信、視頻、圖片和文字,同時,也可以使用通過共享流媒體內容的資料和基于位置的社交插件“搖一搖”、“漂流瓶”、“朋友圈”、”公眾平臺“、”語音記事本“等服務插件。
這篇文章主要介紹了微信封裝的調用微信簽名包的類庫的相關資料,需要的朋友可以參考下

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

<?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 一定要動態獲取,不能 hardcode.(獲取當前網頁的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();
  // 這里參數的順序要按照 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 一定要動態獲取,不能 hardcode.(獲取當前網頁的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();
  // 這里參數的順序要按照 key 值 ASCII 碼升序排序
  $string = $timestamp.$apiTicket."car_id";//card_id為自己創建的會員卡的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是將數組轉換為json字符串,json_decode("",true) 如果加true是將json字符串轉化為php數組,不加true轉換為PHP對象)
  $data = json_decode(file_get_contents("access_token.json"));
  if ($data->expire_time < time()) {
   // 如果是企業號用以下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接口的臨時票據)
  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?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;
 }
}

以上就是微信封裝的調用微信簽名包的類庫的詳細內容,更多請關注php中文網其它相關文章!


微信提供公眾平臺、朋友圈、消息推送等功能,用戶可以通過“搖一搖”、“搜索號碼”、“附近的人”、掃二維碼方式添加好友和關注公眾平臺,同時微信將內容分享給好友以及將用戶看到的精彩內容分享到微信朋友圈。

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統下載排行

在线看毛片视频-国产免费av在线-欧美日韩一区二区三区-国产成人无码av在线播放无广告-亚洲人va欧美va人人爽-国产第一草草-西班牙黄色片-四虎在线网站8848-最新av片免费网站入口-东京热无码中文字幕av专区-日本大人吃奶视频xxxx-欧美精品一区二区三区四区五区-国产片天天弄-国产免费内射又粗又爽密桃视频-欧美爱爱网站-日韩v欧美
  • <li id="86scu"><menu id="86scu"></menu></li>
    <li id="86scu"></li>
    <button id="86scu"></button>
  • <s id="86scu"></s><button id="86scu"><menu id="86scu"></menu></button>
  • 欧美xxxxxbbbbb| 欧美视频在线第一页| 日韩免费在线观看av| 91极品视频在线观看| 熟女性饥渴一区二区三区| 777av视频| 美女日批免费视频| 波多野结衣乳巨码无在线| 国产视频在线观看网站| 4444在线观看| 给我免费播放片在线观看| 日韩欧美不卡在线| 1024av视频| 亚洲性生活网站| 一级黄色在线播放| 黄色污污在线观看| 4444在线观看| 日本a在线免费观看| 欧美二区在线视频| 精品国产成人av在线免| 免费一级特黄录像| 午夜av中文字幕| 欧美大黑帍在线播放| 337p粉嫩大胆噜噜噜鲁| caopor在线视频| 中文字幕一区二区在线观看视频| 日本丰满大乳奶| 日本成年人网址| 日本人69视频| 全黄性性激高免费视频| wwwwww.色| 国产性生活免费视频| 精品无码一区二区三区在线| www亚洲成人| 免费一级淫片aaa片毛片a级| 天天影视综合色| 国产精品videossex国产高清| 欧美一级片中文字幕| 亚洲国产午夜精品| 日韩欧美一区三区| 五月天色婷婷综合| 999在线免费视频| 成人在线国产视频| 992tv人人草| 亚洲成人福利在线观看| 国产一区二区三区播放| 在线看的黄色网址| 欧美精品性生活| 黄色大片在线免费看| 黑人巨大国产9丨视频| 亚洲国产精品毛片av不卡在线| 欧美做受777cos| 欧美国产日韩在线视频| 成人一区二区三| 日韩欧美在线播放视频| 欧美中文字幕在线观看视频 | 五月天综合婷婷| jizz欧美性11| 凹凸日日摸日日碰夜夜爽1| 欧美一级爱爱视频| 今天免费高清在线观看国语| 992kp免费看片| 中文字幕 日韩 欧美| 男人插女人下面免费视频| 欧美色图色综合| 黄色动漫网站入口| 少妇无码av无码专区在线观看| 国内自拍中文字幕| 无码人妻精品一区二区蜜桃百度| 天堂网成人在线| 自拍一级黄色片| 国内精品国产三级国产99| 天天做天天爱天天高潮| 精品国产无码在线| 伊人精品视频在线观看| 色乱码一区二区三区熟女| www.午夜色| 一本久道高清无码视频| 国产h视频在线播放| 亚洲人成无码www久久久| 免费国产成人av| 手机av在线免费| 影音先锋男人的网站| 波多野结衣av一区二区全免费观看 | 久久久久久综合网| 日本特黄在线观看| 少妇久久久久久被弄到高潮| 国产一线二线三线女| 日韩人妻精品无码一区二区三区| 久久综合久久色| 午夜激情影院在线观看| 免费网站在线观看视频| 国产精品无码专区av在线播放| 性生活免费在线观看| 777久久精品一区二区三区无码| 激情六月天婷婷| 韩国一区二区av| 97精品国产97久久久久久粉红| 18禁网站免费无遮挡无码中文| 韩国视频一区二区三区| 菠萝蜜视频在线观看入口| 成人在线观看a| 91免费视频黄| 国产成人无码av在线播放dvd| 五月天国产视频| 蜜臀av午夜一区二区三区 | 黄网站欧美内射| 手机版av在线| 国产精品秘入口18禁麻豆免会员| 婷婷中文字幕在线观看| 亚洲国产精品久久久久爰色欲| 99久久99精品| 精品久久久噜噜噜噜久久图片| 中文字幕人妻熟女人妻洋洋| 中文字幕线观看| 久草在在线视频| 成人免费视频91| 裸体大乳女做爰69| 一级做a免费视频| 亚洲精品视频导航| 久草精品在线播放| 亚洲自偷自拍熟女另类| av在线com| 精品免费久久久久久久| 亚洲综合伊人久久| 三级视频中文字幕| 久久综合久久色| 成人在线免费播放视频| 久久综合色视频| 国产97在线 | 亚洲| 国产自产在线视频| 国产爆乳无码一区二区麻豆| 佐佐木明希av| 成年人深夜视频| 精品国产一区二区三区无码| 国产911在线观看| 日韩精品福利片午夜免费观看| 亚洲黄色片免费看| 黑人巨大国产9丨视频| 成人在线观看www| 8x8ⅹ国产精品一区二区二区| 国产一二三四区在线观看| 中文字幕55页| 亚洲 欧美 综合 另类 中字| 成人免费毛片在线观看| 亚洲国产精品久久久久婷蜜芽| 欧美国产激情视频| 成人精品视频一区二区| 69久久久久久| 免费观看国产视频在线| 成人黄色片免费| 欧美日韩亚洲第一| 99re6在线观看| 人妻激情另类乱人伦人妻| 久久99中文字幕| 波多野结衣天堂| 日本一级淫片演员| 欧美精品99久久| 亚洲色图偷拍视频| 免费网站永久免费观看| 国产成人无码一二三区视频| jizz18女人| 欧美在线一区视频| 国产嫩草在线观看| 国产精品一二三在线观看| 老太脱裤子让老头玩xxxxx| www亚洲成人| 日韩人妻无码精品久久久不卡| 一级特黄性色生活片| 狠狠干视频网站| 天天干天天干天天干天天干天天干| 色偷偷中文字幕| 日韩亚洲在线视频| 一级性生活视频| 91av视频免费观看| 9久久9毛片又大又硬又粗| 亚洲va在线va天堂va偷拍| 麻豆tv在线播放| 丰满女人性猛交| 第四色婷婷基地| 欧美成人xxxxx| 欧美日韩视频免费| 香蕉视频在线网址| 99re精彩视频| 97公开免费视频| 国产在线青青草| 国产精品专区在线| 国产一二三四五| 91插插插影院| 亚洲精品手机在线观看| av片中文字幕| 日本一区二区黄色| av在线播放亚洲| 糖心vlog在线免费观看| 伊人免费视频二| 免费一区二区三区在线观看| 黄色成人免费看| 亚洲不卡视频在线| 一级片视频免费观看| 久久午夜夜伦鲁鲁一区二区|