This commit is contained in:
make
2025-04-21 17:47:12 +08:00
parent 24cef96a26
commit 7ef217c1b9
523 changed files with 0 additions and 93250 deletions

View File

@@ -1,249 +0,0 @@
<?php
declare(strict_types=1);
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;
use app\Request;
class Index extends BaseController
{
/**
* 首页-H5
*
* @param Request $Request
* @return void
*/
public function index(Request $Request)
{
$boolIsMobile = $Request->param('boolIsMobile');
$intTTL = 24 * 3600;
$NovelModel = NovelModel::getInstance();
$strTemplatesModel = $Request->TemplatesModel->t_code;
switch ($strTemplatesModel) {
case 'default':
// 默认模板 630zw
// TODO default模板-h5 首页数据: 获取所有分类数据,然后 每个分类 随机获取 10个小说 ,
// 所有分类数据 放到一个数组里, 前端一个循环渲染,排版都是一样的
$arrAllCategoryNovel = [];
View::assign([
'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, ['n_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');
$strKey = sprintf('%s:H5:INDEX:RANK:%s:SEX:%s', $Request->DomainModel->d_domain, 'weekly', 0);
$arrWeekRankNovel = $NovelModel->getRankNovelOnCache($strKey, 10, 0, 'weekly');
$strKey = sprintf('%s:H5:INDEX:RANK:%s:SEX:%s', $Request->DomainModel->d_domain, 'monthly', 0);
$arrMoonRankNovel = $NovelModel->getRankNovelOnCache($strKey, 10, 0, 'monthly');
$strStatus = '已完结';
$strKey = sprintf('%s:H5:INDEX:RANK:%s:%s', $Request->DomainModel->d_domain, 'total', 'finished');
$arrEndNovelRankNovel = $NovelModel->getRankNovelOnCache($strKey, 10, 0, 'total', $strStatus);
/** @var DomainModel **/
$Request->DomainModel;
$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([
'arrDayRankNovel' => $arrDayRankNovel,
'arrWeekRankNovel' => $arrWeekRankNovel,
'arrMoonRankNovel' => $arrMoonRankNovel,
'arrEndNovelRankNovel' => $arrEndNovelRankNovel,
'strHostNovelDescription' => $strHostNovelDescription,
'strNewsNovelDescription' => $strNewsNovelDescription,
'strRankNovelDescription' => $strRankNovelDescription,
]);
break;
}
// 推荐等级为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,
]);
$strTitleTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@TITLE');
$strKeywordsTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@KEYWORDS');
$strDescriptionTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@DESCRIPTION');
$strTitle = ConverterMovel::convert($strTitleTemplate);
$strKeywords = ConverterMovel::convert($strKeywordsTemplate);
$strDescription = ConverterMovel::convert($strDescriptionTemplate);
View::assign([
'arrRecommendNovel' => $arrRecommendNovel,
'arrNewsNovel' => $arrNewsNovel,
'strPageCode' => 'home',
'strTitle' => $strTitle,
'strKeywords' => $strKeywords,
'strDescription' => $strDescription,
]);
$strView = $boolIsMobile ? '' : 'pc/index';
$this->generateGrm(1, 0, 60);
return $this->rending($strView);
}
/**
* 首页数据-PC
* @param Request $Request
* @return void
*/
public function getPcIndex(Request $Request)
{
$boolIsMobile = $Request->param('boolIsMobile');
$intTTL = 24 * 3600;
$NovelModel = NovelModel::getInstance();
$strTemplatesModel = $Request->TemplatesModel->t_code;
$intRecommendSerializationNovel = 4;
$intRecommendEndNovel = 9;
switch ($strTemplatesModel) {
case 'default':
// TODO 1.获取所有分类数据,
// 2.然后 每个分类 随机获取 13个小说 ,
// 3.所有分类数据 放到一个数组里, 前端一个循环渲染,排版都是一样的
$arrAllCategoryNovel = [];
// TODO 最新入库小说 随机30个
$arrNewsNovel = [];
View::assign([
'arrAllCategoryNovel' => $arrAllCategoryNovel,
'arrNewsNovel' => $arrNewsNovel,
]);
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, ['n_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, ['n_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, $intRecommendSerializationNovel);
$arrRecommendSerializationNovel = $NovelModel->getCommonNovelOnCache($strKey, $intTTL, $intRecommendSerializationNovel, 0, NULL);
// 推荐等级为9的完结的 随机12个小说
$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);
$arrNewsUpdateNovel = $NovelModel->getCommonNovelOnCache($strKey, $intTTL, 50, 0, NULL, ['n_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('INDEX@INDEX@TITLE');
$strKeywordsTemplate = $Request->DomainModel->getFomartSubject('INDEX@INDEX@KEYWORDS');
$strDescriptionTemplate = $Request->DomainModel->getFomartSubject('INDEX@INDEX@DESCRIPTION');
$strTitle = ConverterMovel::convert($strTitleTemplate);
$strKeywords = ConverterMovel::convert($strKeywordsTemplate);
$strDescription = ConverterMovel::convert($strDescriptionTemplate);
View::assign([
'arrNewsUpdateNovel' => $arrNewsUpdateNovel,
'arrRecommendSerializationNovel' => $arrRecommendSerializationNovel,
'arrRecommendEndNovel' => $arrRecommendEndNovel,
'arrAdBanner' => [],
'strPageCode' => 'home',
'strTitle' => $strTitle,
'strKeywords' => $strKeywords,
'strDescription' => $strDescription,
]);
$strView = $boolIsMobile ? '' : 'pc/index';
$this->generateGrm(2, 0, 150);
return $this->rending($strView);
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,102 +0,0 @@
<?php
declare(strict_types=1);
namespace app\home\controller;
use app\home\BaseController;
use app\model\NovelModel;
use think\facade\View;
use app\Request;
class User extends BaseController
{
public function index(Request $Request)
{
$boolIsMobile = $Request->param('boolIsMobile');
$strNovelUrlTemp = $Request->DomainModel->getFomartSubject('NOVEL_INFO_URL','',false);
$strNovelChapterUrlTemp = $Request->DomainModel->getFomartSubject('CONTENT_INFO_URL','',false);
$strSearchUrlTemp = $Request->DomainModel->getFomartSubject('SEARCH_INFO_URL','',false);
$NovelModel = NovelModel::getInstance();
// 推荐等级为9的完结 随机15个小说
$intTTL = 24 * 3600;
$strKey = sprintf('%s:ALL:USER:TUIJIAN:WANJIE:%s', $Request->DomainModel->d_domain, 8);
$arrRecommendEndNovel = $NovelModel->getCommonNovelOnCache($strKey, $intTTL, 8, 0, "已完结");
$strKey = sprintf('%s:PC:NOVEL:RANK:%s:SEX:%s', $Request->DomainModel->d_domain, 'monthly', 0);
$arrMoonRankNovel = $NovelModel->getRankNovelOnCache($strKey, 5, 0, 'monthly');
View::assign([
'arrRecommendEndNovel' => $arrRecommendEndNovel,
'arrMoonRankNovel' => $arrMoonRankNovel,
'strNovelUrlTemp' => $strNovelUrlTemp,
'strNovelChapterUrlTemp' => $strNovelChapterUrlTemp,
'strSearchUrlTemp' => $strSearchUrlTemp,
]);
if ($boolIsMobile) {
$strView = '';
$this->generateGrm(1, 0, 20);
} else {
$strView = 'pc/user/index';
$this->generateGrm(2, 0, 20);
}
return $this->rending($strView);
}
public function getBookShelf(Request $Request)
{
$boolIsMobile = $Request->param('boolIsMobile');
$strNovelUrlTemp = $Request->DomainModel->getFomartSubject('NOVEL_INFO_URL','',false);
$strNovelChapterUrlTemp = $Request->DomainModel->getFomartSubject('CONTENT_INFO_URL','',false);
$strSearchUrlTemp = $Request->DomainModel->getFomartSubject('SEARCH_INFO_URL','',false);
View::assign([
'strPageCode' => 'BookShelf',
'strNovelUrlTemp' => $strNovelUrlTemp,
'strNovelChapterUrlTemp' => $strNovelChapterUrlTemp,
'strSearchUrlTemp' => $strSearchUrlTemp,
]);
if ($boolIsMobile) {
$strView = '';
$this->generateGrm(1, 0, 10);
} else {
$strView = 'pc/user/getBookShelf';
$this->generateGrm(2, 0, 10);
}
return $this->rending($strView);
}
public function getHistory(Request $Request)
{
$boolIsMobile = $Request->param('boolIsMobile');
$strNovelUrlTemp = $Request->DomainModel->getFomartSubject('NOVEL_INFO_URL','',false);
$strNovelChapterUrlTemp = $Request->DomainModel->getFomartSubject('CONTENT_INFO_URL','',false);
$strSearchUrlTemp = $Request->DomainModel->getFomartSubject('SEARCH_INFO_URL','',false);
View::assign([
'strPageCode' => 'history',
'strNovelUrlTemp' => $strNovelUrlTemp,
'strNovelChapterUrlTemp' => $strNovelChapterUrlTemp,
'strSearchUrlTemp' => $strSearchUrlTemp,
]);
if ($boolIsMobile) {
$strView = '';
$this->generateGrm(1, 0, 10);
} else {
$strView = 'pc/user/getHistory';
$this->generateGrm(2, 0, 10);
}
return $this->rending($strView);
}
}