<?php namespace app\common\util; use think\Model; /** * 通用返回值 */ class Result { /** * $code 业务码 * * @var mixed */ protected $code = -1; /** * $data 数据 * * @var mixed */ protected $data; /** * $msg 提示消息 * * @var string */ protected $msg = 'Never init error'; public function __construct($data, $code = 0, $msg = '') { $this->code = $code; $this->data = $data; $this->msg = $msg; } public static function of($data, $code = 0, $msg = 'success') { return new Result($data, $code, $msg); } public static function success() { return new Result(null, 0, 'success'); } public static function failed($code = -1, $msg = 'failed') { return new Result(null, $code, $msg); } public function toArray() { return [ 'code' => $this->code, 'msg' => $this->msg, 'data' => $this->data, ]; } /** * 生成 Http Json Result 数据 * * @param mixed $data * @param int $code * @param string $msg * * @return \think\Response\Json */ public static function rest($data = null, $code = 0, $msg = 'success') { return json(self::of($data, $code, $msg)->toArray()); } /** * 生成 Http Json Result 失败的数据 * * @param int $code * @param string $msg * * @return \think\Response\Json */ public static function restf($code, $msg) { return self::rest(null, $code, $msg); } }