CheckLogin.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. namespace App\Http\Middleware;
  3. use App\Model\DDEmployee;
  4. use Closure;
  5. /**
  6. * 用户登陆中间件
  7. */
  8. class CheckLogin
  9. {
  10. /**
  11. * Handle an incoming request.
  12. *
  13. * @param \Illuminate\Http\Request $request
  14. * @param \Closure $next
  15. * @return mixed
  16. */
  17. public function handle($request, Closure $next)
  18. {
  19. $loginUser = $request->header('Login');
  20. $loginUser = json_decode($loginUser,true);
  21. $loginUser['username'] = urldecode($loginUser['username']);
  22. if (empty($loginUser) || empty($loginUser['zt']) || empty($loginUser['username']) || empty($loginUser['userId'])) return response()->json(['code'=>1,'msg'=>'缺少登录信息','data'=>null]);
  23. $user = DDEmployee::where('userid', $loginUser['userId'])->first();
  24. if(empty($user)) return response()->json(['code'=>1,'msg'=>'登录信息不存在或错误','data'=>null]);
  25. $user = $user->toArray();
  26. $loginUser['qx'] = $user['qx'] ?? 1;
  27. //写入user信息
  28. $request->userData = $loginUser;
  29. return $next($request);
  30. }
  31. }