AdminException.php 776 B

12345678910111213141516171819202122232425262728293031
  1. <?php
  2. namespace app\admin\controller;
  3. use think\exception\Handle;
  4. use think\exception\ValidateException;
  5. use think\Response;
  6. use Throwable;
  7. /**
  8. * 后台异常处理
  9. *
  10. * Class AdminException
  11. * @package app\admin\controller
  12. */
  13. class AdminException extends Handle
  14. {
  15. public function render($request, Throwable $e): Response
  16. {
  17. // 参数验证错误
  18. if ($e instanceof ValidateException) {
  19. return app('json')->make(422, $e->getError());
  20. }
  21. if ($e instanceof \Exception && request()->isAjax()) {
  22. return app('json')->fail($e->getMessage(), ['code' => $e->getCode(), 'line' => $e->getLine(), 'message' => $e->getMessage(), 'file' => $e->getFile()]);
  23. }
  24. return parent::render($request, $e);
  25. }
  26. }