byh/laravel-kit

laravel 工具类

v1.0.0 2020-12-29 06:26 UTC

This package is auto-updated.

Last update: 2024-09-29 05:43:04 UTC


README

  • composer require byh/laravel-kit

添加服务

在config下app.provider里面添加

\Byh\LaravelKit\ApiResponseServiceProvider::class,

如果要使用Facade门面,需要在config下app.aliases中添加

'ApiResponse' => \Byh\LaravelKit\Facades\ApiResponse::class

发布配置

php artisan vendor:publish 发布成功后即可在config下发现apiresponse.php文件,该文件用于自定义返回参数设置

使用

//成功
public function testSuccess()
{
    return ApiResponse::success('hahaha');
}

//失败
public function testFail()
{
    return ApiResponse::fail('errrrrrr');
}

Exceptions

全局异常处理中(app/Exceptions/handle)添加对UnauthorizedException,RequestParamsValidException的处理

public function render($request, Throwable $e)
{
    if ($e instanceof NotFoundHttpException) {
        return response()->json([
            'status' => 'error',
            'code' => $e->getStatusCode(),
            'message' => '请求失败',
            'data' => null,
            'error' => '请求地址不存在'
        ], $e->getStatusCode());
    }
    if ($e instanceof UnauthorizedException) {
        return response()->json(ApiResponse::unauthorized($e->getMessage()));
    }
    if ($e instanceof RequestParamsValidException)
        return response()->json(ApiResponse::requestParamsValidError($e->getMessage()));

    return parent::render($request, $e); // TODO: Change the autogenerated stub
}

默认值

codeMsg

'codeMsg' => [
            'success' => ['code' => 200, 'message' => '成功'],
            'fail' => ['code' => 400, 'message' => '失败'],
            'unauthorized' => ['code' => 401, 'message' => '不被允许的请求'],
            'loginExpire' => ['code' => 402, 'message' => '登录已失效'],
        ],

status

'status' => [
            'success' => [200, 299],
            'fail' => [400, 499],
            'error' => [500, 599]
        ]