41 lines
997 B
PHP
41 lines
997 B
PHP
<?php
|
||
|
||
namespace PdInternalApi;
|
||
|
||
class Client
|
||
{
|
||
|
||
protected $service_name;
|
||
protected $config;
|
||
|
||
public function __construct($service_name, $config)
|
||
{
|
||
$this->service_name = $service_name;
|
||
$this->config = $config;
|
||
}
|
||
|
||
/**
|
||
* 调用api,如果状态码不为200则抛出异常
|
||
* @param $uri
|
||
* @param $params
|
||
* @return mixed
|
||
* @throws \Exception
|
||
*/
|
||
public function call($uri, $params)
|
||
{
|
||
$config = array_merge(['timeout' => 3], $this->config);
|
||
$secret = $config['secret'];
|
||
unset($config['secret']);
|
||
$client = new \GuzzleHttp\Client($config);
|
||
$params['appid'] = $config['appid'];
|
||
$params['timestamp'] = time();
|
||
$params['sign'] = sign($params, $secret);
|
||
$resp = $client->post($uri, ['form_params' => $params]);
|
||
if ($resp->getStatusCode() != 200) {
|
||
return false;
|
||
}
|
||
return \GuzzleHttp\json_decode($resp->getBody(), true);
|
||
}
|
||
|
||
}
|