diff --git a/common/HttpClient.php b/common/HttpClient.php index bf31a2b..a35ebea 100644 --- a/common/HttpClient.php +++ b/common/HttpClient.php @@ -353,7 +353,7 @@ class HttpClient $body = $this->resolve($header, $body); if ($client->getStatusCode() != 200) { - return new Result(['code' => $client->getStatusCode(), 'message' => $body]); + return new Result(['code' => $client->getStatusCode(), 'message' => $this->searchMessageByData($body), 'data' => $body]); } return $this->structure($body, $data, $header); @@ -579,32 +579,7 @@ class HttpClient $result['message'] = ''; } else { $result['code'] = $body[$this->errorCodeField] ?? 0; - var_dump(strpos($this->errorMsgField, '.')); - if (strpos($this->errorMsgField, '.') !== false) { - $parent = []; - $explode = explode('.', $this->errorMsgField); - foreach ($explode as $item) { - if (empty($item)) { - continue; - } - if (empty($parent)) { - $parent = $body[$item]; - continue; - } - if (is_string($parent)) { - break; - } - if (!isset($parent[$item])) { - break; - } - } - - var_dump($parent); - - $result['message'] = $parent ?? 'system success.'; - } else { - $result['message'] = $body[$this->errorMsgField] ?? 'system success.'; - } + $result['message'] = $this->searchMessageByData($body); } $result['data'] = $body; $result['header'] = $header; @@ -612,6 +587,36 @@ class HttpClient return new Result($result); } + /** + * @param $body + * @return array|mixed|string + */ + private function searchMessageByData($body) + { + $parent = []; + if (empty($this->errorMsgField)) { + return 'system success.'; + } + $explode = explode('.', $this->errorMsgField); + foreach ($explode as $item) { + if (empty($item)) { + continue; + } + if (empty($parent)) { + $parent = $body[$item]; + continue; + } + if (is_string($parent)) { + break; + } + if (!isset($parent[$item])) { + break; + } + } + return !empty($parent) ? $parent : 'system success.'; + } + + /** * @return bool * check isPost Request