Encode.php 969 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\common\middleware;
  4. /**
  5. * 编码中间件 后置行为的中间件
  6. */
  7. class Encode
  8. {
  9. /**
  10. * 处理请求
  11. *
  12. * @param \think\Request $request
  13. * @param \Closure $next
  14. * @return Response
  15. */
  16. public function handle($request, \Closure $next)
  17. {
  18. $response = $next($request);
  19. $_data = $response->getData();
  20. // var_dump('编码前响应');
  21. // var_dump($_data['data']);
  22. if($request->noNeedEncode) {
  23. // var_dump('not Encode');
  24. return $response;
  25. }
  26. // var_dump('Encode');
  27. // 添加中间件执行代码
  28. $data = [];
  29. foreach($_data['data'] as $key => $val) {
  30. $data['编码['.$key.']'] = $val;
  31. }
  32. // var_dump('编码后响应');
  33. // var_dump($data);
  34. $_data['data'] = $data;
  35. $response->data($_data);
  36. return $response;
  37. }
  38. }