81 lines
1.7 KiB
PHP
81 lines
1.7 KiB
PHP
<?php
|
|
|
|
|
|
namespace App\ResultStruct;
|
|
|
|
|
|
use Illuminate\Support\Arr;
|
|
use Illuminate\Support\Collection;
|
|
|
|
class Result {
|
|
private $data;
|
|
private $code;
|
|
private $msg;
|
|
|
|
public function __construct($data = [], $code = ERROR_CODE_OK, $msg = "Ok") {
|
|
$this->data = $data;
|
|
$this->code = $code;
|
|
$this->msg = $msg;
|
|
}
|
|
|
|
public static function make($data = [], $code = ERROR_CODE_OK, $msg = "Ok") {
|
|
return new static($data, $code, $msg);
|
|
}
|
|
|
|
public function getCode() {
|
|
return $this->code;
|
|
}
|
|
|
|
public function setCode($code) {
|
|
$this->code = $code;
|
|
return $this;
|
|
}
|
|
|
|
public function getData() {
|
|
return $this->data;
|
|
}
|
|
|
|
public function setData($data = []) {
|
|
$this->data = $data;
|
|
return $this;
|
|
}
|
|
|
|
public function getMsg() {
|
|
return $this->msg;
|
|
}
|
|
|
|
public function setMsg($msg) {
|
|
$this->msg = $msg;
|
|
return $this;
|
|
}
|
|
|
|
public function isSuccess() {
|
|
return $this->code === ERROR_CODE_OK;
|
|
}
|
|
|
|
public function isError() {
|
|
return !$this->isSuccess();
|
|
}
|
|
|
|
public function toArray() {
|
|
return ['code' => $this->code, 'desc' => $this->msg, 'data' => $this->data];
|
|
}
|
|
|
|
public function getDataAsCollection() {
|
|
return Collection::make($this->data);
|
|
}
|
|
|
|
public function setDataField($field, $value) {
|
|
Arr::set($this->data, $field, $value);
|
|
return $this;
|
|
}
|
|
|
|
public function getDataField($field, $default = []) {
|
|
return Arr::get($this->data, $field, $default);
|
|
}
|
|
|
|
public function hasDataField($field) {
|
|
return Arr::has($this->data, $field);
|
|
}
|
|
}
|