| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <?php
- namespace app\controller\admin;
- use app\utils\EnumUtil;
- use think\Request;
- use think\response\Json;
- /**
- * admin基础控制器
- */
- class BaseController
- {
- /**
- * 请求实例
- * @var Request
- */
- protected $request;
- /**
- * 构造函数
- */
- public function __construct()
- {
- $this->request = app('request');
- }
- /**
- * 验证请求数据
- *
- * @param mixed $validate 验证器实例
- * @param string $entityClass 实体类名
- * @return Json|mixed 验证失败返回Json响应,成功返回实体对象
- */
- protected function validateRequest($validate, string $entityClass)
- {
- $validationResult = $validate->validate($this->request->param(), $entityClass);
- if ($validationResult['status'] === 'error') {
- return app('json')->fail($validationResult['message']);
- }
- return $validationResult['data'];
- }
- /**
- * 验证枚举数据
- *
- * @param array $requestData
- * @return Json|bool 验证失败返回Json响应,成功返回true
- */
- protected function validateEnumData(array $requestData)
- {
- $validationResult = EnumUtil::autoValidate(\app\common\enum\user\ZeroUserEnum::class, $requestData);
- if (!$validationResult['valid']) {
- return app('json')->fail(implode('; ', $validationResult['errors']));
- }
- return true;
- }
- }
|