app = $app; $this->request = $app->request; $this->initialize(); } /** * 初始化钩子,子类可覆盖。 */ protected function initialize() { } protected function success($message = 'ok', array $data = []): Response { return app('json')->success($message, $data); } protected function fail($message = 'fail', array $data = []): Response { return app('json')->fail($message, $data); } /** * 兼容项目控制器中 `$this->validate($data, ValidateClass::class, 'scene')` 的调用方式。 * * @param array $data * @param string|array $validate * @param string|array|null $scene * @return bool */ protected function validate(array $data, $validate, $scene = null): bool { $validator = validate($validate)->batch($this->batchValidate); if (is_string($scene) && $scene !== '') { $validator->scene($scene); } elseif (is_array($scene)) { $validator->message($scene); } if (!$validator->check($data)) { throw new ValidateException($validator->getError()); } return true; } }