You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
	
	
		
		
			
	
    
		
			
				
					
						|                                                                                                                   |  | <?phpdeclare (strict_types = 1);
namespace app;
use think\App;use think\exception\ValidateException;use think\Validate;use think\facade\View;
/** * 控制器基础类 */abstract class BaseController{    /**     * Request实例     * @var \think\Request     */    protected $request;
    /**     * 应用实例     * @var \think\App     */    protected $app;
    /**     * 是否批量验证     * @var bool     */    protected $batchValidate = false;
    /**     * 控制器中间件     * @var array     */    protected $middleware = [];
    protected $clientip;
    /**     * 构造方法     * @access public     * @param  App  $app  应用对象     */    public function __construct(App $app)    {        $this->app     = $app;        $this->request = $this->app->request;
        // 控制器初始化
        $this->initialize();    }
    // 初始化
    protected function initialize()    {        $this->clientip = real_ip();    }
    /**     * 验证数据     * @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, '.')) {                // 支持场景
                [$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);    }
    protected function alert($code, $msg = '', $url = null, $wait = 3)    {        if ($url) {            $url = (strpos($url, '://') || 0 === strpos($url, '/')) ? $url : (string)$this->app->route->buildUrl($url);        }        if(empty($msg)) $msg = '未知错误';                View::assign([            'code' => $code,            'msg' => $msg,            'url' => $url,            'wait' => $wait,        ]);        return View::fetch(app()->getAppPath().'view/dispatch_jump.html');    }
}
 |