QuickAppUserInfoRefresh.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. namespace App\Http\Middleware;
  3. use App\Modules\SendOrder\Services\SendOrderService;
  4. use App\Modules\User\Services\QappUserService;
  5. use App\Modules\User\Services\UserService;
  6. use Closure;
  7. use Exception;
  8. use Tymon\JWTAuth\Middleware\BaseMiddleware;
  9. class QuickAppUserInfoRefresh extends BaseMiddleware
  10. {
  11. /**
  12. * Handle an incoming request.
  13. *
  14. * @param \Illuminate\Http\Request $request
  15. * @param \Closure $next
  16. * @return mixed
  17. */
  18. public function handle($request, Closure $next)
  19. {
  20. // 获取头部信息
  21. $package = $request->header('x-package', '');
  22. $sendOrderId = $request->header('send-order-id', 0);
  23. // 判断是否登录
  24. $token = $this->auth->setRequest($request)->getToken();
  25. if ($token) {
  26. try {
  27. //获取用户信息
  28. $user = $this->auth->authenticate($token);
  29. if ($sendOrderId) {
  30. try {
  31. $result = SendOrderService::recordUserSendOrder($user->id, $sendOrderId);
  32. if($result){
  33. UserService::setUserSendOrder($user->id, $sendOrderId);
  34. }
  35. } catch (\Exception $e) {
  36. myLog('QuickAppGetUserFromToken-sendOrderId')->error($e);
  37. }
  38. }
  39. // 设置全局信息
  40. (new QappUserService)->setGolableUser($user->id, $package);
  41. } catch (Exception $e) {
  42. myLog('QuickAppGetUserFromToken')->info($e->getMessage());
  43. return response()->error('QAPP_NOT_LOGIN');
  44. }
  45. }
  46. return $next($request);
  47. }
  48. }