master
parent
f9d88332da
commit
0e1062826f
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
namespace Dcat\Admin\Traits;
|
namespace Dcat\Admin\Traits;
|
||||||
|
|
||||||
|
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
|
||||||
|
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;
|
||||||
use Illuminate\Http\Response;
|
use Illuminate\Http\Response;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
|
|
||||||
|
|
@ -9,7 +11,22 @@ trait JsonResponse
|
||||||
{
|
{
|
||||||
public function json($data, $code = Response::HTTP_OK, $message = '')
|
public function json($data, $code = Response::HTTP_OK, $message = '')
|
||||||
{
|
{
|
||||||
|
$meta = null;
|
||||||
|
if ($data instanceof AnonymousResourceCollection) {
|
||||||
|
$resource = $data->resource;
|
||||||
|
if ($resource instanceof LengthAwarePaginator) {
|
||||||
|
$meta = [
|
||||||
|
'current_page' => $resource->currentPage(),
|
||||||
|
'last_page' => $resource->lastPage(),
|
||||||
|
'per_page' => $resource->perPage(),
|
||||||
|
'total' => $resource->total(),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
$result = ['data' => $data, 'code' => $code, 'message' => $message];
|
$result = ['data' => $data, 'code' => $code, 'message' => $message];
|
||||||
|
if ($meta) {
|
||||||
|
$result['meta'] = $meta;
|
||||||
|
}
|
||||||
return response()->json($result);
|
return response()->json($result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue