```
<?php
$KdApi=new KdApi();
// //調用快遞鳥查詢物流軌跡
// //---------------------------------------------
// /*
// * com 快遞編號
// * num 快遞單號
// */
// $com=$_POST["com"];
// $num=$_POST["num"];
// $logisticResult=$KdApi->getOrderTracesByJson("HTKY","73501295840655");
// echo $logisticResult;
//快遞100查詢
// var_dump($KdApi->kuaidi100("huitongkuaidi","73501295840655"));
// //構造在線下單提交信息
// $eorder = [];
// //快遞公司編碼
// $eorder["ShipperCode"] = "SF";
// //訂單編號PM201605078942
// $eorder["OrderCode"] = "PM".date("YmdHis");
// //支付方式 PayType Int 郵費支付方式:1-現付,2-到付,3-月結,4-第三方支付
// $eorder["PayType"] = 1;
// //快遞類型:1-標準快件
// $eorder["ExpType"] = 1;
// // IsNotice Int 發貨方式:0-上門攬件,1-網點自寄,默認為1 O
// $eorder["IsNotice"] = 1;
// //PackingType Int 包裝類型:包裝類型(快運字段)默認為 0; 0- 紙 1- 纖 2- 木 3- 托膜 4- 木托 99-其他
// $eorder["PackingType"] = 1;
// //IsReturnSignBill Int 簽收回單:1-需要,0-不需要,默認為0 O
// $eorder["IsReturnSignBill"] = 1;
// //DeliveryMethod Int 送貨方式:0-自提,1-送貨上門(不含上樓)2-送貨上樓。(適用于快運類型訂單,物流公司可能會收取費用),默認為0
// $eorder["DeliveryMethod"] = 1;
// // StartDate String 上門取貨時間段:"yyyy-MM-dd HH:mm:ss"格式化,本文中所有時間格式相同 O
// // $eorder["StartDate"] = "yyyy-MM-dd HH:mm:ss";
// // $eorder["EndDate"] = "yyyy-MM-dd HH:mm:ss";
// // Weight Double 物品總重量kg O
// $eorder["Weight"] = 1;
// //Quantity Int 件數/包裹數 O
// $eorder["Quantity"] = 1;
// //Volume Double 物品總體積m3 O
// $eorder["Volume"] = 1;
// //Remark String 備注
// $eorder["Remark"] = "";
// //發件人信息
// $sender = [];
// $sender["Name"] = "李先生";
// $sender["Mobile"] = "18888888888";
// $sender["ProvinceName"] = "廣東省";
// $sender["CityName"] = "深圳市";
// $sender["ExpAreaName"] = "福田區";
// $sender["Address"] = "賽格廣場5401AB";
// //收件人信息
// $receiver = [];
// $receiver["Name"] = "李先生";
// $receiver["Mobile"] = "18888888888";
// $receiver["ProvinceName"] = "廣東省";
// $receiver["CityName"] = "深圳市";
// $receiver["ExpAreaName"] = "福田區";
// $receiver["Address"] = "賽格廣場5401AB";
// //ommodity商品信息
// /*GoodsName String 商品名稱 R
// GoodsCode String 商品編碼 O
// Goodsquantity Int 商品數量 O
// GoodsPrice Decimal 商品價格 O
// GoodsWeight Decimal 商品重量 O
// GoodsDesc String 商品描述 O
// GoodsVol Double 商品體積m3
// */
// $commodityOne = [];
// $commodityOne["GoodsName"] = "其他";
// $commodity = [];
// $commodity[] = $commodityOne;
// $eorder["Sender"] = $sender;
// $eorder["Receiver"] = $receiver;
// $eorder["Commodity"] = $commodity;
// //調用在線下單
// $jsonParam = json_encode($eorder, JSON_UNESCAPED_UNICODE);
// //echo "在線下單接口提交內容:<br/>".$jsonParam;
// $jsonResult = $KdApi->submitOOrder($jsonParam);
// //解析在線下單返回結果
// $result = json_decode($jsonResult, true);
// echo '<pre>';
// var_dump($result);die;
// echo "<br/><br/>返回碼:".$result["ResultCode"];
// if($result["ResultCode"] == "100") {
// echo "<br/>是否成功:".$result["Success"];
// }
// else {
// echo "<br/>在線下單失敗";
// }
class KdApi{
public $conf=[
//快遞鳥電商ID
"EBusinessID"=>"test1395396",
//快遞鳥電商加密私鑰,快遞鳥提供,注意保管,不要泄漏
"AppKey"=>"c14e0f85-ad29-4b8c-aa86-65f9fe5eb681",
//快遞鳥 調試模式 false true 測試
"debug"=>true,
//快遞100 公司編號, 請在企業管理后臺查看
"customer"=>'4ABF503E8E654D052D62AAE5DF38FF84',
//快遞100 公司編號, 請在企業管理后臺查看
"key"=>"LxRCjwoi3582",
];
public function __construct($conf = "") {
}
/**
* Json方式 提交在線下單
*/
function submitOOrder($requestData){
//電商加密私鑰,快遞鳥提供,注意保管,不要泄漏
//請求url,接口正式地址:http://api.kdniao.com/api/eorderservice 測試環境地址:http://testapi.kdniao.com:8081/api/oorderservice
if($this->conf["debug"]){
$ReqURL="http://testapi.kdniao.com:8081/api/oorderservice";
}else{
$ReqURL="http://api.kdniao.com/api/eorderservice";
}
$datas = array(
'EBusinessID' => $this->conf["EBusinessID"],
'RequestType' => '1001',
'RequestData' => urlencode($requestData) ,
'DataType' => '2',
);
$datas['DataSign'] = $this->encrypt($requestData,$this->conf["AppKey"] );
$result=$this->sendPost($ReqURL, $datas);
//根據公司業務處理返回的信息......
return $result;
}
//---------------------------------------------
/**
* Json方式 查詢訂單物流軌跡
*/
function getOrderTracesByJson($com,$num){
//請求url
// (6)測試地址:http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json
// (7)正式地址:http://api.kdniao.com/Ebusiness/EbusinessOrderHandle.aspx
if($this->conf["debug"]){
$ReqURL="http://sandboxapi.kdniao.com:8080/kdniaosandbox/gateway/exterfaceInvoke.json";
}else{
$ReqURL="http://api.kdniao.com/Ebusiness/EbusinessOrderHandle.aspx";
}
$requestData='{"OrderCode":"","ShipperCode":"'.$com.'","LogisticCode":"'.$num.'" }';
$datas = array(
'EBusinessID' => $this->conf["EBusinessID"],
'RequestType' => '1002',
'RequestData' => urlencode($requestData) ,
'DataType' => '2',
);
$datas['DataSign'] = $this->encrypt($requestData, $this->conf["AppKey"]);
$result=$this->sendPost($ReqURL, $datas);
//根據公司業務處理返回的信息......
return $result;
}
/**
* post提交數據
* @param string $url 請求Url
* @param array $datas 提交的數據
* @return url響應返回的html
*/
function sendPost($url, $datas) {
$temps = array();
foreach ($datas as $key => $value) {
$temps[] = sprintf('%s=%s', $key, $value);
}
$post_data = implode('&', $temps);
$url_info = parse_url($url);
$httpheader = "POST " . $url_info['path'] . " HTTP/1.0\r\n";
$httpheader.= "Host:" . $url_info['host'] . "\r\n";
$httpheader.= "Content-Type:application/x-www-form-urlencoded\r\n";
$httpheader.= "Content-Length:" . strlen($post_data) . "\r\n";
$httpheader.= "Connection:close\r\n\r\n";
$httpheader.= $post_data;
$fd = fsockopen($url_info['host'], $url_info['port']);
fwrite($fd, $httpheader);
$gets = "";
$headerFlag = true;
while (!feof($fd)) {
if (($header = @fgets($fd)) && ($header == "\r\n" || $header == "\n")) {
break;
}
}
while (!feof($fd)) {
$gets.= fread($fd, 128);
}
fclose($fd);
return $gets;
}
/**
* 電商Sign簽名生成
* @param data 內容
* @param appkey Appkey
* @return DataSign簽名
*/
function encrypt($data, $appkey) {
return urlencode(base64_encode(md5($data.$appkey)));
}
/**
* Json方式 提交在線下單
*/
function kuaidi100($com,$num){
/*
名稱 類型 是否必需 示例值 描述
customer String 是 我方分配給貴司的的公司編號, 請在企業管理后臺查看
sign String 是 簽名,
param Object 是 由其他字段拼接
└ com string 是 yuantong 查詢的快遞公司的編碼, 一律用小寫字母
└ num string 是 12345678 查詢的快遞單號, 單號的最大長度是32個字符
└ phone string 否 13888888888 收、寄件人的電話號碼(手機和固定電話均可,只能填寫一個,順豐單號必填,其他快遞公司選填。如座機號碼有分機號,分機號無需上傳。)
└ from string 否 廣東深圳 出發地城市
└ to string 否 北京朝陽 目的地城市,到達目的地后會加大監控頻率
└ resultv2 int 否 1 添加此字段表示開通行政區域解析功能
*/
//參數設置
$post_data = array();
//$this->conf["customer"], this->conf["key"],
$post_data["customer"] =$this->conf["customer"];
$key= $this->conf["key"] ;
$post_data["param"] = '{"com":"'.$com.'","num":"'.$num.'"}';
$url='http://poll.kuaidi100.com/poll/query.do';
$post_data["sign"] = md5($post_data["param"].$key.$post_data["customer"]);
$post_data["sign"] = strtoupper($post_data["sign"]);
$o="";
foreach ($post_data as $k=>$v)
{
$o.= "$k=".urlencode($v)."&"; //默認UTF-8編碼格式
}
$post_data=substr($o,0,-1);
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($curl);
curl_close($curl);
$retuaz=["code"=>1000,"msg"=>"成功","data"=>json_decode($output)];
return $retuaz;
}
}
```
- 課程介紹
- thinkphp5.0
- 安裝
- 開發規范
- 目錄結構
- 配置參數
- 系統常量
- tp5自帶的函數
- 助手函數
- 擴展類庫
- 基本類庫
- Workerman
- think-queue
- 驗證碼
- 圖片
- 權限認證
- 課前準備
- 數據庫設計
- 模塊設計
- 管理員管理
- 添加
- 編輯
- 刪除和批量刪除
- 列表頁
- 實列
- 權限管理
- 操作日志
- 基于行為的日記錄
- 行為日志的擴展
- 助手類庫
- 自建函數
- 將數組轉成uri字符串
- 獲取當前服務器的IP
- curl-post
- 截取文字中間的字符串
- 檢查中文姓名
- 省市區分別截取
- 抽獎概率問題
- 短信郵箱模板替換
- 生成csv
- PHP 圖片轉base64
- 銀行卡驗證
- json返回接口封裝
- 無限極分類
- 病毒
- xml和數組互轉
- xml轉成數組
- 數組轉xml
- tp控制器相關
- 獲取thinkph5下控制器和方法名
- 后臺查詢的簡單封裝
- 網址信息
- 獲取網站logo
- 判斷url是否存在
- 獲取title
- 判斷遠程文件是否存在
- 獲取頁面所有鏈接
- 過濾
- 截取
- 時間
- 獲取服務器信息
- 根據id生成唯一邀請碼
- 隨機顏色
- 數組字符串互換
- 創建多級目錄
- 懶人查詢
- 時間和時間戳轉換
- 房間id生菜
- 獲取需要的數組元素
- 文件和文件夾
- 文件類庫
- 文件夾
- 七牛云
- 七牛云運用場景
- 七牛云使用實例
- 郵箱
- 郵箱驗證
- 郵箱發送
- 數據庫
- 數據庫在thinkphp中的補充方法
- 備份和安全
- sql執行
- 數據庫備份2
- 時間日歷
- 時間格式化
- 日歷
- 圖片相關
- 自動獲取圖片主題顏色
- 獲取html中的圖片路徑
- 獲取圖片場景
- 獲取圖片實踐
- 圖片處理類
- 圖片處理場景
- 圖片處理實踐
- 數據驗證分析
- 身份證相關
- 新聞
- 自建類庫
- 簡易分類庫
- php 壓縮CSS代碼
- 身份證
- 分詞和抽詞
- 分詞應用場景
- 分詞實踐
- 中文轉拼音
- 中文轉拼音場景
- 中文轉拼音實踐
- 二維碼操作
- 二維碼場景
- 二維碼實踐
- 短地址
- PHPWord
- 插件化
- 插件擴展庫
- 插件列表
- 插件安裝和卸載
- 插件實踐
- 插件的離線安裝
- 計劃任務
- 計劃任務安裝
- 計劃任務實踐
- 定時器
- 注冊登錄
- 普通登錄注冊
- 第三方登錄注冊
- jwt接口登錄注冊
- 短信
- 飛鴿短信
- 阿里短信
- 消息隊列
- 網站地圖
- 全站靜態化
- 緩存
- 文件導出
- PDF生成
- phpword
- PHPExcel
- 其他類庫
- 百度
- 百度語音
- 快遞
- 跨域問題
- 寶塔
- 搜索記錄