This commit is contained in:
Default
2025-03-31 23:14:52 +08:00
parent 6a11a33e27
commit c7978968f3
21 changed files with 686 additions and 185 deletions

View File

@@ -6,6 +6,7 @@ namespace app\home\controller;
use app\home\BaseController;
use app\model\ConverterMovel;
use app\model\DomainModel;
use app\model\NovelModel;
use storage\StorageCore;
use think\facade\View;
@@ -161,6 +162,11 @@ class Index extends BaseController
// 最近更新-随机50
$arrNewsUpdateNovel = $NovelModel->getSexNovelOnCache($Request->DomainModel->d_domain, 50);
$strTitle = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__));
$strTitle = ConverterMovel::convert($strTitle);
View::assign([
'arrNewsUpdateNovel' => $arrNewsUpdateNovel,
'arrRecommendSerializationNovel' => $arrRecommendSerializationNovel,
@@ -174,17 +180,11 @@ class Index extends BaseController
'arrGirlMoonRankNovel' => $arrGirlMoonRankNovel,
'arrBGirlTotalRankNovel' => $arrBGirlTotalRankNovel,
'arrAdBanner' => [],
'strPageCode' => 'home'
'strPageCode' => 'home',
'strTitle' => $strTitle,
]);
$strTitle = '最新小说网-{strSiteTitle}-{strSiteKeywords}';
$strTitle = ConverterMovel::convert($strTitle);
echo $strTitle;exit;
if ($boolIsMobile) {
return View::fetch();
} else {

View File

@@ -5,11 +5,13 @@ declare(strict_types=1);
namespace app\home\controller;
use app\home\BaseController;
use app\model\CategoryModel;
use app\model\ConverterMovel;
use app\model\NovelModel;
use storage\StorageCore;
use think\facade\View;
use app\Request;
use template\page\CusteomPage02;
class Novel extends BaseController
{
@@ -131,53 +133,90 @@ class Novel extends BaseController
* @param integer $intPage 分页
* @return void
*/
public function getLibrary(Request $Request) //, $strNovelChannel = 'all', $strCategory = 'all', $strStatus = 'all', $intPage = 1)
public function getLibrary(Request $Request, $strGender = 'all', $strCategory = 'all', $strStatus = 'all', $intPage = 1)
{
$boolIsMobile = $Request->param('boolIsMobile');
$intGender = (int)$Request->param('intGender',0);
$strCategory = (string)$Request->param('strCategory');
$strStatus = (string)$Request->param('strStatus');
// 性别
$arrSex = [
'all' => 0,
'nansheng-xiaoshuo' => 1,
'nvsheng-xiaoshuo' => 1,
];
if (!key_exists($strGender, $arrSex)) {
return response('Bad Request', 400);
}
$intGender = $arrSex[$strGender];
// 分类
// $strCategory = $Request->param('strCategory');
if ($strCategory == 'all') {
$strSearchCategory = NULL;
} else if (!in_array($strGender, CategoryModel::$arrCategoryPinYin)) {
return response('Bad Request', 400);
} else {
$strCategoryKey = array_search($strGender, CategoryModel::$arrCategoryPinYin);
$strSearchCategory = CategoryModel::$arrCategory[$strCategoryKey];
}
// 小说状态
// $strStatus = $Request->param('strStatus');
$arrStatus = [
'all' => NULL,
'lianzai' => '连载中',
'wanjie' => '已完结',
];
if (!key_exists($strStatus, $arrStatus)) {
return response('Bad Request', 400);
}
$strSearchStatus = $arrStatus[$strStatus];
$intPage = (int)$Request->param('intPage');
if ($intPage <= 1) {
$intPage = 1;
}
$intLimit = 20;
$intLifeTime = 24 * 3600;
$strKey = sprintf("Novel:Library:%s:%s:%s:%s", $intGender, $strSearchCategory, $strSearchStatus, $intPage);
$NovelModel = new NovelModel;
$arrPage = $NovelModel->getCommonNovelPageOnCache($strKey, $intPage, $intLimit, $intLifeTime, $intGender, $strSearchStatus);
$strKey = sprintf("Novel:Library:%s:%s:%s:%s", $intGender, $strCategory, $strStatus, $intPage);
// var_dump($intType);exit;
$arrPage = $NovelModel->getCommonNovelPageOnCache($strKey, $intPage, $intLimit, $intLifeTime, $intGender, $strStatus);
$strTemplate = NULL;
$intButtomNum = 5;
if ($boolIsMobile == false) {
$intButtomNum = 10;
$strTemplate = 'pc/getLibrary';
}
// echo '<pre>';
// print_r($arrPage);
// exit;
// 模拟数据
$arrNovel = [
['n_id' => 1, 'name' => '小说1', 'author' => '作者1'],
['n_id' => 2, 'name' => '小说2', 'author' => '作者2'],
['n_id' => 3, 'name' => '小说3', 'author' => '作者3'],
['n_id' => 4, 'name' => '小说3', 'author' => '作者3'],
['n_id' => 5, 'name' => '小说3', 'author' => '作者3'],
['n_id' => 6, 'name' => '小说3', 'author' => '作者3'],
['n_id' => 7, 'name' => '小说3', 'author' => '作者3'],
['n_id' => 8, 'name' => '小说3', 'author' => '作者3'],
];
$strBaseUrl = sprintf('/pc/shuku/%s/%s/%s/page{page}', $strGender, $strCategory, $strStatus);
$arrPaginator = CusteomPage02::generate($intPage, $arrPage['total'], $intLimit, $strBaseUrl, $intButtomNum);
View::assign([
'arrNovel' => $arrNovel,
'arrNovel' => $arrPage['data'],
'strPageCode' => 'library',
'intGender' => $intGender,
'strGender' => $strGender,
'strCategory' => $strCategory,
'strStatus' => $strStatus,
'intPage' => $intPage,
'intTotalPage' => $arrPage['pages'],
'arrCategory' => array_combine(array_values(CategoryModel::$arrCategoryPinYin), array_values(CategoryModel::$arrCategory)),
'arrPaginator' => $arrPaginator,
]);
if ($boolIsMobile) {
return View::fetch();
} else {
return View::fetch('pc/getLibrary');
}
return View::fetch($strTemplate);
}
// 书架
@@ -338,7 +377,7 @@ class Novel extends BaseController
$strNovel = '斗罗大陆';
ConverterMovel::setVal("strNovelName",$strNovel);
ConverterMovel::setVal("strNovelName", $strNovel);
// 模拟数据-随机推荐数据10条
@@ -359,17 +398,24 @@ class Novel extends BaseController
// 最新要点->取新意章节, 随机提取一部分内容 大概150字数
// {strNovelName}最新章节_{strNovelName}{strNovelAuthor}_{strNovelName}全文阅读_{strSiteName}
// {strNovelName}免费全文阅读-{strNovelName}{strNovelAuthor}-{strSiteName}
// $strTitle = '小说详情-{strNovelName}-xxxxx';
// $strTitle = ConverterMovel::convert($strTitle);
// echo $strTitle;exit;
$strTitle = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__));
// echo $strTitle ;exit;
$strTitle = ConverterMovel::convert($strTitle);
View::assign([
'arrRecommendNovel' => $arrRecommendNovel,
'strPageCode' => 'boy'
'strPageCode' => 'boy',
'strTitle' => $strTitle,
]);
if ($boolIsMobile) {
return View::fetch();