Browse Source

走中间件获取网站id

15313670163 1 week ago
parent
commit
7cd776361c
2 changed files with 29 additions and 5 deletions
  1. 2 2
      app/Controller/OrderController.php
  2. 27 3
      app/Middleware/Auth/FooMiddleware.php

+ 2 - 2
app/Controller/OrderController.php

@@ -62,7 +62,7 @@ class OrderController extends AbstractController
      */
     public function getAD()
     {
-        $requireData['website_id'] = Context::get("WebsiteId")??'2';
+        $requireData['website_id'] = Context::get("SiteId")??'2';
         // return Result::success($requireData);
         $result = $this->orderServiceClient->getAD($requireData);
         return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
@@ -98,7 +98,7 @@ class OrderController extends AbstractController
             $errorMessage = $validator->errors()->first();
             return Result::error($errorMessage);
         }
-        $requireData['website_id'] = Context::get("WebsiteId")??'2';
+        $requireData['website_id'] = Context::get("SiteId") ??'2';
         $result = $this->orderServiceClient->getWebsiteAd($requireData);
         return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
     }

+ 27 - 3
app/Middleware/Auth/FooMiddleware.php

@@ -4,6 +4,7 @@ declare(strict_types=1);
 
 namespace App\Middleware\Auth;
 
+use Hyperf\Di\Annotation\Inject;
 use Hyperf\HttpServer\Contract\RequestInterface;
 use Hyperf\HttpServer\Contract\ResponseInterface as HttpResponse;
 use Psr\Container\ContainerInterface;
@@ -12,7 +13,7 @@ use Psr\Http\Message\ServerRequestInterface;
 use Psr\Http\Server\MiddlewareInterface;
 use Psr\Http\Server\RequestHandlerInterface;
 use Hyperf\Context\Context;
-
+use App\JsonRpc\WebsiteServiceInterface;
 use Phper666\JWTAuth\JWT;
 class FooMiddleware implements MiddlewareInterface
 {
@@ -22,7 +23,11 @@ class FooMiddleware implements MiddlewareInterface
 
     protected HttpResponse $response;
     protected JWT $JWT;
-
+    /**
+     * @var WebsiteServiceInterface
+     */
+    #[Inject]
+    private $websiteServiceClient;
     public function __construct(ContainerInterface $container, HttpResponse $response, RequestInterface $request,Jwt $JWT)
     {
         $this->container = $container;
@@ -50,6 +55,25 @@ class FooMiddleware implements MiddlewareInterface
                        ]
                    );
                 }
+                if($header['userurl'] && $header['userurl'][0]){
+                    $origin = $header['userurl'][0];
+                    $data = [
+                        'website_url'=>$origin
+                    ];
+
+                    $result = $this->websiteServiceClient->getWebsiteId($data);
+                    if(!isset($result['data']['id']) || !$result['data']['id']){
+                        return $this->response->json(
+                            [
+                                'code' => -1,
+                                'data' => [],
+
+                                'message' => '网站不存在...',
+                            ]
+                        );
+                    }
+                    Context::set("SiteId",$result['data']['id']);
+                }
 //                var_dump("中间件:",$ver);
                 Context::set("UserId",$ver['uid']);
                 Context::set("TypeId",$ver['type_id']);
@@ -78,4 +102,4 @@ class FooMiddleware implements MiddlewareInterface
         }
         return false;
     }
-}
+}