Merge branch 'dev' of ssh://git.bgbg.live:18150/root/SEONexus into dev
This commit is contained in:
@@ -58,6 +58,14 @@ Route::get('/sitemap-chapters-:page', function (\think\Request $Request, SiteCon
|
|||||||
})->ext('xml');
|
})->ext('xml');
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 搜索首页
|
||||||
|
*/
|
||||||
|
Route::get('/searchhome/0', function (\think\Request $Request, SiteContext $SiteContext) {
|
||||||
|
return view('novel/getSearchIndex.html');
|
||||||
|
})->ext('html');
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 路由配置文件
|
* 路由配置文件
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -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">
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -51,7 +51,7 @@
|
|||||||
|
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body style="font-size: 14px;" {block name="body-class"}{/block} >
|
<body style="font-size: 14px;" class='{block name="body-class"}{/block}' >
|
||||||
<div class="v-s-nav-box-h">
|
<div class="v-s-nav-box-h">
|
||||||
<div class="s-main-box">
|
<div class="s-main-box">
|
||||||
<div class="s-logo">
|
<div class="s-logo">
|
||||||
|
|||||||
@@ -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"}
|
<h1 class="site-description ">{$arrNovel['n_name']}最新章节 - {$arrNovel['n_author']} - {$DomainModel->d_name}</h1>
|
||||||
|
|
||||||
{chapter:pagerexp page="$Request.route.intPage" limit="100" n_id="$Request.route.intNovelId" d_key="d_key" d_val="chapter"
|
<div id="w-detail" class="work-content">
|
||||||
cache_life="86400" button_num="3" sort_type="$Request.route.strOrder" func="generateChapterPager" export_name="resData" /}
|
<div class="w-header">
|
||||||
|
|
||||||
<h1 class="site-description ">{$arrNovel['n_name']}最新章节 - {$arrNovel['n_author']} - {$DomainModel->d_name}</h1>
|
<div class="detail-info">
|
||||||
<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}页)
|
|
||||||
{if $Request.route.strOrder == 'zheng'}
|
|
||||||
<a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="dao" page="1"/}'
|
|
||||||
class="habt y">点击切换倒序</a>
|
|
||||||
{else}
|
|
||||||
<a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'
|
|
||||||
class="habt y">点击切换正序</a>
|
|
||||||
{/if}
|
|
||||||
</h3>
|
|
||||||
<div class="block-box">
|
|
||||||
|
|
||||||
<!-- 目录下拉分页-->
|
|
||||||
{include file="public/allChapterPage" start="1"/}
|
{include file="public/allChapterPage" start="1"/}
|
||||||
|
|
||||||
<ul class="chapter-list">
|
<ul style="margin-top:10px;">
|
||||||
{foreach $resData.data as $key=>$Chapter}
|
{chapter:list count="10" sort_type="dao" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter"
|
||||||
<li>
|
cache_life="86400"}
|
||||||
{$arrGrm[$key]|raw}
|
<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"/}'
|
<a
|
||||||
title="{$arrNovel['n_name']} {$Chapter.c_name}">{$Chapter.c_name}</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>
|
</li>
|
||||||
|
{/chapter:list}
|
||||||
|
</ul>
|
||||||
|
|
||||||
{/foreach}
|
<!-- 目录下拉分页-->
|
||||||
</ul>
|
{include file="public/allChapterPage" start="1"/}
|
||||||
|
|
||||||
{include file="public/allChapterPage" /}
|
|
||||||
|
|
||||||
</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">
|
<div class="detail-tag">
|
||||||
<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">
|
||||||
|
<span class="value-tag">
|
||||||
|
{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>
|
||||||
|
{/volist}
|
||||||
|
{volist name='arrNovel.n_forge_novel' id='ForgeNovel'}
|
||||||
|
<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>
|
||||||
|
{/volist}
|
||||||
|
|
||||||
{$arrNovel.strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}...
|
|
||||||
</div>
|
|
||||||
<div class="rec-focus" style="font-size:12px;">
|
|
||||||
{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>
|
|
||||||
{/volist}
|
|
||||||
|
|
||||||
{volist name='arrNovel.n_forge_novel' id='ForgeNovel'}
|
</span>
|
||||||
<a
|
</span>
|
||||||
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>
|
</div>
|
||||||
{/volist}
|
</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"}
|
||||||
|
|||||||
@@ -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}
|
||||||
@@ -78,150 +83,157 @@ c_page="$Request.route.intChapterPage" c_key="arrChapter" /}
|
|||||||
|
|
||||||
{block name="logo-html"}
|
{block name="logo-html"}
|
||||||
<h2 class="bookname">
|
<h2 class="bookname">
|
||||||
<a href="/" style="color:#ffffff">{$DomainModel->d_name}</a>
|
<a href="/" style="color:#ffffff">{$DomainModel->d_name}</a>
|
||||||
</h2>
|
</h2>
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block name="nav-html"}
|
|
||||||
<nav class="breadcrumb" aria-label="breadcrumb">
|
|
||||||
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
|
||||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
|
||||||
<a href="/" itemprop="item">
|
|
||||||
<span itemprop="name">首页</span>
|
|
||||||
</a>
|
|
||||||
<meta itemprop="position" content="1" />
|
|
||||||
</li>
|
|
||||||
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
|
||||||
<?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">
|
|
||||||
<span itemprop="name">{$arrNovel.n_category}</span>
|
|
||||||
</a>
|
|
||||||
<meta itemprop="position" content="2" />
|
|
||||||
</li>
|
|
||||||
<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">
|
|
||||||
<span itemprop="name">{$arrNovel['n_name']}</span>
|
|
||||||
</a>
|
|
||||||
<meta itemprop="position" content="3" />
|
|
||||||
</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>
|
|
||||||
</nav>
|
|
||||||
|
|
||||||
{/block}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{block name="main"}
|
{block name="main"}
|
||||||
<h1 class="site-description ">{$arrNovel['n_name']}最新章节 - {$arrChapter.c_name ?? ''}</h1>
|
<nav class="breadcrumb" aria-label="breadcrumb">
|
||||||
|
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
|
||||||
|
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||||
|
<a href="/" itemprop="item">
|
||||||
|
<span itemprop="name">首页</span>
|
||||||
|
</a>
|
||||||
|
<meta itemprop="position" content="1" />
|
||||||
|
</li>
|
||||||
|
<li class="breadcrumb-item" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
|
||||||
|
<?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">
|
||||||
|
<span itemprop="name">{$arrNovel.n_category}</span>
|
||||||
|
</a>
|
||||||
|
<meta itemprop="position" content="2" />
|
||||||
|
</li>
|
||||||
|
<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">
|
||||||
|
<span itemprop="name">{$arrNovel['n_name']}</span>
|
||||||
|
</a>
|
||||||
|
<meta itemprop="position" content="3" />
|
||||||
|
</li>
|
||||||
|
|
||||||
<div class="set">
|
</ol>
|
||||||
<div id="lightdiv" class="set1" onclick="nr_setbg('light')">关灯</div>
|
</nav>
|
||||||
<div id="huyandiv" class="set1" onclick="nr_setbg('huyan')">护眼</div>
|
|
||||||
<div class="set2">
|
|
||||||
<span>字体:</span>
|
|
||||||
<span id="fontbig" onclick="nr_setbg('big')">大</span>
|
|
||||||
<span id="fontmiddle" onclick="nr_setbg('middle')">中</span>
|
|
||||||
<span id="fontsmall" onclick="nr_setbg('small')">小</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="content">
|
|
||||||
<h1 id="chaptername" class="chaptername">{$arrNovel.n_name}(第{$arrChapter.c_sort_num}页)</h1>
|
|
||||||
<div class="chapter-page-btn">
|
|
||||||
{$arrGrm[1]|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}
|
|
||||||
<li class="mulu"><a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a></li>
|
|
||||||
{if $arrChapter.next_chapter && $arrChapter.next_chapter.c_sort_num}
|
|
||||||
<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>
|
|
||||||
</li>
|
|
||||||
{/if}
|
|
||||||
|
|
||||||
</ul>
|
<h1 class="site-description "><a
|
||||||
</div>
|
href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin"/}'>{$arrNovel['n_name']}最新章节 -
|
||||||
{$arrGrm[2]|raw}
|
{$arrChapter.c_name ?? ''}</a></h1>
|
||||||
<div class="txt" id="txt">
|
|
||||||
{$arrGrm[3]|raw}
|
<div class="layout-root">
|
||||||
<script>document.writeln(qsbs.bb('{$arrChapter.c_content}'));</script>
|
|
||||||
{$arrGrm[4]|raw}
|
<div id="app" class="active" data-v-app="">
|
||||||
</div>
|
<div class="view-wrap" id="reader">
|
||||||
<div class="chapter-page-btn">
|
<div style="display:flex;padding:0 5px">
|
||||||
{$arrGrm[5]|raw}
|
<div class="go-back flex-center" onclick="history.go(-1)" style="margin-right:10px">
|
||||||
<ul>
|
<div class="svg">
|
||||||
{if $arrChapter.c_sort_num == 1}
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512">
|
||||||
<li><a href='javascript:'>上一页</a></li>
|
<path
|
||||||
{elseif $arrChapter['pre_chapter'] && $arrChapter['pre_chapter']['c_sort_num']}
|
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">
|
||||||
<li><a
|
</path>
|
||||||
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>
|
</svg>
|
||||||
</li>
|
</div>
|
||||||
{/if}
|
</div>
|
||||||
<li class="mulu"><a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'>章节目录</a></li>
|
<a href=''>
|
||||||
{if $arrChapter.next_chapter && $arrChapter.next_chapter.c_sort_num}
|
<h2 class="novel-reader-title">{$arrChapter.c_name ?? ''}</h2>
|
||||||
<li><a
|
</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>
|
</div>
|
||||||
</li>
|
|
||||||
{/if}
|
|
||||||
</ul>
|
<div class="top">
|
||||||
{$arrGrm[6]|raw}
|
<div data-v-080d7b61="" class="control-page">
|
||||||
|
{if $arrChapter['pre_chapter'] && $arrChapter['pre_chapter']['c_sort_num']}
|
||||||
|
<a data-v-080d7b61="" class="prev prevPageTop s-btn "
|
||||||
|
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}
|
||||||
|
<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']}
|
||||||
|
<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}
|
||||||
|
<script>document.writeln(qsbs.bb('{$arrChapter.c_content}'));</script>
|
||||||
|
{$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>
|
||||||
|
{/if}
|
||||||
|
<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}
|
||||||
|
<div data-v-080d7b61="" class="next nextPageBottom s-btn ">
|
||||||
|
<span data-v-080d7b61="" class=" lh1 ">
|
||||||
|
<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}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="wrap-box">
|
<script>
|
||||||
<h3 class="wrap-title"><span>完结推荐</span></h3>
|
const strNovelId = `{$arrNovel.n_id}`;
|
||||||
<div class="rec-focus">
|
const arrNovel = {
|
||||||
{novel:list count="6" n_category="$arrNovel.n_category_pinyin" n_status="wanjie" d_key="d_key" d_val="Novel"
|
'n_id': `{$arrNovel['n_id']}`,
|
||||||
p_val="page_data" cache_life="86400"}
|
'n_name_pinyin': `{$arrNovel['n_name_pinyin']}`,
|
||||||
<dl class="rec-focus-book">
|
'n_cover_path': `{$arrNovel['n_cover_path']}`,
|
||||||
<dt class="book-img">
|
'n_name': `{$arrNovel['n_name']}`,
|
||||||
{$arrGrm[$d_key+6]|raw}
|
'n_author': `{$arrNovel['n_author']}`,
|
||||||
<a
|
'n_status': `{$arrNovel['n_status']}`,
|
||||||
href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'><img
|
'n_update_time': `{$arrNovel['n_update_time']}`,
|
||||||
height="100" width="80" class="lazyload-img" src="/static/img/default.jpg"
|
'c_sort_num': 1,
|
||||||
data-src="{$Novel.n_cover_path ?? ''}"
|
'c_name': `第一章`,
|
||||||
alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读"></a></dt>
|
};
|
||||||
<dd class="book-info">
|
</script>
|
||||||
<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'}
|
|
||||||
<a
|
|
||||||
href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>
|
|
||||||
{/volist}
|
|
||||||
|
|
||||||
{volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"}
|
|
||||||
<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>
|
|
||||||
{/volist}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block name="customize"}
|
{block name="customize"}
|
||||||
|
<!-- <script src="/assets/js/novel-info.js"></script> -->
|
||||||
|
|
||||||
{/block}
|
{/block}
|
||||||
@@ -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" /}
|
||||||
|
{/block}
|
||||||
|
|
||||||
{site:grm page_code="h5_novel_info" diff="$arrNovel.n_id" num="120" g_key="arrGrm" /}
|
{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"}
|
||||||
<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">
|
<div class="layout-root novel-web">
|
||||||
<img src="/static/img/default.jpg" data-src="{$arrNovel.n_cover_path ?? ''}"
|
|
||||||
alt="{$arrNovel['n_name'] ?? ''}小说封面 - {$arrNovel.n_author}最新章节" class="lazy lazyload-img">
|
<h1 class="site-description ">{$arrNovel['n_name']}最新章节 - {$arrNovel['n_author']} - {$DomainModel->d_name}</h1>
|
||||||
</div>
|
|
||||||
<div class="book-info">
|
<div id="w-detail" class="work-content">
|
||||||
<div class="bookname">
|
<div class="w-header">
|
||||||
<h2>{$arrNovel.n_name}</h2><span class="author">{$arrNovel.n_author}
|
<div class="go-back flex-center" onclick="history.go(-1)">
|
||||||
著</span>
|
<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>
|
||||||
<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">最新章节</h3>
|
|
||||||
<div class="block-box">
|
|
||||||
<ul class="chapter-list">
|
|
||||||
{chapter:list count="10" sort_type="dao" n_id="$arrNovel.n_id" d_key="d_key" d_val="Chapter" cache_life="86400"}
|
|
||||||
<li>
|
|
||||||
{$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}<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="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">
|
|
||||||
<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">
|
<div class="detail-info">
|
||||||
<h3 class="wrap-title"><span>相邻小说</span></h3>
|
<div class="detail-cover van-image" >
|
||||||
<div class="description" style="font-size: 12px;padding:0px 10px 10px 10px; text-indent: 15px;">
|
<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>
|
||||||
|
|
||||||
{$arrNovel.strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}...
|
<div class="detail-desc">
|
||||||
</div>
|
<span class="label">概要:</span>
|
||||||
<div class="rec-focus" style="font-size:12px;">
|
<span class="value">
|
||||||
{volist name='$arrNovel.arrRelateveNovel' id='Novel'}
|
{$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"}
|
||||||
|
<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>
|
||||||
|
|
||||||
|
<div class="view-number">
|
||||||
|
<div class="item">
|
||||||
|
<div class="label">{site:wz wz="推荐等级" /}</div>
|
||||||
|
<div class="value">{$arrNovel.n_level}</div>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<div class="label">{site:wz wz="收藏数" /}</div>
|
||||||
|
<div class="value">0</div>
|
||||||
|
</div>
|
||||||
|
<div class="item">
|
||||||
|
<div class="label">{site:wz wz="在看人数" /}</div>
|
||||||
|
<div class="value">{$arrNovel.arrNovelClicks.total}</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="detail-desc">
|
||||||
|
<span class="label">经典:</span>
|
||||||
|
<span class="value">
|
||||||
|
{$arrNovel.strFocus ?? ""} 。看小说就来{$DomainModel->d_name} {$DomainModel->d_domain}...</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="detail-tag">
|
||||||
|
<span class="label">相关标签:</span>
|
||||||
|
<span class="value">
|
||||||
|
<span class="value-tag">
|
||||||
|
{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>
|
<a href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a>
|
||||||
{/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>
|
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>
|
||||||
{/volist}
|
{/volist}
|
||||||
|
|
||||||
|
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</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>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
const strNovelId = `{$arrNovel.n_id}`;
|
const strNovelId = `{$arrNovel.n_id}`;
|
||||||
const arrNovel = {
|
const arrNovel = {
|
||||||
|
|||||||
@@ -55,12 +55,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="navs">
|
<div class="navs">
|
||||||
<a href='{site:rankurl status="$Request.route.strStatus" order="all" page="1"/}'
|
{novel:status d_key="key" d_val="val"}
|
||||||
id="pai_hang_all" class="tabs-item">所有</a>
|
<a href='{site:rankurl order="$Request.route.strOrder" status="$key" page="1"/}'
|
||||||
<a href='{site:rankurl order="$Request.route.strOrder" status="lianzai" page="$Request.route.intPage"/}'
|
id="pai_hang_{$key}" class="tabs-item">{$val}</a>
|
||||||
id="pai_hang_lianzai" class="tabs-item">连载中</a>
|
{/novel:status}
|
||||||
<a href='{site:rankurl order="$Request.route.strOrder" status="wanjie" page="$Request.route.intPage"/}'
|
|
||||||
id="pai_hang_wanjie" class="tabs-item">已完结</a>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@@ -73,14 +71,10 @@
|
|||||||
<div class="side-left">
|
<div class="side-left">
|
||||||
<div class="slide-box">
|
<div class="slide-box">
|
||||||
<a href="{$strCategoryIndexUrlTemp}" class="slide-item " id="fenlei_all">{site:wz wz="全部" /}</a>
|
<a href="{$strCategoryIndexUrlTemp}" class="slide-item " id="fenlei_all">{site:wz wz="全部" /}</a>
|
||||||
<a href='{site:rankurl status="$Request.route.strStatus" order="daily" page="$Request.route.intPage"/}'
|
{novel:ranksort d_key="key" d_val="val"}
|
||||||
id="fenlei_daily" class="slide-item ">日榜</a>
|
<a href='{site:rankurl status="$Request.route.strStatus" order="$key" page="$Request.route.intPage"/}'
|
||||||
<a href='{site:rankurl status="$Request.route.strStatus" order="weekly" page="$Request.route.intPage"/}'
|
id="fenlei_{$key}" class="slide-item ">{$val}榜</a>
|
||||||
id="fenlei_weekly" class="slide-item ">周榜</a>
|
{/novel:ranksort}
|
||||||
<a href='{site:rankurl status="$Request.route.strStatus" order="monthly" page="$Request.route.intPage"/}'
|
|
||||||
id="fenlei_monthly" class="slide-item ">月榜</a>
|
|
||||||
<a href='{site:rankurl status="$Request.route.strStatus" order="total" page="$Request.route.intPage"/}'
|
|
||||||
id="fenlei_total" class="slide-item ">总榜</a>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<script>
|
<script>
|
||||||
|
|||||||
168
code/app/home/view/shikong/novel/getSearchIndex.html
Normal file
168
code/app/home/view/shikong/novel/getSearchIndex.html
Normal file
@@ -0,0 +1,168 @@
|
|||||||
|
{extend name="baseH5" /}
|
||||||
|
{block name="title"}{site:replace code="NOVEL@GETSEARCHNOVEL@TITLE"}{/block}
|
||||||
|
{block name="keywords"}{site:replace code="NOVEL@GETSEARCHNOVEL@KEYWORDS"}{/block}
|
||||||
|
{block name="description"}{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}{/block}
|
||||||
|
|
||||||
|
{block name="head"}
|
||||||
|
<!-- 社交媒体标签 -->
|
||||||
|
<meta property="og:title" content=‘{site:replace code="NOVEL@GETSEARCHNOVEL@TITLE"} />
|
||||||
|
<meta property="og:description" content='{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}' />
|
||||||
|
<meta property="og:url" content="https://{$DomainModel->d_domain}{site:souurl key='$Request.get.keyword' p='1'/}" />
|
||||||
|
<meta property="og:type" content="book" />
|
||||||
|
<meta property="og:site_name" content="{$DomainModel->d_name}">
|
||||||
|
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta name="twitter:title" content="{$Request.get.keyword} - {$DomainModel->d_name}搜索 - 第{$Request.get.intPage}页">
|
||||||
|
<meta name="twitter:description" content="{$Request.get.keyword}搜索结果第{$Request.get.intPage}页,免费阅读小说,快来体验!">
|
||||||
|
|
||||||
|
<!-- 结构化数据 -->
|
||||||
|
<script type="application/ld+json">
|
||||||
|
{
|
||||||
|
"@context": "https://schema.org",
|
||||||
|
"@type": "SearchResultsPage",
|
||||||
|
"url": "https://{$DomainModel->d_name}{site:souurl key='$Request.get.keyword' p='1'/}",
|
||||||
|
"name": "{$DomainModel->d_name} - {$DomainModel->d_name}搜索 第{$Request.get.intPage}页",
|
||||||
|
"description": "搜索‘{$Request.get.keyword}’结果第{$Request.get.intPage}页,提供{$Request.get.keyword}创作的小说免费阅读。",
|
||||||
|
"datePublished": "{$arrNovel['n_update_time'] ?? time()}",
|
||||||
|
"mainEntity": {
|
||||||
|
"@type": "Book",
|
||||||
|
"name": "{$DomainModel->d_name}",
|
||||||
|
"author": {
|
||||||
|
"@type": "Person",
|
||||||
|
"name": "{$DomainModel->d_name}"
|
||||||
|
},
|
||||||
|
"url": "https://{$DomainModel->d_domain}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
{/block}
|
||||||
|
|
||||||
|
{block name='nav-active-class'}searchhome{/block}
|
||||||
|
{block name="body-class"}novel_so novel_search_page{/block}
|
||||||
|
|
||||||
|
{block name="logo-html"}
|
||||||
|
<h2 class="bookname">
|
||||||
|
<a href="/" style="color:#ffffff">{$DomainModel->d_name}</a>
|
||||||
|
</h2>
|
||||||
|
{/block}
|
||||||
|
|
||||||
|
{block name="head-css"}
|
||||||
|
<link rel="stylesheet" type="text/css" href="/template/shikong/css/search.css">
|
||||||
|
{/block}
|
||||||
|
|
||||||
|
{block name="subcategory"}{/block}
|
||||||
|
{block name="main"}
|
||||||
|
|
||||||
|
<div class="content-box">
|
||||||
|
<div class="item-box">
|
||||||
|
<div class="main-box">
|
||||||
|
<div class="">
|
||||||
|
<div class="search-home">
|
||||||
|
<div class="search-form">
|
||||||
|
<div class="search-content">
|
||||||
|
<div class="input">
|
||||||
|
<input type="text" name="keyword" :placeholder="{site:wz wz="使用+或者空格组合多个关键词" /}"
|
||||||
|
id="search_input" onfocus="onfocusSearch()" oninput="oninputSearch()"
|
||||||
|
onchange="onchangeSearch()">
|
||||||
|
<div class="input-border">
|
||||||
|
<div role="separator" class="van-divider van-divider--hairline"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="button" onclick="search()">{site:wz wz="搜索" /}</div>
|
||||||
|
</div>
|
||||||
|
<div class="search-history-content" style="display: none">
|
||||||
|
<div class="title">
|
||||||
|
<div class="title-text">{site:wz wz="搜索历史" /}</div>
|
||||||
|
<div class="delete-all-history" @click="handleDelAll">{site:wz wz="删除历史记录" /}</div>
|
||||||
|
</div>
|
||||||
|
<div class="text">
|
||||||
|
<div class="history-text">{site:wz wz="搜索记录" /}</div>
|
||||||
|
<i class="bi bi-trash3"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="search-tag-content">
|
||||||
|
|
||||||
|
|
||||||
|
{novel:list count="8" sort_type="tuijian" d_key="key" d_val="Novel" cache_life="86400"}
|
||||||
|
|
||||||
|
<div class="search-tags">
|
||||||
|
<div class="title"><i class="bi {eq name="key" value="0"}bi-fire {else/} bi-heart-fill{/eq}"></i>
|
||||||
|
{$Novel.n_name}</div>
|
||||||
|
<div class="tags tags-rect">
|
||||||
|
<span class="badge badge-light badge-light-click" data-keyword="{$Novel.n_name}">{$Novel.n_author}</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
{/novel:list}
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
var searchInputActive = false;
|
||||||
|
var searchInputval = '';
|
||||||
|
|
||||||
|
|
||||||
|
function onfocusSearch(e) {
|
||||||
|
searchInputActive = true
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function oninputSearch(e) {
|
||||||
|
let dom = $('#search_input')
|
||||||
|
searchInputval = dom.val()
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function onchangeSearch() {
|
||||||
|
searchInputActive = false
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$("#search_input").keydown(function (e) {
|
||||||
|
|
||||||
|
if (e.keyCode == 13) {
|
||||||
|
|
||||||
|
search()
|
||||||
|
|
||||||
|
e.preventDefault();
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
$('.badge-light-click').click(function () {
|
||||||
|
$keyword = $(this).data('keyword');
|
||||||
|
$('#search_input').val($keyword)
|
||||||
|
setTimeout(function () {
|
||||||
|
search();
|
||||||
|
}, 60)
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
function search(e) {
|
||||||
|
let val = $('#search_input').val()
|
||||||
|
if (!val) {
|
||||||
|
new Noty({
|
||||||
|
layout: 'topCenter',
|
||||||
|
theme: 'bootstrap-v4',
|
||||||
|
text: '关键词不能为空!',
|
||||||
|
progressBar: false,
|
||||||
|
timeout: 1000
|
||||||
|
}).show().setType('alert');
|
||||||
|
return
|
||||||
|
}
|
||||||
|
window.location.replace("{$strSearchIndexUrlTemp}" + `?keyword=${val}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{/block}
|
||||||
@@ -1,11 +1,26 @@
|
|||||||
{extend name="baseH5" /}
|
{extend name="baseH5" /}
|
||||||
|
|
||||||
|
{block name="get-data"}
|
||||||
|
{novel:pagerexp page="$Request.get.page" limit="30"
|
||||||
|
key="$Request.get.keyword"
|
||||||
|
d_key="d_key"
|
||||||
|
d_val="Novel"
|
||||||
|
p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager" export_name="resData" /}
|
||||||
|
|
||||||
|
{site:grm page_code="h5_novel_search" diff="$Request.url" num="30" g_key="arrGrm" /}
|
||||||
|
|
||||||
|
{/block}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{block name="title"}{site:replace code="NOVEL@GETSEARCHNOVEL@TITLE"}{/block}
|
{block name="title"}{site:replace code="NOVEL@GETSEARCHNOVEL@TITLE"}{/block}
|
||||||
{block name="keywords"}{site:replace code="NOVEL@GETSEARCHNOVEL@KEYWORDS"}{/block}
|
{block name="keywords"}{site:replace code="NOVEL@GETSEARCHNOVEL@KEYWORDS"}{/block}
|
||||||
{block name="description"}{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}{/block}
|
{block name="description"}{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}{/block}
|
||||||
|
|
||||||
{block name="head"}
|
{block name="head"}
|
||||||
<!-- 社交媒体标签 -->
|
<!-- 社交媒体标签 -->
|
||||||
<meta property="og:title" content=‘{site:replace code="NOVEL@GETSEARCHNOVEL@TITLE"} />
|
<meta property="og:title" content=‘{site:replace code="NOVEL@GETSEARCHNOVEL@TITLE" } />
|
||||||
<meta property="og:description" content='{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}' />
|
<meta property="og:description" content='{site:replace code="NOVEL@GETSEARCHNOVEL@DESCRIPTION"}' />
|
||||||
<meta property="og:url" content="https://{$DomainModel->d_domain}{site:souurl key='$Request.get.keyword' p='1'/}" />
|
<meta property="og:url" content="https://{$DomainModel->d_domain}{site:souurl key='$Request.get.keyword' p='1'/}" />
|
||||||
<meta property="og:type" content="book" />
|
<meta property="og:type" content="book" />
|
||||||
@@ -37,7 +52,7 @@
|
|||||||
</script>
|
</script>
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block name='nav-active-class'}home{/block}
|
|
||||||
{block name="body-class"}novel_so novel_search_page{/block}
|
{block name="body-class"}novel_so novel_search_page{/block}
|
||||||
|
|
||||||
{block name="logo-html"}
|
{block name="logo-html"}
|
||||||
@@ -46,69 +61,62 @@
|
|||||||
</h2>
|
</h2>
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
|
{block name="head-css"}
|
||||||
|
<link rel="stylesheet" type="text/css" href="/template/shikong/css/search.css">
|
||||||
|
{/block}
|
||||||
|
|
||||||
|
|
||||||
|
{block name="subcategory"}
|
||||||
|
<span class="v-s-result">“ {$Request.get.keyword} ” 的搜索结果 共<span color="red">{$resData.p_data.total}</span>条</span>
|
||||||
|
{/block}
|
||||||
|
|
||||||
|
{block name='nav-active-class'}search{/block}
|
||||||
|
|
||||||
{block name="main"}
|
{block name="main"}
|
||||||
|
|
||||||
{novel:pagerexp page="$Request.get.page" limit="30"
|
|
||||||
key="$Request.get.keyword"
|
|
||||||
d_key="d_key"
|
|
||||||
d_val="Novel"
|
|
||||||
p_val="page_data" button_num="10" cache_life="86400" func="generateSearchPager" export_name="resData" /}
|
|
||||||
|
|
||||||
{site:grm page_code="h5_novel_search" diff="$Request.url" num="30" g_key="arrGrm" /}
|
|
||||||
|
|
||||||
<div class="wrap-box">
|
<div class="content-box">
|
||||||
<h1><span>{$Request.get.keyword}</span>搜索结果 - {$DomainModel->d_name} 第{$resData.p_data.page}页</h1>
|
<h1 class="title-h1"><span>{$Request.get.keyword}</span>搜索结果 - {$DomainModel->d_name} 第{$resData.p_data.page}页</h1>
|
||||||
{if $resData.p_data.total < 1} <p style="text-align: center;line-height: 60px">没有相关数据</p>
|
<div class="item-box">
|
||||||
{else}
|
<div class="novel-list">
|
||||||
|
|
||||||
<div class="rec-focus">
|
|
||||||
{foreach $resData.data as $key=>$Novel}
|
{foreach $resData.data as $key=>$Novel}
|
||||||
<dl class="rec-focus-book">
|
{include file="public/novel-list" /}
|
||||||
<dt class="book-img">
|
|
||||||
{$arrGrm[$key]|raw}
|
|
||||||
<a href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>
|
|
||||||
<img height="100" width="80" src="/static/img/default.jpg"
|
|
||||||
data-src="{$Novel.n_cover_path ?? ''}"
|
|
||||||
alt="{$Novel['n_name'] ?? ''}小说封面 - {$Novel.n_author}最新章节" class="lazy lazyload-img">
|
|
||||||
</a>
|
|
||||||
</dt>
|
|
||||||
<dd class="book-info">
|
|
||||||
<h2><a href='{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'>{$Novel.n_name}</a></h2>
|
|
||||||
<p>作者:{$Novel.n_author}</p>
|
|
||||||
<p>{$Novel.n_description}</p>
|
|
||||||
</dd>
|
|
||||||
</dl>
|
|
||||||
{/foreach}
|
{/foreach}
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
{/if}
|
<div class="pagination-box">
|
||||||
|
<ul class="pagination justify-content-center">
|
||||||
|
{volist name="resData.p_data.pager" id="vo" key="k"}
|
||||||
|
{switch $vo.label}
|
||||||
|
{case value="上一页"}
|
||||||
|
{if $resData.p_data.page == 1}
|
||||||
|
<li class="page-item disabled"><span class="page-link">«</span></li>
|
||||||
|
{else}
|
||||||
|
<li class="page-item"><a class="page-link" href="{$vo.url}">«</a></li>
|
||||||
|
{/if}
|
||||||
|
{/case}
|
||||||
|
{case value="下一页"}
|
||||||
|
{if $resData.p_data.page >= $resData.p_data.total}
|
||||||
|
<li class="page-item disabled"><span class="page-link">»</span></li>
|
||||||
|
{else}
|
||||||
|
<li class="page-item"><a class="page-link" href="{$vo.url}">»</a></li>
|
||||||
|
{/if}
|
||||||
|
{/case}
|
||||||
|
{default /}
|
||||||
|
{if preg_match('/^\d+$/', $vo.label)}
|
||||||
|
<li class="page-item"><a class="page-link" href="{$vo.url}">{$vo.label}</a></li>
|
||||||
|
{/if}
|
||||||
|
{/switch}
|
||||||
|
{/volist}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="row sort_page_num">
|
|
||||||
{volist name="$resData.p_data.pager" id="vo" key="k"}
|
|
||||||
{switch $vo.label}
|
|
||||||
{case value="上一页"}
|
|
||||||
{if $resData.p_data.page == 1}
|
|
||||||
<span>«</span>
|
|
||||||
{else}
|
|
||||||
<a href="{$vo.url}">«</a>
|
|
||||||
{/if}
|
|
||||||
{/case}
|
|
||||||
{case value="下一页"}
|
|
||||||
{if $resData.p_data.page >= $resData.p_data.total}
|
|
||||||
<span>»</span>
|
|
||||||
{else}
|
|
||||||
<a href="{$vo.url}">»</a>
|
|
||||||
{/if}
|
|
||||||
{/case}
|
|
||||||
{default /}
|
|
||||||
{if preg_match('/^\d+$/', $vo.label)}
|
|
||||||
<a href="{$vo.url}">{$vo.label}</a>
|
|
||||||
{/if}
|
|
||||||
{/switch}
|
|
||||||
{/volist}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
{/block}
|
{/block}
|
||||||
|
|||||||
@@ -17,16 +17,27 @@
|
|||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block name="main"}
|
{block name="main"}
|
||||||
|
<div class="layout-root tuijian-web">
|
||||||
|
<div class="work-content">
|
||||||
|
|
||||||
<div class="wrap-box">
|
<div class="section">
|
||||||
<h3 class="wrap-title"><span>我的书架</span></h3>
|
<div class="bg-top-pink bg-top-pink-minheight"></div>
|
||||||
<div class="rec-focus" id="shujiaContainer">
|
<div class="title">
|
||||||
|
<div class="title-text">我的书架</div>
|
||||||
|
</div>
|
||||||
|
<div class="js-tabs">
|
||||||
|
<div class="tab-content-wrap">
|
||||||
|
<div class="">
|
||||||
|
<div class="novel-list" id="shujiaContainer">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
{/block}
|
{/block}
|
||||||
|
|
||||||
{block name="customize"}
|
{block name="customize"}
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -312,10 +312,14 @@ class SiteContext
|
|||||||
{
|
{
|
||||||
$strOrder = $this->Request->param('strOrder');
|
$strOrder = $this->Request->param('strOrder');
|
||||||
$strStatus = $this->Request->param('strStatus');
|
$strStatus = $this->Request->param('strStatus');
|
||||||
|
$strNovelOrder = '';
|
||||||
|
if(!empty($strOrder) && $strOrder != 'all'){
|
||||||
|
$strNovelOrder = StaticConfig::$arrNovelRankSortType[$strOrder];
|
||||||
|
}
|
||||||
ConverterMovel::setVal([
|
ConverterMovel::setVal([
|
||||||
'intPage' => 1,
|
'intPage' => 1,
|
||||||
'strNovelOrder' => StaticConfig::$arrNovelRankSortType[$strOrder],
|
'strNovelOrder' => $strNovelOrder,
|
||||||
'strNovelStatus' => StaticConfig::$arrNovelStatus[$strStatus],
|
'strNovelStatus' => empty($strStatus) ? "" : StaticConfig::$arrNovelStatus[$strStatus],
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ class Novel extends TagLib
|
|||||||
'pagerexp' => ['attr' => 'page,limit,n_category,sort_type,n_status,n_sex,key,diff_key,cache_life,d_key,d_val,p_val,func,export_name', 'close' => 0],
|
'pagerexp' => ['attr' => 'page,limit,n_category,sort_type,n_status,n_sex,key,diff_key,cache_life,d_key,d_val,p_val,func,export_name', 'close' => 0],
|
||||||
'info' => ['attr' => 'n_id,n_forge_id,n_key', 'close' => 0],
|
'info' => ['attr' => 'n_id,n_forge_id,n_key', 'close' => 0],
|
||||||
'sort' => ['attr' => 'd_key,d_val'],
|
'sort' => ['attr' => 'd_key,d_val'],
|
||||||
|
'ranksort' => ['attr' => 'd_key,d_val'],
|
||||||
'status' => ['attr' => 'd_key,d_val'],
|
'status' => ['attr' => 'd_key,d_val'],
|
||||||
'sex' => ['attr' => 'd_key,d_val'],
|
'sex' => ['attr' => 'd_key,d_val'],
|
||||||
'category' => ['attr' => 'd_key,d_val,n_sex'],
|
'category' => ['attr' => 'd_key,d_val,n_sex'],
|
||||||
@@ -281,7 +282,39 @@ EOT;
|
|||||||
|
|
||||||
$strParse = <<<EOT
|
$strParse = <<<EOT
|
||||||
<?php
|
<?php
|
||||||
\$arrSort = app(\\app\\services\\NovelService::class)->arrSortType;
|
\$arrSort = app(\\app\\services\\StaticConfig::class)::\$arrNovelSortType;
|
||||||
|
|
||||||
|
if (!empty(\$arrSort) && is_array(\$arrSort)):
|
||||||
|
|
||||||
|
?>
|
||||||
|
EOT;
|
||||||
|
$strParse .= <<<EOT
|
||||||
|
<?php foreach (\$arrSort as \${$d_key} => \${$d_val}): ?>
|
||||||
|
EOT;
|
||||||
|
$strParse .= $content;
|
||||||
|
$strParse .= <<<EOT
|
||||||
|
<?php endforeach; ?>
|
||||||
|
<?php endif; ?>
|
||||||
|
EOT;
|
||||||
|
return $strParse;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取排序筛选参数
|
||||||
|
*
|
||||||
|
* @param array $tag
|
||||||
|
* @param string $content
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function tagRankSort($tag, $content)
|
||||||
|
{
|
||||||
|
|
||||||
|
$d_key = $tag['d_key'] ?? 'd_key';
|
||||||
|
$d_val = $tag['d_val'] ?? 'd_val';
|
||||||
|
|
||||||
|
$strParse = <<<EOT
|
||||||
|
<?php
|
||||||
|
\$arrSort = app(\\app\\services\\StaticConfig::class)::\$arrNovelRankSortType;
|
||||||
|
|
||||||
if (!empty(\$arrSort) && is_array(\$arrSort)):
|
if (!empty(\$arrSort) && is_array(\$arrSort)):
|
||||||
|
|
||||||
@@ -313,7 +346,7 @@ EOT;
|
|||||||
|
|
||||||
$strParse = <<<EOT
|
$strParse = <<<EOT
|
||||||
<?php
|
<?php
|
||||||
\$arrStatus = app(\\app\\services\\NovelService::class)->arrStatus;
|
\$arrStatus = app(\\app\\services\\StaticConfig::class)::\$arrNovelStatus;
|
||||||
|
|
||||||
if (!empty(\$arrStatus) && is_array(\$arrStatus)):
|
if (!empty(\$arrStatus) && is_array(\$arrStatus)):
|
||||||
|
|
||||||
@@ -346,7 +379,7 @@ EOT;
|
|||||||
|
|
||||||
$strParse = <<<EOT
|
$strParse = <<<EOT
|
||||||
<?php
|
<?php
|
||||||
\$arrSex = app(\\app\\services\\NovelService::class)->arrSex;
|
\$arrSex = app(\\app\\services\\StaticConfig::class)::\$arrNovelSex;
|
||||||
|
|
||||||
if (!empty(\$arrSex) && is_array(\$arrSex)):
|
if (!empty(\$arrSex) && is_array(\$arrSex)):
|
||||||
|
|
||||||
|
|||||||
@@ -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;}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ body {
|
|||||||
.search-home {
|
.search-home {
|
||||||
padding: 10px 20px 20px;
|
padding: 10px 20px 20px;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
background: #161313;
|
||||||
}
|
}
|
||||||
|
|
||||||
.search-form {
|
.search-form {
|
||||||
@@ -218,3 +219,8 @@ body {
|
|||||||
/* .s-footer-tel , .footer-box{
|
/* .s-footer-tel , .footer-box{
|
||||||
color:#fff
|
color:#fff
|
||||||
} */
|
} */
|
||||||
|
|
||||||
|
.novel_search_page .title-h1{
|
||||||
|
text-align: center;
|
||||||
|
font-size: 0.2rem;
|
||||||
|
}
|
||||||
@@ -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}
|
||||||
@@ -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('书架为空');
|
||||||
|
|||||||
@@ -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}
|
||||||
@@ -227,8 +227,19 @@ resData = [
|
|||||||
<li> 键: {$key} - 值: {$val} </li>
|
<li> 键: {$key} - 值: {$val} </li>
|
||||||
{/novel:sort}
|
{/novel:sort}
|
||||||
|
|
||||||
|
# 08、获取小说排行榜排序筛选条件
|
||||||
|
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
||||||
|
$d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称
|
||||||
|
$d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称
|
||||||
|
# 样例
|
||||||
|
{novel:ranksort d_key="key" d_val="val"}
|
||||||
|
<li> 键: {$key} - 值: {$val} </li>
|
||||||
|
{/novel:ranksort}
|
||||||
|
|
||||||
# 08、获取小说分类筛选条件
|
|
||||||
|
|
||||||
|
|
||||||
|
# 09、获取小说分类筛选条件
|
||||||
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
||||||
$d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称
|
$d_key ?? 'd_key'; # 查询出来的数据遍历的时候, 下标键变量的名称
|
||||||
$d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称
|
$d_val ?? 'd_val'; # 查询出来的数据遍历的时候, 值的名称
|
||||||
@@ -238,7 +249,7 @@ resData = [
|
|||||||
{/novel:category}
|
{/novel:category}
|
||||||
|
|
||||||
|
|
||||||
# 09、 获取指定小说多个章节数据并且遍历
|
# 10、 获取指定小说多个章节数据并且遍历
|
||||||
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
||||||
$count ?? '10'; # 查询条数
|
$count ?? '10'; # 查询条数
|
||||||
$n_id ; # 小说ID
|
$n_id ; # 小说ID
|
||||||
@@ -257,7 +268,7 @@ resData = [
|
|||||||
{/chapter:list}
|
{/chapter:list}
|
||||||
|
|
||||||
|
|
||||||
# 10、 获取小说章节详情数据
|
# 11、 获取小说章节详情数据
|
||||||
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
||||||
$n_id ; # 传入的小说ID
|
$n_id ; # 传入的小说ID
|
||||||
$c_sort_num ; # 传入的章节索引
|
$c_sort_num ; # 传入的章节索引
|
||||||
@@ -268,7 +279,7 @@ resData = [
|
|||||||
{$arrChapter01.c_name}
|
{$arrChapter01.c_name}
|
||||||
|
|
||||||
|
|
||||||
# 11-1、 获取指定小说章节分页数据并且遍历
|
# 12-1、 获取指定小说章节分页数据并且遍历
|
||||||
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
||||||
$page ?? '1'; # 页码
|
$page ?? '1'; # 页码
|
||||||
$limit ?? '10'; # 查询条数
|
$limit ?? '10'; # 查询条数
|
||||||
@@ -291,7 +302,7 @@ resData = [
|
|||||||
</li>
|
</li>
|
||||||
{/chapter:pager}
|
{/chapter:pager}
|
||||||
|
|
||||||
# 11-2、 获取分页小说章节数据不遍历
|
# 12-2、 获取分页小说章节数据不遍历
|
||||||
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
||||||
$page ?? '1'; # 页码
|
$page ?? '1'; # 页码
|
||||||
$limit ?? '10'; # 查询条数
|
$limit ?? '10'; # 查询条数
|
||||||
@@ -321,7 +332,7 @@ resData = [
|
|||||||
]
|
]
|
||||||
{php}var_dump($resData['p_data']);{/php}
|
{php}var_dump($resData['p_data']);{/php}
|
||||||
|
|
||||||
# 12、 获取干扰码
|
# 13、 获取干扰码
|
||||||
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
||||||
|
|
||||||
$page_code ?? ""; # 页面编码
|
$page_code ?? ""; # 页面编码
|
||||||
@@ -332,7 +343,7 @@ resData = [
|
|||||||
{php}var_dump($arrGrm);{/php}
|
{php}var_dump($arrGrm);{/php}
|
||||||
|
|
||||||
|
|
||||||
# 13、 获取指定类型小说排行榜并且遍历
|
# 14、 获取指定类型小说排行榜并且遍历
|
||||||
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
||||||
$count ?? '10'; # 查询条数
|
$count ?? '10'; # 查询条数
|
||||||
$sort_type ?? "daily"; # 排序方式:
|
$sort_type ?? "daily"; # 排序方式:
|
||||||
@@ -361,7 +372,7 @@ resData = [
|
|||||||
</li>
|
</li>
|
||||||
{/novel:ranklist}
|
{/novel:ranklist}
|
||||||
|
|
||||||
# 14、 获取随机伪造小说列表并且遍历
|
# 15、 获取随机伪造小说列表并且遍历
|
||||||
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
||||||
$count ?? '10'; # 查询条数
|
$count ?? '10'; # 查询条数
|
||||||
$diff_key ?? ""; # 缓存键值差异
|
$diff_key ?? ""; # 缓存键值差异
|
||||||
@@ -381,7 +392,7 @@ resData = [
|
|||||||
{/site:forgelist}
|
{/site:forgelist}
|
||||||
|
|
||||||
|
|
||||||
# 14、 视图反向控制器(注释函数),在视图开头调用,用来初始化一些操作。这里尽量不要复杂逻辑
|
# 16、 视图反向控制器(注释函数),在视图开头调用,用来初始化一些操作。这里尽量不要复杂逻辑
|
||||||
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
||||||
$func # SiteContext 里面的方法名
|
$func # SiteContext 里面的方法名
|
||||||
|
|
||||||
@@ -389,7 +400,7 @@ resData = [
|
|||||||
{site:helper func="initHomeTKD" /}
|
{site:helper func="initHomeTKD" /}
|
||||||
|
|
||||||
|
|
||||||
# 15、 获取公共替换变量的值
|
# 17、 获取公共替换变量的值
|
||||||
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
# 传参与默认值(传参用下面的变量名,名称不需要$符号, 值的话如果用第三方变量作为值,需要带$符号):
|
||||||
$code # ConverterMovel 里面的arrMap 的key
|
$code # ConverterMovel 里面的arrMap 的key
|
||||||
# 样例
|
# 样例
|
||||||
|
|||||||
Reference in New Issue
Block a user