QuickAppUserStatus.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. <?php
  2. namespace App\Http\Middleware;
  3. use App\Modules\User\Services\QappUserService;
  4. use Closure;
  5. use Exception;
  6. use Tymon\JWTAuth\Middleware\BaseMiddleware;
  7. class QuickAppUserStatus extends BaseMiddleware
  8. {
  9. /**
  10. * Handle an incoming request.
  11. *
  12. * @param \Illuminate\Http\Request $request
  13. * @param \Closure $next
  14. * @return mixed
  15. */
  16. public function handle($request, Closure $next)
  17. {
  18. // 判断是否登录
  19. if (!$token = $this->auth->setRequest($request)->getToken()) {
  20. return response()->error('QAPP_NOT_LOGIN');
  21. }
  22. try {
  23. //获取用户信息
  24. $user = $this->auth->authenticate($token);
  25. //根据uid判断用户状态 0为已注销
  26. $user_info = (new QappUserService)->getQAppUserByUid($user->id);
  27. if(!$user_info || $user_info->status == 0){
  28. \Log::info('user_log_off_middleware:uid:'.$user->uid);
  29. return response()->success();
  30. }
  31. } catch (Exception $e) {
  32. myLog('QuickAppGetUserFromToken')->info($e->getMessage());
  33. return response()->error('QAPP_NOT_LOGIN');
  34. }
  35. return $next($request);
  36. }
  37. }