设计url

This commit is contained in:
make
2025-03-30 16:56:15 +08:00
14 changed files with 343 additions and 266 deletions

View File

@@ -115,7 +115,8 @@ class Index extends BaseController
/**
* 首页数据-PC
*
* @param Request $Request
* @return void
*/
public function getPcIndex(Request $Request)
{

View File

@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace app\home\controller;
use app\home\BaseController;
use app\model\NovelModel;
use storage\StorageCore;
use think\facade\View;
use app\Request;
@@ -119,26 +120,39 @@ class Novel extends BaseController
}
}
// 书库 [:strNovelChannel]-[:intCategoryId]-[:strStatus]-[:strTextNumber]-[:strUpdateTime]-[:strSort]
public function getLibrary(Request $Request, $strNovelChannel = null, $intCategoryId = null, $strStatus = null, $strTextNumber = null, $strUpdateTime = null, $strSort = null, $intPage = 1)
/**
* 书库
*
* @param Request $Request
* @param [type] $strNovelChannel 男生/女生 -拼音
* @param [type] $strCategory 分类 -拼音
* @param [type] $strStatus 连载/完结 -拼音
* @param integer $intPage 分页
* @return void
*/
public function getLibrary(Request $Request, $strNovelChannel = 'all', $strCategory = 'all', $strStatus = 'all',$intPage = 1)
{
$boolIsMobile = $Request->param('boolIsMobile');
// 模拟数据
$arrNovel = [
['id' => 1, 'name' => '小说1', 'author' => '作者1'],
['id' => 2, 'name' => '小说2', 'author' => '作者2'],
['id' => 3, 'name' => '小说3', 'author' => '作者3'],
['id' => 4, 'name' => '小说3', 'author' => '作者3'],
['id' => 5, 'name' => '小说3', 'author' => '作者3'],
['id' => 6, 'name' => '小说3', 'author' => '作者3'],
['id' => 7, 'name' => '小说3', 'author' => '作者3'],
['id' => 8, 'name' => '小说3', 'author' => '作者3'],
['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'],
];
View::assign([
'arrNovel' => $arrNovel,
'strPageCode' => 'library'
'strPageCode' => 'library',
'strNovelChannel' => $strNovelChannel,
'strCategory' => $strCategory,
'strStatus' => $strStatus,
'intPage' => $intPage,
]);
if ($boolIsMobile) {
return View::fetch();
@@ -175,68 +189,44 @@ class Novel extends BaseController
}
}
// 男生女生频道
/**
* 男生女生频道
*
* @param Request $Request
* @return void
*/
public function getNovelChannel(Request $Request)
{
$boolIsMobile = $Request->param('boolIsMobile');
$strNovelChannel = $Request->param('strChannel'); // 区分男生/女生频道
// 模拟数据-推荐等级为9的连载的男生频道/女生频道, 随机12个小说
$arrRecommendSerializationNovel = [
['id' => 1, 'name' => '小说1', 'author' => '作者1'],
['id' => 2, 'name' => '小说2', 'author' => '作者2'],
['id' => 3, 'name' => '小说3', 'author' => '作者3'],
['id' => 4, 'name' => '小说3', 'author' => '作者3'],
['id' => 5, 'name' => '小说3', 'author' => '作者3'],
['id' => 6, 'name' => '小说3', 'author' => '作者3'],
['id' => 7, 'name' => '小说3', 'author' => '作者3'],
['id' => 8, 'name' => '小说3', 'author' => '作者3'],
['id' => 9, 'name' => '小说3', 'author' => '作者3'],
['id' => 10, 'name' => '小说3', 'author' => '作者3'],
['id' => 11, 'name' => '小说3', 'author' => '作者3'],
['id' => 12, 'name' => '小说3', 'author' => '作者3'],
];
// 模拟数据-推荐等级为9的完结的男生频道/女生频道, 随机8个小说
$arrRecommendEndNovel = [
['id' => 1, 'name' => '小说1', 'author' => '作者1'],
['id' => 2, 'name' => '小说2', 'author' => '作者2'],
['id' => 3, 'name' => '小说3', 'author' => '作者3'],
['id' => 4, 'name' => '小说3', 'author' => '作者3'],
['id' => 5, 'name' => '小说3', 'author' => '作者3'],
['id' => 6, 'name' => '小说3', 'author' => '作者3'],
['id' => 7, 'name' => '小说3', 'author' => '作者3'],
['id' => 8, 'name' => '小说3', 'author' => '作者3'],
$NovelModel = new NovelModel;
$intType = ['boys' => 1, 'girls' => 2][$strNovelChannel];
$intLifeTime = 24 * 3600;
];
// 推荐等级为9的连载的男生频道/女生频道, 随机12个小说
$strKey = sprintf('%s:PC:Novel:Channel:Hot:%s:%s', $Request->DomainModel->d_domain, $intType, 'Serialized');
$intCount = 12;
$strStuatus = '连载中';
$arrRecommendSerializationNovel = $NovelModel->getCommonNovelOnCache($strKey, $intLifeTime, $intCount, $intType, $strStuatus);
// 推荐等级为9的完结的男生频道/女生频道, 随机8个小说
$strKey = sprintf('%s:PC:Novel:Channel:Hot:%s:%s', $Request->DomainModel->d_domain, $intType, 'Finish');
$intCount = 8;
$strStuatus = '完结';
$arrRecommendEndNovel = $NovelModel->getCommonNovelOnCache($strKey, $intLifeTime, $intCount, $intType, $strStuatus);
// 模拟数据-最近更新-随机50
$arrNewsUpdateNovel = [
['id' => 1, 'name' => '小说1', 'author' => '作者1'],
['id' => 2, 'name' => '小说2', 'author' => '作者2'],
['id' => 3, 'name' => '小说3', 'author' => '作者3'],
['id' => 4, 'name' => '小说3', 'author' => '作者3'],
['id' => 5, 'name' => '小说3', 'author' => '作者3'],
['id' => 6, 'name' => '小说3', 'author' => '作者3'],
['id' => 7, 'name' => '小说3', 'author' => '作者3'],
['id' => 8, 'name' => '小说3', 'author' => '作者3'],
['id' => 9, 'name' => '小说3', 'author' => '作者3'],
['id' => 10, 'name' => '小说3', 'author' => '作者3'],
['id' => 1, 'name' => '小说1', 'author' => '作者1'],
['id' => 2, 'name' => '小说2', 'author' => '作者2'],
['id' => 3, 'name' => '小说3', 'author' => '作者3'],
['id' => 4, 'name' => '小说3', 'author' => '作者3'],
['id' => 5, 'name' => '小说3', 'author' => '作者3'],
['id' => 6, 'name' => '小说3', 'author' => '作者3'],
['id' => 7, 'name' => '小说3', 'author' => '作者3'],
['id' => 8, 'name' => '小说3', 'author' => '作者3'],
['id' => 9, 'name' => '小说3', 'author' => '作者3'],
['id' => 10, 'name' => '小说3', 'author' => '作者3'],
];
$strKey = sprintf('%s:PC:Novel:Channel:Latest:%s', $Request->DomainModel->d_domain, $intType);
$intCount = 20;
$arrNewsUpdateNovel = $NovelModel->getCommonNovelOnCache($strKey, $intLifeTime, $intCount, $intType, NULL, ['og_novel_update_time' => -1]);
View::assign([
'arrNewsUpdateNovel' => $arrNewsUpdateNovel,
'arrRecommendSerializationNovel' => $arrRecommendSerializationNovel,
'arrRecommendEndNovel' => $arrRecommendEndNovel,
'arrNewsUpdateNovel' => $arrNewsUpdateNovel,
'arrAdBanner' => [],
'strPageCode' => $strNovelChannel
]);
@@ -248,7 +238,7 @@ class Novel extends BaseController
}
// 分类
public function getNovelCategory(Request $Request,$intCategoryId = null ,$intPage = 1)
public function getNovelCategory(Request $Request, $intCategoryId = null, $intPage = 1)
{
$boolIsMobile = $Request->param('boolIsMobile');
$strChannel = $Request->param('strChannel'); // 区分男生 / 女生频道
@@ -426,7 +416,7 @@ class Novel extends BaseController
}
// 小说章节-所有章节
public function getNovelChapterAll(Request $Request,$intNovelId=null,$intPage=1,$strSort='asc')
public function getNovelChapterAll(Request $Request, $intNovelId = null, $intPage = 1, $strSort = 'asc')
{
$boolIsMobile = $Request->param('boolIsMobile');
// 模拟数据