This commit is contained in:
make
2025-04-16 09:28:31 +08:00
parent 58fc0fb50b
commit d02aac7691
10 changed files with 364 additions and 405 deletions

View File

@@ -7,6 +7,7 @@ namespace app\home\controller;
use app\home\BaseController;
use app\model\ConverterMovel;
use app\model\DomainModel;
use app\model\CategoryModel;
use app\model\NovelModel;
use storage\StorageCore;
use think\facade\View;
@@ -32,17 +33,17 @@ class Index extends BaseController
switch ($strTemplatesModel) {
case 'default':
// 默认模板 630zw
// TODO default模板h5 首页数据: 获取所有分类数据,然后 每个分类 随机获取 10个小说 ,所有分类数据 放到一个数组里, 前端一个循环渲染,排版都是一样的
$arrNovelCategory = [];
// 默认模板 630zw
// TODO default模板-h5 首页数据: 获取所有分类数据,然后 每个分类 随机获取 10个小说 ,
// 所有分类数据 放到一个数组里, 前端一个循环渲染,排版都是一样的
$arrAllCategoryNovel = [];
View::assign([
'arrNovelCategory' => $arrNovelCategory,
'arrAllCategoryNovel' => $arrAllCategoryNovel,
]);
break;
case 'kuangYu':
$strKey = sprintf('%s:H5:INDEX:ZUIJIAN:SEX:%s:%s', $Request->DomainModel->d_domain, 0, 8);
$arrNewsNovel = $NovelModel->getCommonNovelOnCache($strKey, $intTTL, 8, 0, NULL, ['og_novel_update_time' => -1]);
$strKey = sprintf('%s:H5:INDEX:RANK:%s:SEX:%s', $Request->DomainModel->d_domain, 'daily', 0);
$arrDayRankNovel = $NovelModel->getRankNovelOnCache($strKey, 10, 0, 'daily');
@@ -57,57 +58,55 @@ class Index extends BaseController
$strKey = sprintf('%s:H5:INDEX:RANK:%s:%s', $Request->DomainModel->d_domain, 'total', 'finished');
$arrEndNovelRankNovel = $NovelModel->getRankNovelOnCache($strKey, 10, 0, 'total', $strStatus);
$strHostNovelDescriptionTemplate = $Request->DomainModel->getFomartSubject('INDEX_POPULAR_NOVELS');
$strNewsNovelDescriptionTemplate = $Request->DomainModel->getFomartSubject('INDEX_NEWS_NOVELS');
$strRankNovelDescriptionTemplate = $Request->DomainModel->getFomartSubject('INDEX_RANK_NOVELS');
$strHostNovelDescription = ConverterMovel::convert($strHostNovelDescriptionTemplate);
$strNewsNovelDescription = ConverterMovel::convert($strNewsNovelDescriptionTemplate);
$strRankNovelDescription = ConverterMovel::convert($strRankNovelDescriptionTemplate);
View::assign([
'arrNewsNovel' => $arrNewsNovel,
'arrDayRankNovel' => $arrDayRankNovel,
'arrWeekRankNovel' => $arrWeekRankNovel,
'arrMoonRankNovel' => $arrMoonRankNovel,
'arrEndNovelRankNovel' => $arrEndNovelRankNovel,
'strPageCode' => 'home',
'strHostNovelDescription' => $strHostNovelDescription,
'strNewsNovelDescription' => $strNewsNovelDescription,
'strRankNovelDescription' => $strRankNovelDescription,
]);
break;
}
// 推荐等级为9的连载的 随机15个小说
// 推荐等级为9的 随机15个小说
$strKey = sprintf('%s:H5:INDEX:TUIJIAN:%s', $Request->DomainModel->d_domain, 8);
$arrRecommendNovel = $NovelModel->getCommonNovelOnCache($strKey, $intTTL, 8);
$strKey = sprintf('%s:H5:INDEX:ZUIJIAN:SEX:%s:%s', $Request->DomainModel->d_domain, 0, 8);
$arrNewsNovel = $NovelModel->getCommonNovelOnCache($strKey, $intTTL, 8, 0, NULL, ['og_novel_update_time' => -1]);
// Title 模板
ConverterMovel::setVal([
'strIndexTitle' => $this->request->DomainModel->d_index_title,
'strIndexKeywords' => $this->request->DomainModel->d_index_keywords,
'strIndexDescription' => $this->request->DomainModel->d_index_description,
]);
// $strTitle = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__));
$strTitleTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@TITLE');
$strKeywordsTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@KEYWORDS');
$strDescriptionTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@DESCRIPTION');
$strHostNovelDescriptionTemplate = $Request->DomainModel->getFomartSubject('INDEX_POPULAR_NOVELS');
$strNewsNovelDescriptionTemplate = $Request->DomainModel->getFomartSubject('INDEX_NEWS_NOVELS');
$strRankNovelDescriptionTemplate = $Request->DomainModel->getFomartSubject('INDEX_RANK_NOVELS');
$strTitle = ConverterMovel::convert($strTitleTemplate);
$strKeywords = ConverterMovel::convert($strKeywordsTemplate);
$strDescription = ConverterMovel::convert($strDescriptionTemplate);
$strHostNovelDescription = ConverterMovel::convert($strHostNovelDescriptionTemplate);
$strNewsNovelDescription = ConverterMovel::convert($strNewsNovelDescriptionTemplate);
$strRankNovelDescription = ConverterMovel::convert($strRankNovelDescriptionTemplate);
View::assign([
'arrRecommendNovel' => $arrRecommendNovel,
// 'arrNewsNovel' => $arrNewsNovel,
// 'arrDayRankNovel' => $arrDayRankNovel,
// 'arrWeekRankNovel' => $arrWeekRankNovel,
// 'arrMoonRankNovel' => $arrMoonRankNovel,
// 'arrEndNovelRankNovel' => $arrEndNovelRankNovel,
'arrNewsNovel' => $arrNewsNovel,
'strPageCode' => 'home',
'strTitle' => $strTitle,
'strKeywords' => $strKeywords,
'strDescription' => $strDescription,
'strHostNovelDescription' => $strHostNovelDescription,
'strNewsNovelDescription' => $strNewsNovelDescription,
'strRankNovelDescription' => $strRankNovelDescription,
// 'arrNovelCategory' => $arrNovelCategory,
]);
$strView = $boolIsMobile ? '' : 'pc/index';
@@ -129,48 +128,83 @@ class Index extends BaseController
$NovelModel = NovelModel::getInstance();
$strTemplatesModel = $Request->TemplatesModel->t_code;
$intRecommendSerializationNovel = 4;
$intRecommendEndNovel = 9;
switch ($strTemplatesModel) {
case 'default':
// 默认模板 630zw
// TODO 1.获取所有分类数据,
// 2.然后 每个分类 随机获取 10个小说 ,
// 3.所有分类数据 放到一个数组里, 前端一个循环渲染,排版都是一样的
$arrAllCategoryNovel = [];
// TODO 最新入库小说 随机30个
$arrNewsNovel = [];
View::assign([
'arrAllCategoryNovel' => $arrAllCategoryNovel,
'arrNewsNovel' => $arrNewsNovel,
'arrCategoryAll' => CategoryModel::$arrCategoryAll,
]);
break;
case 'kuangYu':
$intRecommendSerializationNovel = 13;
$intRecommendEndNovel = 12;
// 男生频道,最新的 随机5个小说
$strKey = sprintf('%s:PC:INDEX:ZUIJIAN:SEX:%s:%s', $Request->DomainModel->d_domain, 1, 5);
$arrBoyNewsNovel = $NovelModel->getCommonNovelOnCache($strKey, $intTTL, 5, 1, NULL, ['og_novel_update_time' => -1]);
// 男生频道,周排行榜 随机10个小说
$strKey = sprintf('%s:PC:INDEX:RANK:%s:SEX:%s', $Request->DomainModel->d_domain, 'weekly', 1);
$arrBoyWeekRankNovel = $NovelModel->getRankNovelOnCache($strKey, 5, 1, 'weekly');
// 男生频道,月排行榜 随机10个小说
$strKey = sprintf('%s:PC:INDEX:RANK:%s:SEX:%s', $Request->DomainModel->d_domain, 'monthly', 1);
$arrBoyMoonRankNovel = $NovelModel->getRankNovelOnCache($strKey, 5, 1, 'monthly');
// 男生频道,总排行榜 随机10个小说
$strKey = sprintf('%s:PC:INDEX:RANK:%s:SEX:%s', $Request->DomainModel->d_domain, 'total', 1);
$arrBoyTotalRankNovel = $NovelModel->getRankNovelOnCache($strKey, 5, 1, 'total');
// 女生频道,最新的 随机5个小说
$strKey = sprintf('%s:PC:INDEX:ZUIJIAN:SEX:%s:%s', $Request->DomainModel->d_domain, 2, 5);
$arrGirlNewsNovel = $NovelModel->getCommonNovelOnCache($strKey, $intTTL, 5, 2, NULL, ['og_novel_update_time' => -1]);
// 女生频道,周排行榜 随机10个小说
$strKey = sprintf('%s:PC:INDEX:RANK:%s:SEX:%s', $Request->DomainModel->d_domain, 'weekly', 2);
$arrGirlWeekRankNovel = $NovelModel->getRankNovelOnCache($strKey, 5, 2, 'weekly');
// 女生频道,月排行榜 随机10个小说
$strKey = sprintf('%s:PC:INDEX:RANK:%s:SEX:%s', $Request->DomainModel->d_domain, 'monthly', 2);
$arrGirlMoonRankNovel = $NovelModel->getRankNovelOnCache($strKey, 5, 2, 'monthly');
// 女生频道,总排行榜 随机10个小说
$strKey = sprintf('%s:PC:INDEX:RANK:%s:SEX:%s', $Request->DomainModel->d_domain, 'total', 2);
$arrBGirlTotalRankNovel = $NovelModel->getRankNovelOnCache($strKey, 5, 2, 'total');
View::assign([
'arrBoyNewsNovel' => $arrBoyNewsNovel,
'arrBoyWeekRankNovel' => $arrBoyWeekRankNovel,
'arrBoyMoonRankNovel' => $arrBoyMoonRankNovel,
'arrBoyTotalRankNovel' => $arrBoyTotalRankNovel,
'arrGirlNewsNovel' => $arrGirlNewsNovel,
'arrGirlWeekRankNovel' => $arrGirlWeekRankNovel,
'arrGirlMoonRankNovel' => $arrGirlMoonRankNovel,
'arrBGirlTotalRankNovel' => $arrBGirlTotalRankNovel,
]);
break;
}
// 推荐等级为9的连载的 随机15个小说
$strKey = sprintf('%s:PC:INDEX:TUIJIAN:%s', $Request->DomainModel->d_domain, 13);
$arrRecommendSerializationNovel = $NovelModel->getCommonNovelOnCache($strKey, $intTTL, 13, 0, NULL);
$strKey = sprintf('%s:PC:INDEX:TUIJIAN:%s', $Request->DomainModel->d_domain, $intRecommendSerializationNovel);
$arrRecommendSerializationNovel = $NovelModel->getCommonNovelOnCache($strKey, $intTTL, $intRecommendSerializationNovel, 0, NULL);
// 推荐等级为9的完结的 随机12个小说
$strKey = sprintf('%s:PC:INDEX:TUIJIAN:WANJIE:%s', $Request->DomainModel->d_domain, 12);
$arrRecommendEndNovel = $NovelModel->getCommonNovelOnCache($strKey, $intTTL, 12, 0, "已完结");
// 男生频道,最新的 随机5个小说
$strKey = sprintf('%s:PC:INDEX:ZUIJIAN:SEX:%s:%s', $Request->DomainModel->d_domain, 1, 5);
$arrBoyNewsNovel = $NovelModel->getCommonNovelOnCache($strKey, $intTTL, 5, 1, NULL, ['og_novel_update_time' => -1]);
// 男生频道,周排行榜 随机10个小说
$strKey = sprintf('%s:PC:INDEX:RANK:%s:SEX:%s', $Request->DomainModel->d_domain, 'weekly', 1);
$arrBoyWeekRankNovel = $NovelModel->getRankNovelOnCache($strKey, 5, 1, 'weekly');
// 男生频道,月排行榜 随机10个小说
$strKey = sprintf('%s:PC:INDEX:RANK:%s:SEX:%s', $Request->DomainModel->d_domain, 'monthly', 1);
$arrBoyMoonRankNovel = $NovelModel->getRankNovelOnCache($strKey, 5, 1, 'monthly');
// 男生频道,总排行榜 随机10个小说
$strKey = sprintf('%s:PC:INDEX:RANK:%s:SEX:%s', $Request->DomainModel->d_domain, 'total', 1);
$arrBoyTotalRankNovel = $NovelModel->getRankNovelOnCache($strKey, 5, 1, 'total');
// 女生频道,最新的 随机5个小说
$strKey = sprintf('%s:PC:INDEX:ZUIJIAN:SEX:%s:%s', $Request->DomainModel->d_domain, 2, 5);
$arrGirlNewsNovel = $NovelModel->getCommonNovelOnCache($strKey, $intTTL, 5, 2, NULL, ['og_novel_update_time' => -1]);
// 女生频道,周排行榜 随机10个小说
$strKey = sprintf('%s:PC:INDEX:RANK:%s:SEX:%s', $Request->DomainModel->d_domain, 'weekly', 2);
$arrGirlWeekRankNovel = $NovelModel->getRankNovelOnCache($strKey, 5, 2, 'weekly');
// 女生频道,月排行榜 随机10个小说
$strKey = sprintf('%s:PC:INDEX:RANK:%s:SEX:%s', $Request->DomainModel->d_domain, 'monthly', 2);
$arrGirlMoonRankNovel = $NovelModel->getRankNovelOnCache($strKey, 5, 2, 'monthly');
// 女生频道,总排行榜 随机10个小说
$strKey = sprintf('%s:PC:INDEX:RANK:%s:SEX:%s', $Request->DomainModel->d_domain, 'total', 2);
$arrBGirlTotalRankNovel = $NovelModel->getRankNovelOnCache($strKey, 5, 2, 'total');
$strKey = sprintf('%s:PC:INDEX:TUIJIAN:WANJIE:%s', $Request->DomainModel->d_domain, $intRecommendEndNovel);
$arrRecommendEndNovel = $NovelModel->getCommonNovelOnCache($strKey, $intTTL, $intRecommendEndNovel, 0, "已完结");
// 最近更新-随机50
$strKey = sprintf('%s:PC:INDEX:ZUIJIAN:SEX:%s:%s', $Request->DomainModel->d_domain, 0, 50);
@@ -195,14 +229,6 @@ class Index extends BaseController
'arrNewsUpdateNovel' => $arrNewsUpdateNovel,
'arrRecommendSerializationNovel' => $arrRecommendSerializationNovel,
'arrRecommendEndNovel' => $arrRecommendEndNovel,
'arrBoyNewsNovel' => $arrBoyNewsNovel,
'arrBoyWeekRankNovel' => $arrBoyWeekRankNovel,
'arrBoyMoonRankNovel' => $arrBoyMoonRankNovel,
'arrBoyTotalRankNovel' => $arrBoyTotalRankNovel,
'arrGirlNewsNovel' => $arrGirlNewsNovel,
'arrGirlWeekRankNovel' => $arrGirlWeekRankNovel,
'arrGirlMoonRankNovel' => $arrGirlMoonRankNovel,
'arrBGirlTotalRankNovel' => $arrBGirlTotalRankNovel,
'arrAdBanner' => [],
'strPageCode' => 'home',
'strTitle' => $strTitle,