亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

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

2024-05-04 23:57:54
字體:
來源:轉載
供稿:網友

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

<?phpnamespace 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×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 一定要動態獲取,不能 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; }}

以上所述是小編給大家介紹的微信封裝的調用微信簽名包的類庫,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!

 

注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产日韩在线精品av| 久久99热这里只有精品国产| 九九热这里只有精品6| 国产欧美一区二区三区在线看| 高清亚洲成在人网站天堂| 国产成人精品视频| 98午夜经典影视| 亚洲成av人乱码色午夜| 精品久久久香蕉免费精品视频| 成人网在线免费看| 欧美超级乱淫片喷水| 国产精品欧美久久久| 午夜精品在线观看| 精品美女久久久久久免费| 亚洲片在线资源| 日韩免费av一区二区| 亚洲男人天堂2023| 亚洲自拍在线观看| 国产视频欧美视频| 日韩视频一区在线| 亚洲影院色在线观看免费| 中文字幕亚洲综合久久筱田步美| 欧洲中文字幕国产精品| 26uuu另类亚洲欧美日本一| 亚洲精品日韩在线| 成人激情春色网| 正在播放欧美视频| 国产精品成人观看视频国产奇米| 伊人男人综合视频网| 国产精品一区二区久久国产| 亚洲福利视频免费观看| 欧美日韩精品国产| 日韩av片免费在线观看| 亚洲福利视频网| 国产suv精品一区二区三区88区| 久久久亚洲精品视频| 海角国产乱辈乱精品视频| 欧美日韩亚洲一区二区| 在线精品国产欧美| 日韩在线观看视频免费| 91免费精品视频| 91精品视频免费| 日韩高清电影好看的电视剧电影| 亚洲毛片一区二区| 久久久精品国产| 国模吧一区二区| 国内揄拍国内精品少妇国语| 久久这里只有精品视频首页| 欧美激情免费在线| 国产精品日韩欧美| 日韩欧美国产高清91| 色婷婷综合久久久久中文字幕1| 高清一区二区三区四区五区| 国产精品视频免费在线| 欧美视频免费在线观看| 亚洲视频自拍偷拍| 中文欧美日本在线资源| 成人观看高清在线观看免费| 97精品国产91久久久久久| 欧美精品做受xxx性少妇| 久久久久久久久久久久久久久久久久av| 日韩69视频在线观看| 国内揄拍国内精品少妇国语| 国产成人福利视频| 日韩精品免费在线视频| 欧美精品videossex性护士| 怡红院精品视频| 欧美激情视频网址| 国产精品一区二区三区久久久| 91在线国产电影| 一区二区三区四区视频| 亚洲第一视频在线观看| 69国产精品成人在线播放| 日韩视频免费大全中文字幕| 久久久久久com| 亚洲激情成人网| 91在线国产电影| 欧美精品在线免费观看| 国产综合福利在线| 亚洲欧美综合图区| 国产精品av电影| 成人激情视频免费在线| 精品久久中文字幕久久av| 久久精品国产v日韩v亚洲| 日韩久久免费视频| 国产一区二区三区三区在线观看| 高清一区二区三区日本久| 国产精品自产拍在线观看中文| 91精品国产高清久久久久久久久| 久久综合九色九九| 国产亚洲福利一区| 亚洲风情亚aⅴ在线发布| 欧美精品18videosex性欧美| 亚洲成人中文字幕| 国内精品久久久久| 欧美大尺度激情区在线播放| 亚洲成人激情小说| 热re99久久精品国产66热| 亚洲国产成人精品一区二区| 伊人久久久久久久久久久| 欧美亚洲另类激情另类| 日本精品久久久久影院| 中文字幕精品国产| 国产综合福利在线| 久久国产精品久久久久久久久久| 日韩欧美在线字幕| 欧美人交a欧美精品| 国产成人在线精品| 久久亚洲精品网站| 国产伦精品一区二区三区精品视频| 日韩av成人在线观看| 精品一区二区三区四区在线| 久久精品99久久久久久久久| 日韩在线观看av| 欧美国产日韩xxxxx| 欧美日韩久久久久| 91精品国产高清久久久久久91| 中文字幕精品视频| 中文字幕亚洲专区| 欧美日韩国产一区中文午夜| 91亚洲va在线va天堂va国| 欧美日韩精品中文字幕| 538国产精品视频一区二区| 国产精品va在线| 国产精品视频在线播放| 精品福利在线观看| 中文字幕亚洲欧美| 亚洲黄色片网站| 欧美日韩国产精品专区| 亚洲深夜福利视频| 一区二区三区国产在线观看| 国产精品久久久久久久久影视| 欧美激情2020午夜免费观看| 日韩一级裸体免费视频| 欧美贵妇videos办公室| 亚洲国产精品va| 欧美激情喷水视频| 97在线看免费观看视频在线观看| 久久国产精彩视频| 91九色蝌蚪国产| 欧美日韩在线第一页| 亚洲欧美日韩天堂一区二区| 久久精品国产一区二区电影| 国产三级精品网站| 亚洲欧美日韩视频一区| 91美女福利视频高清| 隔壁老王国产在线精品| 国产成人久久精品| 久久中文久久字幕| 日韩在线观看免费高清| 精品人伦一区二区三区蜜桃网站| 中文字幕日韩在线观看| 国产日韩在线亚洲字幕中文| 欧美老少配视频| 九九热这里只有在线精品视| 一级做a爰片久久毛片美女图片| 亚洲人成电影在线| 亚洲风情亚aⅴ在线发布| 亚洲人成伊人成综合网久久久| 91视频国产精品| 欧美电影免费看| 欧美电影在线观看网站| 欧美日韩在线观看视频| 欧美性在线视频|