From 0b7dbe71637eb944dea980c26f211606d08cd8c9 Mon Sep 17 00:00:00 2001 From: augushong Date: Sun, 6 Dec 2020 22:12:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96error=E5=92=8Csuccess?= =?UTF-8?q?=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/BaseController.php | 261 +++++++++++++++++++++-------------------- 1 file changed, 132 insertions(+), 129 deletions(-) diff --git a/app/BaseController.php b/app/BaseController.php index ddcaf9b..638a9e5 100644 --- a/app/BaseController.php +++ b/app/BaseController.php @@ -8,7 +8,7 @@ // +---------------------------------------------------------------------- // | Author: liu21st // +---------------------------------------------------------------------- -declare (strict_types = 1); +declare(strict_types=1); namespace app; @@ -24,147 +24,150 @@ use think\exception\HttpResponseException; */ abstract class BaseController { - /** - * Request实例 - * @var \think\Request - */ - protected $request; + /** + * Request实例 + * @var \think\Request + */ + protected $request; - /** - * 应用实例 - * @var \think\App - */ - protected $app; + /** + * 应用实例 + * @var \think\App + */ + protected $app; - /** - * 是否批量验证 - * @var bool - */ - protected $batchValidate = false; + /** + * 是否批量验证 + * @var bool + */ + protected $batchValidate = false; - /** - * 控制器中间件 - * @var array - */ - protected $middleware = []; + /** + * 控制器中间件 + * @var array + */ + protected $middleware = []; - /** - * 构造方法 - * @access public - * @param App $app 应用对象 - */ - public function __construct(App $app) - { - $this->app = $app; - $this->request = $this->app->request; + /** + * 构造方法 + * @access public + * @param App $app 应用对象 + */ + public function __construct(App $app) + { + $this->app = $app; + $this->request = $this->app->request; - // 控制器初始化 - $this->initialize(); + // 控制器初始化 + $this->initialize(); + } + + // 初始化 + protected function initialize() + { + } + + /** + * 验证数据 + * @access protected + * @param array $data 数据 + * @param string|array $validate 验证器名或者验证规则数组 + * @param array $message 提示信息 + * @param bool $batch 是否批量验证 + * @return array|string|true + * @throws ValidateException + */ + protected function validate(array $data, $validate, array $message = [], bool $batch = false) + { + if (is_array($validate)) { + $v = new Validate(); + $v->rule($validate); + } else { + if (strpos($validate, '.')) { + // 支持场景 + list($validate, $scene) = explode('.', $validate); + } + $class = false !== strpos($validate, '\\') ? $validate : $this->app->parseClass('validate', $validate); + $v = new $class(); + if (!empty($scene)) { + $v->scene($scene); + } } - // 初始化 - protected function initialize() - {} + $v->message($message); - /** - * 验证数据 - * @access protected - * @param array $data 数据 - * @param string|array $validate 验证器名或者验证规则数组 - * @param array $message 提示信息 - * @param bool $batch 是否批量验证 - * @return array|string|true - * @throws ValidateException - */ - protected function validate(array $data, $validate, array $message = [], bool $batch = false) - { - if (is_array($validate)) { - $v = new Validate(); - $v->rule($validate); - } else { - if (strpos($validate, '.')) { - // 支持场景 - list($validate, $scene) = explode('.', $validate); - } - $class = false !== strpos($validate, '\\') ? $validate : $this->app->parseClass('validate', $validate); - $v = new $class(); - if (!empty($scene)) { - $v->scene($scene); - } - } - - $v->message($message); - - // 是否批量验证 - if ($batch || $this->batchValidate) { - $v->batch(true); - } - - return $v->failException(true)->check($data); + // 是否批量验证 + if ($batch || $this->batchValidate) { + $v->batch(true); } - public function success($msg = '操作成功',$jump_to_url = null,$code = 200,$params = []) - { + return $v->failException(true)->check($data); + } - if(is_null($jump_to_url)){ - $jump_to_url = \request()->server('HTTP_REFERER'); - }else{ - if($jump_to_url instanceof Url){ + public function success($msg = '操作成功', $jump_to_url = null, $code = 200, $params = []) + { - $jump_to_url = $jump_to_url; - }else{ - $jump_to_url = url($jump_to_url); - } + if (is_null($jump_to_url)) { + $jump_to_url = \request()->server('HTTP_REFERER'); + } else { + if ($jump_to_url instanceof Url) { + + $jump_to_url = (string)$jump_to_url; + } else { + if (strpos($jump_to_url, 'http') !== 0) { + $jump_to_url = url($jump_to_url); } - - $data = [ - 'msg'=>$msg, - 'jump_to_url'=>$jump_to_url, - 'params'=>$params - ]; - - if(\request()->isAjax()){ - $data['jump_to_url'] = (string)$jump_to_url; - if($code == 200){ - $code = 0; - } - throw new HttpResponseException(json_message($data,$code,$msg)); - } - - View::assign($data); - throw new HttpResponseException(response(View::fetch('common@tpl/success'),$code)); - } - public function error($msg = '操作失败',$jump_to_url = null,$code = 200,$params = []) - { - - if(is_null($jump_to_url)){ - $jump_to_url = \request()->server('HTTP_REFERER'); - }else{ - if($jump_to_url instanceof Url){ - - $jump_to_url = $jump_to_url; - }else{ - $jump_to_url = url($jump_to_url); - - } - } - - $data = [ - 'msg'=>$msg, - 'jump_to_url'=>$jump_to_url, - 'params'=>$params - ]; - - if(\request()->isAjax()){ - $data['jump_to_url'] = (string)$jump_to_url; - if($code == 200){ - $code = 500; - } - throw new HttpResponseException(json_message($data,$code,$msg)); - } - - View::assign($data); - throw new HttpResponseException(response(View::fetch('common@tpl/error'),$code)); + } } + $data = [ + 'msg' => $msg, + 'jump_to_url' => $jump_to_url, + 'params' => $params + ]; + + if (\request()->isAjax()) { + $data['jump_to_url'] = $jump_to_url; + if ($code == 200) { + $code = 0; + } + throw new HttpResponseException(json_message($data, $code, $msg)); + } + + View::assign($data); + throw new HttpResponseException(response(View::fetch('common@tpl/success'), $code)); + } + public function error($msg = '操作失败', $jump_to_url = null, $code = 200, $params = []) + { + + if (is_null($jump_to_url)) { + $jump_to_url = \request()->server('HTTP_REFERER'); + } else { + if ($jump_to_url instanceof Url) { + + $jump_to_url = (string)$jump_to_url; + } else { + if (strpos($jump_to_url, 'http') !== 0) { + $jump_to_url = url($jump_to_url); + } + } + } + + $data = [ + 'msg' => $msg, + 'jump_to_url' => $jump_to_url, + 'params' => $params + ]; + + if (\request()->isAjax()) { + $data['jump_to_url'] = $jump_to_url; + if ($code == 200) { + $code = 500; + } + throw new HttpResponseException(json_message($data, $code, $msg)); + } + + View::assign($data); + throw new HttpResponseException(response(View::fetch('common@tpl/error'), $code)); + } }