rkljw преди 6 месеца
родител
ревизия
cb55edec07

+ 50 - 16
app/Controller/NewsController.php

@@ -35,10 +35,12 @@ class NewsController extends AbstractController
         $validator = $this->validationFactory->make(
             $requireData,
             [
-                'pid'=> 'required',
+                'page'=> 'required',
+                'pageSize'=> 'required',
             ],
             [
-                'pid.required' => 'pid不能为空',
+                'page.required' => '第几页不能为空',
+                'pageSize.required' => '每页显示条数不能为空',
             ]
         );
         if ($validator->fails()) {
@@ -108,7 +110,10 @@ class NewsController extends AbstractController
         return $result ? Result::success($result['data']) : Result::error($result['message']);
     }
 
-
+    /**
+     * 更新导航池
+     * @return array
+     */
     public function updateCategory()
     {
         $requireData = $this->request->all();
@@ -117,25 +122,31 @@ class NewsController extends AbstractController
             [
                 'id'=>'required',
                 'name'=> 'required',
+                'seo_title'=> 'required',
+                'seo_keywords'=> 'required',
+                'seo_description'=> 'required',
             ],
             [
-                'name.required' => '分类名称不能为空',
-                'id.required' =>'ID不能为空'
+                'id.required' =>'ID不能为空',
+                'name.required' => '栏目池名称不能为空',
+                'seo_title.required' => 'seo标题名称不能为空',
+                'seo_keywords.required' => 'seo关键词不能为空',
+                'seo_description.required' => 'seo描述不能为空',
             ]
         );
         if ($validator->fails()) {
             $errorMessage = $validator->errors()->first();
             return Result::error($errorMessage);
         }
-        if(isset($requireData['pid']) && is_array($requireData['pid'])){
-            $requireData['pid_arr'] = json_encode($requireData['pid']);
-            $requireData['pid'] = end($requireData['pid']);
-        }else{
-            $id = [0];
-            $requireData['pid_arr'] = json_encode($id);
-            $requireData['pid'] = end($id);
-        }
-        $requireData['website_id'] = $this->websiteId;
+        $requireData['pid'] = isset($requireData['pid_arr'])?end($requireData['pid_arr']):'';
+        $requireData['pid_arr'] = isset($requireData['pid_arr'])?json_encode($requireData['pid_arr']):'';
+
+        $requireData['city_id'] = isset($requireData['city_arr_id'])?end($requireData['city_arr_id']):'';
+        $requireData['city_arr_id'] = isset($requireData['city_arr_id'])?json_encode($requireData['city_arr_id']):'';
+
+        $requireData['department_id'] = isset($requireData['department_arr_id'])?end($requireData['department_arr_id']):'';
+        $requireData['department_arr_id'] = isset($requireData['department_arr_id'])?json_encode($requireData['department_arr_id']):'';
+
         $result = $this->newsServiceClient->updateCategory($requireData);
         return $result['code']==200? Result::success($result['data']) : Result::error($result['message']);
     }
@@ -161,8 +172,6 @@ class NewsController extends AbstractController
             $errorMessage = $validator->errors()->first();
             return Result::error($errorMessage);
         }
-
-        $requireData['website_id'] = $this->websiteId;
         $result = $this->newsServiceClient->delCategory($requireData);
         return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
     }
@@ -197,6 +206,31 @@ class NewsController extends AbstractController
         return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
     }
 
+    /**
+     * 获取导航池信息
+     * @return void
+     */
+    public function getCategoryInfo()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id'=> 'required',
+
+            ],
+            [
+                'id.required' => 'id不能为空',
+
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->newsServiceClient->getCategoryInfo($requireData);
+        return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
 
     /**
      * 添加分类

+ 25 - 0
app/Controller/PublicController.php

@@ -376,6 +376,31 @@ class PublicController extends AbstractController
         return $result['code']==200 ? Result::success() : Result::error("已经处理了");
     }
 
+    /**
+     * 获取职能部门
+     * @return void
+     */
+    public function getDepartment()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'pid' => 'required',
+            ],
+            [
+                'pid.required' => 'id不能为空',
+            ]
+        );
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+
+        $result = $this->publicServiceClient->getDepartment($requireData);
+        return $result['code']==200 ? Result::success($result['data']) : Result::error("查询失败");
+    }
+
 
 
 

+ 4 - 30
app/Controller/WebController.php

@@ -31,23 +31,17 @@ class WebController extends AbstractController
      */
     #[Inject]
     private $websiteServiceClient;
-    protected $siteId;
-    public function __construct(){
-        $websiteInfo = $this->getWebsiteId();
-        if($websiteInfo['code'] == 200){
-            $this->siteId = $websiteInfo['data']['id'];
-        }
-    }
+
     /**
      * 获取栏目导航
      * @return array
      */
     public function getWebsiteCategory()
     {
-//        var_dump("网站id:",$this->siteId);
         $data = [
-            'website_id'=>$this->siteId
+            'website_id'=>Context::get("SiteId")
         ];
+        var_dump("网站id:",Context::get("SiteId"));
         $result = $this->websiteServiceClient->getWebsiteCategory($data);
         if ($result['code'] != ErrorCode::SUCCESS) {
             return Result::error($result['message'],0,[]);
@@ -55,26 +49,6 @@ class WebController extends AbstractController
         return Result::success($result['data']);
     }
 
-    /**
-     * @return array
-     */
-    public function getWebsiteId()
-    {
-        $header = $this->request->getHeaders();
-//        var_dump("获取header:",$header);
-        if(!isset($header['origin'])){
-            return Result::error("header请配置origin");
-        }
-        $origin = $header['origin'][0];
-        $logindevice = explode("//", $origin);
-        $data = [
-            'website_url'=>$logindevice[1]
-        ];
-        $result = $this->websiteServiceClient->getWebsiteId($data);
-        if ($result['code'] != ErrorCode::SUCCESS) {
-            return Result::error($result['message'],0,[]);
-        }
-        return Result::success($result['data']);
-    }
+
 
 }

+ 9 - 0
app/JsonRpc/NewsService.php

@@ -107,4 +107,13 @@ class NewsService extends AbstractServiceClient implements NewsServiceInterface
     {
         return $this->__request(__FUNCTION__, $data);
     }
+
+    /**
+     * @param array $data
+     * @return array|mixed
+     */
+    public function getCategoryInfo(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
 }

+ 6 - 0
app/JsonRpc/NewsServiceInterface.php

@@ -53,4 +53,10 @@ interface NewsServiceInterface
      */
     public function getArticleInfo(array $data);
 
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getCategoryInfo(array $data);
+
 }

+ 8 - 0
app/JsonRpc/PublicRpcService.php

@@ -147,4 +147,12 @@ class PublicRpcService extends AbstractServiceClient implements PublicRpcService
     public function checkMeasure(array $data){
         return $this->__request(__FUNCTION__, $data);
     }
+
+    /**
+     * @param array $data
+     * @return array|mixed
+     */
+    public function getDepartment(array $data){
+        return $this->__request(__FUNCTION__, $data);
+    }
 }

+ 6 - 0
app/JsonRpc/PublicRpcServiceInterface.php

@@ -92,4 +92,10 @@ interface PublicRpcServiceInterface
      */
     public function checkMeasure(array $data);
 
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getDepartment(array $data);
+
 }

+ 80 - 0
app/Middleware/Auth/WebMiddleware.php

@@ -0,0 +1,80 @@
+<?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]
+                ];
+                $result = $this->websiteServiceClient->getWebsiteId($data);
+                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;
+    }
+}

+ 17 - 10
config/api/news.php

@@ -7,16 +7,23 @@ use Hyperf\HttpServer\Router\Router;
 use App\Middleware\Auth\FooMiddleware;
 Router::addGroup(
     '/news', function () {
-    Router::get('/getCategoryList', [NewsController::class, 'getCategoryList']);
-    Router::get('/categoryList', [NewsController::class, 'categoryList']);
-    Router::post('/addCategory', [NewsController::class, 'addCategory']);
-    Router::post('/updateCategory', [NewsController::class, 'updateCategory']);
-    Router::post('/delCategory', [NewsController::class, 'delCategory']);
-    Router::get('/getArticleList', [NewsController::class, 'getArticleList']);
-    Router::post('/addArticle', [NewsController::class, 'addArticle']);
-    Router::post('/updateArticle', [NewsController::class, 'updateArticle']);
-    Router::post('/delArticle', [NewsController::class, 'delArticle']);
-    Router::get('/getArticleInfo', [NewsController::class, 'getArticleInfo']);
+        //获取导航池列表
+        Router::get('/getCategoryList', [NewsController::class, 'getCategoryList']);
+        Router::get('/categoryList', [NewsController::class, 'categoryList']);
+        //添加导航池
+        Router::post('/addCategory', [NewsController::class, 'addCategory']);
+        //更新导航池
+        Router::post('/updateCategory', [NewsController::class, 'updateCategory']);
+        //删除导航池
+        Router::post('/delCategory', [NewsController::class, 'delCategory']);
+
+        Router::get('/getArticleList', [NewsController::class, 'getArticleList']);
+        Router::post('/addArticle', [NewsController::class, 'addArticle']);
+        Router::post('/updateArticle', [NewsController::class, 'updateArticle']);
+        Router::post('/delArticle', [NewsController::class, 'delArticle']);
+        Router::get('/getArticleInfo', [NewsController::class, 'getArticleInfo']);
+        //获取导航池信息
+        Router::get('/getCategoryInfo', [NewsController::class, 'getCategoryInfo']);
 
 },
     ['middleware' => [FooMiddleware::class]]

+ 2 - 0
config/api/public.php

@@ -23,6 +23,8 @@ Router::addGroup(
         Router::get('/getLetterType', [PublicController::class, 'getLetterType']);
         Router::post('/downloadFile', [PublicController::class, 'downloadFile']);
         Router::post('/checkMeasure', [PublicController::class, 'checkMeasure']);
+        //获取职能部门
+        Router::get('/getDepartment', [PublicController::class, 'getDepartment']);
 
     },
     ['middleware' => [FooMiddleware::class]]

+ 3 - 1
config/api/web.php

@@ -4,9 +4,11 @@ declare(strict_types=1);
 
 use App\Controller\WebController;
 use Hyperf\HttpServer\Router\Router;
+use App\Middleware\Auth\WebMiddleware;
 Router::addGroup(
     '/web', function () {
                 Router::get('/getWebsiteId', [WebController::class, 'getWebsiteId']);
                 Router::get('/getWebsiteCategory', [WebController::class, 'getWebsiteCategory']);
-            }
+            },
+    ['middleware' => [WebMiddleware::class]]
 );

+ 14 - 0
config/api/website.php

@@ -7,16 +7,27 @@ use Hyperf\HttpServer\Router\Router;
 use App\Middleware\Auth\FooMiddleware;
 Router::addGroup(
     '/website', function () {
+        //添加网站
         Router::post('/addWebsite', [WebsiteController::class, 'addWebsite']);
+        //获取网站列表
         Router::get('/getWebsiteList', [WebsiteController::class, 'getWebsiteList']);
+        //更新网站
         Router::post('/updateWebsite', [WebsiteController::class, 'updateWebsite']);
+        //删除网站
         Router::post('/delWebsite', [WebsiteController::class, 'delWebsite']);
+        //获取网站信息
         Router::get('/getWebsiteInfo', [WebsiteController::class, 'getWebsiteInfo']);
+        //获取网站导航
         Router::get('/getWebsiteColumn', [WebsiteController::class, 'getWebsiteColumn']);
+        //获取网站导航列表
         Router::get('/getWebsiteColumnList', [WebsiteController::class, 'getWebsiteColumnList']);
+        //创建网站导航
         Router::post('/addWebsiteColumn', [WebsiteController::class, 'addWebsiteColumn']);
+        //更新网站导航
         Router::post('/updateWebsiteColumn', [WebsiteController::class, 'updateWebsiteColumn']);
+        //删除网站导航
         Router::post('/delWebsiteColumn', [WebsiteController::class, 'delWebsiteColumn']);
+
         Router::get('/getWebsiteRoleList', [WebsiteController::class, 'getWebsiteRoleList']);
         Router::post('/createWebsiteRole', [WebsiteController::class, 'createWebsiteRole']);
         Router::post('/delWebsiteRole', [WebsiteController::class, 'delWebsiteRole']);
@@ -32,6 +43,9 @@ Router::addGroup(
         Router::post('/addTemplate', [WebsiteController::class, 'addTemplate']); //获取分类下模板列表
         Router::post('/upTemplate', [WebsiteController::class, 'upTemplate']); //更新分类下模板列表
         Router::post('/delTemplate', [WebsiteController::class, 'delTemplate']); //删除分类下模板列表
+        //添加网站导航
+        Router::post('/addWebsiteCategory', [WebsiteController::class, 'addWebsiteCategory']);
+
 
     },
     ['middleware' => [FooMiddleware::class]]

+ 27 - 12
runtime/container/proxy/App_Controller_NewsController.proxy.php

@@ -40,7 +40,7 @@ class NewsController extends AbstractController
     public function getCategoryList()
     {
         $requireData = $this->request->all();
-        $validator = $this->validationFactory->make($requireData, ['pid' => 'required'], ['pid.required' => 'pid不能为空']);
+        $validator = $this->validationFactory->make($requireData, ['page' => 'required', 'pageSize' => 'required'], ['page.required' => '第几页不能为空', 'pageSize.required' => '每页显示条数不能为空']);
         if ($validator->fails()) {
             $errorMessage = $validator->errors()->first();
             return Result::error($errorMessage);
@@ -86,23 +86,24 @@ class NewsController extends AbstractController
         $result = $this->newsServiceClient->addCategory($requireData);
         return $result ? Result::success($result['data']) : Result::error($result['message']);
     }
+    /**
+     * 更新导航池
+     * @return array
+     */
     public function updateCategory()
     {
         $requireData = $this->request->all();
-        $validator = $this->validationFactory->make($requireData, ['id' => 'required', 'name' => 'required'], ['name.required' => '分类名称不能为空', 'id.required' => 'ID不能为空']);
+        $validator = $this->validationFactory->make($requireData, ['id' => 'required', 'name' => 'required', 'seo_title' => 'required', 'seo_keywords' => 'required', 'seo_description' => 'required'], ['id.required' => 'ID不能为空', 'name.required' => '栏目池名称不能为空', 'seo_title.required' => 'seo标题名称不能为空', 'seo_keywords.required' => 'seo关键词不能为空', 'seo_description.required' => 'seo描述不能为空']);
         if ($validator->fails()) {
             $errorMessage = $validator->errors()->first();
             return Result::error($errorMessage);
         }
-        if (isset($requireData['pid']) && is_array($requireData['pid'])) {
-            $requireData['pid_arr'] = json_encode($requireData['pid']);
-            $requireData['pid'] = end($requireData['pid']);
-        } else {
-            $id = [0];
-            $requireData['pid_arr'] = json_encode($id);
-            $requireData['pid'] = end($id);
-        }
-        $requireData['website_id'] = $this->websiteId;
+        $requireData['pid'] = isset($requireData['pid_arr']) ? end($requireData['pid_arr']) : '';
+        $requireData['pid_arr'] = isset($requireData['pid_arr']) ? json_encode($requireData['pid_arr']) : '';
+        $requireData['city_id'] = isset($requireData['city_arr_id']) ? end($requireData['city_arr_id']) : '';
+        $requireData['city_arr_id'] = isset($requireData['city_arr_id']) ? json_encode($requireData['city_arr_id']) : '';
+        $requireData['department_id'] = isset($requireData['department_arr_id']) ? end($requireData['department_arr_id']) : '';
+        $requireData['department_arr_id'] = isset($requireData['department_arr_id']) ? json_encode($requireData['department_arr_id']) : '';
         $result = $this->newsServiceClient->updateCategory($requireData);
         return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
     }
@@ -118,7 +119,6 @@ class NewsController extends AbstractController
             $errorMessage = $validator->errors()->first();
             return Result::error($errorMessage);
         }
-        $requireData['website_id'] = $this->websiteId;
         $result = $this->newsServiceClient->delCategory($requireData);
         return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
     }
@@ -145,6 +145,21 @@ class NewsController extends AbstractController
         }
         return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
     }
+    /**
+     * 获取导航池信息
+     * @return void
+     */
+    public function getCategoryInfo()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make($requireData, ['id' => 'required'], ['id.required' => 'id不能为空']);
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->newsServiceClient->getCategoryInfo($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
     /**
      * 添加分类
      * @return array|void

+ 15 - 0
runtime/container/proxy/App_Controller_PublicController.proxy.php

@@ -294,4 +294,19 @@ class PublicController extends AbstractController
         $result = $this->publicServiceClient->checkMeasure($requireData);
         return $result['code'] == 200 ? Result::success() : Result::error("已经处理了");
     }
+    /**
+     * 获取职能部门
+     * @return void
+     */
+    public function getDepartment()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make($requireData, ['pid' => 'required'], ['pid.required' => 'id不能为空']);
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->publicServiceClient->getDepartment($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error("查询失败");
+    }
 }

+ 9 - 1
runtime/container/proxy/App_JsonRpc_NewsServiceInterface.rpc-client.proxy.php

@@ -2,7 +2,7 @@
 
 namespace App\JsonRpc;
 
-class NewsServiceInterface_16444e0d1c15722b21fce1ca12e7a3fa extends \Hyperf\RpcClient\Proxy\AbstractProxyService implements NewsServiceInterface
+class NewsServiceInterface_fe8076e91062043f9fd83c0f915a1823 extends \Hyperf\RpcClient\Proxy\AbstractProxyService implements NewsServiceInterface
 {
     /**
      * @param array $data
@@ -74,4 +74,12 @@ class NewsServiceInterface_16444e0d1c15722b21fce1ca12e7a3fa extends \Hyperf\RpcC
     {
         return $this->client->__call(__FUNCTION__, func_get_args());
     }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getCategoryInfo(array $data)
+    {
+        return $this->client->__call(__FUNCTION__, func_get_args());
+    }
 }

+ 9 - 1
runtime/container/proxy/App_JsonRpc_PublicRpcServiceInterface.rpc-client.proxy.php

@@ -2,7 +2,7 @@
 
 namespace App\JsonRpc;
 
-class PublicRpcServiceInterface_b23b259d2bf153dc659dd410db44ac2a extends \Hyperf\RpcClient\Proxy\AbstractProxyService implements PublicRpcServiceInterface
+class PublicRpcServiceInterface_a72b5b36f26115c554ccfe849ff5bf29 extends \Hyperf\RpcClient\Proxy\AbstractProxyService implements PublicRpcServiceInterface
 {
     /**
      * @param array $data
@@ -128,4 +128,12 @@ class PublicRpcServiceInterface_b23b259d2bf153dc659dd410db44ac2a extends \Hyperf
     {
         return $this->client->__call(__FUNCTION__, func_get_args());
     }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getDepartment(array $data)
+    {
+        return $this->client->__call(__FUNCTION__, func_get_args());
+    }
 }

Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
runtime/container/scan.cache


Някои файлове не бяха показани, защото твърде много файлове са промени