- 首页 > it技术 > >
class Feieyun
{
/**
* @var string
*/
protected $host = 'http://api.feieyun.cn/Api/Open/';
/**
* @var
*/
protected $config=[
'username'=>'',
'uKey'=>'',
];
/**
* Feieyun constructor.
* @param $config
*/
public function __construct(array $config)
{
$this->config = array_merge($this->config,$config);
}/**
* 添加打印机
* @return mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function add(array $private_params = [])
{
// TODO: Implement add() method.
return $this->request($private_params, 'Open_printerAddlist');
}/**
* 更新打印机
* @param array $private_params
* @return mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function update($private_params = [])
{
// TODO: Implement update() method.
return $this->request($private_params, 'Open_printerEdit');
}/**
* 删除打印机
* @param array $private_params
* @return mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function delete($private_params = [])
{
// TODO: Implement delete() method.
return $this->request($private_params, 'Open_printerDelList');
}/**
* 清空待打印队列
* @param array $private_params
* @return mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function clear($private_params = [])
{
// TODO: Implement clear() method.
return $this->request($private_params, 'Open_delPrinterSqs');
}/**
* 打印机状态
* @param array $private_params
* @return mixed
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function status($private_params = [])
{
// TODO: Implement status() method.
return $this->request($private_params, 'Open_queryPrinterStatus');
}/**
* @param array $private_params
* @param string $type
* @return string
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function outputOrder($private_params = [], $type = '')
{
if ($type == 'lable')
return $this->outputLabelMsg($private_params);
return $this->outputMsg($private_params);
}/**
* 打印订单
* @param array $private_params
* @return string
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function outputMsg($private_params = [])
{
return $this->request($private_params, 'Open_printMsg');
}/**
* 标签机打印订单
* @param array $private_params
* @return string
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function outputLabelMsg($private_params = [])
{
return $this->request($private_params, 'Open_printLabelMsg');
}/**
* 查询订单是否打印成功
* @param array $private_params
* @return string
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function orderStatus($private_params = [])
{
return $this->request($private_params, 'Open_queryOrderState');
}/**
* 查询指定打印机某天的订单统计数
* @param array $private_params
* @return string
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function orderCount($private_params = [])
{
return $this->request($private_params, 'Open_queryOrderState');
}/**
* @param array $private_params
* @param string $apiname
* @return string
* @throws \GuzzleHttp\Exception\GuzzleException
*/
public function request(array $private_params, string $apiname)
{
$public_params = [
'user' => $this->config['username'],
'stime' => $this->getTime(),
'sig' => $this->getSig(),
'apiname' => $apiname,
];
$params = array_filter(array_merge($public_params, $private_params));
return $this->post($this->config['host'] ?? $this->host, $params);
}/**
* @param string $url
* @param array $params
* @param array $headers
* @return string
* @throws \GuzzleHttp\Exception\GuzzleException
*/
protected function post(string $url, array $params = [], array $headers = [])
{
$resp = (new \GuzzleHttp\Client())->request('post', $url, [
'headers' => $headers,
'form_params' => $params,
]);
;
return $resp->getBody()->getContents();
}/**
* @return string
*/
protected function getSig()
{
return sha1($this->config['username'] . $this->config['uKey'] . $this->getTime());
}/**
* @return int
*/
protected function getTime()
{
return time();
}
}
推荐阅读