exception

This commit is contained in:
2023-12-21 22:19:34 +08:00
parent 4d44f0206c
commit 70304f730b
3 changed files with 47 additions and 9 deletions

View File

@ -2,7 +2,11 @@
namespace App\Exceptions; namespace App\Exceptions;
use App\Service\ReplyService;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler; use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Throwable; use Throwable;
class Handler extends ExceptionHandler class Handler extends ExceptionHandler
@ -23,8 +27,17 @@ class Handler extends ExceptionHandler
*/ */
public function register(): void public function register(): void
{ {
$this->renderable(function (NotFoundHttpException $e, Request $request) {
return ReplyService::error( 'record not find');
});
$this->renderable(function (AppException $e, Request $request) {
Log::error($e->getTraceAsString());
return ReplyService::error( $e->getMessage());
});
$this->reportable(function (Throwable $e) { $this->reportable(function (Throwable $e) {
//
}); });
} }
} }

View File

@ -3,6 +3,7 @@
namespace App\Http\Controllers\Base; namespace App\Http\Controllers\Base;
use App\Const\Responses; use App\Const\Responses;
use App\Service\ReplyService;
use Illuminate\Routing\Controller; use Illuminate\Routing\Controller;
class BaseController extends Controller class BaseController extends Controller
@ -12,28 +13,24 @@ class BaseController extends Controller
function __call($method, $parameters) function __call($method, $parameters)
{ {
if (isset($this->validateMethodParams[$method])) { if (isset($this->validateMethodParams[$method])) {
$a = request()->validate($this->validateMethodParams[$method]); request()->validate($this->validateMethodParams[$method]);
} }
parent::__call($method, $parameters); parent::__call($method, $parameters);
} }
function reply($code, $msg, $data = []): \Illuminate\Http\JsonResponse function reply($code, $msg, $data = []): \Illuminate\Http\JsonResponse
{ {
return response()->json([ return ReplyService::reply($code, $msg, $data);
'code' => $code,
'msg' => $msg,
'data' => $data,
]);
} }
function success($data = []): \Illuminate\Http\JsonResponse function success($data = []): \Illuminate\Http\JsonResponse
{ {
return $this->reply(Responses::CODE_SUCCESS, 'success', $data); return ReplyService::success($data);
} }
function error($msg = 'error', $data = []): \Illuminate\Http\JsonResponse function error($msg = 'error', $data = []): \Illuminate\Http\JsonResponse
{ {
return $this->reply(Responses::CODE_ERROR, $msg, $data); ReplyService::error($msg, $data);
} }
} }

View File

@ -0,0 +1,28 @@
<?php
namespace App\Service;
use App\Const\Responses;
class ReplyService
{
static function reply($code, $msg, $data = []): \Illuminate\Http\JsonResponse
{
return response()->json([
'code' => $code,
'msg' => $msg,
'data' => $data,
]);
}
static function success($data = []): \Illuminate\Http\JsonResponse
{
return self::reply(Responses::CODE_SUCCESS, 'success', $data);
}
static function error($msg = 'error', $data = []): \Illuminate\Http\JsonResponse
{
return self::reply(Responses::CODE_ERROR, $msg, $data);
}
}