debug
This commit is contained in:
@@ -105,17 +105,21 @@ class Novel extends BaseController
|
|||||||
$boolIsMobile = $Request->param('boolIsMobile');
|
$boolIsMobile = $Request->param('boolIsMobile');
|
||||||
$strChannel = $Request->param('strChannel') ?? 'all';
|
$strChannel = $Request->param('strChannel') ?? 'all';
|
||||||
|
|
||||||
|
$strNanUrlTemp = $this->request->DomainModel->getFomartSubject('NAN_SHENG_URL','',false);
|
||||||
|
$strNvUrlTemp = $this->request->DomainModel->getFomartSubject('NV_SHENG_URL','',false);
|
||||||
|
$strNanUrl = str_replace("/", "", $strNanUrlTemp);
|
||||||
|
$strNvUrl = str_replace("/", "", $strNvUrlTemp);
|
||||||
// 性别
|
// 性别
|
||||||
|
|
||||||
$arrSex = [
|
$arrSex = [
|
||||||
'all' => 0,
|
'all' => 0,
|
||||||
'nansheng-xiaoshuo' => 1,
|
$strNanUrl => 1,
|
||||||
'nvsheng-xiaoshuo' => 1,
|
$strNvUrl => 1,
|
||||||
];
|
];
|
||||||
$arrSexChinese = [
|
$arrSexChinese = [
|
||||||
'all' => '',
|
'all' => '',
|
||||||
'nansheng-xiaoshuo' => '男生',
|
$strNanUrl => '男生',
|
||||||
'nvsheng-xiaoshuo' => '女生',
|
$strNvUrl => '女生',
|
||||||
];
|
];
|
||||||
|
|
||||||
if (!key_exists($strGender, $arrSex)) {
|
if (!key_exists($strGender, $arrSex)) {
|
||||||
@@ -199,6 +203,8 @@ class Novel extends BaseController
|
|||||||
'strSearchCategory' => $strSearchCategory,
|
'strSearchCategory' => $strSearchCategory,
|
||||||
'strSearchStatus' => $strSearchStatus,
|
'strSearchStatus' => $strSearchStatus,
|
||||||
'strNovelSex' => $arrSexChinese[$strGender],
|
'strNovelSex' => $arrSexChinese[$strGender],
|
||||||
|
'strNanUrl' => $strNanUrl,
|
||||||
|
'strNvUrl' => $strNvUrl,
|
||||||
'strChannel' => $strChannel,
|
'strChannel' => $strChannel,
|
||||||
'strTitle' => $strTitle,
|
'strTitle' => $strTitle,
|
||||||
'strKeywords' => $strKeywords,
|
'strKeywords' => $strKeywords,
|
||||||
@@ -394,6 +400,13 @@ class Novel extends BaseController
|
|||||||
$ChapterModel = ChapterModel::getInstance();
|
$ChapterModel = ChapterModel::getInstance();
|
||||||
$arrLatestChapter = $ChapterModel->getLatestChapterByNId($intNId);
|
$arrLatestChapter = $ChapterModel->getLatestChapterByNId($intNId);
|
||||||
|
|
||||||
|
// 第一章
|
||||||
|
$arrFirstChapter = $ChapterModel->getFirstChapterByNId($intNId,false);
|
||||||
|
$intFirstChapterSort = null;
|
||||||
|
if ($arrFirstChapter) {
|
||||||
|
$intFirstChapterSort = $arrFirstChapter['c_sort_num'];
|
||||||
|
}
|
||||||
|
|
||||||
$strFocus = '';
|
$strFocus = '';
|
||||||
// 要点
|
// 要点
|
||||||
if ($arrLatestChapter) {
|
if ($arrLatestChapter) {
|
||||||
@@ -433,9 +446,9 @@ class Novel extends BaseController
|
|||||||
'strNovelDescription' => $arrNovel['og_description'],
|
'strNovelDescription' => $arrNovel['og_description'],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$strTitleTemplate = $Request->DomainModel->getFomartSubject('NOVEL@GETNOVELINFO@TITLE');
|
$strTitleTemplate = $Request->DomainModel->getFomartSubject('NOVEL@GETNOVELINFO@TITLE',$intForgeId);
|
||||||
$strKeywordsTemplate = $Request->DomainModel->getFomartSubject('NOVEL@GETNOVELINFO@KEYWORDS');
|
$strKeywordsTemplate = $Request->DomainModel->getFomartSubject('NOVEL@GETNOVELINFO@KEYWORDS',$intForgeId);
|
||||||
$strDescriptionTemplate = $Request->DomainModel->getFomartSubject('NOVEL@GETNOVELINFO@DESCRIPTION');
|
$strDescriptionTemplate = $Request->DomainModel->getFomartSubject('NOVEL@GETNOVELINFO@DESCRIPTION',$intForgeId);
|
||||||
|
|
||||||
$strTitle = ConverterMovel::convert($strTitleTemplate);
|
$strTitle = ConverterMovel::convert($strTitleTemplate);
|
||||||
$strKeywords = ConverterMovel::convert($strKeywordsTemplate);
|
$strKeywords = ConverterMovel::convert($strKeywordsTemplate);
|
||||||
@@ -453,6 +466,7 @@ class Novel extends BaseController
|
|||||||
'arrLatestChapter' => $arrLatestChapter,
|
'arrLatestChapter' => $arrLatestChapter,
|
||||||
'arrNovelClicks' => $arrNovelClicks,
|
'arrNovelClicks' => $arrNovelClicks,
|
||||||
'strFocus' => $strFocus,
|
'strFocus' => $strFocus,
|
||||||
|
'intFirstChapterSort' => $intFirstChapterSort,
|
||||||
'strPageCode' => 'boy',
|
'strPageCode' => 'boy',
|
||||||
'strTitle' => $strTitle,
|
'strTitle' => $strTitle,
|
||||||
'strKeywords' => $strKeywords,
|
'strKeywords' => $strKeywords,
|
||||||
@@ -535,9 +549,9 @@ class Novel extends BaseController
|
|||||||
'strNovelDescription' => $arrNovel['og_description'],
|
'strNovelDescription' => $arrNovel['og_description'],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$strTitleTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@TITLE');
|
$strTitleTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@TITLE',$intNId);
|
||||||
$strKeywordsTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@KEYWORDS');
|
$strKeywordsTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@KEYWORDS',$intNId);
|
||||||
$strDescriptionTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@DESCRIPTION');
|
$strDescriptionTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@DESCRIPTION',$intNId);
|
||||||
|
|
||||||
$strTitle = ConverterMovel::convert($strTitleTemplate);
|
$strTitle = ConverterMovel::convert($strTitleTemplate);
|
||||||
$strKeywords = ConverterMovel::convert($strKeywordsTemplate);
|
$strKeywords = ConverterMovel::convert($strKeywordsTemplate);
|
||||||
@@ -613,9 +627,9 @@ class Novel extends BaseController
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
||||||
$strTitleTemplate = $Request->DomainModel->getFomartSubject('NOVEL@GETNOVELCHAPTER@TITLE');
|
$strTitleTemplate = $Request->DomainModel->getFomartSubject('NOVEL@GETNOVELCHAPTER@TITLE',$intNId);
|
||||||
$strKeywordsTemplate = $Request->DomainModel->getFomartSubject('NOVEL@GETNOVELCHAPTER@KEYWORDS');
|
$strKeywordsTemplate = $Request->DomainModel->getFomartSubject('NOVEL@GETNOVELCHAPTER@KEYWORDS',$intNId);
|
||||||
$strDescriptionTemplate = $Request->DomainModel->getFomartSubject('NOVEL@GETNOVELCHAPTER@DESCRIPTION');
|
$strDescriptionTemplate = $Request->DomainModel->getFomartSubject('NOVEL@GETNOVELCHAPTER@DESCRIPTION',$intNId);
|
||||||
|
|
||||||
$strTitle = ConverterMovel::convert($strTitleTemplate);
|
$strTitle = ConverterMovel::convert($strTitleTemplate);
|
||||||
$strKeywords = ConverterMovel::convert($strKeywordsTemplate);
|
$strKeywords = ConverterMovel::convert($strKeywordsTemplate);
|
||||||
@@ -697,9 +711,9 @@ class Novel extends BaseController
|
|||||||
'strNovelChapterSort' => $arrChapter['c_sort_num'],
|
'strNovelChapterSort' => $arrChapter['c_sort_num'],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$strTitleTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@TITLE');
|
$strTitleTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@TITLE',$intNId);
|
||||||
$strKeywordsTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@KEYWORDS');
|
$strKeywordsTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@KEYWORDS',$intNId);
|
||||||
$strDescriptionTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@DESCRIPTION');
|
$strDescriptionTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@DESCRIPTION',$intNId);
|
||||||
|
|
||||||
$strTitle = ConverterMovel::convert($strTitleTemplate);
|
$strTitle = ConverterMovel::convert($strTitleTemplate);
|
||||||
$strKeywords = ConverterMovel::convert($strKeywordsTemplate);
|
$strKeywords = ConverterMovel::convert($strKeywordsTemplate);
|
||||||
@@ -778,9 +792,9 @@ class Novel extends BaseController
|
|||||||
'strNovelDescription' => $arrNovel['og_description'],
|
'strNovelDescription' => $arrNovel['og_description'],
|
||||||
]);
|
]);
|
||||||
|
|
||||||
$strTitleTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@TITLE');
|
$strTitleTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@TITLE',$intNId);
|
||||||
$strKeywordsTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@KEYWORDS');
|
$strKeywordsTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@KEYWORDS',$intNId);
|
||||||
$strDescriptionTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@DESCRIPTION');
|
$strDescriptionTemplate = $Request->DomainModel->getFomartSubject(getFomartSubjectKey(__METHOD__) . '@DESCRIPTION',$intNId);
|
||||||
|
|
||||||
$strTitle = ConverterMovel::convert($strTitleTemplate);
|
$strTitle = ConverterMovel::convert($strTitleTemplate);
|
||||||
$strKeywords = ConverterMovel::convert($strKeywordsTemplate);
|
$strKeywords = ConverterMovel::convert($strKeywordsTemplate);
|
||||||
|
|||||||
@@ -15,6 +15,10 @@ class User extends BaseController
|
|||||||
{
|
{
|
||||||
$boolIsMobile = $Request->param('boolIsMobile');
|
$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();
|
$NovelModel = NovelModel::getInstance();
|
||||||
|
|
||||||
// 推荐等级为9的完结 随机15个小说
|
// 推荐等级为9的完结 随机15个小说
|
||||||
@@ -29,6 +33,9 @@ class User extends BaseController
|
|||||||
View::assign([
|
View::assign([
|
||||||
'arrRecommendEndNovel' => $arrRecommendEndNovel,
|
'arrRecommendEndNovel' => $arrRecommendEndNovel,
|
||||||
'arrMoonRankNovel' => $arrMoonRankNovel,
|
'arrMoonRankNovel' => $arrMoonRankNovel,
|
||||||
|
'strNovelUrlTemp' => $strNovelUrlTemp,
|
||||||
|
'strNovelChapterUrlTemp' => $strNovelChapterUrlTemp,
|
||||||
|
'strSearchUrlTemp' => $strSearchUrlTemp,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if ($boolIsMobile) {
|
if ($boolIsMobile) {
|
||||||
@@ -46,8 +53,15 @@ class User extends BaseController
|
|||||||
|
|
||||||
$boolIsMobile = $Request->param('boolIsMobile');
|
$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([
|
View::assign([
|
||||||
'strPageCode' => 'BookShelf'
|
'strPageCode' => 'BookShelf',
|
||||||
|
'strNovelUrlTemp' => $strNovelUrlTemp,
|
||||||
|
'strNovelChapterUrlTemp' => $strNovelChapterUrlTemp,
|
||||||
|
'strSearchUrlTemp' => $strSearchUrlTemp,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if ($boolIsMobile) {
|
if ($boolIsMobile) {
|
||||||
@@ -65,8 +79,15 @@ class User extends BaseController
|
|||||||
|
|
||||||
$boolIsMobile = $Request->param('boolIsMobile');
|
$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([
|
View::assign([
|
||||||
'strPageCode' => 'history'
|
'strPageCode' => 'history',
|
||||||
|
'strNovelUrlTemp' => $strNovelUrlTemp,
|
||||||
|
'strNovelChapterUrlTemp' => $strNovelChapterUrlTemp,
|
||||||
|
'strSearchUrlTemp' => $strSearchUrlTemp,
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if ($boolIsMobile) {
|
if ($boolIsMobile) {
|
||||||
|
|||||||
@@ -7,9 +7,10 @@
|
|||||||
<meta property="og:title" content="{$strTitle??''}" />
|
<meta property="og:title" content="{$strTitle??''}" />
|
||||||
<meta property="og:description" content="{$strDescription??''}" />
|
<meta property="og:description" content="{$strDescription??''}" />
|
||||||
{if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'}
|
{if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'}
|
||||||
<meta property="og:url" content="https://{$DomainModel->d_domain}/shuku/all" />
|
<meta property="og:url" content="https://{$DomainModel->d_domain}{$strCategoryIndexUrlTemp}" />
|
||||||
{else}
|
{else}
|
||||||
<meta property="og:url" content="https://{$DomainModel->d_domain}/shuku/{$strGender}/{$strCategory}/{$strStatus}/page{$intPage}" />
|
<meta property="og:url"
|
||||||
|
content='https://{$DomainModel->d_domain}{site:nflurl gender="$strGender" category="$strCategory" status="$strStatus" page="$intPage"/}' />
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
<meta property="og:type" content="book" />
|
<meta property="og:type" content="book" />
|
||||||
@@ -17,7 +18,7 @@
|
|||||||
{if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'}
|
{if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'}
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://{$DomainModel->d_domain}/shuku/all",
|
"@context": "https://{$DomainModel->d_domain}{$strCategoryIndexUrlTemp}",
|
||||||
"@type": "book",
|
"@type": "book",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
@@ -27,7 +28,7 @@
|
|||||||
{else}
|
{else}
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
{
|
{
|
||||||
"@context": "https://{$DomainModel->d_domain}/shuku/{$strGender}/{$strCategory}/{$strStatus}/page{$intPage}",
|
"@context": "https://{$DomainModel->d_domain}{site:nflurl gender="$strGender" category="$strCategory" status="$strStatus" page="$intPage"/}",
|
||||||
"@type": "book",
|
"@type": "book",
|
||||||
"headline": "{$strTitle??''}",
|
"headline": "{$strTitle??''}",
|
||||||
"description": "{$strDescription??''}",
|
"description": "{$strDescription??''}",
|
||||||
@@ -69,40 +70,74 @@
|
|||||||
<div class="mod mod-nav">
|
<div class="mod mod-nav">
|
||||||
<div id="book-nav" class="book-nav">
|
<div id="book-nav" class="book-nav">
|
||||||
<ul class="clearfix">
|
<ul class="clearfix">
|
||||||
<li class='{eq name="strGender" value="all"}on {/eq}'><a href='/shuku/all/{$strCategory}/{$strStatus}/page{$intPage}' title="全部">全部</a></li>
|
<li class='{eq name="strGender" value="all"}on {/eq}'>
|
||||||
<li class='{eq name="strGender" value="nansheng-xiaoshuo"}on {/eq}'><a href='/shuku/nansheng-xiaoshuo/{$strCategory}/{$strStatus}/page{$intPage}' title="男生">男生</a></li>
|
<a href='{site:nflurl gender="all" category="$strCategory" status="$strStatus" page="$intPage"/}'
|
||||||
<li class='{eq name="strGender" value="nvsheng-xiaoshuo"}on {/eq}'><a href='/shuku/nvsheng-xiaoshuo/{$strCategory}/{$strStatus}/page{$intPage}' title="女生">女生</a></li>
|
title="全部">全部</a>
|
||||||
|
</li>
|
||||||
|
<li class='{eq name="strGender" value="nansheng-xiaoshuo"}on {/eq}'>
|
||||||
|
<a href='{site:nflurl gender="$strNanUrlTemp" category="$strCategory" status="$strStatus" page="$intPage"/}'
|
||||||
|
title="男生">男生</a>
|
||||||
|
</li>
|
||||||
|
<li class='{eq name="strGender" value="nvsheng-xiaoshuo"}on {/eq}'>
|
||||||
|
<a href='{site:nflurl gender="$strNvUrlTemp" category="$strCategory" status="$strStatus" page="$intPage"/}'
|
||||||
|
title="女生">女生</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div id="book-nav" class="book-nav">
|
<div id="book-nav" class="book-nav">
|
||||||
<ul class="clearfix">
|
<ul class="clearfix">
|
||||||
|
|
||||||
<li class='{eq name="strCategory" value="all"}on {/eq}'>
|
<li class='{eq name="strCategory" value="all"}on {/eq}'>
|
||||||
<a href="/shuku/{$strGender}/all/{$strStatus}/page{$intPage}" btn="search_category">全部</a>
|
<a href='{site:nflurl gender="$strGender" category="all" status="$strStatus" page="$intPage"/}'
|
||||||
|
btn="search_category">全部</a>
|
||||||
</li>
|
</li>
|
||||||
{eq name="strGender" value="nansheng-xiaoshuo"}
|
{eq name="strGender" value="all"}
|
||||||
{foreach $arrCategoryAll.man as $key=>$vo }
|
{foreach $arrCategoryAll.man as $key=>$vo }
|
||||||
<li class='{eq name="key" value="$strCategory"}on {/eq}'><a href="/shuku/{$strGender}/{$key}/{$strStatus}/page{$intPage}" btn="search_category">{$vo}</a></li>
|
<li class='{eq name="key" value="$strCategory"}on {/eq}'>
|
||||||
{/foreach}
|
<a href='{site:nflurl gender="$strGender" category="$key" status="$strStatus" page="$intPage"/}'
|
||||||
{else}
|
btn="search_category">{$vo}</a>
|
||||||
{foreach $arrCategoryAll.women as $key=>$vo }
|
</li>
|
||||||
<li class='{eq name="key" value="$strCategory"}on {/eq}' ><a href="/shuku/{$strGender}/{$key}/{$strStatus}/page{$intPage}" btn="search_category">{$vo}</a></li>
|
{/foreach}
|
||||||
{/foreach}
|
{foreach $arrCategoryAll.women as $key=>$vo }
|
||||||
{/eq}
|
<li class='{eq name="key" value="$strCategory"}on {/eq}'>
|
||||||
|
<a href='{site:nflurl gender="$strGender" category="$key" status="$strStatus" page="$intPage"/}'
|
||||||
|
btn="search_category">{$vo}</a>
|
||||||
|
</li>
|
||||||
|
{/foreach}
|
||||||
|
{/eq}
|
||||||
|
{eq name="strGender" value="$strNanUrl"}
|
||||||
|
{foreach $arrCategoryAll.women as $key=>$vo }
|
||||||
|
<li class='{eq name="key" value="$strCategory"}on {/eq}'>
|
||||||
|
<a href='{site:nflurl gender="$strGender" category="$key" status="$strStatus" page="$intPage"/}'
|
||||||
|
btn="search_category">{$vo}</a>
|
||||||
|
</li>
|
||||||
|
{/foreach}
|
||||||
|
{/eq}
|
||||||
|
{eq name="strGender" value="$strNvUrl"}
|
||||||
|
{foreach $arrCategoryAll.women as $key=>$vo }
|
||||||
|
<li class='{eq name="key" value="$strCategory"}on {/eq}'>
|
||||||
|
<a href='{site:nflurl gender="$strGender" category="$key" status="$strStatus" page="$intPage"/}'
|
||||||
|
btn="search_category">{$vo}</a>
|
||||||
|
</li>
|
||||||
|
{/foreach}
|
||||||
|
{/eq}
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div id="book-nav" class="book-nav">
|
<div id="book-nav" class="book-nav">
|
||||||
<ul class="clearfix">
|
<ul class="clearfix">
|
||||||
<li class='{eq name="strStatus" value="all"}on {/eq}'>
|
<li class='{eq name="strStatus" value="all"}on {/eq}'>
|
||||||
<a href="/shuku/{$strGender}/{$strCategory}/all/page{$intPage}" btn="search_category">全部</a>
|
<a href='{site:nflurl gender="$strGender" category="$strCategory" status="all" page="$intPage"/}'
|
||||||
|
btn="search_category">全部</a>
|
||||||
</li>
|
</li>
|
||||||
<li class='{eq name="strStatus" value="lianzai"}on {/eq}'>
|
<li class='{eq name="strStatus" value="lianzai"}on {/eq}'>
|
||||||
<a href="/shuku/{$strGender}/{$strCategory}/lianzai/page{$intPage}" btn="search_category">连载</a>
|
<a href='{site:nflurl gender="$strGender" category="$strCategory" status="lianzai" page="$intPage"/}'
|
||||||
|
btn="search_category">连载</a>
|
||||||
</li>
|
</li>
|
||||||
<li class='{eq name="strStatus" value="wanjie"}on {/eq}'>
|
<li class='{eq name="strStatus" value="wanjie"}on {/eq}'>
|
||||||
<a href="/shuku/{$strGender}/{$strCategory}/wanjie/page{$intPage}" btn="search_category">完本</a>
|
<a href='{site:nflurl gender="$strGender" category="$strCategory" status="wanjie" page="$intPage"/}'
|
||||||
|
btn="search_category">完本</a>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -111,7 +146,7 @@
|
|||||||
<div class="book-list">
|
<div class="book-list">
|
||||||
<ul class="clearfix">
|
<ul class="clearfix">
|
||||||
{volist name="arrNovel" id="Novel" key="key"}
|
{volist name="arrNovel" id="Novel" key="key"}
|
||||||
{include file="Public/novelListH" start="0"/}
|
{include file="Public/novelListH" start="0"/}
|
||||||
{/volist}
|
{/volist}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
@@ -119,22 +154,22 @@
|
|||||||
<div class="pages">
|
<div class="pages">
|
||||||
<ul class="pager">
|
<ul class="pager">
|
||||||
{volist name="arrPaginator" id="vo" key="k"}
|
{volist name="arrPaginator" id="vo" key="k"}
|
||||||
{switch $vo.label}
|
{switch $vo.label}
|
||||||
{case value="上一页"}
|
{case value="上一页"}
|
||||||
{if $intPage == 1}
|
{if $intPage == 1}
|
||||||
<li class="disabled"><span>«</span></li>
|
<li class="disabled"><span>«</span></li>
|
||||||
{else}
|
{else}
|
||||||
<li><a href="{$vo.url}">«</a></li>
|
<li><a href="{$vo.url}">«</a></li>
|
||||||
{/if}
|
{/if}
|
||||||
{/case}
|
{/case}
|
||||||
{case value="下一页"}
|
{case value="下一页"}
|
||||||
{if $intPage >= $intTotalPage}
|
{if $intPage >= $intTotalPage}
|
||||||
<li class="disabled"><span>»</span></li>
|
<li class="disabled"><span>»</span></li>
|
||||||
{else}
|
{else}
|
||||||
<li><a href="{$vo.url}">»</a></li>
|
<li><a href="{$vo.url}">»</a></li>
|
||||||
{/if}
|
{/if}
|
||||||
{/case}
|
{/case}
|
||||||
{/switch}
|
{/switch}
|
||||||
{/volist}
|
{/volist}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -10,10 +10,10 @@
|
|||||||
</h3>
|
</h3>
|
||||||
</li>
|
</li>
|
||||||
<li class="gx">
|
<li class="gx">
|
||||||
<a href='{$strPcPath}/books/{$Novel->og_novel_pin_yin}-{$Novel->n_id}/chapter/latest.html'
|
<a href='{$strPcPath}{site:lcpurl n_id="$Novel[n_id]" n_py="$Novel[og_novel_pin_yin]" /}'
|
||||||
title="{$Novel->og_novel_latest_chapter_name ?? 'null'}"
|
title="{$Novel->og_novel_latest_chapter_name ?? 'null'}"
|
||||||
>{$Novel->og_novel_latest_chapter_name ?? 'null'}</a></li>
|
>{$Novel->og_novel_latest_chapter_name ?? 'null'}</a></li>
|
||||||
<li class="zz">{$Novel->og_novel_author ?? 'null'}</li>
|
<li class="zz"><a href="{$strPcPath}{site:souurl key='$Novel[og_novel_author]' p='1'/}">{$Novel->og_novel_author ?? 'null'}</a></li>
|
||||||
<li class="sj">{$Novel->og_novel_update_time ?? 'null'}</li>
|
<li class="sj">{$Novel->og_novel_update_time ?? 'null'}</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
@@ -56,6 +56,9 @@
|
|||||||
</div>
|
</div>
|
||||||
{$arrGRM[2]|raw}
|
{$arrGRM[2]|raw}
|
||||||
<script>
|
<script>
|
||||||
|
const strNovelUrlTemp = `{$strNovelUrlTemp}`;
|
||||||
|
const strNovelChapterUrlTemp = `{$strNovelChapterUrlTemp}`;
|
||||||
|
const strSearchUrlTemp = `{$strSearchUrlTemp}`;
|
||||||
document.addEventListener("DOMContentLoaded", function () {
|
document.addEventListener("DOMContentLoaded", function () {
|
||||||
|
|
||||||
displayBookshelf()
|
displayBookshelf()
|
||||||
|
|||||||
@@ -54,6 +54,9 @@
|
|||||||
</div>
|
</div>
|
||||||
{$arrGRM[3]|raw}
|
{$arrGRM[3]|raw}
|
||||||
<script>
|
<script>
|
||||||
|
const strNovelUrlTemp = `{$strNovelUrlTemp}`;
|
||||||
|
const strNovelChapterUrlTemp = `{$strNovelChapterUrlTemp}`;
|
||||||
|
const strSearchUrlTemp = `{$strSearchUrlTemp}`;
|
||||||
document.addEventListener("DOMContentLoaded", function () {
|
document.addEventListener("DOMContentLoaded", function () {
|
||||||
|
|
||||||
displayHistory()
|
displayHistory()
|
||||||
|
|||||||
@@ -56,13 +56,13 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="tabBd">
|
<div class="tabBd">
|
||||||
<ul class="hotBookBd " >
|
<ul class="hotBookBd ">
|
||||||
{volist name="arrMoonRankNovel" id="Novel" key="key"}
|
{volist name="arrMoonRankNovel" id="Novel" key="key"}
|
||||||
{include file="Pc/Public/endNovelList" start="0"/}
|
{include file="Pc/Public/endNovelList" start="0"/}
|
||||||
{/volist}
|
{/volist}
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -76,19 +76,19 @@
|
|||||||
{volist name="arrRecommendEndNovel" id="Novel" key="key"}
|
{volist name="arrRecommendEndNovel" id="Novel" key="key"}
|
||||||
{$arrGRM[$key]|raw}
|
{$arrGRM[$key]|raw}
|
||||||
<li>
|
<li>
|
||||||
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->og_novel_pin_yin"/}'
|
<a href='{$strPcPath}{site:nurl n_id="$Novel[n_id]" n_py="$Novel[og_novel_pin_yin]"/}'
|
||||||
alt="{$Novel.og_novel_book_name ?? ''}" title="{$Novel.og_novel_book_name ?? ''}">
|
title="{$Novel.og_novel_book_name ?? ''}">
|
||||||
<img src="{$Novel.n_cover_path ?? ''}">
|
<img src="{$Novel.n_cover_path ?? ''}" alt="{$Novel.og_novel_book_name ?? ''}">
|
||||||
</a>
|
</a>
|
||||||
<p>
|
<p>
|
||||||
<a href="/novel/332.html">
|
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->og_novel_pin_yin"/}'>
|
||||||
<span class="bookName other">{$Novel.og_novel_book_name ?? ''}</span>
|
<span class="bookName other">{$Novel.og_novel_book_name ?? ''}</span>
|
||||||
</a>
|
</a>
|
||||||
<a href='{site:souurl key="$arrNovel.og_novel_author" p="1"/}'>
|
<a href='{$strPcPath}{site:souurl key="$Novel[og_novel_author]" p="1"/}'>
|
||||||
<span class="bookStatus other">{$Novel->og_novel_author ?? ''}</span>
|
<span class="bookStatus other">{$Novel->og_novel_author ?? ''}</span>
|
||||||
</a>
|
</a>
|
||||||
<span class="bookBrief">
|
<span class="bookBrief">
|
||||||
{$Novel.og_description ?? ''}</span>
|
{$Novel.og_description ?? ''}</span>
|
||||||
</p>
|
</p>
|
||||||
</li>
|
</li>
|
||||||
{/volist}
|
{/volist}
|
||||||
@@ -100,9 +100,12 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
const strNovelUrlTemp = `{$strNovelUrlTemp}`;
|
||||||
|
const strNovelChapterUrlTemp = `{$strNovelChapterUrlTemp}`;
|
||||||
|
const strSearchUrlTemp = `{$strSearchUrlTemp}`;
|
||||||
|
|
||||||
|
|
||||||
document.addEventListener("DOMContentLoaded", function () {
|
document.addEventListener("DOMContentLoaded", function () {
|
||||||
|
|
||||||
displayBookshelfInUser()
|
displayBookshelfInUser()
|
||||||
displayHistoryInUser()
|
displayHistoryInUser()
|
||||||
})
|
})
|
||||||
@@ -122,55 +125,59 @@
|
|||||||
const DomBookshelfContainer = document.getElementById('bookshelf-ul');
|
const DomBookshelfContainer = document.getElementById('bookshelf-ul');
|
||||||
DomBookshelfContainer.innerHTML = ''
|
DomBookshelfContainer.innerHTML = ''
|
||||||
arrBookshelf.forEach(book => {
|
arrBookshelf.forEach(book => {
|
||||||
|
let strNovelUrl = formatNovelUrl(book.og_novel_pin_yin, book.n_id)
|
||||||
|
let strNovelChapterUrl = formatNovelChapterUrl(book.og_novel_pin_yin, book.n_id, book.c_sort_num)
|
||||||
|
let strSearchUrl = formatSearchUrl(book.og_novel_author, 1)
|
||||||
const bookElement = document.createElement('li');
|
const bookElement = document.createElement('li');
|
||||||
if (isMobile()) {
|
if (isMobile()) {
|
||||||
|
|
||||||
bookElement.innerHTML = `
|
bookElement.innerHTML = `
|
||||||
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" alt="${book.og_novel_book_name}" title="${book.og_novel_book_name}">
|
<a href="${strNovelUrl}" alt="${book.og_novel_book_name}" title="${book.og_novel_book_name}">
|
||||||
<img src="${book.n_cover_path}">
|
<img src="${book.n_cover_path}">
|
||||||
</a>
|
</a>
|
||||||
<p>
|
<p>
|
||||||
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >
|
<a href="${strNovelUrl}" >
|
||||||
<span class="bookName">${book.og_novel_book_name}</span>
|
<span class="bookName">${book.og_novel_book_name}</span>
|
||||||
</a>
|
</a>
|
||||||
<span class="bookStatus">
|
<span class="bookStatus">
|
||||||
<b class="authorSt"><em>${book.og_novel_status}</em>
|
<b class="authorSt"><em>${book.og_novel_status}</em>
|
||||||
<a href='{site:souurl key="$arrNovel.og_novel_author" p="1"/}'>
|
<a href='${strSearchUrl}'>
|
||||||
<em class="none">${book.og_novel_author}</em>
|
<em class="none">${book.og_novel_author}</em>
|
||||||
</a>
|
</a>
|
||||||
</b>
|
</b>
|
||||||
<b class="authorSt chapterSt">
|
<b class="authorSt chapterSt">
|
||||||
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}" >
|
<a href="${strNovelChapterUrl}" >
|
||||||
<em class="ct">${book.c_name}</em>
|
<em class="ct">${book.c_name}</em>
|
||||||
</a>
|
</a>
|
||||||
<em class="time">${book.og_novel_update_time}</em></b>
|
<em class="time">${book.og_novel_update_time}</em></b>
|
||||||
</span>
|
</span>
|
||||||
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}" >
|
<a href="${strNovelChapterUrl}" >
|
||||||
<i class="goon">阅读</i>
|
<i class="goon">阅读</i>
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
`;
|
`;
|
||||||
} else {
|
} else {
|
||||||
bookElement.innerHTML = `
|
bookElement.innerHTML = `
|
||||||
<a href="{$strPcPath}/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" alt="${book.og_novel_book_name}" title="${book.og_novel_book_name}">
|
<a href="${strPcPath}${strNovelUrl}" alt="${book.og_novel_book_name}" title="${book.og_novel_book_name}">
|
||||||
<img src="${book.n_cover_path}">
|
<img src="${book.n_cover_path}">
|
||||||
</a>
|
</a>
|
||||||
<p>
|
<p>
|
||||||
<a href="{$strPcPath}/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >
|
<a href="${strPcPath}${strNovelUrl}" >
|
||||||
<span class="bookName">${book.og_novel_book_name}</span>
|
<span class="bookName">${book.og_novel_book_name}</span>
|
||||||
</a>
|
</a>
|
||||||
<span class="bookStatus">
|
<span class="bookStatus">
|
||||||
<b class="authorSt"><em>${book.og_novel_status}</em>
|
<b class="authorSt"><em>${book.og_novel_status}</em>
|
||||||
<a href='{site:souurl key="$arrNovel.og_novel_author" p="1"/}'>
|
<a href='${strPcPath}${strSearchUrl}'>
|
||||||
<em class="none">${book.og_novel_author}</em>
|
<em class="none">${book.og_novel_author}</em>
|
||||||
</a>
|
</a>
|
||||||
</b>
|
</b>
|
||||||
<b class="authorSt chapterSt">
|
<b class="authorSt chapterSt">
|
||||||
<a href="{$strPcPath}/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}" >
|
<a href="${strPcPath}${strNovelChapterUrl}" >
|
||||||
<em class="ct">${book.c_name}</em>
|
<em class="ct">${book.c_name}</em>
|
||||||
</a>
|
</a>
|
||||||
<em class="time">${book.og_novel_update_time}</em></b>
|
<em class="time">${book.og_novel_update_time}</em></b>
|
||||||
</span>
|
</span>
|
||||||
<a href="{$strPcPath}/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}" >
|
<a href="${strPcPath}${strNovelChapterUrl}" >
|
||||||
<i class="goon">阅读</i>
|
<i class="goon">阅读</i>
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
@@ -196,55 +203,58 @@
|
|||||||
const DomBookshelfContainer = document.getElementById('history-ul');
|
const DomBookshelfContainer = document.getElementById('history-ul');
|
||||||
DomBookshelfContainer.innerHTML = ''
|
DomBookshelfContainer.innerHTML = ''
|
||||||
arrBookshelf.forEach(book => {
|
arrBookshelf.forEach(book => {
|
||||||
|
let strNovelUrl = formatNovelUrl(book.og_novel_pin_yin, book.n_id)
|
||||||
|
let strNovelChapterUrl = formatNovelChapterUrl(book.og_novel_pin_yin, book.n_id, book.c_sort_num)
|
||||||
|
let strSearchUrl = formatSearchUrl(book.og_novel_author, 1)
|
||||||
const bookElement = document.createElement('li');
|
const bookElement = document.createElement('li');
|
||||||
if (isMobile()) {
|
if (isMobile()) {
|
||||||
bookElement.innerHTML = `
|
bookElement.innerHTML = `
|
||||||
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" alt="${book.og_novel_book_name}" title="${book.og_novel_book_name}">
|
<a href="${strNovelUrl}" alt="${book.og_novel_book_name}" title="${book.og_novel_book_name}">
|
||||||
<img src="${book.n_cover_path}">
|
<img src="${book.n_cover_path}">
|
||||||
</a>
|
</a>
|
||||||
<p>
|
<p>
|
||||||
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >
|
<a href="${strNovelUrl}" >
|
||||||
<span class="bookName">${book.og_novel_book_name}</span>
|
<span class="bookName">${book.og_novel_book_name}</span>
|
||||||
</a>
|
</a>
|
||||||
<span class="bookStatus">
|
<span class="bookStatus">
|
||||||
<b class="authorSt"><em>${book.og_novel_status}</em>
|
<b class="authorSt"><em>${book.og_novel_status}</em>
|
||||||
<a href='{site:souurl key="$arrNovel.og_novel_author" p="1"/}'>
|
<a href='${strSearchUrl}'>
|
||||||
<em class="none">${book.og_novel_author}</em>
|
<em class="none">${book.og_novel_author}</em>
|
||||||
</a>
|
</a>
|
||||||
</b>
|
</b>
|
||||||
<b class="authorSt chapterSt">
|
<b class="authorSt chapterSt">
|
||||||
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}" >
|
<a href="${strNovelChapterUrl}" >
|
||||||
<em class="ct">${book.c_name}</em>
|
<em class="ct">${book.c_name}</em>
|
||||||
</a>
|
</a>
|
||||||
<em class="time">${book.og_novel_update_time}</em></b>
|
<em class="time">${book.og_novel_update_time}</em></b>
|
||||||
</span>
|
</span>
|
||||||
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}" >
|
<a href="${strNovelChapterUrl}" >
|
||||||
<i class="goon">阅读</i>
|
<i class="goon">阅读</i>
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
`;
|
`;
|
||||||
} else {
|
} else {
|
||||||
bookElement.innerHTML = `
|
bookElement.innerHTML = `
|
||||||
<a href="{$strPcPath}/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" alt="${book.og_novel_book_name}" title="${book.og_novel_book_name}">
|
<a href="${strPcPath}${strNovelUrl}" alt="${book.og_novel_book_name}" title="${book.og_novel_book_name}">
|
||||||
<img src="${book.n_cover_path}">
|
<img src="${book.n_cover_path}">
|
||||||
</a>
|
</a>
|
||||||
<p>
|
<p>
|
||||||
<a href="{$strPcPath}/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >
|
<a href="${strPcPath}${strNovelUrl}" >
|
||||||
<span class="bookName">${book.og_novel_book_name}</span>
|
<span class="bookName">${book.og_novel_book_name}</span>
|
||||||
</a>
|
</a>
|
||||||
<span class="bookStatus">
|
<span class="bookStatus">
|
||||||
<b class="authorSt"><em>${book.og_novel_status}</em>
|
<b class="authorSt"><em>${book.og_novel_status}</em>
|
||||||
<a href='{site:souurl key="$arrNovel.og_novel_author" p="1"/}'>
|
<a href='${strSearchUrl}'>
|
||||||
<em class="none">${book.og_novel_author}</em>
|
<em class="none">${book.og_novel_author}</em>
|
||||||
</a>
|
</a>
|
||||||
</b>
|
</b>
|
||||||
<b class="authorSt chapterSt">
|
<b class="authorSt chapterSt">
|
||||||
<a href="{$strPcPath}/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}" >
|
<a href="${strPcPath}${strNovelChapterUrl}" >
|
||||||
<em class="ct">${book.c_name}</em>
|
<em class="ct">${book.c_name}</em>
|
||||||
</a>
|
</a>
|
||||||
<em class="time">${book.og_novel_update_time}</em></b>
|
<em class="time">${book.og_novel_update_time}</em></b>
|
||||||
</span>
|
</span>
|
||||||
<a href="{$strPcPath}/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}" >
|
<a href="${strPcPath}${strNovelChapterUrl}" >
|
||||||
<i class="goon">阅读</i>
|
<i class="goon">阅读</i>
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|||||||
@@ -85,10 +85,10 @@
|
|||||||
<li><a class='{eq name="strGender" value="all"}on {/eq}'
|
<li><a class='{eq name="strGender" value="all"}on {/eq}'
|
||||||
href='{$strPcPath}{site:nflurl gender="all" category="$strCategory" status="$strStatus" page="$intPage"/}'
|
href='{$strPcPath}{site:nflurl gender="all" category="$strCategory" status="$strStatus" page="$intPage"/}'
|
||||||
btn="search_category">全部</a></li>
|
btn="search_category">全部</a></li>
|
||||||
<li><a class='{eq name="strGender" value="$strNanUrlTemp"}on {/eq}'
|
<li><a class='{eq name="strGender" value="$strNanUrl"}on {/eq}'
|
||||||
href='{$strPcPath}{site:nflurl gender="$strNanUrlTemp" category="$strCategory" status="$strStatus" page="$intPage"/}'
|
href='{$strPcPath}{site:nflurl gender="$strNanUrlTemp" category="$strCategory" status="$strStatus" page="$intPage"/}'
|
||||||
btn="search_category">男生</a></li>
|
btn="search_category">男生</a></li>
|
||||||
<li><a class='{eq name="strGender" value="$strNvUrlTemp"}on {/eq}'
|
<li><a class='{eq name="strGender" value="$strNvUrl"}on {/eq}'
|
||||||
href='{$strPcPath}{site:nflurl gender="$strNvUrlTemp" category="$strCategory" status="$strStatus" page="$intPage"/}'
|
href='{$strPcPath}{site:nflurl gender="$strNvUrlTemp" category="$strCategory" status="$strStatus" page="$intPage"/}'
|
||||||
btn="search_category">女生</a></li>
|
btn="search_category">女生</a></li>
|
||||||
|
|
||||||
@@ -98,24 +98,34 @@
|
|||||||
<span class="optTit">所属分类</span>
|
<span class="optTit">所属分类</span>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a class='{eq name="strCategory" value="all"}on {/eq}'
|
<li><a class='{eq name="strCategory" value="all"}on {/eq}'
|
||||||
href='{$strPcPath}{site:nflurl gender="$strGender" category="all" status="$strStatus" page="$intPage"/}'
|
href='{$strPcPath}{site:nflurl gender="$strGender" category="all" status="$strStatus" page="$intPage"/}'
|
||||||
btn="search_category">全部</a></li>
|
btn="search_category">全部</a></li>
|
||||||
|
{eq name="strGender" value="all"}
|
||||||
{eq name="strGender" value="$strNanUrlTemp"}
|
|
||||||
{foreach $arrCategoryAll.man as $key=>$vo }
|
{foreach $arrCategoryAll.man as $key=>$vo }
|
||||||
<li><a class='{eq name="key" value="$strCategory"}on {/eq}'
|
<li><a class='{eq name="key" value="$strCategory"}on {/eq}'
|
||||||
href='{$strPcPath}{site:nflurl gender="$strGender" category="$key" status="$strStatus" page="$intPage"/}'
|
href='{$strPcPath}{site:nflurl gender="$strGender" category="$key" status="$strStatus" page="$intPage"/}'
|
||||||
btn="search_category">{$vo}</a></li>
|
btn="search_category">{$vo}</a></li>
|
||||||
{/foreach}
|
{/foreach}
|
||||||
{else}
|
|
||||||
{foreach $arrCategoryAll.women as $key=>$vo }
|
{foreach $arrCategoryAll.women as $key=>$vo }
|
||||||
<li><a class='{eq name="key" value="$strCategory"}on {/eq}'
|
<li><a class='{eq name="key" value="$strCategory"}on {/eq}'
|
||||||
href='{$strPcPath}{site:nflurl gender="$strGender" category="$key" status="$strStatus" page="$intPage"/}'
|
href='{$strPcPath}{site:nflurl gender="$strGender" category="$key" status="$strStatus" page="$intPage"/}'
|
||||||
btn="search_category">{$vo}</a></li>
|
btn="search_category">{$vo}</a></li>
|
||||||
{/foreach}
|
{/foreach}
|
||||||
{/eq}
|
{/eq}
|
||||||
|
{eq name="strGender" value="$strNanUrl"}
|
||||||
|
{foreach $arrCategoryAll.man as $key=>$vo }
|
||||||
|
<li><a class='{eq name="key" value="$strCategory"}on {/eq}'
|
||||||
|
href='{$strPcPath}{site:nflurl gender="$strGender" category="$key" status="$strStatus" page="$intPage"/}'
|
||||||
|
btn="search_category">{$vo}</a></li>
|
||||||
|
{/foreach}
|
||||||
|
{/eq}
|
||||||
|
{eq name="strGender" value="$strNvUrl"}
|
||||||
|
{foreach $arrCategoryAll.women as $key=>$vo }
|
||||||
|
<li><a class='{eq name="key" value="$strCategory"}on {/eq}'
|
||||||
|
href='{$strPcPath}{site:nflurl gender="$strGender" category="$key" status="$strStatus" page="$intPage"/}'
|
||||||
|
btn="search_category">{$vo}</a></li>
|
||||||
|
{/foreach}
|
||||||
|
{/eq}
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div class="optCl">
|
<div class="optCl">
|
||||||
@@ -125,11 +135,9 @@
|
|||||||
href='{$strPcPath}{site:nflurl gender="$strGender" category="$strCategory" status="all" page="$intPage"/}'
|
href='{$strPcPath}{site:nflurl gender="$strGender" category="$strCategory" status="all" page="$intPage"/}'
|
||||||
btn="search_category">全部</a></li>
|
btn="search_category">全部</a></li>
|
||||||
<li><a class='{eq name="strStatus" value="lianzai"}on {/eq}'
|
<li><a class='{eq name="strStatus" value="lianzai"}on {/eq}'
|
||||||
|
|
||||||
href='{$strPcPath}{site:nflurl gender="$strGender" category="$strCategory" status="lianzai" page="$intPage"/}'
|
href='{$strPcPath}{site:nflurl gender="$strGender" category="$strCategory" status="lianzai" page="$intPage"/}'
|
||||||
btn="search_category">连载</a></li>
|
btn="search_category">连载</a></li>
|
||||||
<li><a class='{eq name="strStatus" value="wanjie"}on {/eq}'
|
<li><a class='{eq name="strStatus" value="wanjie"}on {/eq}'
|
||||||
|
|
||||||
href='{$strPcPath}{site:nflurl gender="$strGender" category="$strCategory" status="wanjie" page="$intPage"/}'
|
href='{$strPcPath}{site:nflurl gender="$strGender" category="$strCategory" status="wanjie" page="$intPage"/}'
|
||||||
btn="search_category">完本</a></li>
|
btn="search_category">完本</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -154,14 +162,14 @@
|
|||||||
{if $intPage == 1}
|
{if $intPage == 1}
|
||||||
<li class="disabled"><span>«</span></li>
|
<li class="disabled"><span>«</span></li>
|
||||||
{else}
|
{else}
|
||||||
<li><a href="{$strPcPath}/shuku/{$strGender}/{$strCategory}/{$strStatus}/page{$intPage-1}">«</a></li>
|
<li><a href="{$strPcPath}{$vo.url}">«</a></li>
|
||||||
{/if}
|
{/if}
|
||||||
{/case}
|
{/case}
|
||||||
{case value="下一页"}
|
{case value="下一页"}
|
||||||
{if $intPage >= $intTotalPage}
|
{if $intPage >= $intTotalPage}
|
||||||
<li class="disabled"><span>»</span></li>
|
<li class="disabled"><span>»</span></li>
|
||||||
{else}
|
{else}
|
||||||
<li><a href="{$strPcPath}/shuku/{$strGender}/{$strCategory}/{$strStatus}/page{$intPage+1}">»</a></li>
|
<li><a href="{$strPcPath}{$vo.url}">»</a></li>
|
||||||
{/if}
|
{/if}
|
||||||
{/case}
|
{/case}
|
||||||
{case value="..."}
|
{case value="..."}
|
||||||
|
|||||||
@@ -42,6 +42,9 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
|
const strNovelUrlTemp = `{$strNovelUrlTemp}`;
|
||||||
|
const strNovelChapterUrlTemp = `{$strNovelChapterUrlTemp}`;
|
||||||
|
const strSearchUrlTemp = `{$strSearchUrlTemp}`;
|
||||||
document.addEventListener("DOMContentLoaded", function () {
|
document.addEventListener("DOMContentLoaded", function () {
|
||||||
|
|
||||||
displayBookshelf()
|
displayBookshelf()
|
||||||
|
|||||||
@@ -44,6 +44,9 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
const strNovelUrlTemp = `{$strNovelUrlTemp}`;
|
||||||
|
const strNovelChapterUrlTemp = `{$strNovelChapterUrlTemp}`;
|
||||||
|
const strSearchUrlTemp = `{$strSearchUrlTemp}`;
|
||||||
document.addEventListener("DOMContentLoaded", function () {
|
document.addEventListener("DOMContentLoaded", function () {
|
||||||
|
|
||||||
displayHistory()
|
displayHistory()
|
||||||
|
|||||||
@@ -40,7 +40,7 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="searchbox">
|
<div class="searchbox">
|
||||||
<form action="/search" method="get">
|
<form action="{$strSearchIndexUrlTemp}" method="get">
|
||||||
<div class="searchbox-inner">
|
<div class="searchbox-inner">
|
||||||
<input type="text" name="keyword" placeholder="找书" class="searchinput" value="">
|
<input type="text" name="keyword" placeholder="找书" class="searchinput" value="">
|
||||||
<i class="search-icon"></i>
|
<i class="search-icon"></i>
|
||||||
|
|||||||
@@ -89,7 +89,7 @@ class TemplateSeeder
|
|||||||
'arrSubjectFomart' => [
|
'arrSubjectFomart' => [
|
||||||
'{strNovelName} - {strNovelAuthor}- {strNovelCategoryName} - 免费在线阅读 - {strSiteName}',
|
'{strNovelName} - {strNovelAuthor}- {strNovelCategoryName} - 免费在线阅读 - {strSiteName}',
|
||||||
'{strNovelName} - {strNovelAuthor} - {strSiteName} - 免费阅读',
|
'{strNovelName} - {strNovelAuthor} - {strSiteName} - 免费阅读',
|
||||||
'《strNovelName}》strNovelName}全文阅读 - {strNovelCategoryName} - {strSiteName}',
|
'《{strNovelName}》{strNovelName}全文阅读 - {strNovelCategoryName} - {strSiteName}',
|
||||||
'{strNovelName}{strNovelCategoryName} - {strNovelName}阅读 - {strSiteName}',
|
'{strNovelName}{strNovelCategoryName} - {strNovelName}阅读 - {strSiteName}',
|
||||||
'{strNovelName}完整版免费阅读 |{strNovelName}最新章节免费阅读 - {strSiteName}',
|
'{strNovelName}完整版免费阅读 |{strNovelName}最新章节免费阅读 - {strSiteName}',
|
||||||
'{strNovelName}全文免费阅读 | {strNovelName}最新章节更新 - {strSiteName}',
|
'{strNovelName}全文免费阅读 | {strNovelName}最新章节更新 - {strSiteName}',
|
||||||
@@ -117,7 +117,6 @@ class TemplateSeeder
|
|||||||
'{strNovelName} - {strNovelAuthor}全集 - {strSiteName}免费小说',
|
'{strNovelName} - {strNovelAuthor}全集 - {strSiteName}免费小说',
|
||||||
'{strNovelName}在线阅读全本 - {strNovelCategoryName} - {strSiteName}',
|
'{strNovelName}在线阅读全本 - {strNovelCategoryName} - {strSiteName}',
|
||||||
'{strNovelName}免费小说章节 - {strNovelAuthor}更新 - {strSiteName}',
|
'{strNovelName}免费小说章节 - {strNovelAuthor}更新 - {strSiteName}',
|
||||||
|
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'NOVEL@GETNOVELINFO@KEYWORDS' => [
|
'NOVEL@GETNOVELINFO@KEYWORDS' => [
|
||||||
@@ -184,6 +183,29 @@ class TemplateSeeder
|
|||||||
'arrSubjectFomart' => [
|
'arrSubjectFomart' => [
|
||||||
'{strNovelName} {strNovelChapterName} - {strNovelAuthor} - 免费阅读 - {strSiteName}',
|
'{strNovelName} {strNovelChapterName} - {strNovelAuthor} - 免费阅读 - {strSiteName}',
|
||||||
'{strNovelName} {strNovelChapterName} - {strSiteName}',
|
'{strNovelName} {strNovelChapterName} - {strSiteName}',
|
||||||
|
'「{strNovelName}」第{strNovelChapterSort}章 {strNovelChapterName}最新章节 _ {strNovelChapterName}最新章节列表 - {strSiteName}',
|
||||||
|
'{strNovelName}_ 第{strNovelChapterSort}章{strNovelChapterName} _ {strNovelName}免费阅读更新 - {strSiteName}',
|
||||||
|
'{strNovelName}第{strNovelChapterSort}章{strNovelChapterName}{strNovelName}小说免费阅读 - {strSiteName}',
|
||||||
|
'{strNovelName}免费阅读-第{strNovelChapterSort}章 {strNovelChapterName}最新章节 - {strSiteName}',
|
||||||
|
'{strNovelName}全集-第{strNovelChapterSort}章 {strNovelChapterName}最新章节 - {strSiteName}',
|
||||||
|
'{strNovelName}全文阅读-第{strNovelChapterSort}章 {strNovelChapterName}最新章节 - {strSiteName}',
|
||||||
|
'{strNovelName}无弹窗-第{strNovelChapterSort}章 {strNovelChapterName}最新章节 - {strSiteName}',
|
||||||
|
'{strNovelName}在线阅读-第{strNovelChapterSort}章 {strNovelChapterName}最新章节 - {strSiteName}',
|
||||||
|
'{strNovelName}全文免费阅读-第{strNovelChapterSort}章 {strNovelChapterName}最新章节 - {strSiteName}',
|
||||||
|
'{strNovelName}全集阅读-第{strNovelChapterSort}章 {strNovelChapterName}最新章节 - {strSiteName}',
|
||||||
|
'{strNovelName}免费阅读全文-第{strNovelChapterSort}章 {strNovelChapterName}最新章节 - {strSiteName}',
|
||||||
|
'{strNovelName}无弹窗阅读-第{strNovelChapterSort}章 {strNovelChapterName}最新章节 - {strSiteName}',
|
||||||
|
'{strNovelName}免费在线阅读-第{strNovelChapterSort}章 {strNovelChapterName}最新章节 - {strSiteName}',
|
||||||
|
'「{strNovelName}」免费阅读_第{strNovelChapterSort}章 {strNovelChapterName}最新章节更新 - {strSiteName}',
|
||||||
|
'「{strNovelName}」全集_第{strNovelChapterSort}章 {strNovelChapterName}最新章节更新 - {strSiteName}',
|
||||||
|
'「{strNovelName}」全文阅读_第{strNovelChapterSort}章 {strNovelChapterName}最新章节更新 - {strSiteName}',
|
||||||
|
'「{strNovelName}」无弹窗_第{strNovelChapterSort}章 {strNovelChapterName}最新章节更新 - {strSiteName}',
|
||||||
|
'「{strNovelName}」在线阅读_第{strNovelChapterSort}章 {strNovelChapterName}最新章节更新 - {strSiteName}',
|
||||||
|
'「{strNovelName}」全文免费阅读_第{strNovelChapterSort}章 {strNovelChapterName}最新章节更新 - {strSiteName}',
|
||||||
|
'「{strNovelName}」全集阅读_第{strNovelChapterSort}章 {strNovelChapterName}最新章节更新 - {strSiteName}',
|
||||||
|
'「{strNovelName}」免费阅读全文_第{strNovelChapterSort}章 {strNovelChapterName}最新章节更新 - {strSiteName}',
|
||||||
|
'「{strNovelName}」无弹窗阅读_第{strNovelChapterSort}章 {strNovelChapterName}最新章节更新 - {strSiteName}',
|
||||||
|
'「{strNovelName}」免费在线阅读_第{strNovelChapterSort}章 {strNovelChapterName}最新章节更新 - {strSiteName}',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'NOVEL@GETNOVELCHAPTER@KEYWORDS' => [
|
'NOVEL@GETNOVELCHAPTER@KEYWORDS' => [
|
||||||
@@ -191,6 +213,15 @@ class TemplateSeeder
|
|||||||
'sfg_id' => 17,
|
'sfg_id' => 17,
|
||||||
'arrSubjectFomart' => [
|
'arrSubjectFomart' => [
|
||||||
'{strNovelName}, {strNovelChapterName}, {strNovelAuthor}, {strSiteKeywords}, 免费阅读, {strSiteName}',
|
'{strNovelName}, {strNovelChapterName}, {strNovelAuthor}, {strSiteKeywords}, 免费阅读, {strSiteName}',
|
||||||
|
'{strNovelName}, {strNovelAuthor}, {strNovelCategoryName}, {strNovelSex}小说, {strNovelStatus}小说, {strSiteName}, 免费阅读',
|
||||||
|
'{strNovelName},{strNovelName}免费全文阅读,{strNovelName}免费阅读无弹窗,{strNovelName}下载TXT',
|
||||||
|
'{strNovelName},{strNovelName}全文阅读,{strNovelName}免费无弹窗,{strNovelName}最新章节目录',
|
||||||
|
'{strNovelName},{strNovelName}完整版免费阅读,{strNovelName}小说最新章节免费阅读,{strNovelName}免费阅读全文',
|
||||||
|
'{strNovelName},{strNovelName}全文免费阅读,{strNovelName}最新章节更新,{strNovelName}全文免费',
|
||||||
|
'{strNovelName},{strNovelName}全文免费,{strNovelName}免费阅读更新,{strNovelName}最新章节',
|
||||||
|
'{strNovelName},{strNovelName}小说最新章节免费阅读,{strNovelName}免费阅读全文,{strNovelName}全文阅读',
|
||||||
|
'{strNovelName},{strNovelName}最新章节,{strNovelName}最新章节列表,{strNovelName}最新更新免费阅读',
|
||||||
|
'{strNovelName},{strNovelName}免费无弹窗,{strNovelName}最新章节目录,{strNovelName}无弹窗',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'NOVEL@GETNOVELCHAPTER@DESCRIPTION' => [
|
'NOVEL@GETNOVELCHAPTER@DESCRIPTION' => [
|
||||||
@@ -198,6 +229,19 @@ class TemplateSeeder
|
|||||||
'sfg_id' => 18,
|
'sfg_id' => 18,
|
||||||
'arrSubjectFomart' => [
|
'arrSubjectFomart' => [
|
||||||
'{strNovelName}{strNovelChapterName}免费在线阅读,{strNovelAuthor}著。{strChapterDescription},快来{strSiteName}畅读精彩章节!',
|
'{strNovelName}{strNovelChapterName}免费在线阅读,{strNovelAuthor}著。{strChapterDescription},快来{strSiteName}畅读精彩章节!',
|
||||||
|
'{strSiteName}提供{strNovelName}免费在线阅读,{strNovelAuthor}创作的{strNovelCategoryName}{strNovelStatus}小说,{strNovelDescription},欢迎体验{strSiteDomain}!',
|
||||||
|
'{strSiteName}提供{strNovelName}免费全文阅读,本站支持手机和电脑在线阅读{strNovelName}免费阅读无弹窗,{strNovelName}简介:{strNovelDescription},',
|
||||||
|
'{strNovelName}资源由{strSiteName}为广大网友收集而来,还免费提供{strNovelName}免费在线阅读,同时还提供{strNovelName}免费全文阅读介绍简介等小说信息。',
|
||||||
|
'本书又名《{strNovelName}》{strNovelDescription},',
|
||||||
|
'{strSiteName}提供{strNovelAuthor}最新章节更新,本站支持手机和电脑在线阅读{strNovelName}全文免费,{strNovelName}简介:{strNovelDescription},。',
|
||||||
|
'{strNovelName}{strNovelAuthor}由{strSiteName}为您提供,包括{strSiteName}下载TXT,{strSiteName}下载,{strNovelDescription},',
|
||||||
|
'{strSiteName}为广大网友收集《{strNovelName}》全文阅读,{strNovelDescription},',
|
||||||
|
'【{strSiteName}】为您提供《{strNovelName}》完整版免费阅读【免费无弹窗阅读资源】。该小说由{strNovelAuthor}创作:{strNovelDescription},',
|
||||||
|
'《{strNovelName}》{strNovelCategoryName}由{strNovelAuthor}创作,讲述了{strNovelDescription},',
|
||||||
|
'{strSiteName}提供{strNovelName}小说最新章节免费阅读,本站支持手机和电脑在线阅读{strNovelName}免费阅读全文,{strNovelName}简介:({strNovelDescription},',
|
||||||
|
'{strNovelName}资源由{strSiteName}为广大网友收集而来,还免费提供{strNovelName}最新章节,同时还提供{strNovelName}最新章节列表介绍简介等小说信息。',
|
||||||
|
'【{strSiteName}】为您提供《{strNovelName}》免费无弹窗【免费无弹窗阅读资源】。该小说由{strNovelAuthor}创作:{strNovelDescription},',
|
||||||
|
'{strNovelName}全文阅读:{strNovelDescription},',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
|
|
||||||
@@ -306,7 +350,7 @@ class TemplateSeeder
|
|||||||
'description' => '最新章节特殊页URL 模板1',
|
'description' => '最新章节特殊页URL 模板1',
|
||||||
'sfg_id' => 33,
|
'sfg_id' => 33,
|
||||||
'arrSubjectFomart' => [
|
'arrSubjectFomart' => [
|
||||||
'/books/{strPinYin}-{intNId}/chapter/latest',
|
'/xiaoshuo/{strPinYin}-{intNId}/chapter/latest',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'SEARCH_INFO_URL' => [
|
'SEARCH_INFO_URL' => [
|
||||||
@@ -644,35 +688,35 @@ class TemplateSeeder
|
|||||||
],
|
],
|
||||||
|
|
||||||
// 小说章节 url
|
// 小说章节 url
|
||||||
'CONTENT_INFO_T2' => [
|
'CONTENT_INFO_URL_T2' => [
|
||||||
'description' => '内容章节URL 模板2',
|
'description' => '内容章节URL 模板2',
|
||||||
'sfg_id' => 74,
|
'sfg_id' => 74,
|
||||||
'arrSubjectFomart' => [
|
'arrSubjectFomart' => [
|
||||||
'/novel/{strPinYin}-{intNId}/zhang-{intChapterSort}/{intChapterPage}',
|
'/novel/{strPinYin}-{intNId}/zhang-{intChapterSort}/{intChapterPage}',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'CONTENT_INFO_T3' => [
|
'CONTENT_INFO_URL_T3' => [
|
||||||
'description' => '内容章节URL 模板3',
|
'description' => '内容章节URL 模板3',
|
||||||
'sfg_id' => 75,
|
'sfg_id' => 75,
|
||||||
'arrSubjectFomart' => [
|
'arrSubjectFomart' => [
|
||||||
'/book/{strPinYin}-{intNId}/zhang-{intChapterSort}/{intChapterPage}',
|
'/book/{strPinYin}-{intNId}/zhang-{intChapterSort}/{intChapterPage}',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'CONTENT_INFO_T4' => [
|
'CONTENT_INFO_URL_T4' => [
|
||||||
'description' => '内容章节URL 模板4',
|
'description' => '内容章节URL 模板4',
|
||||||
'sfg_id' => 76,
|
'sfg_id' => 76,
|
||||||
'arrSubjectFomart' => [
|
'arrSubjectFomart' => [
|
||||||
'/xiaoshuo-{strPinYin}-{intNId}/zhang-{intChapterSort}/{intChapterPage}',
|
'/xiaoshuo-{strPinYin}-{intNId}/zhang-{intChapterSort}/{intChapterPage}',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'CONTENT_INFO_T5' => [
|
'CONTENT_INFO_URL_T5' => [
|
||||||
'description' => '内容章节URL 模板5',
|
'description' => '内容章节URL 模板5',
|
||||||
'sfg_id' => 77,
|
'sfg_id' => 77,
|
||||||
'arrSubjectFomart' => [
|
'arrSubjectFomart' => [
|
||||||
'/novel-{strPinYin}-{intNId}/zhang-{intChapterSort}/{intChapterPage}',
|
'/novel-{strPinYin}-{intNId}/zhang-{intChapterSort}/{intChapterPage}',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'CONTENT_INFO_T6' => [
|
'CONTENT_INFO_URL_T6' => [
|
||||||
'description' => '内容章节URL 模板6',
|
'description' => '内容章节URL 模板6',
|
||||||
'sfg_id' => 78,
|
'sfg_id' => 78,
|
||||||
'arrSubjectFomart' => [
|
'arrSubjectFomart' => [
|
||||||
@@ -689,35 +733,35 @@ class TemplateSeeder
|
|||||||
* '/novel-{strPinYin}-{intNId}/chapter/latest',
|
* '/novel-{strPinYin}-{intNId}/chapter/latest',
|
||||||
* '/book-{strPinYin}-{intNId}/chapter/latest',
|
* '/book-{strPinYin}-{intNId}/chapter/latest',
|
||||||
*/
|
*/
|
||||||
'NEWS_CONTENT_INFO_T2' => [
|
'NEWS_CONTENT_INFO_URL_T2' => [
|
||||||
'description' => '最新内容章节URL 模板2',
|
'description' => '最新内容章节URL 模板2',
|
||||||
'sfg_id' => 79,
|
'sfg_id' => 79,
|
||||||
'arrSubjectFomart' => [
|
'arrSubjectFomart' => [
|
||||||
'/novel/{strPinYin}-{intNId}/chapter/latest',
|
'/novel/{strPinYin}-{intNId}/chapter/latest',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'NEWS_CONTENT_INFO_T3' => [
|
'NEWS_CONTENT_INFO_URL_T3' => [
|
||||||
'description' => '最新内容章节URL 模板3',
|
'description' => '最新内容章节URL 模板3',
|
||||||
'sfg_id' => 80,
|
'sfg_id' => 80,
|
||||||
'arrSubjectFomart' => [
|
'arrSubjectFomart' => [
|
||||||
'/book/{strPinYin}-{intNId}/chapter/latest',
|
'/book/{strPinYin}-{intNId}/chapter/latest',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'NEWS_CONTENT_INFO_T4' => [
|
'NEWS_CONTENT_INFO_URL_T4' => [
|
||||||
'description' => '最新内容章节URL 模板4',
|
'description' => '最新内容章节URL 模板4',
|
||||||
'sfg_id' => 81,
|
'sfg_id' => 81,
|
||||||
'arrSubjectFomart' => [
|
'arrSubjectFomart' => [
|
||||||
'/xiaoshuo-{strPinYin}-{intNId}/chapter/latest',
|
'/xiaoshuo-{strPinYin}-{intNId}/chapter/latest',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'NEWS_CONTENT_INFO_T5' => [
|
'NEWS_CONTENT_INFO_URL_T5' => [
|
||||||
'description' => '最新内容章节URL 模板5',
|
'description' => '最新内容章节URL 模板5',
|
||||||
'sfg_id' => 82,
|
'sfg_id' => 82,
|
||||||
'arrSubjectFomart' => [
|
'arrSubjectFomart' => [
|
||||||
'/novel-{strPinYin}-{intNId}/chapter/latest',
|
'/novel-{strPinYin}-{intNId}/chapter/latest',
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
'NEWS_CONTENT_INFO_T6' => [
|
'NEWS_CONTENT_INFO_URL_T6' => [
|
||||||
'description' => '最新内容章节URL 模板6',
|
'description' => '最新内容章节URL 模板6',
|
||||||
'sfg_id' => 83,
|
'sfg_id' => 83,
|
||||||
'arrSubjectFomart' => [
|
'arrSubjectFomart' => [
|
||||||
|
|||||||
@@ -30,6 +30,25 @@
|
|||||||
// );
|
// );
|
||||||
// } catch (err) { }
|
// } catch (err) { }
|
||||||
// })();
|
// })();
|
||||||
|
function formatNovelUrl(strPinYin, intNId) {
|
||||||
|
return strNovelUrlTemp
|
||||||
|
.replace('{strPinYin}', encodeURIComponent(strPinYin))
|
||||||
|
.replace('{intNId}', intNId);
|
||||||
|
}
|
||||||
|
|
||||||
|
function formatNovelChapterUrl(strPinYin, intNId, intSort,intPage=0) {
|
||||||
|
return strNovelChapterUrlTemp
|
||||||
|
.replace('{strPinYin}', encodeURIComponent(strPinYin))
|
||||||
|
.replace('{intNId}', intNId)
|
||||||
|
.replace('{intChapterPage}', intPage)
|
||||||
|
.replace('{intChapterSort}', intSort);
|
||||||
|
}
|
||||||
|
|
||||||
|
function formatSearchUrl(strKey,intPage=1) {
|
||||||
|
return strSearchUrlTemp
|
||||||
|
.replace('{strSearchKeywords}', strKey)
|
||||||
|
.replace('{intPage}', intPage);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
function isMobile() {
|
function isMobile() {
|
||||||
@@ -73,31 +92,31 @@ document.addEventListener("DOMContentLoaded", function () {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
function handleRedirect() {
|
function handleRedirect() {
|
||||||
const { pathname, origin, search } = window.location;
|
const { pathname, origin, search } = window.location;
|
||||||
|
|
||||||
// Normalize pathname by replacing multiple slashes with a single slash
|
// 规范化路径名,将多个斜杠替换为单个斜杠
|
||||||
const normalizedPath = pathname.replace(/\/+/g, '/');
|
const normalizedPath = pathname.replace(/\/+/g, '/');
|
||||||
const strCurrentPath = normalizedPath || '/index.html';
|
const strCurrentPath = normalizedPath || '/index.html';
|
||||||
|
|
||||||
// Build URL with proper slash handling
|
// 构建URL,确保斜杠正确
|
||||||
const buildUrl = (path) => {
|
const buildUrl = (path) => {
|
||||||
// Ensure path starts with a single slash and remove duplicate slashes
|
// 确保路径以单个斜杠开头,并移除多余斜杠
|
||||||
const cleanPath = `/${path.replace(/\/+/g, '/')}`.replace(/^\/+/, '/');
|
const cleanPath = `/${path.replace(/\/+/g, '/')}`.replace(/^\/+/, '/');
|
||||||
return `${origin}${cleanPath}${search}`;
|
return `${origin}${cleanPath}${search}`;
|
||||||
};
|
};
|
||||||
|
|
||||||
if (isMobile()) {
|
if (isMobile()) {
|
||||||
// Mobile logic: Redirect PC paths to mobile paths
|
// 移动端逻辑:将PC路径重定向到移动端路径
|
||||||
if (strCurrentPath.startsWith(strPcPath)) {
|
if (strCurrentPath.startsWith(strPcPath)) {
|
||||||
const newPath = strCurrentPath.replace(strPcPath, '') || '/';
|
const newPath = strCurrentPath.replace(strPcPath, '') || '/';
|
||||||
window.location.href = buildUrl(newPath);
|
window.location.href = buildUrl(newPath);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// PC logic: Redirect non-PC paths to PC paths
|
// PC端逻辑:将非PC路径重定向到PC路径
|
||||||
if (!strCurrentPath.startsWith(strPcPath)) {
|
if (!strCurrentPath.startsWith(strPcPath)) {
|
||||||
const newPath = `${strPcPath}${strCurrentPath === '/' ? '' : strCurrentPath}`;
|
// 确保 PC 首页以斜杠结尾
|
||||||
|
const newPath = strCurrentPath === '/' ? `${strPcPath}/` : `${strPcPath}${strCurrentPath}`;
|
||||||
window.location.href = buildUrl(newPath);
|
window.location.href = buildUrl(newPath);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -200,13 +219,15 @@ function displayBookshelf() {
|
|||||||
const DomBookshelfContainer = document.getElementById('bookshelfMod-head');
|
const DomBookshelfContainer = document.getElementById('bookshelfMod-head');
|
||||||
const DomBookshelfContainerH5 = document.getElementById('list');
|
const DomBookshelfContainerH5 = document.getElementById('list');
|
||||||
arrBookshelf.forEach(book => {
|
arrBookshelf.forEach(book => {
|
||||||
console.log(isMobile())
|
let strNovelUrl = formatNovelUrl(book.og_novel_pin_yin, book.n_id)
|
||||||
|
let strNovelChapterUrl = formatNovelChapterUrl(book.og_novel_pin_yin, book.n_id, book.c_sort_num)
|
||||||
|
let strSearchUrl = formatSearchUrl(book.og_novel_author, 1)
|
||||||
if (isMobile()) {
|
if (isMobile()) {
|
||||||
const bookElement = document.createElement('li');
|
const bookElement = document.createElement('li');
|
||||||
bookElement.classList.add('book-shelf'); // 添加类名
|
bookElement.classList.add('book-shelf'); // 添加类名
|
||||||
bookElement.classList.add('li2'); // 添加类名
|
bookElement.classList.add('li2'); // 添加类名
|
||||||
bookElement.innerHTML = `
|
bookElement.innerHTML = `
|
||||||
<a href='/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}'>
|
<a href='${strNovelUrl}'>
|
||||||
<div class="leftImage2 ">
|
<div class="leftImage2 ">
|
||||||
<img class="lazyload-img" src="${book.n_cover_path}" >
|
<img class="lazyload-img" src="${book.n_cover_path}" >
|
||||||
</div>
|
</div>
|
||||||
@@ -218,8 +239,7 @@ function displayBookshelf() {
|
|||||||
<span class="spanLi">${book.c_name}</span>
|
<span class="spanLi">${book.c_name}</span>
|
||||||
</span>
|
</span>
|
||||||
<span class="spanLi Time">${book.og_novel_update_time ?? ''}</span>
|
<span class="spanLi Time">${book.og_novel_update_time ?? ''}</span>
|
||||||
<span class="rightJustTime"
|
<span class="rightJustTime" onclick="javascript:window.location.href='${strNovelChapterUrl}';return false;">
|
||||||
onclick="javascript:window.location.href='/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}';return false;">
|
|
||||||
继续阅读
|
继续阅读
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
@@ -234,24 +254,24 @@ function displayBookshelf() {
|
|||||||
bookElement.classList.add('book-shelf'); // 添加类名
|
bookElement.classList.add('book-shelf'); // 添加类名
|
||||||
bookElement.innerHTML = `
|
bookElement.innerHTML = `
|
||||||
<td>
|
<td>
|
||||||
<a href="/pc/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >
|
<a href="${strPcPath}${strNovelUrl}" >
|
||||||
<img src="${book.n_cover_path}" >
|
<img src="${book.n_cover_path}" >
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td class="t2">
|
<td class="t2">
|
||||||
<a href="/pc/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >${book.og_novel_book_name}</a>
|
<a href="${strPcPath}${strNovelUrl}" >${book.og_novel_book_name}</a>
|
||||||
</td>
|
</td>
|
||||||
<td class="t3">
|
<td class="t3">
|
||||||
<a href="/pc/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}" >${book.c_name}</a>
|
<a href="${strPcPath}${strNovelChapterUrl}" >${book.c_name}</a>
|
||||||
</td>
|
</td>
|
||||||
<td class="t4">
|
<td class="t4">
|
||||||
<a href="/pc/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >${book.og_novel_author}</a>
|
<a href="${strPcPath}${strSearchUrl}" >${book.og_novel_author}</a>
|
||||||
</td>
|
</td>
|
||||||
<td class="t5">${book.og_novel_update_time}</td>
|
<td class="t5">${book.og_novel_update_time}</td>
|
||||||
|
|
||||||
<td class="t6">${book.og_novel_status}</td>
|
<td class="t6">${book.og_novel_status}</td>
|
||||||
<td class="t7">
|
<td class="t7">
|
||||||
<a href="/pc/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}" class="goon" >阅读</a>
|
<a href="${strPcPath}${strNovelChapterUrl}" class="goon" >阅读</a>
|
||||||
<i><span class="Collection" ajax-get="" onclick="delBookshelfFun(${book.n_id})">删除</span></i>
|
<i><span class="Collection" ajax-get="" onclick="delBookshelfFun(${book.n_id})">删除</span></i>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
@@ -328,12 +348,15 @@ function displayHistory() {
|
|||||||
const DomHistoryContainer = document.getElementById('bookshelfMod-head');
|
const DomHistoryContainer = document.getElementById('bookshelfMod-head');
|
||||||
const DomBookshelfContainerH5 = document.getElementById('list');
|
const DomBookshelfContainerH5 = document.getElementById('list');
|
||||||
arrHistory.forEach(book => {
|
arrHistory.forEach(book => {
|
||||||
|
let strNovelUrl = formatNovelUrl(book.og_novel_pin_yin, book.n_id)
|
||||||
|
let strNovelChapterUrl = formatNovelChapterUrl(book.og_novel_pin_yin, book.n_id, book.c_sort_num)
|
||||||
|
let strSearchUrl = formatSearchUrl(book.og_novel_author, 1)
|
||||||
if (isMobile()) {
|
if (isMobile()) {
|
||||||
const bookElement = document.createElement('li');
|
const bookElement = document.createElement('li');
|
||||||
bookElement.classList.add('book-history'); // 添加类名
|
bookElement.classList.add('book-history'); // 添加类名
|
||||||
bookElement.classList.add('li2'); // 添加类名
|
bookElement.classList.add('li2'); // 添加类名
|
||||||
bookElement.innerHTML = `
|
bookElement.innerHTML = `
|
||||||
<a href='/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}'>
|
<a href='${strNovelUrl}'>
|
||||||
<div class="leftImage2 ">
|
<div class="leftImage2 ">
|
||||||
<img class="lazyload-img" src="${book.n_cover_path}" >
|
<img class="lazyload-img" src="${book.n_cover_path}" >
|
||||||
</div>
|
</div>
|
||||||
@@ -345,8 +368,8 @@ function displayHistory() {
|
|||||||
<span class="spanLi">${book.c_name}</span>
|
<span class="spanLi">${book.c_name}</span>
|
||||||
</span>
|
</span>
|
||||||
<span class="spanLi Time">${book.og_novel_update_time ?? ''}</span>
|
<span class="spanLi Time">${book.og_novel_update_time ?? ''}</span>
|
||||||
<span class="rightJustTime"
|
<span class="rightJustTime" onclick="javascript:window.location.href='${strNovelChapterUrl}';return false;"
|
||||||
onclick="javascript:window.location.href='/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}';return false;">继续阅读</span>
|
>继续阅读</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</a>
|
</a>
|
||||||
@@ -358,24 +381,24 @@ function displayHistory() {
|
|||||||
bookElement.classList.add('book-history'); // 添加类名
|
bookElement.classList.add('book-history'); // 添加类名
|
||||||
bookElement.innerHTML = `
|
bookElement.innerHTML = `
|
||||||
<td>
|
<td>
|
||||||
<a href="/pc/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >
|
<a href="${strPcPath}${strNovelUrl}" >
|
||||||
<img src="${book.n_cover_path}" >
|
<img src="${book.n_cover_path}" >
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
<td class="t2">
|
<td class="t2">
|
||||||
<a href="/pc/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >${book.og_novel_book_name}</a>
|
<a href="${strPcPath}${strNovelUrl}" >${book.og_novel_book_name}</a>
|
||||||
</td>
|
</td>
|
||||||
<td class="t3">
|
<td class="t3">
|
||||||
<a href="/pc/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}" >${book.c_name}</a>
|
<a href="${strPcPath}${strNovelChapterUrl}" >${book.c_name}</a>
|
||||||
</td>
|
</td>
|
||||||
<td class="t4">
|
<td class="t4">
|
||||||
<a href="/pc/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >${book.og_novel_author}</a>
|
<a href="${strPcPath}${strSearchUrl}" >${book.og_novel_author}</a>
|
||||||
</td>
|
</td>
|
||||||
<td class="t5">${book.og_novel_update_time ?? ''}</td>
|
<td class="t5">${book.og_novel_update_time ?? ''}</td>
|
||||||
|
|
||||||
<td class="t6">${book.og_novel_status}</td>
|
<td class="t6">${book.og_novel_status}</td>
|
||||||
<td class="t7">
|
<td class="t7">
|
||||||
<a href="/pc/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}" class="goon" >阅读</a>
|
<a href="${strNovelChapterUrl}" class="goon" >阅读</a>
|
||||||
<i><span class="Collection" ajax-get="" onclick="delHistoryFun(${book.n_id})">删除</span></i>
|
<i><span class="Collection" ajax-get="" onclick="delHistoryFun(${book.n_id})">删除</span></i>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
|
|||||||
692
doc/back.php
692
doc/back.php
@@ -1,692 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
declare(strict_types=1);
|
|
||||||
|
|
||||||
use app\home\controller\Index;
|
|
||||||
use app\home\controller\Novel;
|
|
||||||
use app\home\controller\User;
|
|
||||||
use think\facade\Route;
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 首页 - h5
|
|
||||||
*/
|
|
||||||
Route::get("/", [Index::class, 'index'])->ext('html')->append(['boolIsMobile' => true]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 首页 - pc
|
|
||||||
*/
|
|
||||||
Route::get("/pc/", [Index::class, 'getPcIndex'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get("/web/", [Index::class, 'getPcIndex'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get("/desktop/", [Index::class, 'getPcIndex'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get("/index/", [Index::class, 'getPcIndex'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get("/shouye/", [Index::class, 'getPcIndex'])->append(['boolIsMobile' => false]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 排行榜 - h5
|
|
||||||
*/
|
|
||||||
Route::get('/paihang/all', [Novel::class, 'getNovelRank'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/rank/all', [Novel::class, 'getNovelRank'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/paihang-quan', [Novel::class, 'getNovelRank'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/top/all', [Novel::class, 'getNovelRank'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/paihang-bang', [Novel::class, 'getNovelRank'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/ranks/all', [Novel::class, 'getNovelRank'])->append(['boolIsMobile' => true]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 排行榜 - pc
|
|
||||||
*/
|
|
||||||
Route::get("/pc/paihang/all", [Novel::class, 'getNovelRank'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get("/pc/rank/all", [Novel::class, 'getNovelRank'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get("/pc/paihang-quan", [Novel::class, 'getNovelRank'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get("/pc/top/all", [Novel::class, 'getNovelRank'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get("/pc/paihang-bang", [Novel::class, 'getNovelRank'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get("/pc/ranks/all", [Novel::class, 'getNovelRank'])->append(['boolIsMobile' => false]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 男生 - h5
|
|
||||||
*/
|
|
||||||
Route::get('/nansheng-xiaoshuo', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => true, 'strChannel' => 'boys']);
|
|
||||||
Route::get('/boys-novel', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => true, 'strChannel' => 'boys']);
|
|
||||||
Route::get('/nansheng-shu', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => true, 'strChannel' => 'boys']);
|
|
||||||
Route::get('/man-read', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => true, 'strChannel' => 'boys']);
|
|
||||||
Route::get('/nansheng-book', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => true, 'strChannel' => 'boys']);
|
|
||||||
Route::get('/male-novels', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => true, 'strChannel' => 'boys']);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 男生 - pc
|
|
||||||
*/
|
|
||||||
Route::get('/pc/nansheng-xiaoshuo', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => false, 'strChannel' => 'boys']);
|
|
||||||
Route::get('/pc/boys-novel', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => false, 'strChannel' => 'boys']);
|
|
||||||
Route::get('/pc/nansheng-shu', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => false, 'strChannel' => 'boys']);
|
|
||||||
Route::get('/pc/man-read', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => false, 'strChannel' => 'boys']);
|
|
||||||
Route::get('/pc/nansheng-book', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => false, 'strChannel' => 'boys']);
|
|
||||||
Route::get('/pc/male-novels', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => false, 'strChannel' => 'boys']);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 女生 - h5
|
|
||||||
*/
|
|
||||||
Route::get('/nvsheng-xiaoshuo', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => true, 'strChannel' => 'girls']);
|
|
||||||
Route::get('/girls-novel', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => true, 'strChannel' => 'girls']);
|
|
||||||
Route::get('/nvsheng-shu', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => true, 'strChannel' => 'girls']);
|
|
||||||
Route::get('/woman-read', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => true, 'strChannel' => 'girls']);
|
|
||||||
Route::get('/nvsheng-book', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => true, 'strChannel' => 'girls']);
|
|
||||||
Route::get('/female-novels', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => true, 'strChannel' => 'girls']);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 女生 - pc
|
|
||||||
*/
|
|
||||||
Route::get('/pc/nvsheng-xiaoshuo', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => false, 'strChannel' => 'girls']);
|
|
||||||
Route::get('/pc/girls-novel', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => false, 'strChannel' => 'girls']);
|
|
||||||
Route::get('/pc/nvsheng-shu', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => false, 'strChannel' => 'girls']);
|
|
||||||
Route::get('/pc/woman-read', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => false, 'strChannel' => 'girls']);
|
|
||||||
Route::get('/pc/nvsheng-book', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => false, 'strChannel' => 'girls']);
|
|
||||||
Route::get('/pc/female-novels', [Novel::class, 'getNovelChannel'])->append(['boolIsMobile' => false, 'strChannel' => 'girls']);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 书库 h5
|
|
||||||
*/
|
|
||||||
Route::get('/shuku/:strGender/:strCategory/:strStatus/page:intPage', [Novel::class, 'getLibrary'])
|
|
||||||
->pattern([
|
|
||||||
'strGender' => 'nansheng-xiaoshuo|nvsheng-xiaoshuo|all',
|
|
||||||
'strCategory' => '[a-z\-]+',
|
|
||||||
'strStatus' => 'all|lianzai|wanjie',
|
|
||||||
'intPage' => '\d+'
|
|
||||||
])
|
|
||||||
->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/books/:strGender/:strCategory/:strStatus/page:intPage', [Novel::class, 'getLibrary'])
|
|
||||||
->pattern([
|
|
||||||
'strGender' => 'nansheng-xiaoshuo|nvsheng-xiaoshuo|all',
|
|
||||||
'strCategory' => '[a-z\-]+',
|
|
||||||
'strStatus' => 'all|lianzai|wanjie',
|
|
||||||
'intPage' => '\d+'
|
|
||||||
])
|
|
||||||
->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/library/:strGender/:strCategory/:strStatus/page:intPage', [Novel::class, 'getLibrary'])
|
|
||||||
->pattern([
|
|
||||||
'strGender' => 'nansheng-xiaoshuo|nvsheng-xiaoshuo|all',
|
|
||||||
'strCategory' => '[a-z\-]+',
|
|
||||||
'strStatus' => 'all|lianzai|wanjie',
|
|
||||||
'intPage' => '\d+'
|
|
||||||
])
|
|
||||||
->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/fenlei/:strGender/:strCategory/:strStatus/page:intPage', [Novel::class, 'getLibrary'])
|
|
||||||
->pattern([
|
|
||||||
'strGender' => 'nansheng-xiaoshuo|nvsheng-xiaoshuo|all',
|
|
||||||
'strCategory' => '[a-z\-]+',
|
|
||||||
'strStatus' => 'all|lianzai|wanjie',
|
|
||||||
'intPage' => '\d+'
|
|
||||||
])
|
|
||||||
->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/class/:strGender/:strCategory/:strStatus/page:intPage', [Novel::class, 'getLibrary'])
|
|
||||||
->pattern([
|
|
||||||
'strGender' => 'nansheng-xiaoshuo|nvsheng-xiaoshuo|all',
|
|
||||||
'strCategory' => '[a-z\-]+',
|
|
||||||
'strStatus' => 'all|lianzai|wanjie',
|
|
||||||
'intPage' => '\d+'
|
|
||||||
])
|
|
||||||
->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/category/:strGender/:strCategory/:strStatus/page:intPage', [Novel::class, 'getLibrary'])
|
|
||||||
->pattern([
|
|
||||||
'strGender' => 'nansheng-xiaoshuo|nvsheng-xiaoshuo|all',
|
|
||||||
'strCategory' => '[a-z\-]+',
|
|
||||||
'strStatus' => 'all|lianzai|wanjie',
|
|
||||||
'intPage' => '\d+'
|
|
||||||
])
|
|
||||||
->append(['boolIsMobile' => true]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 书库 - pc
|
|
||||||
*/
|
|
||||||
Route::get('/pc/shuku/:strGender/:strCategory/:strStatus/page:intPage', [Novel::class, 'getLibrary'])
|
|
||||||
->pattern([
|
|
||||||
'strGender' => 'nansheng-xiaoshuo|nvsheng-xiaoshuo|all',
|
|
||||||
'strCategory' => '[a-z\-]+',
|
|
||||||
'strStatus' => 'all|lianzai|wanjie',
|
|
||||||
'intPage' => '\d+'
|
|
||||||
])
|
|
||||||
->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/books/:strGender/:strCategory/:strStatus/page:intPage', [Novel::class, 'getLibrary'])
|
|
||||||
->pattern([
|
|
||||||
'strGender' => 'nansheng-xiaoshuo|nvsheng-xiaoshuo|all',
|
|
||||||
'strCategory' => '[a-z\-]+',
|
|
||||||
'strStatus' => 'all|lianzai|wanjie',
|
|
||||||
'intPage' => '\d+'
|
|
||||||
])
|
|
||||||
->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/library/:strGender/:strCategory/:strStatus/page:intPage', [Novel::class, 'getLibrary'])
|
|
||||||
->pattern([
|
|
||||||
'strGender' => 'nansheng-xiaoshuo|nvsheng-xiaoshuo|all',
|
|
||||||
'strCategory' => '[a-z\-]+',
|
|
||||||
'strStatus' => 'all|lianzai|wanjie',
|
|
||||||
'intPage' => '\d+'
|
|
||||||
])
|
|
||||||
->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/fenlei/:strGender/:strCategory/:strStatus/page:intPage', [Novel::class, 'getLibrary'])
|
|
||||||
->pattern([
|
|
||||||
'strGender' => 'nansheng-xiaoshuo|nvsheng-xiaoshuo|all',
|
|
||||||
'strCategory' => '[a-z\-]+',
|
|
||||||
'strStatus' => 'all|lianzai|wanjie',
|
|
||||||
'intPage' => '\d+'
|
|
||||||
])
|
|
||||||
->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/class/:strGender/:strCategory/:strStatus/page:intPage', [Novel::class, 'getLibrary'])
|
|
||||||
->pattern([
|
|
||||||
'strGender' => 'nansheng-xiaoshuo|nvsheng-xiaoshuo|all',
|
|
||||||
'strCategory' => '[a-z\-]+',
|
|
||||||
'strStatus' => 'all|lianzai|wanjie',
|
|
||||||
'intPage' => '\d+'
|
|
||||||
])
|
|
||||||
->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/category/:strGender/:strCategory/:strStatus/page:intPage', [Novel::class, 'getLibrary'])
|
|
||||||
->pattern([
|
|
||||||
'strGender' => 'nansheng-xiaoshuo|nvsheng-xiaoshuo|all',
|
|
||||||
'strCategory' => '[a-z\-]+',
|
|
||||||
'strStatus' => 'all|lianzai|wanjie',
|
|
||||||
'intPage' => '\d+'
|
|
||||||
])
|
|
||||||
->append(['boolIsMobile' => false]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 书库首页-h5
|
|
||||||
*/
|
|
||||||
Route::get('/shuku/all', [Novel::class, 'getLibrary'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/books/all', [Novel::class, 'getLibrary'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/library/all', [Novel::class, 'getLibrary'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/fenlei/all', [Novel::class, 'getLibrary'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/class/all', [Novel::class, 'getLibrary'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/category/all', [Novel::class, 'getLibrary'])->append(['boolIsMobile' => true]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 书库首页-pc
|
|
||||||
*/
|
|
||||||
Route::get('/pc/shuku/all', [Novel::class, 'getLibrary'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/books/all', [Novel::class, 'getLibrary'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/library/all', [Novel::class, 'getLibrary'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/fenlei/all', [Novel::class, 'getLibrary'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/class/all', [Novel::class, 'getLibrary'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/category/all', [Novel::class, 'getLibrary'])->append(['boolIsMobile' => false]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 小说章节 - h5
|
|
||||||
* /xiaoshuo/小说拼音-小说id/zhang-章节排序/章节分页
|
|
||||||
* /xiaoshuo/小说拼音-小说id/di-章节排序-zhang/章节分页
|
|
||||||
*/
|
|
||||||
Route::get('/xiaoshuo/:name-:intNovelId/zhang-:intChapterSort/[:intChapterPage]', [Novel::class, 'getNovelChapter'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'intChapterSort' => '\d+', 'intChapterPage' => '\d+']);
|
|
||||||
Route::get('/novel/:name-:intNovelId/zhang-:intChapterSort/[:intChapterPage]', [Novel::class, 'getNovelChapter'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'intChapterSort' => '\d+', 'intChapterPage' => '\d+']);
|
|
||||||
Route::get('/book/:name-:intNovelId/zhang-:intChapterSort/[:intChapterPage]', [Novel::class, 'getNovelChapter'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'intChapterSort' => '\d+', 'intChapterPage' => '\d+']);
|
|
||||||
Route::get('/xiaoshuo-:name-:intNovelId/zhang-:intChapterSort/[:intChapterPage]', [Novel::class, 'getNovelChapter'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'intChapterSort' => '\d+', 'intChapterPage' => '\d+']);
|
|
||||||
Route::get('/novel-:name-:intNovelId/zhang-:intChapterSort/[:intChapterPage]', [Novel::class, 'getNovelChapter'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'intChapterSort' => '\d+', 'intChapterPage' => '\d+']);
|
|
||||||
Route::get('/book-:name-:intNovelId/zhang-:intChapterSort/[:intChapterPage]', [Novel::class, 'getNovelChapter'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'intChapterSort' => '\d+', 'intChapterPage' => '\d+']);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 小说章节 - pc
|
|
||||||
*/
|
|
||||||
Route::get('/pc/xiaoshuo/:name-:intNovelId/zhang-:intChapterSort/[:intChapterPage]', [Novel::class, 'getNovelChapter'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'intChapterSort' => '\d+', 'intChapterPage' => '\d+']);
|
|
||||||
Route::get('/pc/novel/:name-:intNovelId/zhang-:intChapterSort/[:intChapterPage]', [Novel::class, 'getNovelChapter'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'intChapterSort' => '\d+', 'intChapterPage' => '\d+']);
|
|
||||||
Route::get('/pc/book/:name-:intNovelId/zhang-:intChapterSort/[:intChapterPage]', [Novel::class, 'getNovelChapter'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'intChapterSort' => '\d+', 'intChapterPage' => '\d+']);
|
|
||||||
Route::get('/pc/xiaoshuo-:name-:intNovelId/zhang-:intChapterSort/[:intChapterPage]', [Novel::class, 'getNovelChapter'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'intChapterSort' => '\d+', 'intChapterPage' => '\d+']);
|
|
||||||
Route::get('/pc/novel-:name-:intNovelId/zhang-:intChapterSort/[:intChapterPage]', [Novel::class, 'getNovelChapter'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'intChapterSort' => '\d+', 'intChapterPage' => '\d+']);
|
|
||||||
Route::get('/pc/book-:name-:intNovelId/zhang-:intChapterSort/[:intChapterPage]', [Novel::class, 'getNovelChapter'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'intChapterSort' => '\d+', 'intChapterPage' => '\d+']);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 最新章节-特殊页面处理-pc
|
|
||||||
*/
|
|
||||||
Route::get('/pc/xiaoshuo/:name-:n_id/chapter/latest', [Novel::class, 'getNovelLatestChapter'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/pc/novel/:name-:n_id/chapter/latest', [Novel::class, 'getNovelLatestChapter'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/pc/book/:name-:n_id/chapter/latest', [Novel::class, 'getNovelLatestChapter'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/pc/xiaoshuo-:name-:n_id/chapter/latest', [Novel::class, 'getNovelLatestChapter'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/pc/novel-:name-:n_id/chapter/latest', [Novel::class, 'getNovelLatestChapter'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/pc/book-:name-:n_id/chapter/latest', [Novel::class, 'getNovelLatestChapter'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 最新章节-特殊页面处理-h5
|
|
||||||
*/
|
|
||||||
Route::get('/xiaoshuo/:name-:n_id/chapter/latest', [Novel::class, 'getNovelLatestChapter'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/novel/:name-:n_id/chapter/latest', [Novel::class, 'getNovelLatestChapter'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/book/:name-:n_id/chapter/latest', [Novel::class, 'getNovelLatestChapter'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/xiaoshuo-:name-:n_id/chapter/latest', [Novel::class, 'getNovelLatestChapter'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/novel-:name-:n_id/chapter/latest', [Novel::class, 'getNovelLatestChapter'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/book-:name-:n_id/chapter/latest', [Novel::class, 'getNovelLatestChapter'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 小说目录页面-h5
|
|
||||||
* /xiaoshuo/[小说拼音]-[小说id]/mulu/order/[page]
|
|
||||||
*/
|
|
||||||
Route::get('/xiaoshuo/:name-:intNovelId/mulu/:strOrder/[:intPage]', [Novel::class, 'getNovelChapterAll'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']);
|
|
||||||
Route::get('/novel/:name-:intNovelId/mulu/:strOrder/[:intPage]', [Novel::class, 'getNovelChapterAll'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']);
|
|
||||||
Route::get('/book/:name-:intNovelId/mulu/:strOrder/[:intPage]', [Novel::class, 'getNovelChapterAll'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']);
|
|
||||||
Route::get('/xiaoshuo/:name-:intNovelId/mulu/:strOrder/[:intPage]', [Novel::class, 'getNovelChapterAll'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']);
|
|
||||||
Route::get('/novel/:name-:intNovelId/mulu/:strOrder/[:intPage]', [Novel::class, 'getNovelChapterAll'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']);
|
|
||||||
Route::get('/book/:name-:intNovelId/mulu/:strOrder/[:intPage]', [Novel::class, 'getNovelChapterAll'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 小说目录页面-pc
|
|
||||||
*/
|
|
||||||
Route::get('/pc/xiaoshuo/:name-:intNovelId/mulu/:strOrder/[:intPage]', [Novel::class, 'getNovelChapterAll'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']);
|
|
||||||
Route::get('/pc/novel/:name-:intNovelId/mulu/:strOrder/[:intPage]', [Novel::class, 'getNovelChapterAll'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']);
|
|
||||||
Route::get('/pc/book/:name-:intNovelId/mulu/:strOrder/[:intPage]', [Novel::class, 'getNovelChapterAll'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']);
|
|
||||||
Route::get('/pc/xiaoshuo-:name-:intNovelId/mulu/:strOrder/[:intPage]', [Novel::class, 'getNovelChapterAll'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']);
|
|
||||||
Route::get('/pc/novel-:name-:intNovelId/mulu/:strOrder/[:intPage]', [Novel::class, 'getNovelChapterAll'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']);
|
|
||||||
Route::get('/pc/book-:name-:intNovelId/mulu/:strOrder/[:intPage]', [Novel::class, 'getNovelChapterAll'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['intNovelId' => '\d+', 'name' => '[\w-]+', 'strOrder' => 'zheng|dao', 'intPage' => '\d+']);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 伪小说详情-pc
|
|
||||||
*/
|
|
||||||
Route::get('/pc/kan-xiaoshuo/:name-:n_id-:n_forge_id', [Novel::class, 'getKanNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 2])
|
|
||||||
->pattern(['n_id' => '\d+', 'n_forge_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/pc/kan-novel/:name-:n_id-:n_forge_id', [Novel::class, 'getKanNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 2])
|
|
||||||
->pattern(['n_id' => '\d+', 'n_forge_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/pc/kan-book/:name-:n_id-:n_forge_id', [Novel::class, 'getKanNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 2])
|
|
||||||
->pattern(['n_id' => '\d+', 'n_forge_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/pc/kan-xiaoshuo-:name-:n_id-:n_forge_id', [Novel::class, 'getKanNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 2])
|
|
||||||
->pattern(['n_id' => '\d+', 'n_forge_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/pc/kan-novel-:name-:n_id-:n_forge_id', [Novel::class, 'getKanNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 2])
|
|
||||||
->pattern(['n_id' => '\d+', 'n_forge_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/pc/kan-book-:name-:n_id-:n_forge_id', [Novel::class, 'getKanNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 2])
|
|
||||||
->pattern(['n_id' => '\d+', 'n_forge_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 伪小说详情-h5
|
|
||||||
*/
|
|
||||||
Route::get('/kan-xiaoshuo/:name-:n_id-:n_forge_id', [Novel::class, 'getKanNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 2])
|
|
||||||
->pattern(['n_id' => '\d+', 'n_forge_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/kan-novel/:name-:n_id-:n_forge_id', [Novel::class, 'getKanNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 2])
|
|
||||||
->pattern(['n_id' => '\d+', 'n_forge_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/kan-book/:name-:n_id-:n_forge_id', [Novel::class, 'getKanNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 2])
|
|
||||||
->pattern(['n_id' => '\d+', 'n_forge_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/kan-xiaoshuo-:name-:n_id-:n_forge_id', [Novel::class, 'getKanNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 2])
|
|
||||||
->pattern(['n_id' => '\d+', 'n_forge_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/kan-novel-:name-:n_id-:n_forge_id', [Novel::class, 'getKanNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 2])
|
|
||||||
->pattern(['n_id' => '\d+', 'n_forge_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/kan-book-:name-:n_id-:n_forge_id', [Novel::class, 'getKanNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 2])
|
|
||||||
->pattern(['n_id' => '\d+', 'n_forge_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 小说详情-pc
|
|
||||||
* /xiaoshuo/{strPinYin}-{intNId}
|
|
||||||
* /novel/{strPinYin}-{intNId}
|
|
||||||
* /book/{strPinYin}-{intNId}
|
|
||||||
* /xiaoshuo-{strPinYin}-{intNId}
|
|
||||||
* /novel-{strPinYin}-{intNId}
|
|
||||||
* /book-{strPinYin}-{intNId}
|
|
||||||
*/
|
|
||||||
Route::get('/pc/xiaoshuo/:name-:n_id', [Novel::class, 'getNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 2])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/pc/novel/:name-:n_id', [Novel::class, 'getNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 2])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/pc/book/:name-:n_id', [Novel::class, 'getNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 1])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/pc/xiaoshuo-:name-:n_id', [Novel::class, 'getNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 3])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/pc/novel-:name-:n_id', [Novel::class, 'getNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 3])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/pc/book-:name-:n_id', [Novel::class, 'getNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => false, 'intUriType' => 3])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 小说详情-h5
|
|
||||||
*/
|
|
||||||
Route::get('/xiaoshuo/:name-:n_id', [Novel::class, 'getNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 2])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/novel/:name-:n_id', [Novel::class, 'getNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 2])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/book/:name-:n_id', [Novel::class, 'getNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 1])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/xiaoshuo-:name-:n_id', [Novel::class, 'getNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 3])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/novel-:name-:n_id', [Novel::class, 'getNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 3])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
Route::get('/book-:name-:n_id', [Novel::class, 'getNovelInfo'])
|
|
||||||
->append(['boolIsMobile' => true, 'intUriType' => 3])
|
|
||||||
->pattern(['n_id' => '\d+', 'name' => '[\w-]+',]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 搜索小说 - h5
|
|
||||||
*/
|
|
||||||
Route::get('/search', [Novel::class, 'getSearchNovel'])->ext('html')->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/explore', [Novel::class, 'getSearchNovel'])->ext('html')->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/sousuo', [Novel::class, 'getSearchNovel'])->ext('html')->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/find', [Novel::class, 'getSearchNovel'])->ext('html')->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/query', [Novel::class, 'getSearchNovel'])->ext('html')->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/keywords', [Novel::class, 'getSearchNovel'])->ext('html')->append(['boolIsMobile' => true]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 搜索小说 - pc
|
|
||||||
*/
|
|
||||||
Route::get('/pc/search', [Novel::class, 'getSearchNovel'])->ext('html')->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/explore', [Novel::class, 'getSearchNovel'])->ext('html')->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/sousuo', [Novel::class, 'getSearchNovel'])->ext('html')->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/find', [Novel::class, 'getSearchNovel'])->ext('html')->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/query', [Novel::class, 'getSearchNovel'])->ext('html')->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/keywords', [Novel::class, 'getSearchNovel'])->ext('html')->append(['boolIsMobile' => false]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 小说用户中心 - h5
|
|
||||||
*/
|
|
||||||
Route::get('/user', [User::class, 'Index'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/my-account', [User::class, 'Index'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/profile', [User::class, 'Index'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/yonghu', [User::class, 'Index'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/wode-zhongxin', [User::class, 'Index'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/personal-center', [User::class, 'Index'])->append(['boolIsMobile' => true]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 小说用户中心 - pc
|
|
||||||
*/
|
|
||||||
Route::get('/pc/user', [User::class, 'Index'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/my-account', [User::class, 'Index'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/profile', [User::class, 'Index'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/yonghu', [User::class, 'Index'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/wode-zhongxin', [User::class, 'Index'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/personal-center', [User::class, 'Index'])->append(['boolIsMobile' => false]);
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 书架 - h5
|
|
||||||
*/
|
|
||||||
Route::get('/bookshelf', [User::class, 'getBookShelf'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/book-shelf', [User::class, 'getBookShelf'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/reading-shelf', [User::class, 'getBookShelf'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/shujia', [User::class, 'getBookShelf'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/yuedu-shujia', [User::class, 'getBookShelf'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/book-collection', [User::class, 'getBookShelf'])->append(['boolIsMobile' => true]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 书架 - pc
|
|
||||||
*/
|
|
||||||
Route::get('/pc/bookshelf', [User::class, 'getBookShelf'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/book-shelf', [User::class, 'getBookShelf'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/reading-shelf', [User::class, 'getBookShelf'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/shujia', [User::class, 'getBookShelf'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/yuedu-shujia', [User::class, 'getBookShelf'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/book-collection', [User::class, 'getBookShelf'])->append(['boolIsMobile' => false]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 历史记录 - h5
|
|
||||||
*/
|
|
||||||
Route::get('/history', [User::class, 'getHistory'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/reading-history', [User::class, 'getHistory'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/read-record', [User::class, 'getHistory'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/lishi', [User::class, 'getHistory'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/yuedu-lishi', [User::class, 'getHistory'])->append(['boolIsMobile' => true]);
|
|
||||||
Route::get('/browse-past', [User::class, 'getHistory'])->append(['boolIsMobile' => true]);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 历史记录 - pc
|
|
||||||
*/
|
|
||||||
Route::get('/pc/history', [User::class, 'getHistory'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/reading-history', [User::class, 'getHistory'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/read-record', [User::class, 'getHistory'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/lishi', [User::class, 'getHistory'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/yuedu-lishi', [User::class, 'getHistory'])->append(['boolIsMobile' => false]);
|
|
||||||
Route::get('/pc/browse-past', [User::class, 'getHistory'])->append(['boolIsMobile' => false]);
|
|
||||||
|
|
||||||
|
|
||||||
// 文章 列表
|
|
||||||
// Route::get('/article/list-[:intCategoryId]-[:intPage]', [Novel::class, 'getArticleList'])->append(['boolIsMobile' => true]);
|
|
||||||
// Route::get('/pc/article/list-[:intCategoryId]-[:intPage]', [Novel::class, 'getArticleList'])->append(['boolIsMobile' => false]);
|
|
||||||
// Route::get('/article/list', [Novel::class, 'getArticleList'])->append(['boolIsMobile' => true]);
|
|
||||||
// Route::get('/pc/article/list', [Novel::class, 'getArticleList'])->append(['boolIsMobile' => false]);
|
|
||||||
|
|
||||||
// // 文章 详情
|
|
||||||
// Route::get('/article/info-:intArticleId', [Novel::class, 'getArticleInfo'])->append(['boolIsMobile' => true]);
|
|
||||||
// Route::get('/pc/article/info-:intArticleId', [Novel::class, 'getArticleInfo'])->append(['boolIsMobile' => false]);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
//分类 - 其它模板
|
|
||||||
// Route::get('class', 'Novel/getNovelCategory')->ext('html')->append(['boolIsMobile' => true]);
|
|
||||||
// Route::get('/pc/class', 'Novel/getNovelCategory')->ext('html')->append(['boolIsMobile' => false]);
|
|
||||||
// // //分类 使用模板:xmttxs
|
|
||||||
// // Route::get('/books', 'Novel/getNovelCategory')->ext('html')->append(['boolIsMobile' => true]);
|
|
||||||
// // Route::get('/pc/books', 'Novel/getNovelCategory')->ext('html')->append(['boolIsMobile' => false]);
|
|
||||||
// // Route::get('/books/[:intCategoryId]-[:intPage]', 'Novel/getNovelCategory')->ext('html')->append(['boolIsMobile' => true]);
|
|
||||||
// Route::get('/pc/fenlei/<intCategoryId]-[:intPage]', 'Novel/getNovelCategory')
|
|
||||||
// ->append(['boolIsMobile' => false])
|
|
||||||
// ->pattern(['intCategoryId' => '\d+','intPage' => '\d+',])
|
|
||||||
// ->ext('html');
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// if(config('app.default_index_info_isopen')){
|
|
||||||
// # SEO首页-此为了 那些那详情页做首页推广的站点
|
|
||||||
// Route::get("/", "Novel/getDetail")->name("Novel@getDetail")->cache('/index.html', 600, 'index');
|
|
||||||
|
|
||||||
// // 影视首页
|
|
||||||
// Route::get("/nindex", "Novel/Index")->name("Novel@Index")->cache('/nindex.html', 600, 'nindex');
|
|
||||||
// }else{
|
|
||||||
// Route::get("/", "Novel/Index")->name("Novel@Index")->cache('/index.html', 600, 'index');
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// # 定义所有分类路由
|
|
||||||
// $arrRoutes = [
|
|
||||||
// # 小说推荐
|
|
||||||
// [
|
|
||||||
// 'class'=>[Novel::class,'getRankList'],
|
|
||||||
// 'name'=>'Novel@getTuijianList',
|
|
||||||
// 'path'=>[
|
|
||||||
// [::class,'tj/:intTjdj-[:intPage]'],
|
|
||||||
// [::class,'tuijian/:intTjdj-[:intPage]'],
|
|
||||||
// [::class,'recommend/:intTjdj-[:intPage]'],
|
|
||||||
// [::class,'nice/:intTjdj-[:intPage]'],
|
|
||||||
// [::class,'good/:intTjdj-[:intPage]'],
|
|
||||||
// [::class,'推荐/:intTjdj-[:intPage]'],
|
|
||||||
// ],
|
|
||||||
// ],
|
|
||||||
// # 小说分类
|
|
||||||
// [
|
|
||||||
// 'class'=>[Novel::class,'getCategoryList'],
|
|
||||||
// 'name'=>'Novel@getCategoryList',
|
|
||||||
// 'path'=>[
|
|
||||||
// [::class,'list/:intCId-:intSort-:intStatus-[:intPage]'],
|
|
||||||
// [::class,'fenlei/:intCId-:intSort-:intStatus-[:intPage]'],
|
|
||||||
// [::class,'class/:intCId-:intSort-:intStatus-[:intPage]'],
|
|
||||||
// [::class,'type/:intCId-:intSort-:intStatus-[:intPage]'],
|
|
||||||
// [::class,'leixin/:intCId-:intSort-:intStatus-[:intPage]'],
|
|
||||||
// [::class,'小说分类/:intCId-:intSort-:intStatus-[:intPage]'],
|
|
||||||
// ],
|
|
||||||
// ],
|
|
||||||
// # 小说排行
|
|
||||||
// [
|
|
||||||
// 'class'=>[Novel::class,'getNovelRankList'],
|
|
||||||
// 'name'=>'Novel@getNovelRankList',
|
|
||||||
// 'path'=>[
|
|
||||||
// [::class,'paihang/:intCId-:intSort-[:intPage]'],
|
|
||||||
// [::class,'paihanbang/:intCId-:intSort-[:intPage]'],
|
|
||||||
// [::class,'rank/:intCId-:intSort-[:intPage]'],
|
|
||||||
// [::class,'sort/:intCId-:intSort-[:intPage]'],
|
|
||||||
// [::class,'pb/:intCId-:intSort-[:intPage]'],
|
|
||||||
// [::class,'排行榜/:intCId-:intSort-[:intPage]'],
|
|
||||||
// ],
|
|
||||||
// ],
|
|
||||||
|
|
||||||
// # 小说章节
|
|
||||||
// [
|
|
||||||
// 'class'=>[Novel::class,'getReader'],
|
|
||||||
// 'name'=>'Novel@getReader',
|
|
||||||
// 'path'=>[
|
|
||||||
// [::class,'xq/:intNovelId/:intZhangJiePaiXu-[:strSort]'],
|
|
||||||
// [::class,'xiaoshuo/:intNovelId/:intZhangJiePaiXu-[:strSort]'],
|
|
||||||
// [::class,'novel/:intNovelId/:intZhangJiePaiXu-[:strSort]'],
|
|
||||||
// [::class,'info/:intNovelId/:intZhangJiePaiXu-[:strSort]'],
|
|
||||||
// [::class,'shu/:intNovelId/:intZhangJiePaiXu-[:strSort]'],
|
|
||||||
// [::class,'小说/:intNovelId/:intZhangJiePaiXu-[:strSort]'],
|
|
||||||
|
|
||||||
// [::class,'book/:intNovelId/:intZhangJiePaiXu-[:strSort]'],
|
|
||||||
// [::class,'kan/:intNovelId/:intZhangJiePaiXu-[:strSort]'],
|
|
||||||
// [::class,'show/:intNovelId/:intZhangJiePaiXu-[:strSort]'],
|
|
||||||
// [::class,'yuedu/:intNovelId/:intZhangJiePaiXu-[:strSort]'],
|
|
||||||
// [::class,'see/:intNovelId/:intZhangJiePaiXu-[:strSort]'],
|
|
||||||
// [::class,'相关/:intNovelId/:intZhangJiePaiXu-[:strSort]'],
|
|
||||||
// ],
|
|
||||||
// ],
|
|
||||||
|
|
||||||
// # 小说详情
|
|
||||||
// [
|
|
||||||
// 'class'=>[Novel::class,'getDetail'],
|
|
||||||
// 'name'=>'Novel@getDetail',
|
|
||||||
// 'path'=>[
|
|
||||||
// [::class,'xq/:intNovelId-[:intCurrentPage]-[:strSort]'],
|
|
||||||
// [::class,'xiaoshuo/:intNovelId-[:intCurrentPage]-[:strSort]'],
|
|
||||||
// [::class,'novel/:intNovelId-[:intCurrentPage]-[:strSort]'],
|
|
||||||
// [::class,'info/:intNovelId-[:intCurrentPage]-[:strSort]'],
|
|
||||||
// [::class,'shu/:intNovelId-[:intCurrentPage]-[:strSort]'],
|
|
||||||
// [::class,'小说/:intNovelId-[:intCurrentPage]-[:strSort]'],
|
|
||||||
|
|
||||||
// [::class,'book/:intNovelId-[:intCurrentPage]-[:strSort]'],
|
|
||||||
// [::class,'kan/:intNovelId-[:intCurrentPage]-[:strSort]'],
|
|
||||||
// [::class,'show/:intNovelId-[:intCurrentPage]-[:strSort]'],
|
|
||||||
// [::class,'yuedu/:intNovelId-[:intCurrentPage]-[:strSort]'],
|
|
||||||
// [::class,'see/:intNovelId-[:intCurrentPage]-[:strSort]'],
|
|
||||||
// [::class,'相关/:intNovelId-[:intCurrentPage]-[:strSort]'],
|
|
||||||
// ],
|
|
||||||
// ],
|
|
||||||
// # 搜索 - 小说
|
|
||||||
// [
|
|
||||||
// [class'=>'Search::class,'getNovel'],
|
|
||||||
// 'name'=>'Search@getNovel',
|
|
||||||
// 'path'=>[
|
|
||||||
// [::class,'search'],
|
|
||||||
// ],
|
|
||||||
// ],
|
|
||||||
// # 书架
|
|
||||||
// [
|
|
||||||
// [class'=>'Search::class,'getShujia'],
|
|
||||||
// [name'=>'Search::class,'getShujia'],
|
|
||||||
// 'path'=>[
|
|
||||||
// [::class,'shujia'],
|
|
||||||
// ],
|
|
||||||
// ],
|
|
||||||
// # 收藏
|
|
||||||
// [
|
|
||||||
// [class'=>'Search::class,'addSc'],
|
|
||||||
// [name'=>'Search::class,'addSc'],
|
|
||||||
// 'path'=>[
|
|
||||||
// [::class,'sc'],
|
|
||||||
// ],
|
|
||||||
// ],
|
|
||||||
// ];
|
|
||||||
|
|
||||||
// // Route::get('/sc', [Novel::class,'addSc'])
|
|
||||||
// // ->middleware('Throttle:5,60') // 限制 1 分钟内最多 5 次
|
|
||||||
// // ->name('Novel@addSc');
|
|
||||||
|
|
||||||
// # 遍历所有分类,注册路由
|
|
||||||
// foreach ($arrRoutes as $Routes) {
|
|
||||||
// foreach ($Routes['path'] as $strPath) {
|
|
||||||
// Route::get($strPath, $Routes['class'])
|
|
||||||
// ->name($Routes['name'])
|
|
||||||
// ->pattern([
|
|
||||||
// 'intTjdj' => '\d+', # 推荐等级
|
|
||||||
// 'intPage' => '\d+', # 分页
|
|
||||||
// 'intCId' => '\d+',
|
|
||||||
// 'intSort' => '\d+',
|
|
||||||
// 'intNovelId' => '\d+',
|
|
||||||
// 'intZhangJiePaiXu' => '\d+',
|
|
||||||
// 'strSort' => '\w+',
|
|
||||||
// 'intStatus' => '\d+',
|
|
||||||
// ])
|
|
||||||
// ->cache([$strPath, 3600, strtoupper($strPath) . '_PAGE']);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
Reference in New Issue
Block a user