| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- <?php
- namespace addons\WechatVideoShop\common\expand\sdk\weixin;
- abstract class AbstractModel
- {
- protected $error_message_map = [];
- private $common_error_message_map = [
- -1 => '系统异常',
- 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 '';
- }
- }
|