AssitMiddleware.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. <?php
  2. namespace App\Http\Middleware;
  3. use Closure;
  4. use Illuminate\Contracts\Auth\Factory as Auth;
  5. use App\Models\Assit;
  6. use App\Models\AssitLog;
  7. use Illuminate\Database\Eloquent\Model;
  8. class AssitMiddleware
  9. {
  10. /**
  11. * The authentication guard factory instance.
  12. *
  13. * @var \Illuminate\Contracts\Auth\Factory
  14. */
  15. protected $auth;
  16. /**
  17. * Create a new middleware instance.
  18. *
  19. * @param \Illuminate\Contracts\Auth\Factory $auth
  20. * @return void
  21. */
  22. public function __construct(Auth $auth)
  23. {
  24. $this->auth = $auth;
  25. }
  26. /**
  27. * Handle an incoming request.
  28. *
  29. * @param \Illuminate\Http\Request $request
  30. * @param \Closure $next
  31. * @param string|null $guard
  32. * @return mixed
  33. */
  34. public function handle($request, Closure $next, $guard = null)
  35. {
  36. $token=$request->header('authorization');
  37. $token_end = explode('.',$token)[2];
  38. if($this->auth->check()) {
  39. $user_id = (int) $this->auth->user()->id;
  40. $assit_id=Assit::where('token_end',$token_end)->where('agent_id',$user_id)->value('id');
  41. if($assit_id){
  42. // if('GET' != $request->method()){
  43. $log = new AssitLog(); # 提前创建表、model
  44. $log->agent_id = $user_id;
  45. $log->assit_id = $assit_id;
  46. $log->path = $request->path();
  47. $log->method = $request->method();
  48. $log->ip = $request->ip();
  49. $log->input = json_encode($request->all(), JSON_UNESCAPED_UNICODE);
  50. $log->save(); # 记录日志
  51. // }
  52. }
  53. }
  54. return $next($request);
  55. }
  56. }