'系统异常', 9401020 => '参数有误' ]; protected $data = []; public function __set($name, $value) { $this->data[$name] = $value; } public function __get($name) { return $this->data[$name] ?? null; } public function __isset($name) { return !empty($this->data[$name]); } /** * @return array */ public function toArray() { $data = []; foreach ($this->data as $key => $value) { if ($value instanceof AbstractModel) { $data[$key] = $value->toArray(); } else { if (is_array($value)) { foreach ($value as $k => $v) { if ($v instanceof AbstractModel) { if (!empty($v->toArray())) $data[$key][$k] = $v->toArray(); } else { if (is_array($v)) { if (!empty($v)) $data[$key][$k] = $v; } elseif ($v !== '') $data[$key][$k] = $v; } } } else { if (is_array($value)) { if (!empty($value)) $data[$key] = $value; } elseif ($value !== '') $data[$key] = $value; } } } return $data; } /** * @param int $code * @return string|null */ public function getError(int $code) { $error_map = array_merge($this->error_message_map, $this->common_error_message_map); return $error_map[$code] ?? null; } /** * @param array $data * @return string */ public function valid(array $data): string { if (!isset($data['errcode'])) return '未知错误'; if ($data['errcode'] != 0) { $err = $this->getError($data['errcode']); if ($err === null) return $data['errmsg']; return $err; } return ''; } }