|
@@ -51,21 +51,31 @@ class ClientService implements ClientServiceInterface
|
|
|
public function indexData(array $data): array
|
|
|
{
|
|
|
$time1 = microtime(true);
|
|
|
- $data = json_decode($data['template'], true);
|
|
|
- $wetbsite_id = $data['base']['website_id'] ?? 2;
|
|
|
+ // 调整获取方式
|
|
|
+ // 根据网站id获取,从website_template中获取 website_template
|
|
|
+ $website_id = $data['website_id'] ?? 2;
|
|
|
+ var_dump("网站id:", $website_id);
|
|
|
+ $template = Db::table('website_template')->where('website_id', $website_id)->first();
|
|
|
+ var_dump("模板:", $template);
|
|
|
+ $template = $template->template_data;
|
|
|
+ $data = json_decode($template, true);
|
|
|
+
|
|
|
+ // $data = json_decode($data['template'], true);
|
|
|
+ // $website_id = $data['base']['website_id'] ?? 2;
|
|
|
+
|
|
|
//设置缓存
|
|
|
- $websiteInfoCacheKey = "awebsite:category:{$wetbsite_id}";
|
|
|
+ $websiteInfoCacheKey = "awebsite:category:{$website_id}";
|
|
|
$websiteInfo = $this->redis->get($websiteInfoCacheKey); //false;
|
|
|
if ($websiteInfo === false) {
|
|
|
// Redis 中没有缓存,从数据库中查询
|
|
|
- $websiteInfo = Db::table('website_category')->where('website_id', $wetbsite_id)->get()->toArray();
|
|
|
+ $websiteInfo = Db::table('website_category')->where('website_id', $website_id)->get()->toArray();
|
|
|
// 将查询结果存入 Redis,设置缓存时间为 3600 秒(1 小时)
|
|
|
$this->redis->setex($websiteInfoCacheKey, 3600, json_encode($websiteInfo));
|
|
|
} else {
|
|
|
// 从 Redis 中获取的数据需要反序列化
|
|
|
$websiteInfo = json_decode($websiteInfo, true);
|
|
|
}
|
|
|
- $websiteInfo = Db::table('website_category')->where('website_id', $wetbsite_id)->get()->toArray();
|
|
|
+ $websiteInfo = Db::table('website_category')->where('website_id', $website_id)->get()->toArray();
|
|
|
//取出website
|
|
|
var_dump($websiteInfo, 'websiteInfo');
|
|
|
//取出category_id 对应的数据
|
|
@@ -92,7 +102,8 @@ class ClientService implements ClientServiceInterface
|
|
|
$websiteInfoIndexed[$value->category_id]->pinyin = $pinyin_str;
|
|
|
// 算出一级 并且算出子级
|
|
|
if ($value->pid == 0) {
|
|
|
- // $cat_1st_arr[$value->category_id] = [];
|
|
|
+ if (empty($cat_1st_arr[$value->category_id]))
|
|
|
+ $cat_1st_arr[$value->category_id] = [];
|
|
|
} else {
|
|
|
if ($value->pid == 11) {
|
|
|
var_dump($value->category_id, 'value->category_id');
|
|
@@ -100,14 +111,16 @@ class ClientService implements ClientServiceInterface
|
|
|
$cat_1st_arr[$value->pid][] = $value->category_id;
|
|
|
}
|
|
|
}
|
|
|
+ var_dump($cat_1st_arr, 'cat_1st_arr');
|
|
|
$time2 = microtime(true);
|
|
|
$time_ = ($time2 - $time1);
|
|
|
var_dump($time2, $time1, $time_, '返回路由需要多少时间');
|
|
|
|
|
|
//获取
|
|
|
- $getpage = $data['base']['getpage'] ?? 'index';
|
|
|
-
|
|
|
+ // $getpage = $data['base']['getpage'] ?? 'index';
|
|
|
+ $getpage = $data['getpage'] ?? 'index';
|
|
|
|
|
|
+ var_dump($getpage, 'leixing ');
|
|
|
// index = 首页
|
|
|
// class = 频道页
|
|
|
// list = 列表页
|
|
@@ -117,7 +130,7 @@ class ClientService implements ClientServiceInterface
|
|
|
// aboutArticle = 底部导航详情页
|
|
|
// return $cat_1st_arr;
|
|
|
// return $cat_1st_arr;
|
|
|
- var_dump($cat_1st_arr[11], 'cat_1st_arr'); //一级所有子级的记录
|
|
|
+ // var_dump($cat_1st_arr[11], 'cat_1st_arr'); //一级所有子级的记录
|
|
|
// var_dump($catiall, 'catiall');//拼音
|
|
|
$templateData = [];
|
|
|
switch ($getpage) {
|
|
@@ -130,29 +143,31 @@ class ClientService implements ClientServiceInterface
|
|
|
$componentData = $value['componentData'];
|
|
|
// $page = $componentData['page'];
|
|
|
// $pageSize = $componentData['pageSize'];
|
|
|
- $listType = $componentData['listType'];
|
|
|
+ // $listType = $componentData['listType'];
|
|
|
|
|
|
- $category_id = $componentData['category_id'];
|
|
|
- $imgSize = $componentData['imgSize'];
|
|
|
- $textSize = $componentData['textSize'];
|
|
|
- $level = $componentData['level'];
|
|
|
- $child = $componentData['child'];
|
|
|
+ $category_id = $componentData['category_id'] ?? $categoryIds[0]; //此处应该有值
|
|
|
+ $imgSize = $componentData['imgSize'] ?? 1;
|
|
|
+ $textSize = $componentData['textSize'] ?? 1;
|
|
|
+ $level = $componentData['level'] ?? 1;
|
|
|
+ $child = $componentData['child'] ?? [];
|
|
|
//获取子级
|
|
|
if ($child) {
|
|
|
}
|
|
|
- $child_id = $child['id'];
|
|
|
- $child_imgSize = $child['imgSize'];
|
|
|
- $child_textSize = $child['textSize'];
|
|
|
+ $child_id = $child['id'] ?? $categoryIds[0];
|
|
|
+ $child_imgSize = $child['imgSize'] ?? 1;
|
|
|
+ $child_textSize = $child['textSize'] ?? 1;
|
|
|
|
|
|
// 拼音就是路由----
|
|
|
- unset($listType['pinyin']);
|
|
|
+ // unset($listType['pinyin']);
|
|
|
//查询查询数据,返回到data字段里,根据这几个
|
|
|
if ($category_id > 0) {
|
|
|
+ var_dump($category_id, '------------------category_id');
|
|
|
+ var_dump($cat_1st_arr, '-----------1-------2');
|
|
|
// 第一次查询:imgurl 不为空的数据
|
|
|
$imgArticles = Db::table('article')
|
|
|
- ->leftJoin('article_ignore', function ($join) use ($wetbsite_id) {
|
|
|
+ ->leftJoin('article_ignore', function ($join) use ($website_id) {
|
|
|
$join->on('article.id', '=', 'article_ignore.article_id')
|
|
|
- ->where('article_ignore.website_id', '=', $wetbsite_id);
|
|
|
+ ->where('article_ignore.website_id', '=', $website_id);
|
|
|
})
|
|
|
->whereNull('article_ignore.article_id')
|
|
|
// ->whereIn('catid', [$category_id])
|
|
@@ -161,7 +176,7 @@ class ClientService implements ClientServiceInterface
|
|
|
->whereNotNull('imgurl')
|
|
|
|
|
|
// ignore_ids 是空 或者[],或者不存在website_id的数据 json
|
|
|
- // ->where('ignore_ids', 'not like', '%' . $wetbsite_id . '%')
|
|
|
+ // ->where('ignore_ids', 'not like', '%' . $website_id . '%')
|
|
|
->where('imgurl', '!=', '')
|
|
|
->limit($imgSize)
|
|
|
->orderBy('updated_at', 'desc')
|
|
@@ -177,7 +192,7 @@ class ClientService implements ClientServiceInterface
|
|
|
// ->whereIn('catid', [$category_id])
|
|
|
->whereIn('catid', $temp_arr = array_merge([$category_id], $cat_1st_arr[$category_id]))
|
|
|
->where('status', 1)
|
|
|
- // ->where('ignore_ids', 'not like', '%' . $wetbsite_id . '%')
|
|
|
+ // ->where('ignore_ids', 'not like', '%' . $website_id . '%')
|
|
|
// ->whereNull('imgurl')
|
|
|
->limit($textSize)
|
|
|
->orderBy('updated_at', 'desc')
|