<?php
namespace app\common\library\express;
use think\Cache;
class Kuaidi100
{
private $config;
private $error;
public function __construct($config)
{
$this->config = $config;
}
public function query($express_code, $express_no)
{
$cacheIndex = 'express_' . $express_code . '_' . $express_no;
if ($data = Cache::get($cacheIndex)) {
return $data;
}
$postData = [
'customer' => $this->config['customer'],
'param' => json_encode([
'resultv2' => '1',
'com' => $express_code,
'num' => $express_no
])
];
$postData['sign'] = strtoupper(md5($postData['param'] . $this->config['key'] . $postData['customer']));
$url = 'http://poll.kuaidi100.com/poll/query.do';
$result = curlPost($url, http_build_query($postData));
$express = json_decode($result, true);
if (isset($express['returnCode']) || !isset($express['data'])) {
$this->error = isset($express['message']) ? $express['message'] : '查询失败';
return false;
}
Cache::set($cacheIndex, $express['data'], 300);
return $express['data'];
}
public function getError()
{
return $this->error;
}
}