Blur.php 961 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?php
  2. declare (strict_types = 1);
  3. namespace app\common\middleware;
  4. /**
  5. * 模糊中间件 后置行为的中间件
  6. */
  7. class Blur
  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->noNeedBlur) {
  23. // var_dump('not Blur');
  24. return $response;
  25. }
  26. // var_dump('Blur');
  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. }