婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > php微信公眾號開發之快遞查詢

php微信公眾號開發之快遞查詢

熱門標簽:兼職做地圖標注好賺錢嗎 智能電銷語音機器人資訊 山東電銷卡外呼系統原理是什么 400 電話 辦理 地圖標注怎么做商戶驗證 打開百度地圖標注 亳州企業外呼系統 海南外呼系統方案 蘇州外呼系統有效果嗎

本文實例為大家分享了php微信公眾號開發之快遞查詢的具體代碼,供大家參考,具體內容如下

快遞查詢

  • 數組用法
  • foreach

查詢接口是:愛快遞:https://www.aikuaidi.cn/api/

核心代碼如下:

$postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
        $fromUsername = $postObj->FromUserName;
        $toUsername = $postObj->ToUserName;
        $type = $postObj->MsgType;
        $customrevent = $postObj->Event;
        $latitude = $postObj->Location_X;
        $longitude = $postObj->Location_Y;
        $keyword = trim($postObj->Content);
        $time = time();
        $textTpl = "xml>
              ToUserName>![CDATA[%s]]>/ToUserName>
              FromUserName>![CDATA[%s]]>/FromUserName>
              CreateTime>%s/CreateTime>
              MsgType>![CDATA[%s]]>/MsgType>
              Content>![CDATA[%s]]>/Content>
              FuncFlag>0/FuncFlag>
              /xml>";       
        switch ($type)
        { 
        case "text";
          $status=array('0'=>'查詢出錯','1'=>'暫無記錄','2'=>'在途中','3'=>'派送中','4'=>'已簽收','5'=>'拒收','6'=>'疑難件','7'=>'退回');//構建快遞狀態數組
          $kuaidiurl="http://www.aikuaidi.cn/rest/?key=ff4735a30a7a4e5a8637146fd0e7cec9order={$keyword}id=shentongshow=xml";//快遞地址
          $kuaidistr=file_get_contents($kuaidiurl);//讀入文件
          $kuaidiobj=simplexml_load_string($kuaidistr);//xml解析
          $kuaidistatus = $kuaidiobj->Status;//獲取快遞狀態
          $kuaistr=strval($kuaidistatus);//對象轉換為字符串
          $contentStr0 =$status[$kuaistr];//根據數組返回
          foreach ($kuaidiobj->Data->Order as $a)
          {  
            foreach ($a->Time as $b)
            {
              foreach ($a->Content as $c)
              {
                $m.="{$b}{$c}";}
              }
          }
          //遍歷獲取快遞時間和事件
          $contentStr="你的快遞單號{$keyword}{$contentStr0}{$m}";
          break;         
        default;
          $contentStr ="此項功能尚未開發";  
        }
        $msgType="text";
        $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
        echo $resultStr;

index.php整體代碼如下:

?php
/**
 * wechat php test
 */

//define your token
define("TOKEN", "weixin");
$wechatObj = new wechatCallbackapiTest();
//$wechatObj->valid();
$wechatObj->responseMsg();
class wechatCallbackapiTest
{
  public function valid()
  {
    $echoStr = $_GET["echostr"];

    //valid signature , option
    if($this->checkSignature()){
      echo $echoStr;
      exit;
    }
  }

  public function responseMsg()
  {
    //get post data, May be due to the different environments
    $postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

    //extract post data
    if (!empty($postStr)){

        $postObj = simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);
        $fromUsername = $postObj->FromUserName;
        $toUsername = $postObj->ToUserName;
        $type = $postObj->MsgType;
        $customrevent = $postObj->Event;
        $latitude = $postObj->Location_X;
        $longitude = $postObj->Location_Y;
        $keyword = trim($postObj->Content);
        $time = time();
        $textTpl = "xml>
              ToUserName>![CDATA[%s]]>/ToUserName>
              FromUserName>![CDATA[%s]]>/FromUserName>
              CreateTime>%s/CreateTime>
              MsgType>![CDATA[%s]]>/MsgType>
              Content>![CDATA[%s]]>/Content>
              FuncFlag>0/FuncFlag>
              /xml>";       
        switch ($type)
        { 
        case "text";
          $status=array('0'=>'查詢出錯','1'=>'暫無記錄','2'=>'在途中','3'=>'派送中','4'=>'已簽收','5'=>'拒收','6'=>'疑難件','7'=>'退回');//構建快遞狀態數組
          $kuaidiurl="http://www.aikuaidi.cn/rest/?key=ff4735a30a7a4e5a8637146fd0e7cec9order={$keyword}id=shentongshow=xml";//快遞地址
          $kuaidistr=file_get_contents($kuaidiurl);//讀入文件
          $kuaidiobj=simplexml_load_string($kuaidistr);//xml解析
          $kuaidistatus = $kuaidiobj->Status;//獲取快遞狀態
          $kuaistr=strval($kuaidistatus);//對象轉換為字符串
          $contentStr0 =$status[$kuaistr];//根據數組返回
          foreach ($kuaidiobj->Data->Order as $a)
          {  
            foreach ($a->Time as $b)
            {
              foreach ($a->Content as $c)
              {
                $m.="{$b}{$c}";}
              }
          }
          //遍歷獲取快遞時間和事件
          $contentStr="你的快遞單號{$keyword}{$contentStr0}{$m}";
          break;         
        default;
          $contentStr ="此項功能尚未開發";  
        }
        $msgType="text";
        $resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType, $contentStr);
        echo $resultStr;

    }else {
      echo "";
      exit;
    }
  }

  private function checkSignature()
  {
    $signature = $_GET["signature"];
    $timestamp = $_GET["timestamp"];
    $nonce = $_GET["nonce"];  

    $token = TOKEN;
    $tmpArr = array($token, $timestamp, $nonce);
    sort($tmpArr);
    $tmpStr = implode( $tmpArr );
    $tmpStr = sha1( $tmpStr );

    if( $tmpStr == $signature ){
      return true;
    }else{
      return false;
    }
  }
}

?>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • php微信公眾號開發模式詳解
  • PHP實現微信公眾號驗證Token的示例代碼
  • php實現微信公眾號創建自定義菜單功能的實例代碼
  • PHP實現的微信公眾號掃碼模擬登錄功能示例
  • 微信公眾平臺開發教程③ PHP實現微信公眾號支付功能圖文詳解
  • php微信公眾號開發之校園圖書館
  • php微信公眾號開發之歡迎老朋友
  • php微信公眾號開發之關鍵詞回復
  • php微信公眾號開發之圖片回復
  • 基于PHP的微信公眾號的開發流程詳解

標簽:萊蕪 呼倫貝爾 金華 紹興 清遠 溫州 綏化 安康

巨人網絡通訊聲明:本文標題《php微信公眾號開發之快遞查詢》,本文關鍵詞  php,微信,公眾,號開,發之,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《php微信公眾號開發之快遞查詢》相關的同類信息!
  • 本頁收集關于php微信公眾號開發之快遞查詢的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 新沂市| 博湖县| 平阳县| 宕昌县| 和平区| 邛崃市| 汝阳县| 岫岩| 洪洞县| 永寿县| 宝坻区| 河曲县| 三穗县| 麦盖提县| 邵阳县| 西贡区| 来安县| 青龙| 白玉县| 察隅县| 崇阳县| 红原县| 文昌市| 米脂县| 湘潭市| 项城市| 若尔盖县| 金门县| 靖宇县| 霍山县| 滦平县| 阿拉善左旗| 确山县| 公主岭市| 泾阳县| 城市| 武义县| 卢氏县| 全椒县| 揭西县| 曲松县|