Forráskód Böngészése

底部导航-相关信息

rkljw 5 hónapja
szülő
commit
8a730b1aa4

+ 91 - 0
app/Controller/WebsiteController.php

@@ -1212,4 +1212,95 @@ class WebsiteController extends AbstractController
         return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
     }
 
+    /**
+     * 获取站点信息
+     * @return array
+     */
+    public function getSiteInfo()
+    {
+        $id = Context::get("SiteId");
+        $result = $this->websiteServiceClient->getWebsiteInfo($id);
+        if($result['code']==200){
+            $result['data']['website_url'] = isset($result['data']['website_url']) && $result['data']['website_url']?json_decode($result['data']['website_url']):'';
+            $result['data']['website_column_arr_id'] = isset($result['data']['website_column_arr_id']) && $result['data']['website_column_arr_id']?json_decode($result['data']['website_column_arr_id']):'';
+            $result['data']['city_arr_id'] = isset($result['data']['city_arr_id']) && $result['data']['city_arr_id']?json_decode($result['data']['city_arr_id']):'';
+            return Result::success($result['data']);
+        }else{
+            return Result::error($result['message']);
+        }
+    }
+
+    /**
+     * 获取网站导航池
+     * @return array
+     */
+    public function getSiteCategory()
+    {
+
+        $requireData['website_id'] = Context::get("SiteId");
+        $result = $this->websiteServiceClient->getAdminWebsiteCategory($requireData);
+        return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
+    }
+
+    /**
+     * 获取底部导航
+     * @return array
+     */
+    public function getFooterCategoryList()
+    {
+        $requireData['website_id'] = Context::get("SiteId");
+        var_dump("ceshi:",$requireData);
+        $result = $this->websiteServiceClient->getFooterCategoryList($requireData);
+        return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
+    }
+
+    /**
+     * 底部导航详情页/列表页
+     * @return array
+     */
+    public function getFooterContentList()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'fcat_id' => 'required',
+                'type' => 'required',
+            ],
+            [
+                'website_id.required' => '底部导航id',
+                'type.required' => '类型不能为空',
+            ]
+        );
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->websiteServiceClient->getFooterContentList($requireData);
+        return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
+    }
+
+    /**
+     * 底部导航详细内容
+     * @return array
+     */
+    public function getFooterContentInfo()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'content_id' => 'required',
+            ],
+            [
+                'content_id.required' => '内容id不能为空',
+            ]
+        );
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->websiteServiceClient->getFooterContentInfo($requireData);
+        return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
+    }
 }

+ 27 - 0
app/JsonRpc/WebsiteService.php

@@ -493,4 +493,31 @@ class WebsiteService extends AbstractServiceClient implements WebsiteServiceInte
         return $this->__request(__FUNCTION__, $data);
     }
 
+    /**
+     * @param array $data
+     * @return array|mixed
+     */
+    public function getFooterCategoryList(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+
+    /**
+     * @param array $data
+     * @return array|mixed
+     */
+    public function getFooterContentList(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+
+    /**
+     * @param array $data
+     * @return array|mixed
+     */
+    public function getFooterContentInfo(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+
 }

+ 18 - 12
app/JsonRpc/WebsiteServiceInterface.php

@@ -168,18 +168,6 @@ interface WebsiteServiceInterface
      */
     public function selectWebsiteLinks(array $data);
 
-
-
-
-
-
-
-
-
-
-
-
-
     /**
      * @param array $data
      * @return mixed
@@ -337,5 +325,23 @@ interface WebsiteServiceInterface
      */
     public function getWebsiteTemplateData(array $data);
 
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getFooterCategoryList(array $data);
+
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getFooterContentList(array $data);
+
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getFooterContentInfo(array $data);
+
 
 }

+ 96 - 91
app/Middleware/Auth/WebMiddleware.php

@@ -1,91 +1,96 @@
-<?php
-
-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;
-use Psr\Http\Message\ResponseInterface;
-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 WebMiddleware implements MiddlewareInterface
-{
-    protected ContainerInterface $container;
-
-    protected RequestInterface $request;
-
-    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;
-        $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['origin']) && $header['origin'][0]!='null' && isset($header['origin'][0])){
-                $origin = $header['origin'][0];
-                $logindevice = explode("//", $origin);
-                $data = [
-                    'website_url'=>$logindevice[1]
-                ];
-                // var_dump("222:",$data);
-                $result = $this->websiteServiceClient->getWebsiteId($data);
-                // var_dump("3333333:",$result);
-                if(!isset($result['data']['id']) || !$result['data']['id']){
-                    return $this->response->json(
-                        [
-                            'code' => -1,
-                            'data' => [],
-                            'message' => '网站不存在',
-                        ]
-                    );
-                }
-                // var_dump("获取站点id:",$result);
-                Context::set("SiteId",$result['data']['id']);
-                if ($result) {
-                    return $handler->handle($request);
-                }
-            }else{
-                return $this->response->json(
-                    [
-                        'code' => -1,
-                        'data' => [],
-                        'message' => 'origin:必填',
-                    ]
-                );
-            }
-
-        }catch (\Exception $e){
-            var_dump("错误消息:",$e->getMessage(),$e->getCode());
-            return $this->response->json(
-                [
-                    'code' => $e->getCode(),
-                    'data' => [],
-                    'message' => '网址必填:'.$e->getMessage(),
-                ]
-            );
-        }
-        return false;
-    }
-}
+<?php
+
+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;
+use Psr\Http\Message\ResponseInterface;
+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 WebMiddleware implements MiddlewareInterface
+{
+    protected ContainerInterface $container;
+
+    protected RequestInterface $request;
+
+    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;
+        $this->response = $response;
+        $this->request = $request;
+        $this->JWT = $JWT;
+
+    }
+
+    public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
+    {
+
+        $header = $request->getHeaders();
+        var_dump("测试:",$header);
+        try {
+          
+            if($header &&  isset($header['origin']) && $header['origin'][0]!='null' && isset($header['origin'][0])){
+                $origin = $header['origin'][0];
+                $logindevice = explode("//", $origin);
+                $data = [
+                    'website_url'=>$logindevice[1]
+                ];
+                // var_dump("222:",$data);
+                $result = $this->websiteServiceClient->getWebsiteId($data);
+                // var_dump("3333333:",$result);
+                if(!isset($result['data']['id']) || !$result['data']['id']){
+                    return $this->response->json(
+                        [
+                            'code' => -1,
+                            'data' => [],
+                            'message' => '网站不存在',
+                        ]
+                    );
+                }
+                // var_dump("获取站点id:",$result);
+                Context::set("SiteId",$result['data']['id']);
+                if ($result) {
+                    return $handler->handle($request);
+                }
+            }elseif($header &&  isset($header['siteid']) && $header['siteid'][0]!='null' && isset($header['siteid'][0])){
+                var_dump("网站id",$header['siteid'][0]);
+                Context::set("SiteId",intval($header['siteid'][0]));
+                return $handler->handle($request);
+            }else{
+                return $this->response->json(
+                    [
+                        'code' => -1,
+                        'data' => [],
+                        'message' => 'origin:必填',
+                    ]
+                );
+            }
+
+        }catch (\Exception $e){
+            var_dump("错误消息:",$e->getMessage(),$e->getCode());
+            return $this->response->json(
+                [
+                    'code' => $e->getCode(),
+                    'data' => [],
+                    'message' => '网址必填:'.$e->getMessage(),
+                ]
+            );
+        }
+        return false;
+    }
+}

+ 19 - 0
config/api/website.php

@@ -96,3 +96,22 @@ Router::addGroup(
 
 
 
+Router::addGroup(
+    '/web', function () {
+    //添加网站
+    Router::post('/getSiteInfo', [WebsiteController::class, 'getSiteInfo']);
+    //获取网站导航池
+    Router::get('/getSiteCategory', [WebsiteController::class, 'getSiteCategory']);
+    //获取底部导航
+    Router::get('/getFooterCategoryList', [WebsiteController::class, 'getFooterCategoryList']);
+    //获取底部导航详情
+    Router::get('/getFooterContentList', [WebsiteController::class, 'getFooterContentList']);
+    //底部导航详情页
+    Router::get('/getFooterContentInfo', [WebsiteController::class, 'getFooterContentInfo']);
+
+},
+    ['middleware' => [\App\Middleware\Auth\WebMiddleware::class]]
+);
+
+
+