| | <?php |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | namespace traits\controller; |
| |
|
| | use think\Config; |
| | use think\exception\HttpResponseException; |
| | use think\Request; |
| | use think\Response; |
| | use think\response\Redirect; |
| | use think\Url; |
| | use think\View as ViewTemplate; |
| |
|
| | trait Jump |
| | { |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | protected function success($msg = '', $url = null, $data = '', $wait = 3, array $header = []) |
| | { |
| | if (is_null($url) && !is_null(Request::instance()->server('HTTP_REFERER'))) { |
| | $url = Request::instance()->server('HTTP_REFERER'); |
| | } elseif ('' !== $url && !strpos($url, '://') && 0 !== strpos($url, '/')) { |
| | $url = Url::build($url); |
| | } |
| |
|
| | $type = $this->getResponseType(); |
| | $result = [ |
| | 'code' => 1, |
| | 'msg' => $msg, |
| | 'data' => $data, |
| | 'url' => $url, |
| | 'wait' => $wait, |
| | ]; |
| |
|
| | if ('html' == strtolower($type)) { |
| | $template = Config::get('template'); |
| | $view = Config::get('view_replace_str'); |
| |
|
| | $result = ViewTemplate::instance($template, $view) |
| | ->fetch(Config::get('dispatch_success_tmpl'), $result); |
| | } |
| |
|
| | $response = Response::create($result, $type)->header($header); |
| |
|
| | throw new HttpResponseException($response); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | protected function error($msg = '', $url = null, $data = '', $wait = 3, array $header = []) |
| | { |
| | if (is_null($url)) { |
| | $url = Request::instance()->isAjax() ? '' : 'javascript:history.back(-1);'; |
| | } elseif ('' !== $url && !strpos($url, '://') && 0 !== strpos($url, '/')) { |
| | $url = Url::build($url); |
| | } |
| |
|
| | $type = $this->getResponseType(); |
| | $result = [ |
| | 'code' => 0, |
| | 'msg' => $msg, |
| | 'data' => $data, |
| | 'url' => $url, |
| | 'wait' => $wait, |
| | ]; |
| |
|
| | if ('html' == strtolower($type)) { |
| | $template = Config::get('template'); |
| | $view = Config::get('view_replace_str'); |
| |
|
| | $result = ViewTemplate::instance($template, $view) |
| | ->fetch(Config::get('dispatch_error_tmpl'), $result); |
| | } |
| |
|
| | $response = Response::create($result, $type)->header($header); |
| |
|
| | throw new HttpResponseException($response); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | protected function result($data, $code = 0, $msg = '', $type = '', array $header = []) |
| | { |
| | $result = [ |
| | 'code' => $code, |
| | 'msg' => $msg, |
| | 'time' => Request::instance()->server('REQUEST_TIME'), |
| | 'data' => $data, |
| | ]; |
| | $type = $type ?: $this->getResponseType(); |
| | $response = Response::create($result, $type)->header($header); |
| |
|
| | throw new HttpResponseException($response); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | protected function redirect($url, $params = [], $code = 302, $with = []) |
| | { |
| | if (is_integer($params)) { |
| | $code = $params; |
| | $params = []; |
| | } |
| |
|
| | $response = new Redirect($url); |
| | $response->code($code)->params($params)->with($with); |
| |
|
| | throw new HttpResponseException($response); |
| | } |
| |
|
| | |
| | |
| | |
| | |
| | |
| | protected function getResponseType() |
| | { |
| | return Request::instance()->isAjax() |
| | ? Config::get('default_ajax_return') |
| | : Config::get('default_return_type'); |
| | } |
| | } |
| |
|