This commit is contained in:
make
2025-04-19 11:11:58 +08:00
parent ed4a97bc19
commit 67098a5e01
6 changed files with 98 additions and 116 deletions

View File

@@ -220,7 +220,16 @@ foreach ($arrRoutes['prefixes'] as $platform => $prefixes) {
case 'library-index': case 'library-index':
//书库/分类首页 //书库/分类首页
Route::get($strRoute, [Novel::class, 'getLibrary']); $strView = 'pc/getLibrary.html';
if ($platform == 'h5') {
$strView = 'novel/getLibrary.html';
}
//书库/分类
Route::get($strRoute, function () use ($strView) {
return view($strView);
});
// //书库/分类首页
// Route::get($strRoute, [Novel::class, 'getLibrary']);
break; break;
case 'rank': case 'rank':
//排行榜 //排行榜

View File

@@ -3,11 +3,13 @@
{block name="keywords"}{site:replace code="NOVEL@GETNOVELCATALOG@KEYWORDS"}{/block} {block name="keywords"}{site:replace code="NOVEL@GETNOVELCATALOG@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}{/block} {block name="description"}{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}{/block}
{block name="head"} {block name="head"}
{novel:info n_id="$Request.route.n_id" n_key="arrNovel" n_forge_id="0" /}
{site:grm page_code="pc_novel_info" diff="$arrNovel.n_id" num="100" g_key="arrGrm" /}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" /> <meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
<meta property="og:description" content="{$strDescription??'暂无简介'}" /> <meta property="og:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' />
<meta property="og:url" <meta property="og:url"
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' /> content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
<meta property="og:type" content="book" /> <meta property="og:type" content="book" />
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" /> <meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
<meta property="og:site_name" content="{$DomainModel->d_name}" /> <meta property="og:site_name" content="{$DomainModel->d_name}" />
@@ -15,16 +17,16 @@
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}"> <meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}"> <meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
<meta property="og:novel:read_url" <meta property="og:novel:read_url"
content='https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$intFirstChapterSort"/}'> content='https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}"> <meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}"> <meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.c_name ?? ''}"> <meta property="og:novel:latest_chapter_name" content="{$arrNovel.n_latest_chapter_name ?? ''}">
<meta property="og:novel:latest_chapter_url" <meta property="og:novel:latest_chapter_url"
content='https://{$DomainModel->d_domain}{site:lcpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'> content='https://{$DomainModel->d_domain}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<!-- 可选:支持 Twitter Card --> <!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" /> <meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
<meta name="twitter:description" content="{$strDescription ?? '暂无简介'}" /> <meta name="twitter:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' />
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" /> <meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
<!-- 结构化数据 --> <!-- 结构化数据 -->
<script type="application/ld+json"> <script type="application/ld+json">
@@ -44,7 +46,7 @@
}, },
"datePublished": "{$arrNovel['n_update_time'] ?? time()}", "datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"image": "{$arrNovel.n_cover_path ?? ''}", "image": "{$arrNovel.n_cover_path ?? ''}",
"url": 'https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}', "url": 'https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}',
"genre": "{$arrNovel.n_category ??''}", "genre": "{$arrNovel.n_category ??''}",
"inLanguage": "zh-CN", "inLanguage": "zh-CN",
"bookFormat": "https://{$DomainModel->d_domain}/EBook", "bookFormat": "https://{$DomainModel->d_domain}/EBook",
@@ -53,8 +55,29 @@
"ratingValue": "4.5", "ratingValue": "4.5",
"reviewCount": "100", "reviewCount": "100",
}, },
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "首页",
"item": "https://{$DomainModel->d_domain}"
},
{
"@type": "ListItem",
"position": 2,
"name": "{$arrNovel.n_category ??''}",
"item": 'https://{site:nflurl category="$arrNovel.n_category_pinyin" order="all" status="all" page="1"/}'
},
{
"@type": "ListItem",
"position": 3,
"name": "{$arrNovel['n_name']}",
"item": '{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
}
]
} }
</script> </script>
{/block} {/block}
@@ -80,19 +103,19 @@
</li> </li>
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?> <?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
<a href='{site:nflurl gender="" category="$arrNovel[n_category_pinyin]" order="all" status="all" page="1"/}' itemprop="item"> <a href='{site:nflurl category="$arrNovel.n_category_pinyin" order="all" status="all" page="1"/}' itemprop="item">
<span itemprop="name">{$arrNovel.n_category}</span> <span itemprop="name">{$arrNovel.n_category}</span>
</a> </a>
<meta itemprop="position" content="2" /> <meta itemprop="position" content="2" />
</li> </li>
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href='{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' itemprop="item"> <a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' itemprop="item">
<span itemprop="name">{$arrNovel['n_name']}</span> <span itemprop="name">{$arrNovel['n_name']}</span>
</a> </a>
<meta itemprop="position" content="3" /> <meta itemprop="position" content="3" />
</li> </li>
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a href='{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}' itemprop="item"> <a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}' itemprop="item">
<span itemprop="name">目录</span> <span itemprop="name">目录</span>
</a> </a>
<meta itemprop="position" content="3" /> <meta itemprop="position" content="3" />
@@ -104,7 +127,6 @@
{block name="main"} {block name="main"}
<h1 class="site-description ">{$arrNovel['n_name']}最新章节 - {$arrNovel['n_author']} - {$DomainModel->d_name}</h1> <h1 class="site-description ">{$arrNovel['n_name']}最新章节 - {$arrNovel['n_author']} - {$DomainModel->d_name}</h1>
<div class="block-box"> <div class="block-box">
<div class="book-main"> <div class="book-main">
<div class="book-img"> <div class="book-img">
@@ -116,10 +138,11 @@
<h2>{$arrNovel.n_name}</h2><span class="author">{$arrNovel.n_author} <h2>{$arrNovel.n_name}</h2><span class="author">{$arrNovel.n_author}
</span> </span>
</div> </div>
<p class="tag"><span class="blue">{$arrNovel.n_category}</span><span class="green">{$arrNovel.n_status}</span> <p class="tag"><span class="blue">{$arrNovel.n_category}</span><span
class="green">{$arrNovel.n_status}</span>
</p> </p>
<p class="update"><span>最近更新:</span><a href={site:lcpurl n_id="$arrNovel[n_id]" <p class="update"><span>最近更新:</span><a href={site:lcpurl n_id="$arrNovel.n_id"
n_py="$arrNovel[n_name_pinyin]" /}>{$arrLatestChapter->c_name n_py="$arrNovel.n_name_pinyin" /}>{$arrLatestChapter->c_name
?? ""}</a></p> ?? ""}</a></p>
<p class="time"><span>更新时间:</span>{$arrNovel.n_update_time} </p> <p class="time"><span>更新时间:</span>{$arrNovel.n_update_time} </p>
</div> </div>
@@ -128,9 +151,9 @@
<ul class="btn-group"> <ul class="btn-group">
<li class="btn-group-cell"><a class="btn-normal abt1" onclick="addBookshelfFun()">加入书架</a><a <li class="btn-group-cell"><a class="btn-normal abt1" onclick="addBookshelfFun()">加入书架</a><a
class="btn-normal abt2" class="btn-normal abt2"
href='{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$intFirstChapterSort"/}'>开始阅读</a><a href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>开始阅读</a><a
class="btn-normal abt3" class="btn-normal abt3"
href='{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}'>章节目录</a> href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a>
</li> </li>
</ul> </ul>
</div> </div>
@@ -140,33 +163,6 @@
{$arrNovel.n_description} {$arrNovel.n_description}
</div> </div>
{if $strPageCode == 'detail'}
<h3 class="wrap-title">最新章节</h3>
<div class="block-box">
<ul class="chapter-list">
{volist name='arrChapter' id='Chapter'}
<li><a
href='{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'>{$Chapter.c_name}<span></span></a>
</li>
{/volist}
</ul>
<a href='{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}'
class="btn-mulu">查看更多章节...</a>
</div>
<div class="clear"></div>
<h3 class="wrap-title">章节列表</h3>
<div class="block-box">
<ul class="chapter-list">
{volist name='arrChapterAsc' id='vo'}
<li><a
href='{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'>{$Chapter.c_name}<span></span></a>
</li>
{/volist}
</ul>
<a href='{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}'
class="btn-mulu">查看更多章节...</a>
</div>
{else}
<h3 class="wrap-title">章节列表(第{$intPage}页) <h3 class="wrap-title">章节列表(第{$intPage}页)
{if $strOrder == 'zheng'} {if $strOrder == 'zheng'}
<a href='{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="dao" page="1"/}' <a href='{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="dao" page="1"/}'
@@ -195,26 +191,24 @@
{include file="public/allChapterPage" /} {include file="public/allChapterPage" /}
</div> </div>
{/if}
<div class="wrap-box"> <div class="wrap-box">
<h3 class="wrap-title"><span>完结推荐</span></h3> <h3 class="wrap-title"><span>完结推荐</span></h3>
<div class="rec-focus"> <div class="rec-focus">
{foreach $arrEndNovel as $key=>$Novel } {novel:list count="6" n_category="$arrNovel.n_category_pinyin" n_status="wanjie" d_key="d_key" d_val="Novel" p_val="page_data" cache_life="86400"}
<dl class="rec-focus-book"> <dl class="rec-focus-book">
<dt class="book-img"><a <dt class="book-img"><a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'><img
href='{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'><img
height="100" width="80" class="lazyload-img" src="/static/img/default.jpg" height="100" width="80" class="lazyload-img" src="/static/img/default.jpg"
data-src="{$Novel.n_cover_path ?? ''}" data-src="{$Novel.n_cover_path ?? ''}"
alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读"></a></dt> alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读"></a></dt>
<dd class="book-info"> <dd class="book-info">
<h2><a <h2><a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$Novel.n_name}</a>
href='{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'>{$Novel.n_name}</a>
</h2> </h2>
<p>作者:{$Novel.n_author}</p> <p>作者:{$Novel.n_author}</p>
<p>{$Novel.n_description}</p> <p>{$Novel.n_description}</p>
</dd> </dd>
</dl> </dl>
{/foreach} {/novel:list}
</div> </div>
</div> </div>
@@ -223,22 +217,22 @@
<h3 class="wrap-title"><span>相邻小说</span></h3> <h3 class="wrap-title"><span>相邻小说</span></h3>
<div class="description" style="font-size: 12px;padding:0px 10px 10px 10px; text-indent: 15px;"> <div class="description" style="font-size: 12px;padding:0px 10px 10px 10px; text-indent: 15px;">
{$strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}... {$arrNovel.strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}...
</div> </div>
<div class="rec-focus" style="font-size:12px;"> <div class="rec-focus" style="font-size:12px;">
{volist name='arrRelateveNovel' id='Novel'} {volist name='$arrNovel.arrRelateveNovel' id='Novel'}
<a <a href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>&nbsp;&nbsp;
href='{site:nurl n_id="$Novel[n_id]" n_py="$Novel[n_name_pinyin]" /}'>{$Novel.n_name}</a>&nbsp;&nbsp;
{/volist} {/volist}
{volist name='arrNovel.n_forge_novel' id='ForgeNovel'} {volist name='arrNovel.n_forge_novel' id='ForgeNovel'}
<a <a
href='{site:nnurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" n_fid="$ForgeNovel[n_forge_id]"/}'>{$ForgeNovel.n_forge_title}</a>&nbsp;&nbsp; href='{site:nnurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" n_fid="$ForgeNovel.n_forge_id"/}'>{$ForgeNovel.n_forge_title}</a>&nbsp;&nbsp;
{/volist} {/volist}
</div> </div>
</div> </div>
<script> <script>
const strNovelId = `{$arrNovel.n_id}`; const strNovelId = `{$arrNovel.n_id}`;
const arrNovel = { const arrNovel = {

View File

@@ -3,11 +3,13 @@
{block name="keywords"}{site:replace code="NOVEL@GETNOVELCATALOG@KEYWORDS"}{/block} {block name="keywords"}{site:replace code="NOVEL@GETNOVELCATALOG@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}{/block} {block name="description"}{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}{/block}
{block name="head"} {block name="head"}
{novel:info n_id="$Request.route.n_id" n_key="arrNovel" n_forge_id="0" /}
{site:grm page_code="pc_novel_info" diff="$arrNovel.n_id" num="100" g_key="arrGrm" /}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" /> <meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
<meta property="og:description" content="{$strDescription??'暂无简介'}" /> <meta property="og:description" content="{$strDescription??'暂无简介'}" />
<meta property="og:url" <meta property="og:url"
content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' /> content='https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' />
<meta property="og:type" content="book" /> <meta property="og:type" content="book" />
<meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" /> <meta property="og:image" content="{$arrNovel.n_cover_path ?? ''}" />
<meta property="og:site_name" content="{$DomainModel->d_name}" /> <meta property="og:site_name" content="{$DomainModel->d_name}" />
@@ -15,12 +17,12 @@
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}"> <meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}"> <meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
<meta property="og:novel:read_url" <meta property="og:novel:read_url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$intFirstChapterSort"/}'> content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}"> <meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}"> <meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrLatestChapter.c_name ?? ''}"> <meta property="og:novel:latest_chapter_name" content="{$arrNovel.n_latest_chapter_name ?? ''}">
<meta property="og:novel:latest_chapter_url" <meta property="og:novel:latest_chapter_url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'> content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<!-- 可选:支持 Twitter Card --> <!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" /> <meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
@@ -44,7 +46,7 @@
}, },
"datePublished": "{$arrNovel['n_update_time'] ?? time()}", "datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"image": "{$arrNovel.n_cover_path ?? ''}", "image": "{$arrNovel.n_cover_path ?? ''}",
"url": 'https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}', "url": 'https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}',
"genre": "{$arrNovel.n_category ??''}", "genre": "{$arrNovel.n_category ??''}",
"inLanguage": "zh-CN", "inLanguage": "zh-CN",
"bookFormat": "https://{$DomainModel->d_domain}/EBook", "bookFormat": "https://{$DomainModel->d_domain}/EBook",
@@ -60,7 +62,7 @@
{/block} {/block}
{block name="head-css"} {block name="head-css"}
<link rel="canonical" <link rel="canonical"
href='{$DomainModel->d_domain}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'> href='{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
{/block} {/block}
{block name="logo-html"} {block name="logo-html"}
<h2> <h2>
@@ -82,7 +84,7 @@
<div class="layout layout-col1"> <div class="layout layout-col1">
<h2 class="layout-tit xs-hidden"> <h2 class="layout-tit xs-hidden">
<a href="{$strPcPath}/">{$DomainModel->d_name}</a>&gt; <a href="{$strPcPath}/">{$DomainModel->d_name}</a>&gt;
<a href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'> <a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
{$arrNovel['n_name']} {$arrNovel['n_name']}
</a> </a>
</h2> </h2>
@@ -104,15 +106,15 @@
<a rel="nofollow" onclick="addBookshelfFun()">加入书架</a> <a rel="nofollow" onclick="addBookshelfFun()">加入书架</a>
<i class="xs-hidden"></i> <i class="xs-hidden"></i>
<a <a
href='{$strPcPath}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}'>章节目录</a> href='{$strPcPath}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a>
<i class="xs-hidden"></i> <i class="xs-hidden"></i>
<a <a
href='{$strPcPath}{site:cpurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" c_sort="$intFirstChapterSort"/}'>开始阅读</a> href='{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>开始阅读</a>
</p> </p>
<p>最后更新:{$arrNovel.n_update_time ?? ''} </p> <p>最后更新:{$arrNovel.n_update_time ?? ''} </p>
<p>最新章节:<a <p>最新章节:<a
href='{$strPcPath}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}'> href='{$strPcPath}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
{$arrLatestChapter.c_name ?? ''}</a></p> {$arrNovel.n_latest_chapter_name ?? ""}</a></p>
</div> </div>
</div> </div>
<div class="desc xs-hidden">{$arrNovel.n_description ?? ''}</div> <div class="desc xs-hidden">{$arrNovel.n_description ?? ''}</div>
@@ -122,48 +124,25 @@
<div class="layout layout-col1"> <div class="layout layout-col1">
<h2 class="layout-tit">《{$arrNovel.n_name ?? ''}》{$arrNovel.n_name ?? '章节'}</h2> <h2 class="layout-tit">《{$arrNovel.n_name ?? ''}》{$arrNovel.n_name ?? '章节'}</h2>
<div class="first_txt"> <div class="first_txt">
{$strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}... {$arrNovel.strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}...
<p>相邻推荐: <p>相邻推荐:
{volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"} {volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"}
{if $key<20 } {$arrGRM[$key+20]|raw} {/if} <a {if $key<20 } {$arrGrm[$key+20]|raw} {/if} <a
href='{$strPcPath}{site:nnurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" n_fid="$ForgeNovel[n_forge_id]"/}' href='{$strPcPath}{site:nnurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" n_fid="$ForgeNovel.n_forge_id"/}'
class="red">{$ForgeNovel.n_forge_title}</a> class="red">{$ForgeNovel.n_forge_title}</a>
{/volist} {/volist}
{volist name='arrRelateveNovel' id='Novel'} {volist name='$arrNovel.arrRelateveNovel' id='Novel'}
<a <a
href='{$strPcPath}{site:nurl n_id="$Novel[n_id]" n_py="$Novel[n_name_pinyin]" /}'>{$Novel.n_name}</a>&nbsp;&nbsp; href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>&nbsp;&nbsp;
{/volist} {/volist}
</p> </p>
</div> </div>
</div> </div>
</div> </div>
{if $strPageCode == 'detail'}
<div class="row row-section">
<div class="layout layout-col1">
<h2 class="layout-tit">《{$arrNovel.n_name}》最新章节</h2>
<ul class="section-list fix">
{volist name='arrChapter' id='Chapter'}
<li><a
href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'>{$Chapter.c_name}</a>
</li>
{/volist}
</ul>
<h2 class="layout-tit">《{$arrNovel.n_name}》章节列表</h2>
<ul class="fix section-list">
{volist name='arrChapter' id='Chapter'}
<li><a
href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'>{$Chapter.c_name}</a>
</li>
{/volist}
</ul><a
href='{$strPcPath}{site:nclurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" order="zheng" page="1"/}'
class="btn-mulu">查看更多章节...</a>
</div>
</div>
{else}
<div class="row row-section"> <div class="row row-section">
<div class="layout layout-col1"> <div class="layout layout-col1">
<h2 class="layout-tit">《{$arrNovel.n_name}》章节列表(第{$intPage}页)切换倒序/正序: <h2 class="layout-tit">《{$arrNovel.n_name}》章节列表(第{$intPage}页)切换倒序/正序:
@@ -194,15 +173,15 @@
{include file="pc/public/allChapterPage" /} {include file="pc/public/allChapterPage" /}
</div> </div>
</div> </div>
{/if}
<div class="row row-section"> <div class="row row-section">
<h2 class="layout-tit">已完结热门小说推荐</h2> <h2 class="layout-tit">已完结热门小说推荐</h2>
<div class="layout layout-col3"> <div class="layout layout-col3">
{foreach $arrEndNovel as $key=>$Novel } {novel:list count="6" n_category="$arrNovel.n_category_pinyin" n_status="wanjie" d_key="d_key" d_val="Novel" p_val="page_data" cache_life="86400"}
<div class="item"> <div class="item">
<div class="image"> <div class="image">
<a href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'> <a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<img style="min-height:120px;" class="lazyload-img" src="/static/img/default.jpg" <img style="min-height:120px;" class="lazyload-img" src="/static/img/default.jpg"
data-src="{$Novel.n_cover_path ?? ''}" data-src="{$Novel.n_cover_path ?? ''}"
alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读"> alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读">
@@ -210,15 +189,15 @@
</div> </div>
<dl> <dl>
<dt><span>{$Novel.n_author}</span><a <dt><span>{$Novel.n_author}</span><a
href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}'>{$Novel.n_name}</a> href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$Novel.n_name}</a>
</dt> </dt>
<dd style="height:90px"><a <dd style="height:90px"><a
href='{$strPcPath}{site:nurl n_id="$arrNovel[n_id]" n_py="$arrNovel[n_name_pinyin]" /}' href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
style="color: #555">{$Novel.n_description}</a> style="color: #555">{$Novel.n_description}</a>
</dd> </dd>
</dl> </dl>
</div> </div>
{/foreach} {/novel:list}
</div> </div>
</div> </div>

View File

@@ -143,6 +143,7 @@
</div> </div>
</div> </div>
</div> </div>
<div class="row row-section"> <div class="row row-section">
<div class="layout layout-col1"> <div class="layout layout-col1">
<h2 class="layout-tit">《{$arrNovel.n_name}》最新章节</h2> <h2 class="layout-tit">《{$arrNovel.n_name}》最新章节</h2>

View File

@@ -242,7 +242,7 @@ class NovelModel extends MongoModel
): array { ): array {
try { try {
$arrFilter['n_have_chapter'] = 1; $arrFilter['n_have_chapter'] = 1;
$arrResult = $this->checkCacheByKey($strKey); $arrResult = $this->checkCacheByKey($strKey);
if ($arrResult !== NULL) { if ($arrResult !== NULL) {
return $arrResult; return $arrResult;
@@ -252,9 +252,7 @@ class NovelModel extends MongoModel
$arrOptions['skip'] = ($intPage - 1) * $intLimit; $arrOptions['skip'] = ($intPage - 1) * $intLimit;
$arrOptions['limit'] = $intLimit; $arrOptions['limit'] = $intLimit;
unset($arrOptions['typeMap']); unset($arrOptions['typeMap']);
$Cursor = $this->getCol()->find($arrFilter, $arrOptions); $Cursor = $this->getCol()->find($arrFilter, $arrOptions);
$intTotal = $this->getCol()->countDocuments($arrFilter); $intTotal = $this->getCol()->countDocuments($arrFilter);
$arrResult = iterator_to_array($Cursor); $arrResult = iterator_to_array($Cursor);

View File

@@ -468,7 +468,7 @@ class NovelService
$intLifeTime = $intLifeTime; $intLifeTime = $intLifeTime;
} }
$arrNovel = $this->NovelModel->findPaginatedWithCache( $arrNovel = $this->NovelModel->findPaginatedWithCache(
$arrFilter, $arrFilter,
$intPage, $intPage,
@@ -479,10 +479,10 @@ class NovelService
); );
$arrPager = call_user_func([$this, $Func], $arrParams, $arrSort, $arrNovel); $arrPager = call_user_func([$this, $Func], $arrParams, $arrSort, $arrNovel);
// TODO 如果所有筛选条件是 all 目前是返回数据是空的,应该要返回数据
$arrResult = [ $arrResult = [
'data' => $arrNovel['data'], 'data' => $arrNovel['data'] ?? [],
'pages' => $arrNovel['pages'], 'pages' => $arrNovel['pages'] ?? 0,
'p_data' => $arrPager, 'p_data' => $arrPager,
]; ];
@@ -523,11 +523,12 @@ class NovelService
$strCategory = $arrParams['n_category']; $strCategory = $arrParams['n_category'];
$strStatus = $arrParams['n_status']; $strStatus = $arrParams['n_status'];
$strOrder = $arrParams['sort_type']; $strOrder = $arrParams['sort_type'];
$intPage = $arrNovel['page']; $intPage = $arrNovel['page'] ?? 1;
$intLimit = $arrNovel['limit']; $intLimit = $arrNovel['limit'] ?? 10;
$intTotal = $arrNovel['total'] ?? 0;
$intButtomNum = $arrParams['button_num']; $intButtomNum = $arrParams['button_num'];
$strBaseUrl = app(NovelService::class)->getNovelCategoryUrl($strGender, $strCategory, $strStatus, $strOrder, '{page}'); $strBaseUrl = app(NovelService::class)->getNovelCategoryUrl($strGender, $strCategory, $strStatus, $strOrder, '{page}');
$arrPaginator = CusteomPage02::generate($intPage, $arrNovel['total'], $intLimit, $strBaseUrl, $intButtomNum); $arrPaginator = CusteomPage02::generate($intPage, $intTotal, $intLimit, $strBaseUrl, $intButtomNum);
return $arrPaginator; return $arrPaginator;
} }