rkljw 1 неделя назад
Родитель
Сommit
720265fae8

+ 80 - 2
app/Controller/PublicController.php

@@ -160,7 +160,7 @@ class PublicController extends AbstractController
     public function getCityList()
     {
         $requireData = $this->request->all();
-        var_dump($requireData);
+//        var_dump($requireData);
         $result = $this->publicServiceClient->getDistrictList($requireData);
         return $result ? Result::success($result['data']) : Result::error($result['message']);
     }
@@ -226,7 +226,7 @@ class PublicController extends AbstractController
             $errorMessage = $validator->errors()->first();
             return Result::error($errorMessage);
         }
-        var_dump($requireData);
+//        var_dump($requireData);
         if (isset($requireData['is_admin']) && !empty($requireData['is_admin'])) {
             $requireData['admin_id'] = Context::get("UserId");
         }
@@ -1106,5 +1106,83 @@ class PublicController extends AbstractController
         $result['data'] = PublicData::buildMenuTree($result['data']);
         return $result['code'] == 200 ? Result::success($result['data']) : Result::error("查询失败");
     }
+
+    /**
+     * 获取黑名单列表
+     * @return array
+     */
+    public function getBlackWordList()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'page' => 'integer|min:1',
+                'pagesize' => 'integer|min:1',
+                'search' => 'string|nullable',
+            ],
+            [
+                'page.integer' => 'page 必须是整数',
+                'page.min' => 'page 必须大于等于 1',
+                'pagesize.integer' => 'pagesize 必须是整数',
+                'pagesize.min' => 'pagesize 必须大于等于 1',
+                'search.string' => 'search 必须是字符串',
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->publicServiceClient->getBlackWordList($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+
+    /**
+     * 添加黑名单
+     * @return array
+     */
+    public function addBlackWord()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'name' => 'required',
+            ],
+            [
+                'name.required' => '过滤词不能为空',
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->publicServiceClient->addBlackWord($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+
+    /**
+     * 删除黑名单
+     * @return array
+     */
+    public function delBlackWord()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'name' => 'required',
+            ],
+            [
+                'name.required' => 'name不能为空',
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->publicServiceClient->delBlackWord($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
 }
 

+ 21 - 8
app/JsonRpc/PublicRpcService.php

@@ -295,12 +295,25 @@ class PublicRpcService extends AbstractServiceClient implements PublicRpcService
     {
         return $this->__request(__FUNCTION__, $data);
     }
-        /**
-         * @param array $data
-         * @return array|mixed
-         */
-        public function uploadFile(array $data)
-        {
-            return $this->__request(__FUNCTION__, $data);
-        }
+    /**
+     * @param array $data
+     * @return array|mixed
+     */
+    public function uploadFile(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+
+    public function getBlackWordList(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function addBlackWord(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function delBlackWord(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
 }

+ 9 - 5
app/JsonRpc/PublicRpcServiceInterface.php

@@ -156,10 +156,14 @@ interface PublicRpcServiceInterface
      */
     public function getBuckets(array $data);
 
-        /**
-         * @param array $data
-         * @return mixed
-         */
-        public function uploadFile(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function uploadFile(array $data);
+
+    public function getBlackWordList(array $data);
+    public function addBlackWord(array $data);
+    public function delBlackWord(array $data);
 
 }

+ 1 - 1
app/Middleware/Auth/FooMiddleware.php

@@ -55,7 +55,7 @@ class FooMiddleware implements MiddlewareInterface
                        ]
                    );
                 }
-                if($header['userurl'] && $header['userurl'][0]){
+                if(isset($header['userurl']) && $header['userurl'] && $header['userurl'][0]){
                     $origin = $header['userurl'][0];
                     $data = [
                         'website_url'=>$origin

+ 4 - 4
app/Middleware/Auth/SensitiveMiddleware.php

@@ -46,7 +46,7 @@ class SensitiveMiddleware implements MiddlewareInterface
 
         try {
             $badWords = $this->redis->sMembers('black_word');
-            $whiteWords = $this->redis->sMembers('white_word');
+//            $whiteWords = $this->redis->sMembers('white_word');
             $params = $this->request->all();
             $concatenated = "";
 
@@ -61,9 +61,9 @@ class SensitiveMiddleware implements MiddlewareInterface
             }
 
             foreach ($badWords as $badWord) {
-                if (in_array($badWord, $whiteWords)) {
-                    continue;
-                }
+//                if (in_array($badWord, $whiteWords)) {
+//                    continue;
+//                }
                 if (str_contains($concatenated, $badWord)) {
                     return $this->response->raw(json_encode([
                         'code' => 0,

+ 9 - 0
config/api/public.php

@@ -68,6 +68,13 @@ Router::addGroup(
         //获取搭建列表
         Router::post('/getWebsiteTemplateList', [PublicController::class, 'getWebsiteTemplateList']);
         Router::post('/getWebsiteTemplateInfo', [PublicController::class, 'getWebsiteTemplateInfo']);
+
+        //黑名单列表
+        Router::get('/getBlackWordList', [PublicController::class, 'getBlackWordList']);
+        //添加黑名单
+        Router::post('/addBlackWord', [PublicController::class, 'addBlackWord']);
+        //删除黑名单
+        Router::post('/delBlackWord', [PublicController::class, 'delBlackWord']);
     },
     ['middleware' => [FooMiddleware::class]]
 );
@@ -84,5 +91,7 @@ Router::addGroup(
         Router::post('/buckets', [MinioController::class, 'listBuckets']);
 
         Router::post('/uploadFile', [MinioController::class, 'uploadFiles']);
+
+
     }
 );