Commit 6e671fd1 authored by 杨培's avatar 杨培

Merge branch 'dev-json-protocol'

parents 9d50e306 914cc968
......@@ -103,11 +103,13 @@ class Client
{
$instance = self::getInstance();
$url = $instance->apiUrl.(strpos($instance->apiUrl, '?') !== false ? '&' : '?').'api='.urlencode($api);
list($sign, $timestamp, $nonce) = $instance->signature($api, $params);
$url .= "&client_id={$instance->clientId}&sign={$sign}&timestamp={$timestamp}&nonce={$nonce}";
$requestBody = is_array($params) ? json_encode($params, JSON_UNESCAPED_UNICODE) : '';
list($sign, $timestamp, $nonce) = $instance->signature($api, $requestBody);
$url = $instance->apiUrl.(strpos($instance->apiUrl, '?') !== false ? '&' : '?').'api='.urlencode($api)
."&client_id={$instance->clientId}&sign={$sign}&timestamp={$timestamp}&nonce={$nonce}";
list($httpCode, $response) = $instance->request($url, $params);
list($httpCode, $response) = $instance->request($url, $requestBody,
$requestBody ? ['Content-Type: application/json'] : []);
if ($httpCode == 200 && $response !== false) {
$data = @json_decode($response, true);
......@@ -139,15 +141,14 @@ class Client
* 对请求进程签名
*
* @param string $api
* @param array $params
* @param string $pstr
* @return array
*/
protected function signature($api, $params)
protected function signature($api, $pstr)
{
$timestamp = time();
$nonce = uniqid();
ksort($params);
$str = $api.http_build_query($params).$this->clientId.$this->clientSecret.$timestamp.$nonce;
$str = $api.$pstr.$this->clientId.$this->clientSecret.$timestamp.$nonce;
$sign = md5($str);
return [$sign, $timestamp, $nonce];
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment