container = $container; $this->response = $response; $this->request = $request; $this->JWT = $JWT; } public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface { $header = $request->getHeaders(); // if($this->request->getUri()->getPath()=="/api/login" || $this->request->getUri()->getPath()=="/verifyCode" || $this->request->getUri()->getPath()=="/index"){ // return $handler->handle($request); // } try { if($header && isset($header['token']) && $header['token'][0]!='null' && isset($header['token'][0])){ $ver = $this->JWT->getClaimsByToken($header['token'][0]); // var_dump("中间件:",$ver); Context::set("UserId",$ver['uid']); if ($ver) { return $handler->handle($request); } }else{ return $this->response->json( [ 'code' => -1, 'data' => [], 'message' => 'token无效,请重新登录', ] ); } }catch (\Exception $e){ var_dump("错误消息:",$e->getMessage(),$e->getCode()); return $this->response->json( [ 'code' => $e->getCode(), 'data' => [], 'message' => $e->getMessage(), ] ); } return false; } }