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

Merge branch 'master' into 20250210_lj_zhanqun

AI 1 hónapja
szülő
commit
ae6e17b220

+ 35 - 9
.env

@@ -1,31 +1,57 @@
 APP_NAME=admin_consumer
 APP_ENV=dev
-HOST = http://192.168.1.201:9501/
+# HOST = http://192.168.1.201:9501/
+# DB_DRIVER=mysql
+# DB_HOST=127.0.0.1
+# DB_PORT=3306
+# DB_DATABASE=hyperf
+# DB_USERNAME=root
+# DB_PASSWORD=root123
+# DB_CHARSET=utf8mb4
+# DB_COLLATION=utf8mb4_unicode_ci
+# DB_PREFIX=
+
+
+
+HOST = http://192.168.1.123:13306/
+
+
 DB_DRIVER=mysql
-DB_HOST=127.0.0.1
-DB_PORT=3306
+DB_HOST=192.168.1.123
+DB_PORT=13306
 DB_DATABASE=hyperf
 DB_USERNAME=root
-DB_PASSWORD=root123
+DB_PASSWORD=zxt_mysql_dev
 DB_CHARSET=utf8mb4
 DB_COLLATION=utf8mb4_unicode_ci
 DB_PREFIX=
 
+
 #REDIS_HOST=101.254.114.211
 #REDIS_AUTH=YPWWnFnNebc7427B
 #REDIS_PORT=26739
 #REDIS_DB=0
 
 
-REDIS_HOST=192.168.1.201
+# REDIS_HOST=192.168.1.201
+# REDIS_AUTH=
+# REDIS_PORT=6379
+# REDIS_DB=0
+
+REDIS_HOST=192.168.1.123
 REDIS_AUTH=
-REDIS_PORT=6379
+REDIS_PORT=26739
+REDIS_PASSWORD=zxt_redis_dev
 REDIS_DB=0
 
-AMQP_HOST=103.105.201.2
-AMQP_PORT=5673
+
+
+AMQP_HOST=192.168.1.123
+AMQP_PORT=5672
 AMQP_USER=rabbitmq
-AMQP_PASSWORD=H8eDTAk6LY7EjJ8y
+AMQP_PASSWORD=zxt_mq_dev
+
+
 
 
 #小程序获取openid

+ 17 - 2
app/Controller/IndexController.php

@@ -38,6 +38,7 @@ class IndexController extends AbstractController
             $errorMessage = $validator->errors()->first();
             var_dump($errorMessage);
         }
+        // master123
     }
 
     public function verifyCode()
@@ -57,11 +58,25 @@ class IndexController extends AbstractController
         //重写验证码
         $result = $code->DrawCode((string)$img_code);
         $img_code = $result->getImageCode();
+        $code_uniqid = uniqid("code");
         //写入缓存 用于其他方法验证 并且设置过期时间
-        $redis->set('code'.$ip,$img_code,60000);
-        return $result?Result::success($result->getImageBase64()):Result::error('失败');
+        $redis->set($code_uniqid,$img_code,60000);
+
+        return $result?Result::success(['code'=>$code_uniqid,'img'=>$result->getImageBase64()]):Result::error('失败');
 //        return $result->getImageBase64();
 
     }
+
 // test
+      /**
+     * 获取验证码
+     */
+    public function getverifyCode(){
+        $comm = new CommonService();
+        $ip = $comm->userIp();
+        $redis = $this->container->get(\Hyperf\Redis\Redis::class);
+        $img_code  =  $redis->get('code'.$ip);
+        return Result::success($img_code);
+    }
+
 }

+ 72 - 16
app/Controller/LoginController.php

@@ -6,12 +6,13 @@ use App\JsonRpc\UserServiceInterface;
 use App\Tools\CommonService;
 use App\Tools\PublicData;
 use App\Tools\Result;
+use Hyperf\Context\Context;
 use function Hyperf\Support\env;
 use Hyperf\Di\Annotation\Inject;
 use Hyperf\HttpServer\Annotation\AutoController;
 use Hyperf\Validation\Contract\ValidatorFactoryInterface;
 use \Phper666\JWTAuth\JWT;
-
+use App\Model\UserToken;
 /**
  * @AutoController()
  */
@@ -28,8 +29,6 @@ class LoginController extends AbstractController
     private $userServiceClient;
     public function login(Jwt $jwt)
     {
-        var_dump("我要登陆了");
-//        $this->logger->info("验证之前");
 
         $reqData = $this->request->all();
         $validator = $this->validationFactory->make(
@@ -38,11 +37,13 @@ class LoginController extends AbstractController
                 'username' => 'required',
                 'password' => 'required',
                 'type' => 'required',
+                'code' => 'required',
             ],
             [
                 'username.required' => '用户名不能为空',
                 'password.required' => '密码不能为空',
                 'type.required' => '登录方式必填',
+                'code.required' => 'code方式必填',
             ]
         );
 
@@ -50,58 +51,92 @@ class LoginController extends AbstractController
             $errorMessage = $validator->errors()->first();
             return Result::error($errorMessage);
         }
-        $comm = new CommonService();
-        $ip = $comm->userIp();
+//        $comm = new CommonService();
         $redis = $this->container->get(\Hyperf\Redis\Redis::class);
-        $code = $redis->get('code' . $ip);
+        $code = $redis->get($reqData['code']);
         if (empty($code)) {
             return Result::error("验证码已过期");
         }
-        var_dump("验证码:", $code);
-        var_dump((strtolower($code) . strtolower($reqData['captcha'])));
+
         if (strtolower($code) != strtolower($reqData['captcha'])) {
             return Result::error("验证码错误");
         }
-        //$reqData
         $where = [];
         if ($reqData['type'] == 1) { //密码登录
             $where = [
                 'user_name' => $reqData['username'],
             ];
         }
-//        $this->logger->info("验证之前");
+
         $userInfos = $this->userServiceClient->verifyUserInfo($where);
         if ($userInfos['code'] == 0) {
             return Result::error("用户不存在");
         }
-//        var_dump("数据:",$userInfos);
+
         if($userInfos['data']['status']==0){
             return Result::error("用户已经冻结");
         }
-//        var_dump("用户信息:", $userInfos);
-//        $this->logger->info("验证用户返回值:", $userInfos);
+
         if (md5(md5($reqData['password']) . $userInfos['data']['salt']) != $userInfos['data']['password']) {
             return Result::error("登陆密码错误");
         }
+        if($userInfos['data']['type_id']!=10000){
+            $authData = [
+
+                'id'=>$userInfos['data']['sszq'],
+                'SiteId'=>Context::get("SiteId")
+            ];
+            var_dump("参数:",$authData);
+           $resultAuth =  $this->checkUserAuth($authData);
+
+           if(!$resultAuth){
+               return Result::error("您没有权限登陆此网站");
+           }
+        }
         $userData = [
             'uid' => $userInfos['data']['id'], // 如果使用单点登录,必须存在配置文件中的sso_key的值,一般设置为用户的id
             'user_name' => $userInfos['data']['user_name'],
             'mobile' => $userInfos['data']['mobile'],
             'email' => $userInfos['data']['email'],
-            // 'rong_token' => $userInfos['data']['rong_token'],
             'level_id' => $userInfos['data']['level_id'],
             'type_id' => $userInfos['data']['type_id'],
         ];
-//        var_dump($userData);
         // 使用默认场景登录
         $token = $jwt->getToken('default', $userData);
+        // 检查是否有旧的token
+        $old_token = UserToken::where('user_id', $userData['uid'])->first();
+        if (!empty($old_token)) {
+                $jwt->logout($old_token->token);
+                try {
+                    $jwt->verifyToken($old_token->token);
+                }catch (\Exception $exception){
+                    $code = $exception->getCode();
+                    if ($code== 400) {
+                        $new_token = UserToken::where('user_id', $userData['uid'])->update(['token' => $token->toString()]);
+                        if (empty($new_token)) {
+                            return Result::error("Token过期失败!");
+                        }
+                        
+                    } else{
+                        return Result::error("Token过期失败!");
+                    }
+                }
+        }else{
+            $usernew_token = $token->toString();
+            $user_token =  UserToken::create([
+                'user_id' => $userData['uid'],
+                'token' => $usernew_token
+            ]);
+            if (empty($user_token)) {
+                return Result::error("登录失败!");
+            }
+        }
         $data = [
             'token' => $token->toString(),
             'exp' => $jwt->getTTL($token->toString()),
         ];
         return Result::success($data);
     }
-
     /**
      * @return void
      */
@@ -281,4 +316,25 @@ class LoginController extends AbstractController
         var_dump($h['token'][0], "+++++++++++", $arr, "===####");
         return $this->response->json(['code' => 0, 'msg' => 'success', 'data' => ['a' => 1]]);
     }
+
+    /**
+     * 检测用户权限
+     * @return void
+     */
+    public function checkUserAuth($data)
+    {
+        $websiteGroup = [
+            'id'=>$data['id']
+        ];
+        $result = $this->userServiceClient->getWebsiteGroupInfo($websiteGroup);
+        if($result['code']==200){
+            if($data['SiteId'] && $result['data']['web_ids']){
+                if(in_array($data['SiteId'],json_decode($result['data']['web_ids'],true))){
+                    return true;
+                }
+            }else{
+                return false;
+            }
+        }
+    }
 }

+ 4 - 0
app/Controller/MinioController.php

@@ -39,6 +39,10 @@ class MinioController extends AbstractController
             $filename = $uploadedFile->getClientFilename();
             $fileContent = base64_encode(file_get_contents($uploadedFile->getRealPath()));
             $mimeType = $uploadedFile->getMimeType();
+//            var_dump("大小:",$uploadedFile->getSize());
+            if($uploadedFile->getSize()>10242880){
+                return Result::error("最大支持10M!");
+            }
             $data['fileContent'] = $fileContent;
             $data['fileName'] = $filename;
             $data['contentType'] = $mimeType;

+ 24 - 0
app/Controller/NewsController.php

@@ -474,6 +474,30 @@ class NewsController extends AbstractController
         return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
     }
 
+    /**
+     * 检测导航池名称是否存在
+     * @return array
+     */
+    public function  checkCategoryName()
+    {
+        $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->newsServiceClient->checkCategoryName($requireData);
+        return $result['code']==200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
 
      //20250226  产品列表
      public function getGoodList(){

+ 21 - 33
app/Controller/OrderController.php

@@ -58,38 +58,12 @@ class OrderController extends AbstractController
         return Result::success($data);
     }
     /**
-     * 获取广告尺寸及查询广告位
+     * 获取广告尺寸
      */
     public function getAD()
     {
-        $requireData = $this->request->all();
-        if(!empty($requireData)){
-            $validator = $this->validationFactory->make(
-                $requireData,
-                [
-                    'ad_size_id' => 'required',
-                    'starttime' => 'required',
-                    'endtime' => 'required',
-                    'pageSize' => 'required',
-                    'page' => 'required',
-    
-                ],
-                [
-                    'ad_size_id.required' => '广告尺寸id不能为空',
-                    'starttime.required' => '广告开始时间不能为空',
-                    'endtime.required' => '广告结束时间不能为空',
-                    'pageSize.required' => '显示条数不能为空',
-                    'page.required' => '分页不能为空',
-    
-                ]
-            );
-            if ($validator->fails()) {
-                $errorMessage = $validator->errors()->first();
-                return Result::error($errorMessage);
-            }
-        }
-        
-        
+        $requireData['website_id'] = Context::get("WebsiteId")??'2';
+        // return Result::success($requireData);
         $result = $this->orderServiceClient->getAD($requireData);
         return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
     }
@@ -103,24 +77,28 @@ class OrderController extends AbstractController
         $validator = $this->validationFactory->make(
             $requireData,
             [
-                'ad_size_id' => 'required',
+                'ad_size_id' => 'required|integer',
                 'starttime' => 'required',
                 'endtime' => 'required',
-                'pageSize' => 'required',
-                'page' => 'required',
+                'pageSize' =>'required|integer',
+                'page' =>'required|integer'
             ],
             [
                 'ad_size_id.required' => '广告尺寸id不能为空',
+                'ad_size_id.integer' => '广告尺寸id格式不正确',
                 'starttime.required' => '广告开始时间不能为空',
                 'endtime.required' => '广告结束时间不能为空',
                 'pageSize.required' => '显示条数不能为空',
-                'page.required' => '分页不能为空'
+                'pageSize.integer' => '显示条数格式不正确',
+                'page.required' => '分页不能为空',
+                'page.integer' => '分页格式不正确',
             ]
         );
         if ($validator->fails()) {
             $errorMessage = $validator->errors()->first();
             return Result::error($errorMessage);
         }
+        $requireData['website_id'] = Context::get("WebsiteId")??'2';
         $result = $this->orderServiceClient->getWebsiteAd($requireData);
         return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
     }
@@ -557,4 +535,14 @@ class OrderController extends AbstractController
         $result = $this->orderServiceClient->delShoppingCartAD($requireData);
         return $result['code'] == 200? Result::success($result['data']) : Result::error($result['message']);
     }
+    /*
+     * 获取广告位的尺寸
+    
+     */
+    public function getAdSize()
+    {
+        // $data = [];
+        $result = $this->orderServiceClient->getAdSize();
+        return $result['code'] == 200? Result::success($result['data']) : Result::error($result['message']);
+    }
 }

+ 360 - 74
app/Controller/WebController.php

@@ -6,13 +6,12 @@ use App\JsonRpc\NewsServiceInterface;
 use App\JsonRpc\WebsiteServiceInterface;
 use App\Tools\PublicData;
 use Hyperf\Di\Annotation\Inject;
+use Hyperf\HttpServer\Annotation\AutoController;
 use App\Tools\Result;
 use Hyperf\Validation\Contract\ValidatorFactoryInterface;
 use App\Constants\ErrorCode;
-use App\Controller\PublicController;
 use Hyperf\Context\Context;
-use Hyperf\HttpServer\Contract\RequestInterface;
-use Hyperf\HttpServer\Contract\ResponseInterface;
+
 /**
  * Class WebController
  * @package App\Controller
@@ -22,7 +21,7 @@ class WebController extends AbstractController
 
     #[Inject]
     protected ValidatorFactoryInterface $validationFactory;
-    private $publicServiceClient;
+
     /**
      * @var NewsServiceInterface
      */
@@ -37,7 +36,6 @@ class WebController extends AbstractController
 
 
     private $PublicController;
-
     public function __construct(PublicController $PublicController)
     {
         $this->PublicController = $PublicController;
@@ -66,10 +64,9 @@ class WebController extends AbstractController
         }
 
         $data = [
-            'website_id'=>Context::get("SiteId"),
-            'pageSize'=>$requireData['pageSize']
+            'website_id'=>Context::get("SiteId")
         ];
-        // var_dump("网站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,[]);
@@ -103,24 +100,26 @@ class WebController extends AbstractController
     public function getWebsiteAdvertisement()
     {
         $requireData = $this->request->all();
-        $validator = $this->validationFactory->make(
-            $requireData,
-            [
-                'adPlace' => 'required'
-            ],
-            [
-                'adPlace.required' => '广告位置编号不能为空'
-            ]
-        );
-        if ($validator->fails()){
-            $errorMessage = $validator->errors()->first();
-            return Result::error($errorMessage);
+        $data = ['website_id'=>Context::get("SiteId")]; 
+        if($requireData['ad_tag']){
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'ad_tag' => 'required'
+                ],
+                [
+                    'ad_tag.required' => '广告位置表示不能为空'
+                ]
+            );
+            if ($validator->fails()){
+                $errorMessage = $validator->errors()->first();
+                return Result::error($errorMessage);
+            }
+            $data['ad_tag'] = $requireData['ad_tag'];
         }
-        $data = [
-            'website_id'=>Context::get("SiteId"),
-            'ad_placeid'=>$requireData['adPlace']
-        ]; 
         
+        
+        // return Result::success($data);//测试
         $result = $this->websiteServiceClient->getWebsiteAdvertisement($data);
 
         if ($result['code'] != ErrorCode::SUCCESS) {
@@ -153,7 +152,6 @@ class WebController extends AbstractController
         return Result::success($result['data']);
     }
 
-
     /**
      *各省市查询 
      */
@@ -374,8 +372,9 @@ class WebController extends AbstractController
 
     /**
      * 获取文章列表
+     * @return array
      */
-    public function getWebsiteArticlesList()
+    public function getWebsiteArticleList()
     {
        
         $requireData = $this->request->all();
@@ -390,55 +389,39 @@ class WebController extends AbstractController
 
             ]
             );
-            $data['catid'] =  $requireData['catid']; 
-        }elseif(isset($requireData['keyword'])){
-            $validator = $this->validationFactory->make(
-                $requireData,
-                [
-                    'keyword' => 'required'
-                ],
-                [
-                    'keyword.required' => '搜索词不能为空'
-    
-                ]
-            );
-            $data['keyword'] =  $requireData['keyword']; 
-        }else{
-            $validator = $this->validationFactory->make(
-                $requireData,
-                [
-                    'catid' => 'required',
-                    'keyword' => 'required'
-                ],
-                [
-                    'catid.required' => '栏目id不能为空',
-                    'keyword.required' => '搜索词不能为空'
-    
-                ]
-            );
-            $data['catid'] =  $requireData['catid']; 
-            $data['keyword'] =  $requireData['keyword']; 
+            if(is_string($requireData['catid'])){
+                $data['catid'] = json_decode($requireData['catid']); 
+            }else{
+                $data['catid'] = $requireData['catid']; 
+            }
         }
+            
         $validator = $this->validationFactory->make(
-                $requireData,
-                [
-                    'page' => 'required',
-                    'pageSize' => 'required'
-                ],
-                [
-                    'page.required' => '分页不能为空',
-                    'pageSize.required' => '显示条数不能为空'
-    
-                ]
-            );
-            if ($validator->fails()){
-                $errorMessage = $validator->errors()->first();
-                return Result::error($errorMessage);
-            }
-            $data['website_id'] = Context::get("SiteId");
-            $data['pageSize'] = $requireData['pageSize']; 
-            $data['page'] = $requireData['page']; 
-        $result = $this->newsServiceClient->getArticleList($data);
+            $requireData,
+            [
+                'page' => 'required',
+                'pageSize' => 'required'
+            ],
+            [
+                'page.required' => '分页不能为空',
+                'pageSize.required' => '显示条数不能为空'
+
+            ]
+        );
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        // $data['catid'] =  $requireData['catid']; 
+        if(isset($requireData['keyword']) && !empty($requireData['keyword'])){
+            $data['keyword'] =  $requireData['keyword'];
+        }
+
+        $data['website_id'] = Context::get("SiteId");
+        $data['pageSize'] = $requireData['pageSize']; 
+        $data['page'] = $requireData['page']; 
+        // return Result::success($data);
+        $result = $this->newsServiceClient->getWebsiteArticleList($data);
         // var_dump($result);
         if ($result['code'] != ErrorCode::SUCCESS) {
             return Result::error($result['message'],0,[]);
@@ -472,7 +455,7 @@ class WebController extends AbstractController
             'website_id'=>Context::get("SiteId"),
             'id'=>$requireData['articleid'],
         ]; 
-        $result = $this->newsServiceClient->getArticleInfo($data);
+        $result = $this->newsServiceClient->selectWebsiteArticleInfo($data);
         // var_dump($result);
         if ($result['code'] != ErrorCode::SUCCESS) {
             return Result::error($result['message'],0,[]);
@@ -480,4 +463,307 @@ class WebController extends AbstractController
         return Result::success($result['data']);
         
     }
+    /**
+     * 获取网站底部信息
+     * @return array
+     */
+    public function getWebsiteFootInfo()
+    {
+        $data = [
+            'website_id'=>Context::get("SiteId")
+        ];
+        $result = $this->websiteServiceClient->getWebsiteFootInfo($data);
+        if ($result['code'] != ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]);
+        }
+        return Result::success($result['data']);
+    }
+    /**
+     * 获取网站底部导航
+     * @return array
+    */
+    public function getWebsiteFooterCategory()
+    {
+        $data = [
+            'website_id'=>Context::get("SiteId")
+        ];
+        $result = $this->websiteServiceClient->getWebsiteFooterCategory($data);
+        if ($result['code']!= ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]); 
+        }else{
+            return Result::success($result['data']);
+        }
+    }
+    /**
+     * 获取网站底部导航列表
+     * @return array
+    */
+    public function getWebsiteFooterCategoryList()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'fcat_id' =>'required|integer'
+            ],
+            [
+                'fcat_id.required' => '底部导航栏目id不能为空',
+                'fcat_id.integer' => '底部导航栏目id必须为整数'
+            ]
+        );
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first(); 
+            return Result::error($errorMessage);
+        }
+        $data = [
+            'fcat_id'=>$requireData['fcat_id'],
+            'website_id'=>Context::get("SiteId")
+        ];
+        $result = $this->websiteServiceClient->getWebsiteFooterCategoryList($data);
+        if ($result['code']!= ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]); 
+        }else{
+            return Result::success($result['data']);
+        }
+    }
+    /**
+     * 获取网站底部导航内容
+     * @return array
+    */
+    public function getWebsiteFooterCategoryInfo()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'fcat_id' =>'required|integer',
+                'type' => 'nullable|in:0'
+            ],
+            [
+                'fcat_id.required' => 'id不能为空',
+                'fcat_id.integer' => 'id必须为整数',
+                'type.in' => '类型必须为0'
+            ]
+        );
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage); 
+        }
+        $data = [
+            'fcat_id'=>$requireData['fcat_id'],
+            'website_id'=>Context::get("SiteId")
+        ];
+        if(isset($requireData['type'])){
+            $data['type'] = $requireData['type'];
+        }
+        $result = $this->websiteServiceClient->getWebsiteFooterCategoryInfo($data);
+        if ($result['code']!= ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]); 
+        }else{
+            return Result::success($result['data']);
+        }
+    }
+    /**
+     * 搜索导航
+     * @return array
+     */
+    public function selectWebsiteCategory()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'cityid' => 'nullable|numeric',
+                'department_id' => 'nullable|numeric',
+            ], 
+            [
+                'cityid.numeric' => '城市id必须为数字',
+                'department_id.numeric' => '部门id必须为数字' 
+            ]
+        ) ;
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $data = $requireData;
+        $data['website_id'] = Context::get("SiteId");
+        $result = $this->websiteServiceClient->selectWebsiteCategory($data);
+        if ($result['code']!= ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]); 
+        }else{
+            return Result::success($result['data']);
+        }
+
+    }
+    /**
+     * 搜索栏目的seo信息
+     * @return array
+     */
+    public function getWebsiteCategoryHead()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'catid' =>'required|integer'
+            ], 
+            [
+                'catid.required' => 'id不能为空'
+            ]
+        ) ;
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $data = $requireData;
+        $data['website_id'] = Context::get("SiteId");
+        $result = $this->websiteServiceClient->getWebsiteCategoryHead($data);
+        if ($result['code']!= ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]); 
+        }else{
+            return Result::success($result['data']);
+         }
+
+    }
+    /**
+     * 搜索某个导航
+     * @return array
+     */
+    public function getOneWebsiteCategory()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'catid' =>'required|integer'
+            ], 
+            [
+                'catid.required' => 'catid不能为空'
+            ]
+        ) ;
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $data = [
+            'category_id' => $requireData['catid'],
+            'website_id' => Context::get("SiteId")
+        ];
+        $result = $this->websiteServiceClient->getOneWebsiteCategory($data);
+        if ($result['code']!= ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]); 
+        }else{
+            return Result::success($result['data']);
+         }
+
+    }
+    /**
+     * 获取网站调查问卷
+     */
+    public function getWebsiteSurvey()
+    {
+        $requireData = $this->request->all();
+        if(isset($requireData['art_id'])){
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'art_id' =>'required|integer'
+                ],
+                [
+                    'art_id.required' => 'id不能为空',
+                    'art_id.integer' => 'id必须为整数'
+                ]
+            ); 
+            if ($validator->fails()){
+                $errorMessage = $validator->errors()->first();
+                return Result::error($errorMessage);
+            }
+            $data['art_id'] = $requireData['art_id'];
+        }
+        $data['website_id'] =  Context::get("SiteId");
+        // return Result::success($data);
+        $result = $this->newsServiceClient->getWebsiteSurvey($data);
+        if ($result['code']!= ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]);
+        }else{
+            return Result::success($result['data']);
+        }
+
+    }
+    /*
+     * 添加网站调查问卷选项
+     * 
+     * */
+    public function addWebsiteSurveyOption()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'sur_id' =>'required',
+                'choice_name' =>'required|string|max:30',
+            ],
+            [
+                'sur_id.required' => '问卷id不能为空',
+                'choice_name.required' => '选项名称不能为空',
+                'choice_name.string' => '选项名称必须为字符串',
+                'choice_name.max' => '选项名称不能超过30个字符',
+            ]
+        );
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $data = [
+            'website_id' => Context::get("SiteId"),
+            'sur_id' => $requireData['sur_id'],
+            'choice_name' => $requireData['choice_name'],
+        ];
+        $result = $this->newsServiceClient->addWebsiteSurveyOption($data);
+        if ($result['code']!= ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]);
+        }else{
+            return Result::success($result['data']);
+        }
+    }
+    /*
+     * 调查问卷-投票
+     * 
+     * */
+    public function addWebsiteSurveyVote()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'sur_id' =>'required',
+                'choice_id' =>'required',
+            ],
+            [
+                'sur_id.required' => '问卷id不能为空',
+                'choice_id.required' => '选项名称不能为空'
+            ]
+        );
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        if(is_array($requireData['choice_id'])){
+            // return Result::error('选项名称必须为数组');
+            // $$requireData['choice_id'] = json_encode($requireData['choice_id']); 
+            // return Result::success($requireData['choice_id']);
+        }
+        $data = [
+            'website_id' => Context::get("SiteId"),
+            'sur_id' => $requireData['sur_id'],
+            'choice_id' => $requireData['choice_id']
+        ];
+        // return Result::success($data);
+        $result = $this->newsServiceClient->addWebsiteSurveyVote($data);
+        if ($result['code']!= ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]);
+        }else{
+            return Result::success($result['data']);
+        }
+    }
 }

+ 52 - 1
app/JsonRpc/NewsService.php

@@ -168,7 +168,6 @@ class NewsService extends AbstractServiceClient implements NewsServiceInterface
         return $this->__request(__FUNCTION__, $data);
     }
   
-    
     //20250226  产品列表
     //20250306  求职信息    
     public function getJobHuntingList(array $data){
@@ -188,4 +187,56 @@ class NewsService extends AbstractServiceClient implements NewsServiceInterface
         return $this->__request(__FUNCTION__, $data);
     }
     //20250306  求职信息    
+   
+    
+
+    /**
+     * @param array $data
+     * @return array|mixed
+     */
+    public function checkCategoryName(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    
+    /**
+     * @param array $data
+     * @return array
+     */
+    public function getWebsiteArticleList(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+     /**
+     * @param array $data
+     * @return array
+     */
+    public function selectWebsiteArticleInfo(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteSurvey(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function addWebsiteSurveyOption(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function addWebsiteSurveyVote(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
 }

+ 32 - 0
app/JsonRpc/NewsServiceInterface.php

@@ -77,6 +77,38 @@ interface NewsServiceInterface
      */
     public function upArticleStatus(array $data);
 
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteArticleList(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function selectWebsiteArticleInfo(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteSurvey(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function addWebsiteSurveyOption(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function addWebsiteSurveyVote(array $data);
+
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function checkCategoryName(array $data);
+
     //20250226  产品列表
     public function getGoodList(array $data);
     public function getGoodInfo(array $data);

+ 8 - 0
app/JsonRpc/OrderService.php

@@ -147,4 +147,12 @@ class OrderService extends AbstractServiceClient implements OrderServiceInterfac
     {
         return $this->__request(__FUNCTION__, $data);
     }
+    /**
+     * 
+     * @return mixed
+     */
+    public function getAdSize()
+    {
+        return $this->__request(__FUNCTION__, []);
+    }
 }

+ 4 - 0
app/JsonRpc/OrderServiceInterface.php

@@ -85,4 +85,8 @@ interface OrderServiceInterface
      * @param array $data
      */
     public function delShoppingCartAD(array $data);
+    /**
+     * @return mixed
+     */
+    public function getAdSize();
 }

+ 13 - 0
app/JsonRpc/PublicRpcService.php

@@ -221,6 +221,7 @@ class PublicRpcService extends AbstractServiceClient implements PublicRpcService
     {
         return $this->__request(__FUNCTION__, $data);
     }
+
     public function getTemplateList(array $data)
     {
         return $this->__request(__FUNCTION__, $data);
@@ -290,4 +291,16 @@ class PublicRpcService extends AbstractServiceClient implements PublicRpcService
     {
         return $this->__request(__FUNCTION__, $data);
     }
+    public function getBuckets(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+        /**
+         * @param array $data
+         * @return array|mixed
+         */
+        public function uploadFile(array $data)
+        {
+            return $this->__request(__FUNCTION__, $data);
+        }
 }

+ 15 - 0
app/JsonRpc/PublicRpcServiceInterface.php

@@ -129,6 +129,7 @@ interface PublicRpcServiceInterface
      *
      */
     public function modZhinengbumen(array $data);
+
     public function getTemplateClass(array $data);
     public function getTemplateList(array $data);
     public function getTemplateInfo(array $data);
@@ -147,4 +148,18 @@ interface PublicRpcServiceInterface
     public function updateComponent(array $data);
     public function getWebsiteTemplateList(array $data);
     public function getWebsiteTemplateInfo(array $data);
+
+
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getBuckets(array $data);
+
+        /**
+         * @param array $data
+         * @return mixed
+         */
+        public function uploadFile(array $data);
+
 }

+ 8 - 0
app/JsonRpc/UserService.php

@@ -173,4 +173,12 @@ class UserService extends AbstractServiceClient implements UserServiceInterface
     public function updateUserAvatarNickname(array $data){
         return $this->__request(__FUNCTION__, $data); 
     }
+
+    /**
+     * @param array $data
+     * @return array|mixed
+     */
+    public function getWebsiteGroupInfo(array $data){
+        return $this->__request(__FUNCTION__, $data);
+    }
 }

+ 6 - 0
app/JsonRpc/UserServiceInterface.php

@@ -114,4 +114,10 @@ interface UserServiceInterface
     public function resetPassword(array $data);
     public function updateUserAvatarNickname(array $data);
 
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteGroupInfo(array $data);
+
 }

+ 69 - 4
app/JsonRpc/WebsiteService.php

@@ -209,10 +209,12 @@ class WebsiteService extends AbstractServiceClient implements WebsiteServiceInte
     {
         return $this->__request(__FUNCTION__, $data);
     }
+
     /**
      * @param array $data
      * @return array|mixed
      */
+
     public function getWebsiteAdvertisement(array $data)
     {
         return $this->__request(__FUNCTION__, $data);
@@ -222,22 +224,27 @@ class WebsiteService extends AbstractServiceClient implements WebsiteServiceInte
      * @param array $data
      * @return array|mixed
      */
+
     public function selectWebsiteDepartment(array $data)
     {
         return $this->__request(__FUNCTION__, $data);
     }
+
     /**
      * @param array $data
      * @return mixed
      */
+
     public function selectWebsiteArea(array $data)
     {
         return $this->__request(__FUNCTION__, $data);
     }
+
     /**
      * @param array $data
      * @return mixed
      */
+
     public function getWebsiteModelCategory(array $data)
     {
         return $this->__request(__FUNCTION__, $data);
@@ -247,6 +254,7 @@ class WebsiteService extends AbstractServiceClient implements WebsiteServiceInte
      * @param array $data
      * @return mixed
      */
+
     public function selectWebsiteLinks(array $data)
     {
         return $this->__request(__FUNCTION__, $data);
@@ -255,10 +263,6 @@ class WebsiteService extends AbstractServiceClient implements WebsiteServiceInte
 
 
 
-
-
-
-
     /**
      * @param array $data
      * @return array|mixed
@@ -488,6 +492,67 @@ class WebsiteService extends AbstractServiceClient implements WebsiteServiceInte
     {
         return $this->__request(__FUNCTION__, $data);
     }
+    
+
+
+    
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteFootInfo(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+     /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteFooterCategory(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteFooterCategoryList(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+     /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteFooterCategoryInfo(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+     /**
+     * @param array $data
+     * @return mixed
+     */
+    public function selectWebsiteCategory(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+     /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteCategoryHead(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getOneWebsiteCategory(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    
 
     //20250212  网站标识
     public function addWebsiteGroup(array $data)

+ 45 - 0
app/JsonRpc/WebsiteServiceInterface.php

@@ -123,6 +123,7 @@ interface WebsiteServiceInterface
      * @param array $data
      * @return mixed
      */
+
     public function getWebsiteId(array $data);
 
     /**
@@ -130,6 +131,7 @@ interface WebsiteServiceInterface
      * @return mixed
      *
      */
+
     public function getWebsiteCategory(array $data);
 
     /**
@@ -137,6 +139,7 @@ interface WebsiteServiceInterface
      * @return mixed
      *
      */
+
     public function getWebsiteAdvertisement(array $data);
 
     /**
@@ -144,18 +147,23 @@ interface WebsiteServiceInterface
      * @return mixed
      *
      */
+
     public function selectWebsiteDepartment(array $data);
+
     /**
      * @param array $data
      * @return mixed
      *
      */
+
     public function selectWebsiteArea(array $data);
+
     /**
      * @param array $data
      * @return mixed
      *
      */
+
     public function getWebsiteModelCategory(array $data);
 
     /**
@@ -163,6 +171,7 @@ interface WebsiteServiceInterface
      * @return mixed
      *
      */
+
     public function selectWebsiteLinks(array $data);
 
     /**
@@ -321,6 +330,42 @@ interface WebsiteServiceInterface
      */
     public function addWebsiteTemplateclassintel(array $data);
 
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteFootInfo(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteFooterCategory(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteFooterCategoryList(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteFooterCategoryInfo(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function selectWebsiteCategory(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteCategoryHead(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getOneWebsiteCategory(array $data);
+
     //20250212  网站标识
     public function addWebsiteGroup(array $data);
     public function getWebsiteGroupList(array $data);

+ 26 - 2
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'][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']);

+ 95 - 0
app/Middleware/Auth/PublicMiddleware.php

@@ -0,0 +1,95 @@
+<?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 PublicMiddleware 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['userurl']) && $header['userurl'][0]!='null' && isset($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' => '网站不存在...',
+                        ]
+                    );
+                }
+//                var_dump($result['data']);
+                // var_dump("获取站点id:",$result);
+                Context::set("SiteId",$result['data']['id']);
+                if($result['data']['id']==1){
+                    Context::set("SiteId",0);
+                }
+
+                if ($result) {
+                    return $handler->handle($request);
+                }
+            }else{
+                return $this->response->json(
+                    [
+                        'code' => -1,
+                        'data' => [],
+                        'message' => 'userurl:必填',
+                    ]
+                );
+            }
+
+        }catch (\Exception $e){
+//            var_dump("错误消息:",$e->getMessage(),$e->getCode());
+            return $this->response->json(
+                [
+                    'code' => $e->getCode(),
+                    'data' => [],
+                    'message' => 'userurl必填:'.$e->getMessage(),
+                ]
+            );
+        }
+        return false;
+    }
+}

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

@@ -52,7 +52,7 @@ class WebMiddleware implements MiddlewareInterface
                 // var_dump("222:",$data);
                 $result = $this->websiteServiceClient->getWebsiteId($data);
                 // var_dump("3333333:",$result);
-                if(!isset($result['data']['id']) || !$result['data']['id']){
+                if($result['code']==0 || !isset($result['data']['id']) || !$result['data']['id']){
                     return $this->response->json(
                         [
                             'code' => -1,

+ 30 - 0
app/Model/UserToken.php

@@ -0,0 +1,30 @@
+<?php
+
+declare(strict_types=1);
+
+namespace App\Model;
+
+use Hyperf\DbConnection\Model\Model;
+
+/**
+ */
+class UserToken extends Model
+{
+    /**
+     * The table associated with the model.
+     */
+    protected ?string $table = 'user_token';
+
+    /**
+     * The attributes that are mass assignable.
+     */
+    protected array $fillable = [
+        'user_id', // 添加 user_id 到 fillable 属性
+        'token',
+    ];
+
+    /**
+     * The attributes that should be cast to native types.
+     */
+    protected array $casts = [];
+}

+ 8 - 2
config/api/login.php

@@ -2,8 +2,14 @@
 
 declare (strict_types = 1);
 use Hyperf\HttpServer\Router\Router;
-Router::post('/api/login', 'App\Controller\LoginController@login');
-Router::post('/api/checkVerifyCode', 'App\Controller\LoginController@checkVerifyCode');
+Router::addGroup(
+    '/api', function () {
+        Router::post('/login', 'App\Controller\LoginController@login');
+    },
+    ['middleware' => [\App\Middleware\Auth\PublicMiddleware::class]]
+);
 
+Router::post('/api/checkVerifyCode', 'App\Controller\LoginController@checkVerifyCode');
+Router::addRoute(['GET', 'POST'], '/getverifyCode', 'App\Controller\IndexController@getverifyCode');
 Router::post('/api/registerOrLogin', 'App\Controller\LoginController@registerOrLogin');
 Router::post('/api/getToken', 'App\Controller\LoginController@getToken');

+ 5 - 0
config/api/news.php

@@ -34,6 +34,11 @@ Router::addGroup(
         Router::get('/getArticleInfo', [NewsController::class, 'getArticleInfo']);
         //获取导航池信息
         Router::get('/getCategoryInfo', [NewsController::class, 'getCategoryInfo']);
+         //前端-获取资讯列表
+         Router::get('/getWebsiteArticleList', [NewsController::class, 'getWebsiteArticleList']);
+        //检测导航池名称是否存在
+        Router::post('/checkCategoryName', [NewsController::class, 'checkCategoryName']);
+
 
         //20250226  产品列表
         Router::post('/getGoodList', [NewsController::class, 'getGoodList']);

+ 2 - 1
config/api/order.php

@@ -62,7 +62,8 @@ Router::addGroup(
         Router::post('/addShoppingCartAD', [OrderController::class, 'addShoppingCartAD']);
         //删除购物车中的广告位
         Router::post('/delShoppingCartAD', [OrderController::class, 'delShoppingCartAD']);
-
+        //获取广告位的尺寸
+        Router::post('/getAdSize', [OrderController::class, 'getAdSize']);
 
     },
     ['middleware' => [FooMiddleware::class]]

+ 2 - 2
config/api/public.php

@@ -12,7 +12,7 @@ Router::addGroup(
     '/public', function () {
         Router::get('/getDistrictList', [PublicController::class, 'getDistrictList']);
         Router::get('/getUserLevelList', [PublicController::class, 'getUserLevelList']);
-        Router::post('/uploadFile', [PublicController::class, 'uploadFile']);
+//        Router::post('/uploadFile', [PublicController::class, 'uploadFile']);
         Router::post('/addUserLevel', [PublicController::class, 'addUserLevel']);
         Router::post('/delUserLevel', [PublicController::class, 'delUserLevel']);
         Router::post('/updateUserLevel', [PublicController::class, 'updateUserLevel']);
@@ -83,6 +83,6 @@ Router::addGroup(
 
         Router::post('/buckets', [MinioController::class, 'listBuckets']);
 
-        Router::post('/uploadFiles', [MinioController::class, 'uploadFiles']);
+        Router::post('/uploadFile', [MinioController::class, 'uploadFiles']);
     }
 );

+ 21 - 1
config/api/web.php

@@ -15,10 +15,30 @@ Router::addGroup(
                 Router::get('/getWebsiteArticlett', [WebController::class, 'getWebsiteArticlett']);
                 Router::get('/getWebsiteModelArticles', [WebController::class, 'getWebsiteModelArticles']);
                 Router::get('/getWebsiteModelCategory', [WebController::class, 'getWebsiteModelCategory']);
-                Router::get('/getWebsiteArticlesList', [WebController::class, 'getWebsiteArticlesList']);
+                Router::get('/getWebsiteArticleList', [WebController::class, 'getWebsiteArticleList']);
                 Router::get('/selectWebsiteArticleInfo', [WebController::class, 'selectWebsiteArticleInfo']);
 
                 Router::get('/selectWebsiteLinks', [WebController::class, 'selectWebsiteLinks']);
+                // 获取网站底部基础信息
+                Router::get('/getWebsiteFootInfo', [WebController::class, 'getWebsiteFootInfo']);
+                // 获取网站底部导航
+                Router::get('/getWebsiteFooterCategory', [WebController::class, 'getWebsiteFooterCategory']);
+                // 获取网站底部导航列表
+                Router::get('/getWebsiteFooterCategoryList', [WebController::class, 'getWebsiteFooterCategoryList']);
+                // 获取网站底部导航内容
+                Router::get('/getWebsiteFooterCategoryInfo', [WebController::class, 'getWebsiteFooterCategoryInfo']);
+                // 搜索网站二级导航
+                Router::get('/selectWebsiteCategory', [WebController::class, 'selectWebsiteCategory']);
+                // 搜索网站二级导航-seo列表页
+                Router::get('/getWebsiteCategoryHead', [WebController::class, 'getWebsiteCategoryHead']);
+                //获取某个栏目
+                Router::get('/getOneWebsiteCategory', [WebController::class, 'getOneWebsiteCategory']);
+                //获取调查问卷
+                Router::get('/getWebsiteSurvey', [WebController::class, 'getWebsiteSurvey']);
+                // 添加调查问卷选项
+                Router::get('/addWebsiteSurveyOption', [WebController::class, 'addWebsiteSurveyOption']);
+                // 调查问卷-投票
+                Router::get('/addWebsiteSurveyVote', [WebController::class, 'addWebsiteSurveyVote']);
             },
     ['middleware' => [WebMiddleware::class]]
 );

+ 1 - 1
config/autoload/services.php

@@ -48,7 +48,7 @@ return [
             ],
             'settings' => [
                 'open_length_check' => true,
-                'package_max_length' => 1024 * 1024, // 最大包长度
+                'package_max_length' => 15 * 1024 * 1024, // 最大包长度
                 'package_length_type' => 'N',
                 'package_body_offset' => 8,
                 'package_length_offset' => 4,