This commit is contained in:
make
2025-04-22 21:28:08 +08:00
parent cd0cfdeec5
commit c87a377282
10 changed files with 446 additions and 381 deletions

View File

@@ -3,6 +3,8 @@
{block name="get-data"} {block name="get-data"}
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /} {novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /}
{site:grm page_code="h5_novel_catalog " diff="$Request.url" num="120" g_key="arrGrm" /} {site:grm page_code="h5_novel_catalog " diff="$Request.url" num="120" g_key="arrGrm" /}
{chapter:pagerexp page="$Request.route.intPage" limit="10" n_id="$Request.route.intNovelId" d_key="d_key" d_val="chapter"
cache_life="86400" button_num="3" sort_type="$Request.route.strOrder" func="generateChapterPager" export_name="resData" /}
{/block} {/block}
{block name="title"}{site:replace code="NOVEL@GETNOVELCATALOG@TITLE"}{/block} {block name="title"}{site:replace code="NOVEL@GETNOVELCATALOG@TITLE"}{/block}
@@ -135,8 +137,7 @@
{block name="main"} {block name="main"}
{chapter:pagerexp page="$Request.route.intPage" limit="100" n_id="$Request.route.intNovelId" d_key="d_key" d_val="chapter"
cache_life="86400" button_num="3" sort_type="$Request.route.strOrder" func="generateChapterPager" export_name="resData" /}
<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">

View File

@@ -150,8 +150,8 @@ $Novel.n_id{extend name="baseH5" /}
<p class="tag"><span class="blue">{$arrNovel.n_category}</span><span <p class="tag"><span class="blue">{$arrNovel.n_category}</span><span
class="green">{$arrNovel.n_status}</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>

View File

@@ -1,17 +1,24 @@
{extend name="baseH5" /} $Novel.n_id{extend name="baseH5" /}
{block name="title"}{site:replace code="NOVEL@GETNOVELCATALOG@TITLE"}{/block} {block name="get-data"}
{block name="keywords"}{site:replace code="NOVEL@GETNOVELCATALOG@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}{/block} {novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="$Request.route.intForgeId" /}
{site:grm page_code="h5_novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /}
{chapter:pagerexp page="$Request.route.intPage" limit="10" n_id="$Request.route.intNovelId" d_key="d_key" d_val="chapter"
cache_life="86400" button_num="3" sort_type="$Request.route.strOrder" func="generateChapterPager" export_name="resData" /}
{/block}
{block name="title"}{site:replace code="NOVEL@GETNOVELINFO@TITLE" diff="$Request.route.intNovelId" /}{/block}
{block name="keywords"}{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS" diff="$Request.route.intNovelId"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}{/block}
{block name="head"} {block name="head"}
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /}
{site:grm page_code="h5_novel_catalog " diff="$Request.url" num="120" g_key="arrGrm" /}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" /> <meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
<meta property="og:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' /> <meta property="og:description"
content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}' />
<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" />
@@ -30,7 +37,8 @@
<!-- 可选:支持 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='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' /> <meta name="twitter:description"
content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}' />
<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">
@@ -85,6 +93,8 @@
</script> </script>
{/block} {/block}
{block name="head-js"} {block name="head-js"}
{/block} {/block}
@@ -96,9 +106,12 @@
</h2> </h2>
{/block} {/block}
{block name="nav-html"}
{block name="main"}
<nav class="breadcrumb" aria-label="breadcrumb"> <nav class="breadcrumb" aria-label="breadcrumb">
<ol itemscope itemtype="https://schema.org/BreadcrumbList"> <ol itemscope itemtype="https://schema.org/BreadcrumbList">
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
@@ -109,7 +122,8 @@
</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 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" />
@@ -120,126 +134,55 @@
</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">
<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>
</a>
<meta itemprop="position" content="3" />
</li>
</ol> </ol>
</nav> </nav>
{/block} <div class="layout-root novel-web">
{block name="main"}
{chapter:pagerexp page="$Request.route.intPage" limit="100" n_id="$Request.route.intNovelId" d_key="d_key" d_val="chapter"
cache_life="86400" button_num="3" sort_type="$Request.route.strOrder" func="generateChapterPager" export_name="resData" /}
<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="book-main">
<div class="book-img">
<img src="/static/img/default.jpg" data-src="{$arrNovel.n_cover_path ?? ''}"
alt="{$arrNovel['n_name'] ?? ''}小说封面 - {$arrNovel.n_author}最新章节" class="lazy lazyload-img">
</div>
<div class="book-info">
<div class="bookname">
<h2>{$arrNovel.n_name}</h2><span class="author">{$arrNovel.n_author}
</span>
</div>
<p class="tag"><span class="blue">{$arrNovel.n_category}</span><span
class="green">{$arrNovel.n_status}</span>
</p>
<p class="update"><span>最近更新:</span><a href={site:lcpurl n_id="$arrNovel.n_id"
n_py="$arrNovel.n_name_pinyin" /}>{$arrLatestChapter->c_name
?? ""}</a></p>
<p class="time"><span>更新时间:</span>{$arrNovel.n_update_time} </p>
</div>
<div class="clear"></div>
<div class="book-detail-btn">
<ul class="btn-group">
<li class="btn-group-cell"><a class="btn-normal abt1" onclick="addBookshelfFun()">加入书架</a><a
class="btn-normal abt2"
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>开始阅读</a><a
class="btn-normal abt3"
href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a>
</li>
</ul>
</div>
</div>
</div>
<div class="description" style="font-size: 12px;padding:0px 10px 10px 10px; text-indent: 15px;">
{$arrNovel.n_description}
</div>
<h3 class="wrap-title">章节列表(第{$Request.route.intPage}页) <div id="w-detail" class="work-content">
{if $Request.route.strOrder == 'zheng'} <div class="w-header">
<a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="dao" page="1"/}'
class="habt y">点击切换倒序</a> <div class="detail-info">
{else} <!-- 目录下拉分页-->
<a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}' {include file="public/allChapterPage" start="1"/}
class="habt y">点击切换正序</a>
{/if} <ul style="margin-top:10px;">
</h3> {chapter:list count="10" sort_type="dao" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter"
<div class="block-box"> cache_life="86400"}
<li style="margin-top:5px;">
<a
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'>{$Chapter.c_name}</a>
</li>
{/chapter:list}
</ul>
<!-- 目录下拉分页--> <!-- 目录下拉分页-->
{include file="public/allChapterPage" start="1"/} {include file="public/allChapterPage" start="1"/}
<ul class="chapter-list">
{foreach $resData.data as $key=>$Chapter}
<li>
{$arrGrm[$key]|raw}
<a href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'
title="{$arrNovel['n_name']} {$Chapter.c_name}">{$Chapter.c_name}</a>
</li>
{/foreach} <div class="detail-tag">
</ul> <span class="label">相关标签:</span>
<span class="value">
{include file="public/allChapterPage" /} <span class="value-tag">
</div>
<div class="wrap-box">
<h3 class="wrap-title"><span>完结推荐</span></h3>
<div class="rec-focus">
{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">
<dt class="book-img">
{$arrGrm[$d_key+110]|raw}
<a 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"
data-src="{$Novel.n_cover_path ?? ''}"
alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读"></a></dt>
<dd class="book-info">
<h2><a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$Novel.n_name}</a>
</h2>
<p>作者:{$Novel.n_author}</p>
<p>{$Novel.n_description}</p>
</dd>
</dl>
{/novel:list}
</div>
</div>
<div class="wrap-box">
<h3 class="wrap-title"><span>相邻小说</span></h3>
<div class="description" style="font-size: 12px;padding:0px 10px 10px 10px; text-indent: 15px;">
{$arrNovel.strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}...
</div>
<div class="rec-focus" style="font-size:12px;">
{volist name='$arrNovel.arrRelateveNovel' id='Novel'} {volist name='$arrNovel.arrRelateveNovel' id='Novel'}
<a href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>&nbsp;&nbsp; <a
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}
</span>
</span>
</div>
</div>
</div>
</div> </div>
</div> </div>
@@ -259,7 +202,6 @@ cache_life="86400" button_num="3" sort_type="$Request.route.strOrder" func="gene
'c_name': `第一章`, 'c_name': `第一章`,
}; };
</script> </script>
{/block} {/block}
{block name="customize"} {block name="customize"}

View File

@@ -1,17 +1,19 @@
{extend name="baseH5" /} {extend name="baseH5" /}
{block name="get-data"}
{site:grm page_code="h5_novel_chapter" diff="$Request.url" num="20" g_key="arrGrm" /}
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /}
{chapter:info n_id="$Request.route.intNovelId" c_sort_num="$Request.route.intChapterSort"
c_page="$Request.route.intChapterPage" c_key="arrChapter" /}
{/block}
{block name="title"}{site:replace code="NOVEL@GETNOVELCHAPTER@TITLE"}{/block} {block name="title"}{site:replace code="NOVEL@GETNOVELCHAPTER@TITLE"}{/block}
{block name="keywords"}{site:replace code="NOVEL@GETNOVELCHAPTER@KEYWORDS"}{/block} {block name="keywords"}{site:replace code="NOVEL@GETNOVELCHAPTER@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}{/block} {block name="description"}{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}{/block}
{block name="head"} {block name="head"}
{site:grm page_code="h5_novel_chapter" diff="$Request.url" num="20" g_key="arrGrm" /}
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /}
{chapter:info n_id="$Request.route.intNovelId" c_sort_num="$Request.route.intChapterSort"
c_page="$Request.route.intChapterPage" c_key="arrChapter" /}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'} {$arrChapter.c_name} - {$DomainModel->d_name}" /> <meta property="og:title" content="{$arrNovel['n_name']??'未知小说'} {$arrChapter.c_name} - {$DomainModel->d_name}" />
@@ -68,6 +70,9 @@ c_page="$Request.route.intChapterPage" c_key="arrChapter" /}
</script> </script>
{/block} {/block}
{block name="head-css"}
<link rel="stylesheet" href="/template/shikong/css/novel.css">{/block}
{block name="head-js"} {block name="head-js"}
<script src="/template/default/h5/js/yueduqsbs.js"></script> <script src="/template/default/h5/js/yueduqsbs.js"></script>
{/block} {/block}
@@ -82,7 +87,12 @@ c_page="$Request.route.intChapterPage" c_key="arrChapter" /}
</h2> </h2>
{/block} {/block}
{block name="nav-html"}
{block name="main"}
<nav class="breadcrumb" aria-label="breadcrumb"> <nav class="breadcrumb" aria-label="breadcrumb">
<ol itemscope itemtype="https://schema.org/BreadcrumbList"> <ol itemscope itemtype="https://schema.org/BreadcrumbList">
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem"> <li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
@@ -93,7 +103,8 @@ c_page="$Request.route.intChapterPage" c_key="arrChapter" /}
</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 gender="" 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" />
@@ -104,124 +115,125 @@ c_page="$Request.route.intChapterPage" c_key="arrChapter" /}
</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">
<a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}' itemprop="item">
<span itemprop="name">{$arrChapter.c_name ?? ''}</span>
</a>
<meta itemprop="position" content="3" />
</li>
</ol> </ol>
</nav> </nav>
{/block} <h1 class="site-description "><a
href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin"/}'>{$arrNovel['n_name']}最新章节 -
{$arrChapter.c_name ?? ''}</a></h1>
{block name="main"} <div class="layout-root">
<h1 class="site-description ">{$arrNovel['n_name']}最新章节 - {$arrChapter.c_name ?? ''}</h1>
<div class="set"> <div id="app" class="active" data-v-app="">
<div id="lightdiv" class="set1" onclick="nr_setbg('light')">关灯</div> <div class="view-wrap" id="reader">
<div id="huyandiv" class="set1" onclick="nr_setbg('huyan')">护眼</div> <div style="display:flex;padding:0 5px">
<div class="set2"> <div class="go-back flex-center" onclick="history.go(-1)" style="margin-right:10px">
<span>字体:</span> <div class="svg">
<span id="fontbig" onclick="nr_setbg('big')"></span> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512">
<span id="fontmiddle" onclick="nr_setbg('middle')"></span> <path
<span id="fontsmall" onclick="nr_setbg('small')"></span> d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z">
</path>
</svg>
</div> </div>
</div> </div>
<div class="content"> <a href=''>
<h1 id="chaptername" class="chaptername">{$arrNovel.n_name}(第{$arrChapter.c_sort_num}页)</h1> <h2 class="novel-reader-title">{$arrChapter.c_name ?? ''}</h2>
<div class="chapter-page-btn"> </a>
{$arrGrm[1]|raw} </div>
<ul>
{if $arrChapter.c_sort_num == 1}
<li><a href='javascript:'>上一页</a></li> <div class="top">
{elseif $arrChapter['pre_chapter'] && $arrChapter['pre_chapter']['c_sort_num']} <div data-v-080d7b61="" class="control-page">
<li><a {if $arrChapter['pre_chapter'] && $arrChapter['pre_chapter']['c_sort_num']}
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.pre_chapter.c_sort_num" c_page="$arrChapter.pre_chapter.c_page"/}'>上一页</a> <a data-v-080d7b61="" class="prev prevPageTop s-btn "
</li> href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.pre_chapter.c_sort_num" c_page="$arrChapter.pre_chapter.c_page"/}'>
<i data-v-080d7b61="" class="van-badge__wrapper van-icon van-icon-arrow-left">
</i>
<span data-v-080d7b61="" class="lh1 " style="color: #e5353e;"> 上一章</span>
</a>
{/if} {/if}
<li class="mulu"><a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a></li> <div data-v-080d7b61="" class="menu s-btn mulu-btn">
{if $arrChapter.next_chapter && $arrChapter.next_chapter.c_sort_num} <a style="color: #e5353e;"
<li><a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节列表</a>
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.next_chapter.c_sort_num" c_page="$arrChapter.next_chapter.c_page"/}'>下一页</a>
</li>
{/if}
</ul>
</div> </div>
{$arrGrm[2]|raw} {if $arrChapter['next_chapter'] && $arrChapter['next_chapter']['c_sort_num']}
<div class="txt" id="txt"> <a data-v-080d7b61="" class="next nextPageTop s-btn"
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.next_chapter.c_sort_num" c_page="$arrChapter.next_chapter.c_page"/}'>
<span data-v-080d7b61="" class="lh1"> 下一章</span>
<i data-v-080d7b61="" class="van-badge__wrapper van-icon van-icon-arrow"></i>
</a>
{/if}
</div>
</div>
<h1 class="novel-reader-title">{$arrChapter.c_name ?? ''}</h1>
<div class="content novel-content" style="padding:10px">
<style>
.novel-content p {
margin-bottom: 10px;
font-size: 0.25rem;
text-indent: 30px;
}
</style>
{$arrGrm[3]|raw} {$arrGrm[3]|raw}
<script>document.writeln(qsbs.bb('{$arrChapter.c_content}'));</script> <script>document.writeln(qsbs.bb('{$arrChapter.c_content}'));</script>
{$arrGrm[4]|raw} {$arrGrm[4]|raw}
</div>
<div class="view-bottom">
<div data-v-080d7b61="" class="control-page">
{if $arrChapter['pre_chapter'] && $arrChapter['pre_chapter']['c_sort_num']}
<div data-v-080d7b61="" class="prev prevPageBottom s-btn ">
<i data-v-080d7b61="" class=" van-badge__wrapper van-icon van-icon-arrow-left">
</i>
<span data-v-080d7b61="" class="lh1 ">
<a style="color: #e5353e;"
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.pre_chapter.c_sort_num" c_page="$arrChapter.pre_chapter.c_page"/}'>上一章</a></span>
</div> </div>
<div class="chapter-page-btn">
{$arrGrm[5]|raw}
<ul>
{if $arrChapter.c_sort_num == 1}
<li><a href='javascript:'>上一页</a></li>
{elseif $arrChapter['pre_chapter'] && $arrChapter['pre_chapter']['c_sort_num']}
<li><a
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.pre_chapter.c_sort_num" c_page="$arrChapter.pre_chapter.c_page"/}'>上一页</a>
</li>
{/if} {/if}
<li class="mulu"><a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a></li> <div data-v-080d7b61="" class="menu s-btn mulu-btn">
<a style="color: #e5353e;"
href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节列表</a>
</div>
{if $arrChapter.next_chapter && $arrChapter.next_chapter.c_sort_num} {if $arrChapter.next_chapter && $arrChapter.next_chapter.c_sort_num}
<li><a <div data-v-080d7b61="" class="next nextPageBottom s-btn ">
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.next_chapter.c_sort_num" c_page="$arrChapter.next_chapter.c_page"/}'>下一页</a> <span data-v-080d7b61="" class=" lh1 ">
</li> <a href='{site:cpurl n_id=" $arrNovel.n_id" n_py="$arrNovel.n_name_pinyin"
c_sort="$arrChapter.next_chapter.c_sort_num" c_page="$arrChapter.next_chapter.c_page" /}'>
下一章</a>
</span>
<i data-v-080d7b61="" class="van-badge__wrapper van-icon van-icon-arrow"></i>
</div>
{/if} {/if}
</ul>
{$arrGrm[6]|raw}
</div> </div>
</div> </div>
<div class="wrap-box">
<h3 class="wrap-title"><span>完结推荐</span></h3>
<div class="rec-focus">
{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">
<dt class="book-img">
{$arrGrm[$d_key+6]|raw}
<a
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"
data-src="{$Novel.n_cover_path ?? ''}"
alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读"></a></dt>
<dd class="book-info">
<h2><a
href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$Novel.n_name}</a>
</h2>
<p>作者:{$Novel.n_author}</p>
<p>{$Novel.n_description}</p>
</dd>
</dl>
{/novel:list}
</div> </div>
</div> </div>
<div class="wrap-box"> </div>
<h3 class="wrap-title"><span>相邻小说</span></h3>
<div class="description" style="font-size: 12px;padding:0px 10px 10px 10px; text-indent: 15px;">
{$arrNovel.strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}... <script>
</div> const strNovelId = `{$arrNovel.n_id}`;
<div class="rec-focus" style="font-size:12px;"> const arrNovel = {
{volist name='arrNovel.arrRelateveNovel' id='Novel'} 'n_id': `{$arrNovel['n_id']}`,
<a 'n_name_pinyin': `{$arrNovel['n_name_pinyin']}`,
href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>&nbsp;&nbsp; 'n_cover_path': `{$arrNovel['n_cover_path']}`,
{/volist} 'n_name': `{$arrNovel['n_name']}`,
'n_author': `{$arrNovel['n_author']}`,
{volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"} 'n_status': `{$arrNovel['n_status']}`,
<a 'n_update_time': `{$arrNovel['n_update_time']}`,
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; 'c_sort_num': 1,
{/volist} 'c_name': `第一章`,
</div> };
</div> </script>
{/block} {/block}
{block name="customize"} {block name="customize"}
<!-- <script src="/assets/js/novel-info.js"></script> -->
{/block} {/block}

View File

@@ -1,22 +1,24 @@
$Novel.n_id{extend name="baseH5" /} $Novel.n_id{extend name="baseH5" /}
{block name="title"}{site:replace code="NOVEL@GETNOVELINFO@TITLE"}{/block}
{block name="keywords"}{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}{/block}
{block name="head"}
{block name="get-data"}
{if $Request.route.intNovelId} {if $Request.route.intNovelId}
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /} {novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="$Request.route.intForgeId" /}
{else} {else}
{novel:info n_id="$DomainModel->info_id" n_key="arrNovel" n_forge_id="0" /} {novel:info n_id="$DomainModel->info_id" n_key="arrNovel" n_forge_id="0" /}
{/if} {/if}
{site:grm page_code="h5_novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /} {site:grm page_code="h5_novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /}
{/block}
{block name="title"}{site:replace code="NOVEL@GETNOVELINFO@TITLE" diff="$Request.route.intNovelId" /}{/block}
{block name="keywords"}{site:replace code="NOVEL@GETNOVELINFO@KEYWORDS" diff="$Request.route.intNovelId"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}{/block}
{block name="head"}
<!-- 社交媒体标签 --> <!-- 社交媒体标签 -->
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" /> <meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
<meta property="og:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' /> <meta property="og:description"
content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}' />
<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" />
@@ -35,7 +37,8 @@ $Novel.n_id{extend name="baseH5" /}
<!-- 可选:支持 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='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION"}' /> <meta name="twitter:description"
content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId"}' />
<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">
@@ -90,6 +93,8 @@ $Novel.n_id{extend name="baseH5" /}
</script> </script>
{/block} {/block}
{block name="head-js"} {block name="head-js"}
{/block} {/block}
@@ -112,7 +117,8 @@ $Novel.n_id{extend name="baseH5" /}
</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 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" />
@@ -129,113 +135,120 @@ $Novel.n_id{extend name="baseH5" /}
{/block} {/block}
{block name="main"} {block name="main"}
<div class="layout-root novel-web">
<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="book-main"> <div id="w-detail" class="work-content">
<div class="book-img"> <div class="w-header">
<img src="/static/img/default.jpg" data-src="{$arrNovel.n_cover_path ?? ''}" <div class="go-back flex-center" onclick="history.go(-1)">
alt="{$arrNovel['n_name'] ?? ''}小说封面 - {$arrNovel.n_author}最新章节" class="lazy lazyload-img"> <div class="svg">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512">
<path
d="M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z">
</path>
</svg>
</div> </div>
<div class="book-info">
<div class="bookname">
<h2>{$arrNovel.n_name}</h2><span class="author">{$arrNovel.n_author}
</span>
</div>
<p class="tag"><span class="blue">{$arrNovel.n_category}</span><span
class="green">{$arrNovel.n_status}</span>
</p>
<p class="update"><span>最近更新:</span><a href={site:lcpurl n_id="$arrNovel.n_id"
n_py="$arrNovel.n_name_pinyin" /}>{$arrLatestChapter->c_name
?? ""}</a></p>
<p class="time"><span>更新时间:</span>{$arrNovel.n_update_time} </p>
</div>
<div class="clear"></div>
<div class="book-detail-btn">
<ul class="btn-group">
<li class="btn-group-cell"><a class="btn-normal abt1" onclick="addBookshelfFun()">加入书架</a><a
class="btn-normal abt2"
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>开始阅读</a><a
class="btn-normal abt3"
href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a>
</li>
</ul>
</div>
</div>
</div>
<div class="description" style="font-size: 12px;padding:0px 10px 10px 10px; text-indent: 15px;">
{$arrNovel.n_description}
</div> </div>
<h3 class="wrap-title">最新章节</h3>
<div class="block-box">
<ul class="chapter-list"> <div class="detail-info">
<div class="detail-cover van-image" >
<img class="van-image__img pre-img lazyload-img" style="object-fit: cover"
src="/static/img/default.jpg" data-src="{$arrNovel.n_cover_path ?? ''}"
alt="{$arrNovel['n_name'] ?? ''}小说封面 - {$arrNovel.n_author}最新章节" >
</div>
<div class="detail-title-xiangqing">
<h2>{$arrNovel.n_name}</h2>
<div class="novel-author">分类:{$arrNovel.n_category } / {$arrNovel.n_status }</div>
<div class="novel-author">作者:{$arrNovel.n_author ?? '迭名'}</div>
<div class="novel-time">更新:{$arrNovel.n_update_time}</div>
<a class="novel-new-zj"
href='{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' >
最新:{$arrNovel.arrLatestChapter.c_name ?? ""}</a>
</div>
<div class="detail-desc">
<span class="label">概要:</span>
<span class="value">
{$arrNovel.n_description}</span>
</div>
<div class="info-btn">
<a class="jiarushujia shujia-btn" onclick="addShujiaFun()">加入书架</a>
<a class="jiarushujia shouchang-btn" href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>目录</a>
<a class="jiarushujia" href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}' >开始阅读</a>
</div>
<ul style="margin-top:10px;">
{chapter:list count="10" sort_type="dao" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter" cache_life="86400"} {chapter:list count="10" sort_type="dao" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter" cache_life="86400"}
<li> <li style="margin-top:5px;">
{$arrGrm[$d_key]|raw} <a href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'>{$Chapter.c_name}</a>
<a
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'>{$Chapter.c_name}<span></span></a>
</li> </li>
{/chapter:list} {/chapter:list}
</ul> </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">
{chapter:list count="100" sort_type="zheng" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter" cache_life="86400"}
<li>
{$arrGrm[$d_key+10]|raw}
<a
href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'>{$Chapter.c_name}<span></span></a>
</li>
{/chapter:list}
</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="wrap-box"> <div class="view-number">
<h3 class="wrap-title"><span>完结推荐</span></h3> <div class="item">
<div class="rec-focus"> <div class="label">{site:wz wz="推荐等级" /}</div>
{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="value">{$arrNovel.n_level}</div>
<dl class="rec-focus-book"> </div>
<dt class="book-img"> <div class="item">
{$arrGrm[$d_key+110]|raw} <div class="label">{site:wz wz="收藏数" /}</div>
<a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'><img <div class="value">0</div>
height="100" width="80" class="lazyload-img" src="/static/img/default.jpg" </div>
data-src="{$Novel.n_cover_path ?? ''}" <div class="item">
alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读"></a></dt> <div class="label">{site:wz wz="在看人数" /}</div>
<dd class="book-info"> <div class="value">{$arrNovel.arrNovelClicks.total}</div>
<h2><a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$Novel.n_name}</a>
</h2>
<p>作者:{$Novel.n_author}</p>
<p>{$Novel.n_description}</p>
</dd>
</dl>
{/novel:list}
</div> </div>
</div> </div>
<div class="wrap-box"> <div class="detail-desc">
<h3 class="wrap-title"><span>相邻小说</span></h3> <span class="label">经典:</span>
<div class="description" style="font-size: 12px;padding:0px 10px 10px 10px; text-indent: 15px;"> <span class="value">
{$arrNovel.strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}...</span>
{$arrNovel.strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}...
</div> </div>
<div class="rec-focus" style="font-size:12px;">
<div class="detail-tag">
<span class="label">相关标签:</span>
<span class="value">
<span class="value-tag">
{volist name='$arrNovel.arrRelateveNovel' id='Novel'} {volist name='$arrNovel.arrRelateveNovel' id='Novel'}
<a href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>&nbsp;&nbsp; <a 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}
</span>
</span>
</div> </div>
</div> </div>
</div>
<div class="section">
<div class="title">
<div class="title-text">猜你喜欢</div>
</div>
<div class="novel-item item">
<div class="work-list">
{novel:list count="8" n_category="$arrNovel.n_category_pinyin" sort_type="update" d_key="d_key" d_val="Novel" cache_life="86400"}
{include file="public/novel-list-flex" /}
{/novel:list}
</div>
</div>
</div>
</div>
</div>
<script> <script>
const strNovelId = `{$arrNovel.n_id}`; const strNovelId = `{$arrNovel.n_id}`;
const arrNovel = { const arrNovel = {

View File

@@ -729,6 +729,7 @@ class NovelService
'strNovelDescription' => $arrNovel['n_description'], 'strNovelDescription' => $arrNovel['n_description'],
]); ]);
$arrNovel['intFirstChapterSort'] = $intFirstChapterSort; $arrNovel['intFirstChapterSort'] = $intFirstChapterSort;
$arrNovel['arrLatestChapter'] = $arrLatestChapter;
$arrNovel['arrNovelClicks'] = $arrNovelClicks; $arrNovel['arrNovelClicks'] = $arrNovelClicks;
$arrNovel['arrRelateveNovel'] = $arrRelateveNovel; $arrNovel['arrRelateveNovel'] = $arrRelateveNovel;
$arrNovel['strFocus'] = $strFocus; $arrNovel['strFocus'] = $strFocus;

View File

@@ -226,6 +226,7 @@ c{clear: both;display: none;}
.page_num a{height:34px;line-height: 35px;padding: 0 15px;display: block;margin: 0;box-sizing: border-box;background: #dcebcd; .page_num a{height:34px;line-height: 35px;padding: 0 15px;display: block;margin: 0;box-sizing: border-box;background: #dcebcd;
color: #004d00;border-radius:5px;transition: all 0.3s;} color: #004d00;border-radius:5px;transition: all 0.3s;}
.page_num a:hover{background: #004d00;color:#fff} .page_num a:hover{background: #004d00;color:#fff}
.habt{font-size: 14px;font-weight: normal;color: #F44336;} .habt{font-size: 14px;font-weight: normal;color: #F44336;}
.dvfd{background: #fff;width: 200px;height: 140px;position: absolute;top: 50%;left: 50%;margin-top: -70px;margin-left: -100px;box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);text-align: center;border-radius: 5px;z-index: 99999;position: fixed;} .dvfd{background: #fff;width: 200px;height: 140px;position: absolute;top: 50%;left: 50%;margin-top: -70px;margin-left: -100px;box-shadow: 0 0 5px rgba(0, 0, 0, 0.35);text-align: center;border-radius: 5px;z-index: 99999;position: fixed;}

View File

@@ -141,7 +141,7 @@ body .bg-top-pink-minheight{
.detail-info{ .detail-info{
} }
.detail-title-xiangqing h1{ .detail-title-xiangqing h2{
font-family: PingFang SC; font-family: PingFang SC;
font-style: normal; font-style: normal;
font-weight: 600; font-weight: 600;
@@ -243,3 +243,91 @@ margin-right: 0.1rem;
line-height: 20px; line-height: 20px;
width: 100%; width: 100%;
} }
.site-description {
font-size: 0.3rem;
padding: 0.1rem 0.1rem;
line-height: 0.6rem;
background: #ffffff;
margin-bottom: 0.2rem;
text-align: center;
}
/* 面包屑容器 -----------------------------start */
/* 面包屑容器 */
.breadcrumb {
font-family: Arial, sans-serif;
padding: 10px 15px;
background-color: #f8f9fa;
border-radius: 5px;
margin: 10px 0;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
/* 有序列表样式 */
.breadcrumb ol {
list-style: none;
margin: 0;
padding: 0;
display: flex;
align-items: center;
flex-wrap: wrap;
}
/* 面包屑项 */
.breadcrumb-item {
font-size: 14px;
color: #666;
}
/* 链接样式 */
.breadcrumb-item a {
text-decoration: none;
color: #007bff;
transition: color 0.3s ease;
}
.breadcrumb-item a:hover {
color: #0056b3;
text-decoration: underline;
}
/* 分隔符 */
.breadcrumb-item + .breadcrumb-item::before {
content: ">";
margin: 0 8px;
color: #999;
font-weight: bold;
}
/* 当前页面样式 */
.breadcrumb-item.active {
color: #333;
font-weight: bold;
}
/* 响应式调整 */
@media (max-width: 768px) {
.breadcrumb {
padding: 8px 10px;
}
.breadcrumb-item {
font-size: 12px;
}
.breadcrumb-item + .breadcrumb-item::before {
margin: 0 5px;
}
}
/* 面包屑容器 -----------------------------end */
.page_num{text-align: center;font-size: 14px;box-sizing: border-box;padding: 10px;width: 330px;margin: 0 auto;display: flex;}
.page_num select{padding: 0 10px;height: 34px;line-height: 35px;box-sizing: border-box;border: 1px solid #7d9465;background: #fff;border-radius: 5px;margin: 0 10px;width: 140px;cursor: pointer;}
.page_num a{height:34px;line-height: 35px;padding: 0 15px;display: block;margin: 0;box-sizing: border-box;background: #dcebcd;
color: #004d00;border-radius:5px;transition: all 0.3s;}
.page_num a:hover{background: #004d00;color:#fff}

View File

@@ -56,31 +56,38 @@ function incShouCangFun(intId){
} }
} }
const strBookshelfKey = window.location.hostname + 'strBookshelfKey';
const strHistoryKey = window.location.hostname + 'strHistoryKey';
// 加入书架 // 加入书架
function addShujiaFun(NovelInfo){ function addShujiaFun(NovelInfo){
// 获取当前书架数据 if (!NovelInfo) {
let arrShujia = JSON.parse(localStorage.getItem('shujiakey')) || []; NovelInfo = arrNovel
console.log(arrShujia)
// 检查书籍是否已存在
const exists = arrShujia.some(item => item.xsxq_id === NovelInfo.xsxq_id);
if (exists) {
layerPopup('该书已在书架中!',3)
return;
} }
// 添加到书架 let arrBookshelf = JSON.parse(localStorage.getItem(strBookshelfKey)) || [];
arrShujia.push(NovelInfo);
// 检查书籍是否已存在
const index = arrBookshelf.findIndex(item => item.n_id === NovelInfo.n_id);
if (index !== -1) {
// 如果存在,更新该书籍的信息
arrBookshelf[index] = { ...arrBookshelf[index], ...NovelInfo };
layerPopup('已存在书架中!', 3)
} else {
// 如果不存在,添加到历史记录
arrBookshelf.push(NovelInfo);
layerPopup('已成功加入书架!', 3)
}
// 更新本地存储 // 更新本地存储
localStorage.setItem('shujiakey', JSON.stringify(arrShujia)); localStorage.setItem(strBookshelfKey, JSON.stringify(arrBookshelf));
layerPopup('已成功加入书架!',3)
} }
function displayShujia() { function displayShujia() {
// 获取书架数据 // 获取书架数据
const shujia = JSON.parse(localStorage.getItem('shujiakey')) || []; const shujia = JSON.parse(localStorage.getItem(strBookshelfKey)) || [];
if (shujia.length === 0) { if (shujia.length === 0) {
console.log('书架为空'); console.log('书架为空');

View File

@@ -101,7 +101,7 @@
$d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称 $d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称
$d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称 $d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称
# 样例 # 样例
{novel:list count="10" n_category="$Request.route.category" d_key="d_key" d_val="novel" cache_life="1000"} {novel:list count="10" n_category="$Request.route.category" d_key="d_key" d_val="Novel" cache_life="1000"}
<li> <li>
Index: {$d_key} Index: {$d_key}
Title: {$novel.n_name} Title: {$novel.n_name}