Browse Source

网站首页跳转前台商圈

LiuJ 2 days ago
parent
commit
ae35c5898a
2 changed files with 50 additions and 30 deletions
  1. 17 2
      app/Controller/WebsiteController.php
  2. 33 28
      app/Middleware/Auth/FooMiddleware.php

+ 17 - 2
app/Controller/WebsiteController.php

@@ -17,6 +17,7 @@ use DateTime;
 use App\JsonRpc\UserServiceInterface;
 use PhpParser\Node\Stmt\Return_;
 use Hyperf\Redis\Redis;
+use function Hyperf\Support\env;
 
 /**
  * Class WebsiteController
@@ -754,14 +755,28 @@ class WebsiteController extends AbstractController
         //        var_dump("有效时间:",$time);
 
         $typeId = intval(Context::get("TypeId"));
+        $websiteId = intval(Context::get("WebsiteId"));
         $cacheKey = "admin_index_processed_data_{$typeId}";
-        var_dump("用户类型:", $typeId);
+        $originUrl = (string)Context::get("originUrl");
+        // 如果originUrl含有localhost,就根据env是dev 换成 http://nwpre.bjzxtw.org.cn,根据env是prod 换成 http://nwpre.bjzxtw.org.cn
+        if (strpos($originUrl, "localhost") !== false) {
+            if (env("APP_ENV") == "dev") {
+                $originUrl = 'http://nwpre.bjzxtw.org.cn'; //str_replace("localhost", 'http://nwpre.bjzxtw.org.cn', $originUrl);
+            } else {
+                $originUrl = 'https://nw.bjzxtw.org.cn'; //str_replace("localhost", 'https://nw.bjzxtw.org.cn', $originUrl);
+            }
+        }
+        // var_dump("用户类型:", $typeId);
+        // var_dump("网站id:", $websiteId);
+        // var_dump("来源地址:", $originUrl);
         switch ($typeId) {
             case 1:
             case 2:
             case 3:
                 $user_id = Context::get("UserId");
                 $result = $this->websiteServiceClient->getAdminIndex(['type_id' => $typeId, 'user_id' => $user_id]);
+                $result['data']['originUrl'] = $originUrl;
+                $result['data']['websiteId'] =  $websiteId;
                 return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
             case 4:
                 $dates = [];
@@ -2251,7 +2266,7 @@ class WebsiteController extends AbstractController
     public function getSiteCategory()
     {
         $requireData = $this->request->all();
-        $requireData['website_id'] = $requireData['website_id']??Context::get("SiteId");
+        $requireData['website_id'] = $requireData['website_id'] ?? Context::get("SiteId");
         $result = $this->websiteServiceClient->getWebsiteAllCategory($requireData);
         return $result['code'] == 200 ? Result::success(PublicData::buildCategoryTree($result['data'])) : Result::error($result['message']);
     }

+ 33 - 28
app/Middleware/Auth/FooMiddleware.php

@@ -3,6 +3,7 @@
 declare(strict_types=1);
 
 namespace App\Middleware\Auth;
+
 use App\Controller\LoginController;
 use App\Controller\UserController;
 use Hyperf\Di\Annotation\Inject;
@@ -16,6 +17,7 @@ use Psr\Http\Server\RequestHandlerInterface;
 use Hyperf\Context\Context;
 use App\JsonRpc\WebsiteServiceInterface;
 use Phper666\JWTAuth\JWT;
+
 class FooMiddleware implements MiddlewareInterface
 {
     protected ContainerInterface $container;
@@ -40,43 +42,47 @@ class FooMiddleware implements MiddlewareInterface
      */
     #[Inject]
     protected $userController;
-    public function __construct(ContainerInterface $container, HttpResponse $response, RequestInterface $request,Jwt $JWT)
+    public function __construct(ContainerInterface $container, HttpResponse $response, RequestInterface $request, Jwt $JWT)
     {
         $this->container = $container;
         $this->response = $response;
         $this->request = $request;
         $this->JWT = $JWT;
-
     }
 
     public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
     {
 
+
         $header = $request->getHeaders();
+
         try {
 
-            if($header &&  isset($header['token']) && $header['token'][0]!='null' && $header['token'][0]!='' && isset($header['token'][0])){
-//                var_dump("token类型:",$header['token'][0]);
+            if ($header &&  isset($header['token']) && $header['token'][0] != 'null' && $header['token'][0] != '' && isset($header['token'][0])) {
+                //                var_dump("token类型:",$header['token'][0]);
                 $ver = $this->JWT->getClaimsByToken($header['token'][0]);
                 $tokenTime =  $this->JWT->getTokenDynamicCacheTime($header['token'][0]);
                 $this->JWT->verifyToken($header['token'][0]);
-                if($tokenTime==0){
-                   return $this->response->json(
-                       [
-                           'code' => -1,
-                           'data' => [],
-                           'message' => 'token无效,请重新登录',
-                       ]
-                   );
+                if ($tokenTime == 0) {
+                    return $this->response->json(
+                        [
+                            'code' => -1,
+                            'data' => [],
+                            'message' => 'token无效,请重新登录',
+                        ]
+                    );
                 }
-                if(isset($header['userurl']) && $header['userurl'] && $header['userurl'][0]){
+                if (isset($header['userurl']) && $header['userurl'] && $header['userurl'][0]) {
                     $origin = $header['userurl'][0];
+                    Context::set("originUrl", $origin);
+                    var_dump("来源地址:", $origin);
                     $data = [
-                        'website_url'=>$origin
+                        'website_url' => $origin
                     ];
 
                     $result = $this->websiteServiceClient->getWebsiteId($data);
-                    if(!isset($result['data']['id']) || !$result['data']['id']){
+                    var_dump($result, '获取网站id--------------------');
+                    if (!isset($result['data']['id']) || !$result['data']['id']) {
                         return $this->response->json(
                             [
                                 'code' => -1,
@@ -86,10 +92,11 @@ class FooMiddleware implements MiddlewareInterface
                             ]
                         );
                     }
-                    Context::set("SiteId",$result['data']['id']);
-                    if(in_array($ver['type_id'],[1,2,3,4])){
+                    Context::set("SiteId", $result['data']['id']);
+                    // Context::set("websiteUrl", json_decode($result['data']['website_url'], true)[0] ?? "http://nwpre.bjzxtw.org.cn");
+                    if (in_array($ver['type_id'], [1, 2, 3, 4])) {
                         $userInfo = $this->userController->getUserInfo($ver['uid']);
-                        if($userInfo['code'] == 200 && isset($userInfo['data']) && !empty($userInfo['data']['sszq'])){
+                        if ($userInfo['code'] == 200 && isset($userInfo['data']) && !empty($userInfo['data']['sszq'])) {
                             $sszq = $userInfo['data']['sszq'];
                             //组id
                             $authData = [
@@ -108,7 +115,7 @@ class FooMiddleware implements MiddlewareInterface
                                     ]
                                 );
                             }
-                        }else{
+                        } else {
                             return $this->response->json(
                                 [
                                     'code' => -1,
@@ -117,16 +124,15 @@ class FooMiddleware implements MiddlewareInterface
                                 ]
                             );
                         }
-
                     }
                 }
-               var_dump("中间件:",$ver);
-                Context::set("UserId",$ver['uid']);
-                Context::set("TypeId",$ver['type_id']);
+                var_dump("中间件:", $ver);
+                Context::set("UserId", $ver['uid']);
+                Context::set("TypeId", $ver['type_id']);
                 if ($ver) {
                     return $handler->handle($request);
                 }
-            }else{
+            } else {
                 return $this->response->json(
                     [
                         'code' => -1,
@@ -135,9 +141,8 @@ class FooMiddleware implements MiddlewareInterface
                     ]
                 );
             }
-
-        }catch (\Exception $e){
-            var_dump("错误消息1:",$e->getMessage(),$e->getCode());
+        } catch (\Exception $e) {
+            var_dump("错误消息1:", $e->getMessage(), $e->getCode());
             return $this->response->json(
                 [
                     'code' => $e->getCode(),
@@ -148,4 +153,4 @@ class FooMiddleware implements MiddlewareInterface
         }
         return false;
     }
-}
+}