lumen7.x 使用笔记(七)Api 返回处理中间件
<?php
namespace App\Http\Middleware;
use Closure;
use App\Enums\WopCode;
/**
* API 返回封装中间件
*/
class CustomFormat
{
/**
* Notes: API 返回封装
* User: clj
* Date: 2020/9/17
* Time: 9:02 下午
* @param $request
* @param Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{$response = $next($request);
$original = $response->getOriginalContent();
switch (gettype($original)) {
case 'object':
$original = $original->toArray();
$response->setContent([
'code' => WopCode::SUCCESS,
'msg' => 'success',
'nowTime' => time(),
'data' => $original,
]);
break;
case 'boolean':
if ($original == false) {
$response->setContent([
'code' => WopCode::FIELD,
'msg' => 'failed',
'nowTime' => time(),
'data' => ' 失败 ',
]);
break;
} else {
$response->setContent([
'code' => WopCode::SUCCESS,
'msg' => 'success',
'nowTime' => time(),
'data' => ' 成功 ',
]);
break;
}
case 'array':
if (array_key_exists('code', $original)) {switch ($original['code']) {
case WopCode::VERIFY_FIELD:
$response->setContent([
'code' => WopCode::VERIFY_FIELD,
'msg' => 'failed',
'nowTime' => time(),
'data' => $original['data'],
]);
break;
case WopCode::MISS_REQUIRED_PARAMS:
$response->setContent([
'code' => WopCode::MISS_REQUIRED_PARAMS,
'msg' => 'failed',
'nowTime' => time(),
'data' => $original['data'],
]);
break;
default:
$response->setContent([
'code' => 0,
'msg' => 'failed',
'nowTime' => time(),
'data' => $original['data'],
]);
break;
}
} else {
$response->setContent([
'code' => WopCode::SUCCESS,
'msg' => 'success',
'nowTime' => time(),
'data' => $original,
]);
}
case 'NULL':
$response->setContent([
'code' => WopCode::SUCCESS,
'msg' => 'success',
'nowTime' => time(),
'data' => [],]);
default:
break;
}
return $response;
}
}
正文完