This commit is contained in:
make
2025-04-12 22:45:39 +08:00
parent 23b082e3c1
commit f740eed79f
14 changed files with 310 additions and 835 deletions

View File

@@ -7,9 +7,10 @@
<meta property="og:title" content="{$strTitle??''}" />
<meta property="og:description" content="{$strDescription??''}" />
{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}
<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}
<meta property="og:type" content="book" />
@@ -17,7 +18,7 @@
{if $strGender == 'all' && $strCategory == 'all' && $strStatus == 'all'}
<script type="application/ld+json">
{
"@context": "https://{$DomainModel->d_domain}/shuku/all",
"@context": "https://{$DomainModel->d_domain}{$strCategoryIndexUrlTemp}",
"@type": "book",
"headline": "{$strTitle??''}",
"description": "{$strDescription??''}",
@@ -27,7 +28,7 @@
{else}
<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",
"headline": "{$strTitle??''}",
"description": "{$strDescription??''}",
@@ -69,40 +70,74 @@
<div class="mod mod-nav">
<div id="book-nav" class="book-nav">
<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="nansheng-xiaoshuo"}on {/eq}'><a href='/shuku/nansheng-xiaoshuo/{$strCategory}/{$strStatus}/page{$intPage}' title="男生">男生</a></li>
<li class='{eq name="strGender" value="nvsheng-xiaoshuo"}on {/eq}'><a href='/shuku/nvsheng-xiaoshuo/{$strCategory}/{$strStatus}/page{$intPage}' title="女生">女生</a></li>
<li class='{eq name="strGender" value="all"}on {/eq}'>
<a href='{site:nflurl gender="all" category="$strCategory" status="$strStatus" page="$intPage"/}'
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>
</div>
<div id="book-nav" class="book-nav">
<ul class="clearfix">
<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>
{eq name="strGender" value="nansheng-xiaoshuo"}
{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>
{/foreach}
{else}
{foreach $arrCategoryAll.women 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>
{/foreach}
{/eq}
{eq name="strGender" value="all"}
{foreach $arrCategoryAll.man 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}
{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="$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>
</div>
<div id="book-nav" class="book-nav">
<ul class="clearfix">
<li class='{eq name="strStatus" value="all"}on {/eq}'>
<a href="/shuku/{$strGender}/{$strCategory}/all/page{$intPage}" btn="search_category">全部</a>
<li class='{eq name="strStatus" value="all"}on {/eq}'>
<a href='{site:nflurl gender="$strGender" category="$strCategory" status="all" page="$intPage"/}'
btn="search_category">全部</a>
</li>
<li class='{eq name="strStatus" value="lianzai"}on {/eq}'>
<a href="/shuku/{$strGender}/{$strCategory}/lianzai/page{$intPage}" btn="search_category">连载</a>
<li class='{eq name="strStatus" value="lianzai"}on {/eq}'>
<a href='{site:nflurl gender="$strGender" category="$strCategory" status="lianzai" page="$intPage"/}'
btn="search_category">连载</a>
</li>
<li class='{eq name="strStatus" value="wanjie"}on {/eq}'>
<a href="/shuku/{$strGender}/{$strCategory}/wanjie/page{$intPage}" btn="search_category">完本</a>
<li class='{eq name="strStatus" value="wanjie"}on {/eq}'>
<a href='{site:nflurl gender="$strGender" category="$strCategory" status="wanjie" page="$intPage"/}'
btn="search_category">完本</a>
</li>
</ul>
</div>
@@ -111,7 +146,7 @@
<div class="book-list">
<ul class="clearfix">
{volist name="arrNovel" id="Novel" key="key"}
{include file="Public/novelListH" start="0"/}
{include file="Public/novelListH" start="0"/}
{/volist}
</ul>
</div>
@@ -119,22 +154,22 @@
<div class="pages">
<ul class="pager">
{volist name="arrPaginator" id="vo" key="k"}
{switch $vo.label}
{case value="上一页"}
{if $intPage == 1}
<li class="disabled"><span>«</span></li>
{else}
<li><a href="{$vo.url}">«</a></li>
{/if}
{/case}
{case value="下一页"}
{if $intPage >= $intTotalPage}
<li class="disabled"><span>»</span></li>
{else}
<li><a href="{$vo.url}">»</a></li>
{/if}
{/case}
{/switch}
{switch $vo.label}
{case value="上一页"}
{if $intPage == 1}
<li class="disabled"><span>«</span></li>
{else}
<li><a href="{$vo.url}">«</a></li>
{/if}
{/case}
{case value="下一页"}
{if $intPage >= $intTotalPage}
<li class="disabled"><span>»</span></li>
{else}
<li><a href="{$vo.url}">»</a></li>
{/if}
{/case}
{/switch}
{/volist}
</ul>
</div>

View File

@@ -10,10 +10,10 @@
</h3>
</li>
<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'}"
>{$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>
</ul>
</li>

View File

@@ -56,6 +56,9 @@
</div>
{$arrGRM[2]|raw}
<script>
const strNovelUrlTemp = `{$strNovelUrlTemp}`;
const strNovelChapterUrlTemp = `{$strNovelChapterUrlTemp}`;
const strSearchUrlTemp = `{$strSearchUrlTemp}`;
document.addEventListener("DOMContentLoaded", function () {
displayBookshelf()

View File

@@ -54,6 +54,9 @@
</div>
{$arrGRM[3]|raw}
<script>
const strNovelUrlTemp = `{$strNovelUrlTemp}`;
const strNovelChapterUrlTemp = `{$strNovelChapterUrlTemp}`;
const strSearchUrlTemp = `{$strSearchUrlTemp}`;
document.addEventListener("DOMContentLoaded", function () {
displayHistory()

View File

@@ -56,13 +56,13 @@
</div>
<div class="tabBd">
<ul class="hotBookBd " >
<ul class="hotBookBd ">
{volist name="arrMoonRankNovel" id="Novel" key="key"}
{include file="Pc/Public/endNovelList" start="0"/}
{/volist}
</ul>
</div>
</div>
@@ -76,19 +76,19 @@
{volist name="arrRecommendEndNovel" id="Novel" key="key"}
{$arrGRM[$key]|raw}
<li>
<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 ?? ''}">
<img src="{$Novel.n_cover_path ?? ''}">
<a href='{$strPcPath}{site:nurl n_id="$Novel[n_id]" n_py="$Novel[og_novel_pin_yin]"/}'
title="{$Novel.og_novel_book_name ?? ''}">
<img src="{$Novel.n_cover_path ?? ''}" alt="{$Novel.og_novel_book_name ?? ''}">
</a>
<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>
</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>
</a>
<span class="bookBrief">
{$Novel.og_description ?? ''}</span>
{$Novel.og_description ?? ''}</span>
</p>
</li>
{/volist}
@@ -100,9 +100,12 @@
</div>
<script>
const strNovelUrlTemp = `{$strNovelUrlTemp}`;
const strNovelChapterUrlTemp = `{$strNovelChapterUrlTemp}`;
const strSearchUrlTemp = `{$strSearchUrlTemp}`;
document.addEventListener("DOMContentLoaded", function () {
displayBookshelfInUser()
displayHistoryInUser()
})
@@ -122,55 +125,59 @@
const DomBookshelfContainer = document.getElementById('bookshelf-ul');
DomBookshelfContainer.innerHTML = ''
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');
if (isMobile()) {
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}">
</a>
<p>
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >
<a href="${strNovelUrl}" >
<span class="bookName">${book.og_novel_book_name}</span>
</a>
<span class="bookStatus">
<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>
</a>
</b>
<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>
</a>
<em class="time">${book.og_novel_update_time}</em></b>
</span>
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}" >
<a href="${strNovelChapterUrl}" >
<i class="goon">阅读</i>
</a>
</p>
`;
} else {
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}">
</a>
<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>
</a>
<span class="bookStatus">
<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>
</a>
</b>
<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>
</a>
<em class="time">${book.og_novel_update_time}</em></b>
</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>
</a>
</p>
@@ -196,55 +203,58 @@
const DomBookshelfContainer = document.getElementById('history-ul');
DomBookshelfContainer.innerHTML = ''
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');
if (isMobile()) {
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}">
</a>
<p>
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}" >
<a href="${strNovelUrl}" >
<span class="bookName">${book.og_novel_book_name}</span>
</a>
<span class="bookStatus">
<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>
</a>
</b>
<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>
</a>
<em class="time">${book.og_novel_update_time}</em></b>
</span>
<a href="/xiaoshuo/${book.og_novel_pin_yin}-${book.n_id}/zhang-${book.c_sort_num}" >
<a href="${strNovelChapterUrl}" >
<i class="goon">阅读</i>
</a>
</p>
`;
} else {
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}">
</a>
<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>
</a>
<span class="bookStatus">
<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>
</a>
</b>
<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>
</a>
<em class="time">${book.og_novel_update_time}</em></b>
</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>
</a>
</p>

View File

@@ -85,10 +85,10 @@
<li><a class='{eq name="strGender" value="all"}on {/eq}'
href='{$strPcPath}{site:nflurl gender="all" category="$strCategory" status="$strStatus" page="$intPage"/}'
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"/}'
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"/}'
btn="search_category">女生</a></li>
@@ -98,24 +98,34 @@
<span class="optTit">所属分类</span>
<ul>
<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>
{eq name="strGender" value="$strNanUrlTemp"}
{eq name="strGender" value="all"}
{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}
{else}
{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}
{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>
</div>
<div class="optCl">
@@ -125,11 +135,9 @@
href='{$strPcPath}{site:nflurl gender="$strGender" category="$strCategory" status="all" page="$intPage"/}'
btn="search_category">全部</a></li>
<li><a class='{eq name="strStatus" value="lianzai"}on {/eq}'
href='{$strPcPath}{site:nflurl gender="$strGender" category="$strCategory" status="lianzai" page="$intPage"/}'
btn="search_category">连载</a></li>
<li><a class='{eq name="strStatus" value="wanjie"}on {/eq}'
href='{$strPcPath}{site:nflurl gender="$strGender" category="$strCategory" status="wanjie" page="$intPage"/}'
btn="search_category">完本</a></li>
</ul>
@@ -154,14 +162,14 @@
{if $intPage == 1}
<li class="disabled"><span>«</span></li>
{else}
<li><a href="{$strPcPath}/shuku/{$strGender}/{$strCategory}/{$strStatus}/page{$intPage-1}">«</a></li>
<li><a href="{$strPcPath}{$vo.url}">«</a></li>
{/if}
{/case}
{case value="下一页"}
{if $intPage >= $intTotalPage}
<li class="disabled"><span>»</span></li>
{else}
<li><a href="{$strPcPath}/shuku/{$strGender}/{$strCategory}/{$strStatus}/page{$intPage+1}">»</a></li>
<li><a href="{$strPcPath}{$vo.url}">»</a></li>
{/if}
{/case}
{case value="..."}

View File

@@ -42,6 +42,9 @@
</div>
</div>
<script>
const strNovelUrlTemp = `{$strNovelUrlTemp}`;
const strNovelChapterUrlTemp = `{$strNovelChapterUrlTemp}`;
const strSearchUrlTemp = `{$strSearchUrlTemp}`;
document.addEventListener("DOMContentLoaded", function () {
displayBookshelf()

View File

@@ -44,6 +44,9 @@
</div>
<script>
const strNovelUrlTemp = `{$strNovelUrlTemp}`;
const strNovelChapterUrlTemp = `{$strNovelChapterUrlTemp}`;
const strSearchUrlTemp = `{$strSearchUrlTemp}`;
document.addEventListener("DOMContentLoaded", function () {
displayHistory()

View File

@@ -40,7 +40,7 @@
</li>
</ul>
<div class="searchbox">
<form action="/search" method="get">
<form action="{$strSearchIndexUrlTemp}" method="get">
<div class="searchbox-inner">
<input type="text" name="keyword" placeholder="找书" class="searchinput" value="">
<i class="search-icon"></i>