| 12345678910111213141516171819202122232425262728293031323334353637 | <?phpnamespace app\middleware;use think\Request;use think\response\Json;use app\common\util\Result;/** * 自动封装Result 中间件 */class AutoResult{    public function handle(Request $request, \Closure $next)    {        $request->withHeader(['Accept' => '*/*']);        /** @var \think\Response */        $response = $next($request);        // 已经是json数据了,不做处理        if ($response instanceof Json) {            return $response;        }        $data = $response->getData();        // 过滤string和空值,如果需要data: string, 需要使用Result::success()        if (is_string($data) || is_null($data)) {            return $response;        }        // 如果已经是Result,转成数组        if ($data instanceof Result) {            return json($data->toArray());        }        return Result::rest($data);    }}
 |