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;
use App\Service\ReplyService;
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Log;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
use Throwable;
class Handler extends ExceptionHandler
@ -23,8 +27,17 @@ class Handler extends ExceptionHandler
*/
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) {
//
});
}
}

View File

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