QuickAppUserStatus.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. }else{
  31. \Log::info('user_ok:'.$user->id);
  32. }
  33. } catch (Exception $e) {
  34. myLog('QuickAppGetUserFromToken')->info($e->getMessage());
  35. return response()->error('QAPP_NOT_LOGIN');
  36. }
  37. return $next($request);
  38. }
  39. }