<?php declare (strict_types=1); /** * This file is part of Hyperf. * * @link https://www.hyperf.io * @document https://hyperf.wiki * @contact group@hyperf.io * @license https://github.com/hyperf/hyperf/blob/master/LICENSE */ namespace App\Controller; use Hyperf\Di\Annotation\Inject; use Hyperf\HttpServer\Contract\RequestInterface; use Hyperf\HttpServer\Contract\ResponseInterface; use Phper666\JWTAuth\JWT; use Psr\Container\ContainerInterface; use Hyperf\Logger\LoggerFactory; use Psr\Log\LoggerInterface; use http\Client\Request; abstract class AbstractController { use \Hyperf\Di\Aop\ProxyTrait; use \Hyperf\Di\Aop\PropertyHandlerTrait; #[Inject] protected ContainerInterface $container; #[Inject] protected RequestInterface $request; #[Inject] protected ResponseInterface $response; #[Inject] protected JWT $jwt; protected LoggerInterface $logger; protected $UserId; public function __construct(LoggerFactory $loggerFactory) { $this->__handlePropertyHandler(__CLASS__); // 第一个参数对应日志的 name, 第二个参数对应 config/autoload/logger.php 内的 key $this->logger = $loggerFactory->get('admin_consumer:', 'default'); $headers = $this->request->getHeaders(); var_dump($headers['token'][0] != 'null'); if ($headers && isset($headers['token']) && $headers['token'][0] != 'null' && isset($headers['token'][0])) { $userInfo = $this->jwt->getClaimsByToken($headers['token'][0]); $this->UserId = $userInfo['uid']; } } }