Prechádzať zdrojové kódy

组装模板数据60%

15313670163 4 mesiacov pred
rodič
commit
505ce65a4e
1 zmenil súbory, kde vykonal 47 pridanie a 29 odobranie
  1. 47 29
      app/JsonRpc/PublicRpcService.php

+ 47 - 29
app/JsonRpc/PublicRpcService.php

@@ -2934,12 +2934,14 @@ class PublicRpcService implements PublicRpcServiceInterface
             $component_data = $item->component_data;
             $component_data = $item->component_data;
             $component_column = $item->component_column;
             $component_column = $item->component_column;
             $component_type = $item->type_id;
             $component_type = $item->type_id;
+            $component_ad = $item->ad;
             if (!isset($groupedResults[$sectorId])) {
             if (!isset($groupedResults[$sectorId])) {
                 $groupedResults[$sectorId] = [];
                 $groupedResults[$sectorId] = [];
             }
             }
             $componentData = !empty($component_data) && is_string($component_data) ? json_decode($component_data, true) : [];
             $componentData = !empty($component_data) && is_string($component_data) ? json_decode($component_data, true) : [];
             $component_listtype = !empty($component_column) && is_string($component_column) ? json_decode($component_column, true) : [];
             $component_listtype = !empty($component_column) && is_string($component_column) ? json_decode($component_column, true) : [];
             $component_code = !empty($component_code) && is_string($component_code) ? json_decode($component_code, true) : [];
             $component_code = !empty($component_code) && is_string($component_code) ? json_decode($component_code, true) : [];
+            $component_ad = !empty($component_ad) && is_string($component_ad) ? json_decode($component_ad, true) : [];
             // 确保 $componentData['componentData'] 是数组,避免 array_push 传入 null
             // 确保 $componentData['componentData'] 是数组,避免 array_push 传入 null
             if (!isset($componentData['componentData']) || !is_array($componentData['componentData']) ) {
             if (!isset($componentData['componentData']) || !is_array($componentData['componentData']) ) {
                 $componentData['componentData'] = [];
                 $componentData['componentData'] = [];
@@ -2950,14 +2952,13 @@ class PublicRpcService implements PublicRpcServiceInterface
                 // $component_list[$key]['listType'] = $component_listtype;
                 // $component_list[$key]['listType'] = $component_listtype;
             // }
             // }
              $sort_id = intval($sortId-1);
              $sort_id = intval($sortId-1);
-            
             if(!isset($groupedResults[$sectorId][$sort_id])) {
             if(!isset($groupedResults[$sectorId][$sort_id])) {
                 // $groupedResults[$sectorId][$sortId] = [];
                 // $groupedResults[$sectorId][$sortId] = [];
                 $com_key = 0;
                 $com_key = 0;
                     $groupedResults[$sectorId][$sort_id][$com_key] = [
                     $groupedResults[$sectorId][$sort_id][$com_key] = [
-                    'component_id' => $item->component_type,
+                    'component_type' => $item->component_type,
                     'type_id' => $component_type,
                     'type_id' => $component_type,
-                    'sort_id' => $sortId,
+                    'sort' => $sortId,
                     'images'  =>   [
                     'images'  =>   [
                                 'img_name' => $item->img_name,
                                 'img_name' => $item->img_name,
                                 'img_id' => $item->img_id,
                                 'img_id' => $item->img_id,
@@ -2970,10 +2971,10 @@ class PublicRpcService implements PublicRpcServiceInterface
                 if(isset($com_key)){
                 if(isset($com_key)){
                     $com_key++;
                     $com_key++;
                 }
                 }
-                if((isset($component_ids) && in_array($componentId,$component_ids))){
-                    if(isset($img_arr)){
+                if((isset($component_ids) && in_array($componentId,$component_ids)) && isset($img_arr)){
+                    // if(isset($img_arr)){
                         $img_arr++;
                         $img_arr++;
-                    }
+                    // }
                     $groupedResults[$sectorId][$sort_id][$com_key]['images'][$img_arr] = [
                     $groupedResults[$sectorId][$sort_id][$com_key]['images'][$img_arr] = [
                         'img_name' => $item->img_name,
                         'img_name' => $item->img_name,
                         'img_id' => $item->img_id,
                         'img_id' => $item->img_id,
@@ -2984,7 +2985,7 @@ class PublicRpcService implements PublicRpcServiceInterface
                     $groupedResults[$sectorId][$sort_id][$com_key] = [
                     $groupedResults[$sectorId][$sort_id][$com_key] = [
                         'component_type' => $item->component_type,
                         'component_type' => $item->component_type,
                         'type_id' => $component_type,
                         'type_id' => $component_type,
-                        'sort_id' => $sortId,
+                        'sort' => $sortId,
 
 
                         'images' => 
                         'images' => 
                         [$img_arr =>
                         [$img_arr =>
@@ -2999,8 +3000,19 @@ class PublicRpcService implements PublicRpcServiceInterface
                 }
                 }
 
 
             }
             }
+            // 组件分类:1.头条资讯;2.轮播图资讯;3.推荐图;4.最新资讯;5.推荐资讯;6.热点资讯;7.栏目资讯;8.列表类;9.详情类;
+            // 10.二级导航类;11.广告类;12.静态类;13.单页导航类;14.资讯广告混合类;15.滚动图文类;16.搜索框类;17.单页列表类;18.单页详情类;
              if (is_scalar($sectorId) && is_scalar($sort_id)) {
              if (is_scalar($sectorId) && is_scalar($sort_id)) {
-                $groupedResults[(int)$sectorId][(int)$sort_id][$com_key]['componentData'] = $component_code['componentData'];
+                if(!in_array($component_type,[10,12,16])){
+                    if($component_type == 15){
+                        $groupedResults[(int)$sectorId][(int)$sort_id][$com_key]['ad'] = $component_ad;
+                    }else{
+                        $groupedResults[(int)$sectorId][(int)$sort_id][$com_key]['componentData'] = $component_code['componentData'];
+                    }
+
+                }else{
+                    $groupedResults[(int)$sectorId][(int)$sort_id][$com_key]['componentData'] = [];
+                }
             } else {
             } else {
                 // 处理非法键类型的情况,可根据实际需求修改错误处理逻辑
                 // 处理非法键类型的情况,可根据实际需求修改错误处理逻辑
                 trigger_error('Illegal offset type for $sectorId or $sort_id', E_USER_WARNING);
                 trigger_error('Illegal offset type for $sectorId or $sort_id', E_USER_WARNING);
@@ -3012,20 +3024,15 @@ class PublicRpcService implements PublicRpcServiceInterface
         // return $groupedResults;
         // return $groupedResults;
 
 
         $result = [];
         $result = [];
-        $sector = [
-            0 => $sector[0],
-            1 => $sector[1],
-            2 => $sector[2],
-        ];
         // return  $sectors;
         // return  $sectors;
         foreach ($sector as $key => $value) {
         foreach ($sector as $key => $value) {
             // array_push($value['sort_id'],$key);
             // array_push($value['sort_id'],$key);
-           
-            $sector_id_ = $value['sector_id'];
+            
+            // $sector_id_ = $value['sector_id'];
             $sectorid = $value['id'];
             $sectorid = $value['id'];
-            $sectors[$key][$sector_id_] = [
-                'sectorName' => $value['sector_name'],
-                'sectorHeight' => $value['pic_height'],
+            $template_data[$key] = [
+                'sectorName' => $value['sector_id'],
+                'sort' => $key+1,
             ]; 
             ]; 
             // $sector_key[$key] = array_keys($value );
             // $sector_key[$key] = array_keys($value );
             $sector_component = [];
             $sector_component = [];
@@ -3037,33 +3044,44 @@ class PublicRpcService implements PublicRpcServiceInterface
                 }else{
                 }else{
                     $selectedComponentId = 0;
                     $selectedComponentId = 0;
                 }
                 }
-                $Component = $components[$selectedComponentId];
+                // $Component = $components[$selectedComponentId];
+                $Component['component_type'] = $components[$selectedComponentId]['component_type'];
+                $Component['sort'] = $components[$selectedComponentId]['sort'];
                 // 通栏某一位置的随机组件样式图
                 // 通栏某一位置的随机组件样式图
                 // 检查 $Component['images'] 是否存在且为数组
                 // 检查 $Component['images'] 是否存在且为数组
-                if (isset($Component['images']) && is_array($Component['images'])) {
-                    $images = count($Component['images']);
+                if (isset($components[$selectedComponentId]['images']) && is_array($components[$selectedComponentId]['images'])) {
+                    $images = count($components[$selectedComponentId]['images']);
                     $selectedImage = 0;
                     $selectedImage = 0;
                     if ($images > 1) {
                     if ($images > 1) {
                         $selectedImage = rand(0, $images - 1);
                         $selectedImage = rand(0, $images - 1);
                     }
                     }
-                    if (isset($Component['images'][$selectedImage])) {
-                        $Component['images'] = is_object($Component['images'][$selectedImage]) ? $Component['images'][$selectedImage]->img_id : $Component['images'][$selectedImage]['img_id'];
+                    if (isset($components[$selectedComponentId]['images'][$selectedImage])) {
+                        $Component['component_style'] = is_object($components[$selectedComponentId]['images'][$selectedImage]) ? $components[$selectedComponentId]['images'][$selectedImage]->img_id : $components[$selectedComponentId]['images'][$selectedImage]['img_id'];
                     }
                     }
                 }
                 }
-                if($data['page'] == 1 && in_array($Component['type_id'],[7,14,15])){
+                $Component['componentData'] = $components[$selectedComponentId]['componentData'];
+                if($data['page'] == 1 && in_array($components[$selectedComponentId]['type_id'],[7,14,15])){
                     $Component['componentData']['name'] = '请选择栏目';
                     $Component['componentData']['name'] = '请选择栏目';
                 }
                 }
-                
-                // $image[$sortId] = $components[$selectedComponentId]['images'][$selectedImage]['img_id'];
-                // $Component['component_type'] = $Component['images'][$selectedImage]['img_id'];
+                if($data['page'] == 2 && in_array($components[$selectedComponentId]['type_id'],[7,14,15])){
+                    $Component['componentData']['name'] = '自动生成';
+                }
+                if($components[$selectedComponentId]['type_id'] == 11){
+                   $template_data[$key]['ad'] = $components[$selectedComponentId]['componentData']['ad'];
+                   $Component['componentData'] = [];
+                }
+                if($components[$selectedComponentId]['type_id'] == 15){
+                   $template_data[$key]['ad'] = $components[$selectedComponentId]['ad'];
+                //    $components[$selectedComponentId]['componentData'] = [];
+                }
                 $sector_component[$sortId] = $Component;
                 $sector_component[$sortId] = $Component;
                 // var_dump("image",$image);
                 // var_dump("image",$image);
             }
             }
-            $sectors[$key][$sector_id_]['componentList'] = $sector_component;
+            $template_data[$key]['componentList'] = $sector_component;
             // $page['template'][$key][$sector_key]['componentData'] = $result[$sectorId];
             // $page['template'][$key][$sector_key]['componentData'] = $result[$sectorId];
         }
         }
         
         
-        return $sectors;
+        return $template_data;
     }
     }
     public function getPageCode($sector,$page){
     public function getPageCode($sector,$page){
         if(empty($sector)){
         if(empty($sector)){