diff --git a/common/HttpClient.php b/common/HttpClient.php index b45c3a2..e90c1da 100644 --- a/common/HttpClient.php +++ b/common/HttpClient.php @@ -579,7 +579,29 @@ class HttpClient $result['message'] = ''; } else { $result['code'] = $body[$this->errorCodeField] ?? 0; - $result['message'] = $body[$this->errorMsgField] ?? 'system success.'; + + 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; + } + } + $result['message'] = $parent ?? 'system success.'; + } else { + $result['message'] = $body[$this->errorMsgField] ?? 'system success.'; + } } $result['data'] = $body; $result['header'] = $header;