```
<?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
- 其他类库
- 百度
- 百度语音
- 快递
- 跨域问题
- 宝塔
- 搜索记录