Переглянути джерело

Merge branch '20241224_lj_avator' of https://gitee.com/zxt_5/admin_consumer into 20241224_lj_avator

AI 3 місяців тому
батько
коміт
defa3075b3

+ 1 - 1
app/Controller/AbstractController.php

@@ -29,7 +29,7 @@ abstract class AbstractController
 
     #[Inject]
     protected ResponseInterface $response;
-
+    
     
     /**
      * @var LoggerInterface

+ 409 - 0
app/Controller/FooterController.php

@@ -0,0 +1,409 @@
+<?php
+
+declare(strict_types=1);
+namespace App\Controller;
+
+use App\JsonRpc\FooterServiceInterface;
+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;
+/**
+ * Class FooterController
+ * @package App\Controller
+ */
+
+class FooterController extends AbstractController
+{
+    #[Inject]
+    protected ValidatorFactoryInterface $validationFactory;
+
+    /**
+     * @var FooterServiceInterface
+    */
+
+    #[Inject]
+    private $footerServiceClient;
+     /**
+     * 获取底部导航
+     * @return array
+     */
+    public function getFooterCategory()
+    {
+        $requireData = $this->request->all();
+        if(isset($requireData['website_name'])){
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'website_name' =>'required'
+                ],
+                [
+                    'website_name.required' => '网站名称不能为空'
+                ]
+            );
+            if ($validator->fails()){
+                $errorMessage = $validator->errors()->first();
+                return Result::error($errorMessage);
+            }
+            $data['website_name'] = $requireData['website_name'];
+        }
+        if(isset($requireData['name'])){
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'name' =>'required'
+                ],
+                [
+                    'name.required' => '底部导航名称不能为空'
+                ]
+            );
+            if ($validator->fails()){
+                $errorMessage = $validator->errors()->first();
+                return Result::error($errorMessage);
+            }
+            $data['name'] = $requireData['name'];
+        }
+        $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['page'] = $requireData['page'];
+        $data['pageSize'] = $requireData['pageSize'];
+        // var_dump($data);
+        $result = $this->footerServiceClient->getFooterCategory($data);
+        if ($result['code'] != ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]);
+        }else{
+            return Result::success($result['data']);
+        }
+        
+    }
+    /**
+     * 添加底部导航
+     * @return array
+     */
+    public function addFooterCategory()
+    {
+        $requireData = $this->request->all();
+        if(!empty($requireData)){
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'website_id' =>'required',
+                    'name' =>'required',
+                    'type' =>'required'
+                ],
+                [
+                    'website_id.required' => '网站id不能为空',
+                    'name.required' => '底部导航名称不能为空',
+                    'type.required' => '底部导航类型不能为空'
+                ]
+            );
+            if ($validator->fails()){
+                $errorMessage = $validator->errors()->first();
+                return Result::error($errorMessage);
+            }
+            $data = $requireData;
+        }else{
+           $data = []; 
+        }
+        $result = $this->footerServiceClient->addFooterCategory($data);
+        if ($result['code'] != ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]);
+        }else{
+            return Result::success($result['data']);
+        }
+    }
+    /**
+     * 修改底部导航
+     * @return array
+     */
+    public function upFooterCategory()
+    {
+        $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);
+        }
+        if(isset($requireData['name'])){
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'name' =>'required' 
+                ],
+                [
+                    'name.required' => '底部导航名称不能为空'
+                ]
+            );
+            if ($validator->fails()){
+                $errorMessage = $validator->errors()->first();
+                return Result::error($errorMessage);
+            }
+            $data['name'] = $requireData['name'];
+        }
+        if(isset($requireData['website_id'])){
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'website_id' =>'required'
+                ],
+                [
+                    'website_id.required' => '网站id不能为空'
+                ]
+            );
+            if ($validator->fails()){
+                $errorMessage = $validator->errors()->first();
+                return Result::error($errorMessage);
+            }
+             $data['website_id'] = $requireData['website_id'];
+        }
+       
+        $data['id'] = $requireData['id'];
+        // var_dump($data);
+        $result = $this->footerServiceClient->upFooterCategory($data);
+        if ($result['code'] != ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]);
+        }else{
+            return Result::success($result['data']);
+        }        
+    }    
+     /**
+     * 删除底部导航
+     * @return array
+     */
+    public function delFooterCategory()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' =>'required'
+            ],
+            [
+                'id.required' => '底部导航id不能为空'
+            ]
+        );
+        $data['id'] = $requireData['id'];
+        if($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->footerServiceClient->delFooterCategory($data);
+        if ($result['code']!= ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]);
+        }else{
+            return Result::success($result['data']);
+        }
+    }
+     /**
+     * 添加底部导航(列表)内容
+     * @return array
+     */
+    public function addFooterContent()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'type' =>'required',
+                'fcat_id' =>'required',
+                'con_title' =>'required',
+                'content' =>'required'
+            ],
+            [
+                'type.required' => '底部导航类型不能为空',
+                'fcat_id.required' => '底部导航id不能为空',
+                'con_title.required' => '内容标题不能为空',
+                'content.required' => '内容不能为空'
+            ]
+        );
+        
+        if($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $data['type'] = $requireData['type'];
+        $data['fcat_id'] = $requireData['fcat_id'];
+        $data['con_title'] = $requireData['con_title'];
+        $data['content'] = $requireData['content'];
+        if($data['type'] == 1){
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'list_title' =>'required'
+                ],
+                [
+                    'list_title.required' => '列表标题不能为空'
+                ]
+            );
+            if ($validator->fails()){
+                $errorMessage = $validator->errors()->first();
+                return Result::error($errorMessage);
+            }
+            $data['list_title'] = $requireData['list_title'];
+        }
+        // var_dump($data);
+        $result = $this->footerServiceClient->addFooterContent($data);
+        if ($result['code']!= ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]);
+        }else{
+            return Result::success($result['data']);
+        }
+    }
+     /**
+     * 获取并搜索底部导航(列表)内容
+     * @return array
+     */
+    public function getFooterContent()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'fcat_id' =>'required',
+                'page' =>'required',
+                'pageSize' =>'required'
+            ],
+            [
+                'fcat_id.required' => '底部导航类型不能为空',
+                'page.required' => '第几页不能为空',
+                'pageSize.required' => '每页显示数量不能为空'
+            ]
+        );
+        if($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        if(isset($requireData['con_title'])){
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'con_title' =>'required'
+                ],
+                [
+                    'con_title.required' => '内容标题不能为空'
+                ]
+            );
+            if($validator->fails()){
+                $errorMessage = $validator->errors()->first();
+                return Result::error($errorMessage);
+            }
+            $data['con_title'] = $requireData['con_title'];
+        }
+        
+        $data['fcat_id'] = $requireData['fcat_id'];
+        $data['page'] = $requireData['page'];
+        $data['pageSize'] = $requireData['pageSize'];
+        $result = $this->footerServiceClient->getFooterContent($data);
+        if ($result['code']!= ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]);
+        }else{
+            return Result::success($result['data']);
+        }
+    }
+     /**
+     * 修改底部导航(列表)内容
+     * @return array
+     */
+    public function upFooterContent()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' =>'required',
+                'type' =>'required',
+                'con_title' =>'required',
+                'content' =>'required'
+            ],
+            [
+                'id.required' => '底部导航内容id不能为空',
+                'type.required' => '底部导航类型不能为空',
+                'con_title.required' => '内容标题不能为空',
+                'content.required' => '内容不能为空'
+            ]
+        );
+        if($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $data['id'] = $requireData['id'];
+        $data['type'] = $requireData['type'];
+        $data['con_title'] = $requireData['con_title'];
+        $data['content'] = $requireData['content'];
+        if($data['type'] == 1){
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'list_title' =>'required'
+                ],
+                [
+                    'list_title.required' => '列表标题不能为空'
+                ]
+            );
+            if ($validator->fails()){
+                $errorMessage = $validator->errors()->first();
+                return Result::error($errorMessage);
+            }
+            $data['list_title'] = $requireData['list_title'];
+        }
+        // var_dump($data);
+        $result = $this->footerServiceClient->upFooterContent($data);
+        if ($result['code']!= ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]);
+        }else{
+            return Result::success($result['data']);
+        }
+    }
+     /**
+     * 删除底部导航(列表)内容
+     * @return array
+     */
+    public function delFooterContent()
+    {
+        $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);
+        }
+        $data['id'] = $requireData['id'];
+        // var_dump($data);
+        $result = $this->footerServiceClient->delFooterContent($data);
+        if ($result['code']!= ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]);
+        }else{
+            return Result::success($result['data']);
+        }
+    }
+}

+ 467 - 7
app/Controller/PublicController.php

@@ -80,7 +80,6 @@ class PublicController extends AbstractController
             return Result::success($data, '上传成功');
         } catch (\Exception $e) {
             return Result::error($e->getMessage());
-
         }
     }
     /**
@@ -621,19 +620,480 @@ class PublicController extends AbstractController
             return Result::error($errorMessage);
         }
         $requireData['user_id'] = Context::get("UserId");
-        $result = $this->publicServiceClient->upZhinengbumen($requireData);
+        $result = $this->publicServiceClient->modZhinengbumen($requireData);
         return $result['code'] == 200 ? Result::success() : Result::error("修改失败");
     }
-
     /**
-     * 获取所有的职能部门
+     * 获取风格名称
+     * @return array
+     */
+    public function getTemplateClass()
+    {
+        $requireData = $this->request->all();
+        // 参数验证
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                // 'type' => 'required|integer',
+            ],
+            [
+                // 'type.required' => 'type 不能为空',
+                // 'type.integer' => 'type 必须是整数',
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->getTemplateClass($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error("查询失败");
+    }
+    /**
+     * 获取风格列表
+     * @return array
+     */
+    public function getTemplateList()
+    {
+      
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'page' => 'required|integer|min:1',
+                'page_size' => 'required|integer|min:1',
+                'template_name' => 'string|nullable',
+            ],
+            [
+                'page.required' => 'page 不能为空',
+                'page.integer' => 'page 必须是整数',
+                'page.min' => 'page 必须大于等于 1',
+                'page_size.required' => 'page_size 不能为空',
+                'page_size.integer' => 'page_size 必须是整数',
+                'page_size.min' => 'page_size 必须大于等于 1',
+                'template_name.string' => 'template_name 必须是字符串',
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->getTemplateList($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error("查询失败");
+    }
+    /**
+     * 获取风格详情
      * @return array
      */
-    public function getAllDepartment()
+    public function getTemplateInfo()
     {
-        $result = $this->publicServiceClient->getDepartment([]);
-        $result['data'] = PublicData::buildMenuTree($result['data']);
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' => 'required|integer',
+            ],
+            [
+                'id.required' => 'id 不能为空',
+                'id.integer' => 'id 必须是整数',
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->getTemplateInfo($requireData);
         return $result['code'] == 200 ? Result::success($result['data']) : Result::error("查询失败");
     }
+    /**
+     * 删除模板
+     */
+    
+     public function delTemplate()
+    {
+        
+        $requireData = $this->request->all();
+        var_dump($requireData);
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' => 'required|integer',
+            ],
+            [
+                'id.required' => 'id 不能为空',
+                'id.integer' => 'id 必须是整数',
+            ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->delTemplate($requireData);
+       
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    /**
+     * 更新模板
+     */
+    public function updateTemplate()
+    {
+       
+        $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);
+        }
+       
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->updateTemplate($requireData);
+        var_dump($result,'1001010');
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    /**
+     * 新增风格
+     */
+    public function addTemplate()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make($requireData, [
+            'template_name' => 'required',
+            'template_class_id' => 'required',
+            'template_img' => 'required',
+        ],
+        [   
+            'template_name.required' => '请输入模板名称',
+            'template_class_id.required' => '请选择模板分类',
+            'template_img.required' => '请上传模板图片',
+        ]
+        );
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->addTemplate($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    /**
+     * 新增板块
+     */
+    public function addSector()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                // 'id' => 'required|integer',
+                'template_id'=>'required|integer',
+                'sector_name'=>'required|string',
+                'sector_code'=>'required|string',
+                'page_type'=>'required|integer',
+                'sector_img'=>'required|string',
+            ],
+            [
+                // 'id.required' => 'id 不能为空',
+                // 'id.integer' => 'id 必须是整数',
+                'template_id.required' => '模板id 不能为空',
+                'template_id.integer' => '模板id 必须是整数',
+                'sector_name.required' => '板块名称 不能为空',
+                'sector_name.string' => '板块名称 必须是字符串',
+                'sector_code.required' => '板块代码 不能为空',
+                'sector_code.string' => '板块代码 必须是字符串',
+            ]
+        );
+         if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->addSector($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    /**
+     * 获取板块信息
+     */
+    public function getSectorInfo()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' => 'required|integer',
+            ],
+            [
+                'id.required' => 'id 不能为空',
+                'id.integer' => 'id 必须是整数',
+            ]
+        );
+         if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->getSectorInfo($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    /**
+     * 添加板块
+     */
+    public function delSector()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' => 'required|integer',
+            ],
+            [
+                'id.required' => 'id 不能为空',
+                'id.integer' => 'id 必须是整数',
+            ]
+        );
+         if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->delSector($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    /**
+     * 更新板块
+     */
+    public function updateSector()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' => 'required|integer',
+            ],
+            [
+                'id.required' => 'id 不能为空',
+                'id.integer' => 'id 必须是整数',
+            ]
+        );
+         if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->updateSector($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    /**
+     * 获取板块信息列表
+     */
+    public function getSectorList(){
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'page' => 'required|integer|min:1',
+                'page_size' => 'required|integer|min:1',
+            ],
+            [
+                'page.required' => 'page 不能为空',
+                'page.integer' => 'page 必须是整数',
+                'page.min' => 'page 必须大于等于 1',
+                'page_size.required' => 'page_size 不能为空',
+                'page_size.integer' => 'page_size 必须是整数',
+                'page_size.min' => 'page_size 必须大于等于 1',
+            ]
+        );
+         if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->getSectorList($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    /*
+    * 获取板块列表
+    */
+    public function getComponentInfo()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' => 'required|integer',
+            ],
+            [
+                'id.required' => 'id 不能为空',
+                'id.integer' => 'id 必须是整数',
+            ]
+        );
+         if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->getComponentInfo($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    /**
+     * 删除板块
+     */
+    public function delComponent()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' => 'required|integer',
+            ],
+            [
+                'id.required' => 'id 不能为空',
+                'id.integer' => 'id 必须是整数',
+            ]
+        );
+         if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->delComponent($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    public function addComponent()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'template_id' => 'required|integer',
+                'sector_id' => 'required|integer',
+                'component_name' => 'required|string',
+                'component_img' => 'required|string',
+                'component_code' => 'required|string',
+            ],
+            [
+                'template_id.required' => 'template_id 不能为空',
+                'template_id.integer' => 'template_id 必须是整数',
+                'sector_id.required' => 'sector_id 不能为空',
+                'sector_id.integer' => 'sector_id 必须是整数',
+                'component_name.required' => 'component_name 不能为空',
+                'component_name.string' => 'component_name 必须是字符串',
+                'component_type.required' => 'component_type 不能为空',
+                'component_type.integer' => 'component_type 必须是整数',
+            ]
+        );
+         if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        // $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->addComponent($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    public function getComponentList()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'page' => 'required|integer|min:1',
+                'page_size' => 'required|integer|min:1',
+            ],
+            [
+                'page.required' => 'page 不能为空',
+                'page.integer' => 'page 必须是整数',
+                'page.min' => 'page 必须大于等于 1',
+                'page_size.required' => 'page_size 不能为空',
+                'page_size.integer' => 'page_size 必须是整数',
+                'page_size.min' => 'page_size 必须大于等于 1',
+            ]
+        );
+         if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->getComponentList($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    public function updateComponent()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' => 'required|integer',
+            ],
+            [
+                'id.required' => 'id 不能为空',
+                'id.integer' => 'id 必须是整数',
+            ]
+        );
+         if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        // $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->updateComponent($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+    public function getWebsiteTemplateList()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'page' => 'required|integer|min:1',
+                'page_size' => 'required|integer|min:1',
+            ],
+            [
+                'page.required' => 'page 不能为空',
+                'page.integer' => 'page 必须是整数',
+                'page.min' => 'page 必须大于等于 1',
+                'page_size.required' => 'page_size 不能为空',
+                'page_size.integer' => 'page_size 必须是整数',
+                'page_size.min' => 'page_size 必须大于等于 1',
+            ]
+        );
+         if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->getWebsiteTemplateList($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+
+    public function getWebsiteTemplateInfo()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' => 'required|integer',
+            ],
+            [
+                'id.required' => 'id 不能为空',
+                'id.integer' => 'id 必须是整数',
+            ]
+        );
+         if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->getWebsiteTemplateInfo($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
 }
 

+ 34 - 1
app/Controller/UserController.php

@@ -475,7 +475,40 @@ class UserController extends AbstractController
          }
          return Result::success($result['data']);
      }
-
+     /**
+      * 修改用户头像和昵称
+      * @return array
+     */
+    public function  updateUserAvatarNickname()
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                // 'nickname' =>'required',
+                'avatar' =>'required',
+                // 'real_name'=>'required',
+            ],
+            [
+                'avatar.required' => '头像不能为空',
+            ]
+        );
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] =Context::get("UserId");
+        //过滤掉除user_id,nickname,avatar外的数据
+        $requireData = array_filter($requireData,function($key){
+            return in_array($key,['user_id','nickname','avatar','real_name']);
+        },ARRAY_FILTER_USE_KEY);    
+        var_dump($requireData);
+        $result =  $this->userServiceClient->updateUserAvatarNickname($requireData);
+        if ($result['code'] != ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]);
+        }
+        return Result::success($result['data']);
+    }
 
 
 

+ 234 - 0
app/Controller/WebsiteController.php

@@ -1069,5 +1069,239 @@ class WebsiteController extends AbstractController
         $result = $this->websiteServiceClient->checkWebsiteUrl($requireData);
         return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
     }
+    /**
+     * 搜索并获取网站模板信息
+     * @return array
+     */
+    public function getWebsiteTemplateintel()
+
+    {
+        $requireData = $this->request->all();
+        if(isset($requireData['website_name'])){
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'website_name' =>'required'
+                ],
+                [
+                    'website_name.required' => '网站名称不能为空'
+                ]
+            );
+            if ($validator->fails()){
+                $errorMessage = $validator->errors()->first();
+                return Result::error($errorMessage);
+            }
+        }
+        if(isset($requireData['status'])){
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'status' =>'required'
+                ],
+                [
+                    'status.required' => '网站应用状态不能为空'
+                ]
+            );
+            if ($validator->fails()){
+                $errorMessage = $validator->errors()->first();
+                return Result::error($errorMessage);
+            }
+
+        }
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'page' =>'required',
+                'pageSize' =>'required'
+            ],
+            [
+                'page.required' => '第几页不能为空',
+                'pageSize.required' => '每页显示条数不能为空'
+            ]
+        );
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->websiteServiceClient->getWebsiteTemplateintel($requireData);
+        return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
+
+
+    }
+
+      /**
+     * 添加网站基础信息
+     * @return array
+     */
+
+    public function addWebsiteTemplateintel()
+
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'website_id' =>'required'
+            ],
+            [
+                'website_id.required' => '网站id不能为空',
+            ]
+        );
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $websiteIdKey = ['website_id' => '']; // 创建一个只包含 website_id 键的数组
+        $diff = array_diff_key($requireData, $websiteIdKey); // 获取 $requireData 中除了 website_id 以外的其他键值对
+        if(!empty($diff)){
+            
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'page_type' =>'required|array|min:2',
+                    'statement' =>'required',
+                    'organizer' =>'required',
+                    'copyright_information' =>'required',
+                    'project_logo' =>'required',
+                    'record_number' =>'required',
+                    'record_number_url' =>'required',
+                    'icp_number' =>'required',
+                    'icp_number_url' =>'required',
+                    'customer_service_qq' =>'required',
+                    'communications' =>'required'
+                ],
+                [
+                    'page_type.required' => '页面类型不能为空',
+                    'page_type.array' => '页面类型必须是数组',
+                    'page_type.min' => '页面类型至少有两个元素',
+                    'statement.required' => '网站声明不能为空',
+                    'organizer.required' => '主办单位不能为空',
+                    'copyright_information.required' => '版权信息不能为空',
+                    'project_logo.required' => '项目logo不能为空',
+                    'record_number.required' => '网安备案号不能为空',
+                    'record_number_url.required' => '网安备案号链接不能为空',
+                    'icp_number.required' => '网站备案号不能为空',
+                    'icp_number_url.required' => '网站备案号链接不能为空',
+                    'customer_service_qq.required' => '客服qq不能为空',
+                    'communications.required' => '通联qq不能为空'
+                ]
+            );
+            if ($validator->fails()){
+                $errorMessage = $validator->errors()->first();
+                return Result::error($errorMessage);
+            }
+        }
+        $result = $this->websiteServiceClient->addWebsiteTemplateintel($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+
+    }
+
+      /**
+     * 获取所有风格
+     * @return array
+     */
+
+    public function getAllTemplateClass()
+
+    {
+        $requireData = $this->request->all();
+        $result = $this->websiteServiceClient->getAllTemplateClass($requireData);
+        return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
+
+    }
+
+    /**
+     * 获取网站模板信息
+     * @return array
+     */
+
+    public function getWebsiteTemplateList()
+
+    {
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'website_id' =>'required'
+            ],
+            [
+                'website_id.required' => '网站id不能为空'
+            ]
+        );
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+            if(isset($requireData['template_class_id'])){
+                $validator = $this->validationFactory->make(
+                    $requireData,
+                    [
+                        'template_class_id' =>'required'
+                    ],
+                    [
+                        'template_class_id.required' => '模板分类id不能为空',
+                    ]
+                );
+                if ($validator->fails()){
+                    $errorMessage = $validator->errors()->first();
+                    return Result::error($errorMessage);
+                }
+            }
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'page_type' =>'required|array|min:2',
+                    'page' =>'required',
+                    'pageSize' =>'required'
+                ],
+                [
+                    'page_type.required' => '页面类型不能为空',
+                    'page_type.array' => '页面类型必须是数组',
+                    'page_type.min' => '页面类型至少有两个元素',
+                    'page.required' => '第几页不能为空',
+                    'pageSize.required' => '每页显示条数不能为空'
+                ]
+            );
+            if ($validator->fails()){
+                $errorMessage = $validator->errors()->first();
+                return Result::error($errorMessage);
+            }
+        // var_dump($requireData);
+        $result = $this->websiteServiceClient->getWebsiteTemplateList($requireData);
+        return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
+
+    }
+
+    /**
+     * 添加网站模板信息
+     * @return array
+     */
+
+    public function addWebsiteTemplateclassintel()
+
+    {
+        $requireData = $this->request->all();
+        // var_dump($requireData);
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'template_id' =>'required',
+                'website_id' =>'required'
+            ],
+            [
+                'template_id.required' => '模板分类id不能为空',
+                'website_id.required' => '网站id不能为空'
+            ]
+        );
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+      
+        $result = $this->websiteServiceClient->addWebsiteTemplateclassintel($requireData);
+        return $result['code']==200?Result::success($result['data']):Result::error($result['message']);
+        
+    }
+
 
 }

+ 85 - 0
app/JsonRpc/FooterService.php

@@ -0,0 +1,85 @@
+<?php
+
+namespace App\JsonRpc;
+
+use Hyperf\RpcClient\AbstractServiceClient;
+
+class FooterService extends AbstractServiceClient implements FooterServiceInterface
+{
+    /**
+     * 定义对应服务提供者的服务名称
+     * @var string
+     */
+    protected string $serviceName = 'FooterService';
+    /**
+     * 定义对应服务提供者的服务协议
+     * @var string
+     */
+    protected string $protocol = 'jsonrpc-http';
+
+
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getFooterCategory(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function addFooterCategory(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function upFooterCategory(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function delFooterCategory(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getFooterContent(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function addFooterContent(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function upFooterContent(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function delFooterContent(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+}

+ 39 - 0
app/JsonRpc/FooterServiceInterface.php

@@ -0,0 +1,39 @@
+<?php
+
+namespace App\JsonRpc;
+interface FooterServiceInterface
+{
+
+    /**
+     * @param array $data
+     */
+    public function getFooterCategory(array $data);
+     /**
+     * @param array $data
+     */
+    public function addFooterCategory(array $data);
+     /**
+     * @param array $data
+     */
+    public function upFooterCategory(array $data);
+     /**
+     * @param array $data
+     */
+    public function delFooterCategory(array $data);
+     /**
+     * @param array $data
+     */
+    public function getFooterContent(array $data);
+     /**
+     * @param array $data
+     */
+    public function addFooterContent(array $data);
+     /**
+     * @param array $data
+     */
+    public function upFooterContent(array $data);
+     /**
+     * @param array $data
+     */
+    public function delFooterContent(array $data);
+}

+ 67 - 12
app/JsonRpc/PublicRpcService.php

@@ -217,21 +217,76 @@ class PublicRpcService extends AbstractServiceClient implements PublicRpcService
     {
         return $this->__request(__FUNCTION__, $data);
     }
-
-    /**
-     * @param array $data
-     * @return array|mixed
-     */
-    public function getBuckets(array $data)
+    public function getTemplateClass(array $data)
     {
         return $this->__request(__FUNCTION__, $data);
     }
-
-    /**
-     * @param array $data
-     * @return array|mixed
-     */
-    public function uploadFile(array $data)
+    public function getTemplateList(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function getTemplateInfo(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function addTemplate(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function delTemplate(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function updateTemplate(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function getSectorList(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    
+    public function getSectorInfo(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function addSector(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function delSector(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function updateSector(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function getComponentList(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function getComponentInfo(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function addComponent(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function delComponent(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function updateComponent(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function getWebsiteTemplateList(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    public function getWebsiteTemplateInfo(array $data)
     {
         return $this->__request(__FUNCTION__, $data);
     }

+ 20 - 14
app/JsonRpc/PublicRpcServiceInterface.php

@@ -124,21 +124,27 @@ interface PublicRpcServiceInterface
      * @param array $data
      * @return mixed
      */
-    public function delZhinengbumen(array $data); 
+    public function delZhinengbumen(array $data);
     /**
-     * 
+     *
      */
     public function modZhinengbumen(array $data);
-
-    /**
-     * @param array $data
-     * @return mixed
-     */
-    public function getBuckets(array $data);
-
-    /**
-     * @param array $data
-     * @return mixed
-     */
-    public function uploadFile(array $data);
+    public function getTemplateClass(array $data);
+    public function getTemplateList(array $data);
+    public function getTemplateInfo(array $data);
+    public function addTemplate(array $data);
+    public function delTemplate(array $data);
+    public function updateTemplate(array $data);
+    public function getSectorList(array $data);
+    public function getSectorInfo(array $data);
+    public function addSector(array $data);
+    public function delSector(array $data);
+    public function updateSector(array $data);
+    public function getComponentList(array $data);
+    public function getComponentInfo(array $data);
+    public function addComponent(array $data);
+    public function delComponent(array $data);
+    public function updateComponent(array $data);
+    public function getWebsiteTemplateList(array $data);
+    public function getWebsiteTemplateInfo(array $data);
 }

+ 7 - 0
app/JsonRpc/UserService.php

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

+ 3 - 3
app/JsonRpc/UserServiceInterface.php

@@ -49,8 +49,7 @@ interface UserServiceInterface
      * @param int $id
      * @return array
      */
-    public function  delUser(int $id);
-
+    public function delUser(int $id);
 
     /**
      * 添加角色
@@ -113,5 +112,6 @@ interface UserServiceInterface
      * @return mixed
      */
     public function resetPassword(array $data);
+    public function updateUserAvatarNickname(array $data);
 
-}
+}

+ 41 - 1
app/JsonRpc/WebsiteService.php

@@ -448,5 +448,45 @@ class WebsiteService extends AbstractServiceClient implements WebsiteServiceInte
     {
         return $this->__request(__FUNCTION__, $data);
     }
-
+     /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteTemplateintel(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+     /**
+     * @param array $data
+     * @return mixed
+     */
+    public function addWebsiteTemplateintel(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }    
+    /**
+     *@param array $data
+     * @return mixed
+     */
+    public function getAllTemplateClass(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteTemplateList(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function addWebsiteTemplateclassintel(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    
 }

+ 31 - 0
app/JsonRpc/WebsiteServiceInterface.php

@@ -305,5 +305,36 @@ interface WebsiteServiceInterface
      * @return mixed
      */
     public function checkWebsiteUrl(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     *
+     */
+    public function getWebsiteTemplateintel(array $data);
+    /** 
+    * @param array $data
+    * @return mixed
+    *
+    */
+   public function addWebsiteTemplateintel(array $data);
+    /** 
+    * @param array $data
+    * @return mixed
+    *
+    */
+    public function getAllTemplateClass(array $data);
+     /** 
+    * @param array $data
+    * @return mixed
+    *
+    */
+    public function getWebsiteTemplateList(array $data);
+   /** 
+    * @param array $data
+    * @return mixed
+    *
+    */
+    public function addWebsiteTemplateclassintel(array $data);
+    
 
 }

+ 30 - 0
config/api/footer.php

@@ -0,0 +1,30 @@
+<?php
+
+declare(strict_types=1);
+
+use App\Controller\FooterController;
+use Hyperf\HttpServer\Router\Router;
+use App\Middleware\Auth\FooMiddleware;
+Router::addGroup(
+    '/footer', function () {
+        /**获取并搜索底部导航 */
+        Router::post('/getFooterCategory', [FooterController::class, 'getFooterCategory']);
+        /**创建底部导航 */
+        Router::post('/addFooterCategory', [FooterController::class, 'addFooterCategory']);
+        /**修改底部导航 */
+        Router::post('/upFooterCategory', [FooterController::class, 'upFooterCategory']);
+         /**删除底部导航 */
+        Router::post('/delFooterCategory', [FooterController::class, 'delFooterCategory']);
+        
+
+        /**获取并搜索底部导航(列表)内容 */
+        Router::post('/getFooterContent', [FooterController::class, 'getFooterContent']);
+        /**添加底部导航(列表)内容 */
+        Router::post('/addFooterContent', [FooterController::class, 'addFooterContent']);
+        /**修改底部导航(列表)内容 */
+        Router::post('/upFooterContent', [FooterController::class, 'upFooterContent']);
+        /**删除底部导航(列表)内容 */
+        Router::post('/delFooterContent', [FooterController::class, 'delFooterContent']);
+    },
+    ['middleware' => [FooMiddleware::class]]
+);

+ 28 - 6
config/api/public.php

@@ -20,21 +20,20 @@ Router::addGroup(
         //添加投诉举报
         Router::post('/addComplaint', [PublicController::class, 'addComplaint']);
 
-
         //修改投诉举报
-        Router::addRoute(['GET', 'POST'],'/upComplaint', [PublicController::class, 'upComplaint']);
+        Router::addRoute(['GET', 'POST'], '/upComplaint', [PublicController::class, 'upComplaint']);
         //投诉举报列表
-        Router::addRoute(['GET', 'POST'],'/getComplaint', [PublicController::class, 'getComplaint']);
+        Router::addRoute(['GET', 'POST'], '/getComplaint', [PublicController::class, 'getComplaint']);
         //查看投诉举报信息
-        Router::addRoute(['GET', 'POST'],'/getLetterOfComplaintInfo', [PublicController::class, 'getLetterOfComplaintInfo']);
+        Router::addRoute(['GET', 'POST'], '/getLetterOfComplaintInfo', [PublicController::class, 'getLetterOfComplaintInfo']);
         //删除投诉举报信息
 
         Router::post('/delLetterOfComplaint', [PublicController::class, 'delLetterOfComplaint']);
 
         //下载文件
-        Router::addRoute(['GET', 'POST'],'/downloadFile', [PublicController::class, 'downloadFile']);
+        Router::addRoute(['GET', 'POST'], '/downloadFile', [PublicController::class, 'downloadFile']);
         //检测是否已经被审核
-        Router::addRoute(['GET', 'POST'],'/checkMeasure', [PublicController::class, 'checkMeasure']);
+        Router::addRoute(['GET', 'POST'], '/checkMeasure', [PublicController::class, 'checkMeasure']);
         //获取职能部门
         Router::get('/getDepartment', [PublicController::class, 'getDepartment']);
 
@@ -46,6 +45,29 @@ Router::addGroup(
         Router::post('/modZhinengbumen', [PublicController::class, 'modZhinengbumen']);
         Router::post('/getPidZhinengbumen', [PublicController::class, 'getPidZhinengbumen']);
 
+        //获取风格名称
+        Router::post('/getTemplateClass', [PublicController::class, 'getTemplateClass']);
+        //获取风格列表
+        Router::post('/getTemplateList', [PublicController::class, 'getTemplateList']);
+        Router::post('/addTemplate', [PublicController::class, 'addTemplate']);
+        Router::post('/getTemplateInfo', [PublicController::class, 'getTemplateInfo']);
+        Router::post('/delTemplate', [PublicController::class, 'delTemplate']);
+        Router::post('/updateTemplate', [PublicController::class, 'updateTemplate']);
+        //获取板块
+        Router::post('/addSector', [PublicController::class, 'addSector']);
+        Router::post('/getSectorList', [PublicController::class, 'getSectorList']);
+        Router::post('/delSector', [PublicController::class, 'delSector']);
+        Router::post('/updateSector', [PublicController::class, 'updateSector']);
+        Router::post('/getSectorInfo', [PublicController::class, 'getSectorInfo']);
+        //获取组件
+        Router::post('/addComponent', [PublicController::class, 'addComponent']);
+        Router::post('/getComponentList', [PublicController::class, 'getComponentList']);
+        Router::post('/delComponent', [PublicController::class, 'delComponent']);
+        Router::post('/updateComponent', [PublicController::class, 'updateComponent']);
+        Router::post('/getComponentInfo', [PublicController::class, 'getComponentInfo']);
+        //获取搭建列表
+        Router::post('/getWebsiteTemplateList', [PublicController::class, 'getWebsiteTemplateList']);
+        Router::post('/getWebsiteTemplateInfo', [PublicController::class, 'getWebsiteTemplateInfo']);
     },
     ['middleware' => [FooMiddleware::class]]
 );

+ 2 - 1
config/api/user.php

@@ -32,7 +32,8 @@ Router::addGroup(
         Router::post('/upUserStatus', [UserController::class, 'upUserStatus']);
         //重置密码
         Router::post('/resetPassword', [UserController::class, 'resetPassword']);
-        Router::post('/getToken', [UserController::class, 'getToken']);
+        //修改用户头像和昵称
+        Router::post('/updateUserAvatarNickname', [UserController::class, 'updateUserAvatarNickname']);
 
     },
     ['middleware' => [FooMiddleware::class]]

+ 10 - 1
config/api/website.php

@@ -80,7 +80,16 @@ Router::addGroup(
         //检测域名是否被重复解析
         Router::post('/checkWebsiteUrl', [WebsiteController::class, 'checkWebsiteUrl']);
 
-
+        //获取并搜索网站
+        Router::post('/getWebsiteTemplateintel', [WebsiteController::class, 'getWebsiteTemplateintel']);
+        //搭建网站基础信息
+        Router::post('/addWebsiteTemplateintel', [WebsiteController::class, 'addWebsiteTemplateintel']);
+        //获取网站所有风格
+        Router::post('/getAllTemplateClass', [WebsiteController::class, 'getAllTemplateClass']);
+        //获取网站模板列表
+        Router::post('/getWebsiteTemplateList', [WebsiteController::class, 'getWebsiteTemplateList']);
+        //添加网站选择风格
+        Router::post('/addWebsiteTemplateclassintel', [WebsiteController::class, 'addWebsiteTemplateclassintel']);
     },
     ['middleware' => [FooMiddleware::class]]
 );

+ 16 - 7
config/autoload/services.php

@@ -56,16 +56,16 @@ return [
             ],
             'options' => [
                 'connect_timeout' => 50.0, // 连接超时时间,单位为秒
-                'read_timeout' => 100.0,   // 读取超时时间,单位为秒
-                'write_timeout' => 100.0,  // 写入超时时间,单位为秒
+                'read_timeout' => 100.0, // 读取超时时间,单位为秒
+                'write_timeout' => 100.0, // 写入超时时间,单位为秒
             ],
             'pool' => [
                 'min_connections' => 1,
                 'max_connections' => 30,
                 'connect_timeout' => 100.0, // 连接池连接超时时间,单位为秒
-                'wait_timeout' => 30.0,     // 等待连接池可用连接的超时时间,单位为秒
-                'heartbeat' => -1,         // 心跳检测间隔,-1 表示禁用心跳检测
-                'max_idle_time' => 60.0,   // 连接的最大空闲时间,单位为秒
+                'wait_timeout' => 30.0, // 等待连接池可用连接的超时时间,单位为秒
+                'heartbeat' => -1, // 心跳检测间隔,-1 表示禁用心跳检测
+                'max_idle_time' => 60.0, // 连接的最大空闲时间,单位为秒
             ],
         ],
         [
@@ -87,7 +87,7 @@ return [
             ],
         ],
         [
-            //友情链接服务
+            //商圈服务
             'name' => 'ChatService',
             'service' => \App\JsonRpc\ChatServiceInterface::class,
             // 直接对指定的节点进行消费,通过下面的 nodes 参数来配置服务提供者的节点信息
@@ -105,7 +105,7 @@ return [
             ],
         ],
         [
-            //采集服务
+            //采集服务
             'name' => 'CollectorService',
             'service' => \App\JsonRpc\CollectorServiceInterface::class,
 
@@ -114,5 +114,14 @@ return [
                 ['host' => '127.0.0.1', 'port' => 9509],
             ],
         ],
+        [
+            //底部导航服务
+            'name' => 'FooterService',
+            'service' => \App\JsonRpc\FooterServiceInterface::class,
+            // 直接对指定的节点进行消费,通过下面的 nodes 参数来配置服务提供者的节点信息
+            'nodes' => [
+                ['host' => '127.0.0.1', 'port' => 9502],
+            ],
+        ],
     ],
 ];

+ 1 - 0
config/routes.php

@@ -36,4 +36,5 @@ require __DIR__ . '/api/website.php';
 require __DIR__ . '/api/web.php';
 require __DIR__ . '/api/order.php';
 require __DIR__ . '/api/collector.php';
+require __DIR__ . '/api/footer.php';