AbstractController.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. declare(strict_types=1);
  3. /**
  4. * This file is part of Hyperf.
  5. *
  6. * @link https://www.hyperf.io
  7. * @document https://hyperf.wiki
  8. * @contact group@hyperf.io
  9. * @license https://github.com/hyperf/hyperf/blob/master/LICENSE
  10. */
  11. namespace App\Controller;
  12. use Hyperf\Di\Annotation\Inject;
  13. use Hyperf\HttpServer\Contract\RequestInterface;
  14. use Hyperf\HttpServer\Contract\ResponseInterface;
  15. use Phper666\JWTAuth\JWT;
  16. use Psr\Container\ContainerInterface;
  17. use Hyperf\Logger\LoggerFactory;
  18. use Psr\Log\LoggerInterface;
  19. use http\Client\Request;
  20. abstract class AbstractController
  21. {
  22. #[Inject]
  23. protected ContainerInterface $container;
  24. #[Inject]
  25. protected RequestInterface $request;
  26. #[Inject]
  27. protected ResponseInterface $response;
  28. #[Inject]
  29. protected JWT $jwt;
  30. protected LoggerInterface $logger;
  31. protected $UserId;
  32. public function __construct(LoggerFactory $loggerFactory)
  33. {
  34. // 第一个参数对应日志的 name, 第二个参数对应 config/autoload/logger.php 内的 key
  35. $this->logger = $loggerFactory->get('admin_consumer:', 'default');
  36. $headers = $this->request->getHeaders();
  37. var_dump( $headers['token'][0]!='null');
  38. if($headers && isset($headers['token']) && $headers['token'][0]!='null' && isset($headers['token'][0])){
  39. $userInfo = $this->jwt->getClaimsByToken($headers['token'][0]);
  40. $this->UserId = $userInfo['uid'];
  41. }
  42. }
  43. }