This commit is contained in:
make
2025-04-23 20:12:04 +08:00
parent a0038033f2
commit c60bbcc7bb
49 changed files with 4464 additions and 0 deletions

View File

@@ -0,0 +1,281 @@
{extend name="basePc" /}
{block name="get-data"}
{if $Request.route.intNovelId}
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /}
{else}
{novel:info n_id="$DomainModel->info_id" n_key="arrNovel" n_forge_id="0" /}
{/if}
{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:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId" }' />
<meta property="og:url"
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:image" content="{$arrNovel.n_cover_path ?? ''}" />
<meta property="og:site_name" content="{$DomainModel->d_name}" />
<meta property="og:novel:category" content="{$arrNovel.n_category ?? ''}">
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
<meta property="og:novel:read_url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrNovel.n_latest_chapter_name ?? ''}">
<meta property="og:novel:latest_chapter_url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
<meta name="twitter:description" content='{site:replace code="NOVEL@GETNOVELINFO@DESCRIPTION" diff="$Request.route.intNovelId" }' />
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
<!-- 结构化数据 -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Book",
"name": "{$arrNovel['n_name'] ?? '未知小说'}",
"description": "{$arrNovel['n_description'] ??'暂无简介'}",
"author": {
"@type": "Person",
"name": "{$arrNovel['n_author'] ??'佚名'}"
},
"publisher": {
"@type": "Organization",
"name": "{$DomainModel->d_name}",
"url": "https://{$DomainModel->d_domain}"
},
"datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"image": "{$arrNovel.n_cover_path ?? ''}",
"url": 'https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}',
"genre": "{$arrNovel.n_category ??''}",
"inLanguage": "zh-CN",
"bookFormat": "https://{$DomainModel->d_domain}/EBook",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "100",
},
}
</script>
{/block}
{block name="head-css"}
<link rel="canonical"
href='{$DomainModel->d_domain}/{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
{/block}
{block name="logo-html"}
<h2>
<a href="{$strPcPath}/">
{$DomainModel->d_name}-{$DomainModel->d_text_logo}
</a>
</h2>
{/block}
{block name="main"}
<div class="content">
<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="{$strPcPath}/" 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="{$strPcPath}/shuku/all/{$arrNovel.n_category_pinyin}/all/page1" 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='{$strPcPath}{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>
</ol>
</nav>
<div class="info">
<div class="info_box">
<div class="info_L">
<a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
title="{$arrNovel['n_name']}" class="book_cov">
<img src="/static/img/default.jpg" data-src="{$Novel.n_cover_path ?? ''}"
alt="{$Novel->n_name ?? ''}封面" class="lazyload_book_cover lazyload-img">
<i class="serial">{$arrNovel.n_status ?? ''}</i>
</a>
<div class="btn">
<a href="javascript:;" class="sc" onclick="addBookshelfFun()">
<s></s>
<p>加入书架</p>
</a>
<a href="javascript:;" class="xh"><s></s>我喜欢</a>
</div>
</div>
<div class="info_C book_inf">
<div class="c01">
<h3><a
href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>{$arrNovel['n_name']}</a>
</h3>
<!-- <span id="mod_book_star">0分</span> -->
</div>
<p class="c02">
<span class="zz">作者:{$arrNovel.n_author}</span>
<span>创建日期:{$arrNovel.n_update_time}</span>
</p>
<div class="c03">
<p class="jianjie">简介</p>
<div class="c03_box">
<p class="jj_con" id="book_desc">
{$arrNovel.n_description}</p>
<span class="zk_btn" style="">展开<s></s></span>
<span class="sq_btn" style="display: none;">收起<s></s></span>
</div>
</div>
<div class="c03 c03-jjyd">
<p class="jianjie">最新要点</p>
<div class="c03_box">
<p class="jj_con" id="book_desc2">
{$strFocus}</p>
<span class="zk_btn" style="">展开<s></s></span>
<span class="sq_btn" style="display: none;">收起<s></s></span>
</div>
</div>
<div class="c04">
{if !empty($arrChapter)}
<a href="{$strPcPath}/xiaoshuo/{$arrNovel.n_name_pinyin}-{$arrNovel.n_id}/zhang-1" class="read">立即阅读</a>
<a href="{$strPcPath}/xiaoshuo/{$arrNovel.n_name_pinyin}-{$arrNovel.n_id}/mulu/zheng" class="mulu">目录</a>
{/if}
</div>
<!-- <div class="c05">
<p class="c05_t">作品标签:
<a href="#" class="red">打发十分</a>
</p>
</div> -->
</div>
</div>
<div class="info_R">
<div class="inf02">
<h4>小说信息</h4>
<p>类别:
<?php $arrNovel['n_category_pinyin'] ?? $arrNovel['n_category_pinyin'] = 'all'?>
<a href='{$strPcPath}/shuku/all/{$arrNovel.n_category_pinyin}/all/page1' title="{$arrNovel.n_category}">
{$arrNovel.n_category}
</a>
</p>
<!-- <p>总字数54.20万+</p> -->
<p>总点击量:{$arrNovelClicks.total}</p>
<p>月点击量:{$arrNovelClicks.monthly}</p>
<p>周点击量:{$arrNovelClicks.weekly}</p>
<p>日点击量:{$arrNovelClicks.daily}</p>
<!-- <p>收藏0</p> -->
</div>
</div>
</div>
<div class="info2">
<div class="info2_L sjxq">
<div class="gxzj">
<div class="pl_tit">
<h2>最新章节</h2>
</div>
<div class="zj_con">
{volist name="arrChapter" id="Chapter" key="key"}
<p>
<a href="{$strPcPath}/xiaoshuo/{$arrNovel.n_name_pinyin}-{$Chapter.n_id}/zhang-{$Chapter.c_sort_num}"
class="zj">{$Chapter.c_name}</a>
<span class="time">{$Chapter.created_at ?? '1天前'}</span>
<!-- <span class="time">3天前</span>-->
</p>
<p class="zw" style="max-height: 98px; overflow: hidden;"></p>
{/volist}
</div>
</div>
<div class="pl_tit">
<h2>相邻推荐:</h2>
</div>
<div class="pl_con">
{volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"}
<!-- n_forge_id -->
<a href='{$strPcPath}/kan-xiaoshuo/{$arrNovel.n_name_pinyin}-{$arrNovel.n_id}-{$ForgeNovel.n_forge_id}'
class="red">{$ForgeNovel.n_forge_title}</a>
{/volist}
</div>
</div>
<div class="info2_R">
<div class="fsph">
<h4><s></s>精品推荐</h4>
<ul class="info2_C">
{volist name="arrRelateveNovel" id="Novel" key="key"}
<li>
<h3>
<a href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'
title="{$Novel['n_name'] ?? ''}">
{$Novel['n_name'] ?? ''}
</a>
</h3>
<div>
<a href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin" /}'
title="$Novel['n_name'] ?? ''}" class="book_cov">
<img src="/template/kuangyu/home/bai_web/images/default.png"
data-src="{$Novel['n_cover_path'] ?? ''}" class="lazyload_book_cover lazyload-img"
alt="{$Novel['n_name'] ?? ''}">
</a>
<div class="book_inf">
<span class="aut">{$Novel['n_author'] ?? ''}</span>
<span class="tag"><a href="/">{$Novel['n_category'] ?? ''}</a></span>
<p class="int">
{$Novel['n_description'] ?? ''}</p>
</div>
</div>
</li>
{/volist}
</ul>
</div>
</div>
</div>
</div>
<script>
const strNovelId = `{$arrNovel.n_id}`;
const arrNovel = {
'n_id' : `{$arrNovel['n_id']}`,
'n_name_pinyin' : `{$arrNovel['n_name_pinyin']}`,
'n_cover_path' : `{$arrNovel['n_cover_path']}`,
'n_name' : `{$arrNovel['n_name']}`,
'n_author' : `{$arrNovel['n_author']}`,
'n_status' : `{$arrNovel['n_status']}`,
'c_sort_num' : 1,
'c_name' : `第一章`,
};
</script>
{/block}
{block name="customize"}
{/block}
{block name="footer-js"}
<script src="/template/kuangyu/home/bai_web/js/global.js"></script>
<script>
</script>
{/block}

View File

@@ -0,0 +1,223 @@
{extend name="basePc" /}
{block name="get-data"}
{novel:pagerexp page="$Request.get.page" limit="30"
n_category="$Request.route.strCategory"
n_sex="$Request.route.strGender"
n_status="$Request.route.strStatus"
d_key="d_key"
button_num="10" cache_life="86400" func="generateCategoryPager" export_name="resData" /}
{site:grm page_code="pc_novel_library" diff="$resData.p_data.page" num="70" g_key="arrGrm" /}
{/block}
{block name="title"}{site:replace code="NOVEL@GETLIBRARY@TITLE"}{/block}
{block name="keywords"}{site:replace code="NOVEL@GETLIBRARY@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETLIBRARY@DESCRIPTION"}{/block}
{block name="head"}
<!-- 社交媒体标签 -->
<meta property="og:title" content='{site:replace code="NOVEL@GETLIBRARY@TITLE"}' />
<meta property="og:description" content='{site:replace code="NOVEL@GETLIBRARY@DESCRIPTION"}' />
{if $Request.route.strGender == 'all' && $Request.route.strCategory == 'all' && $Request.route.strStatus == 'all'}
<meta property="og:url" content="https://{$DomainModel->d_domain}{$strCategoryIndexUrlTemp}" />
{else}
<meta property="og:url"
content='https://{$DomainModel->d_domain}{site:nflurl gender="$Request.route.strGender" category="$Request.route.strCategory" status="$Request.route.strStatus" page="$Request.route.intPage"/}' />
{/if}
<meta property="og:type" content="book" />
<!-- 结构化数据 -->
{if $Request.route.strGender == 'all' && $Request.route.strCategory == 'all' && $Request.route.strStatus == 'all'}
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "CollectionPage",
"url": 'https://{$DomainModel->d_domain}{$strCategoryIndexUrlTemp}',
"name": '{site:replace code="NOVEL@GETLIBRARY@TITLE"}',
"description": '{site:replace code="NOVEL@GETLIBRARY@DESCRIPTION"}',
"publisher": {
"@type": "Organization",
"name": "{$DomainModel->d_name}",
}
}
</script>
{else}
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "CollectionPage",
"url": 'https://{$DomainModel->d_domain}{site:nflurl category="$Request.route.strCategory" status="$Request.route.strStatus" page="$Request.route.intPage"/}',
"name": '{site:replace code="NOVEL@GETLIBRARY@TITLE"}',
"description": '{site:replace code="NOVEL@GETLIBRARY@DESCRIPTION"}',
"publisher": {
"@type": "Organization",
"name": "{$DomainModel->d_name}",
}
}
</script>
{/if}
{/block}
{block name="head-js"}{/block}
{block name="head-css"}
{if $Request.route.strGender == 'all' && $Request.route.strCategory == 'all' && $Request.route.strStatus == 'all'}
<link rel="canonical" href="https://{$DomainModel->d_domain}{$DomainModel->d_domain}{$strCategoryIndexUrlTemp}">
{else}
<link rel="canonical"
href='https://{$DomainModel->d_domain}{site:nflurl gender="$Request.route.strGender" category="$Request.route.strCategory" status="$Request.route.strStatus" page="$Request.route.intPage"/}'>
{/if}
{/block}
{block name="logo-html"}
<h2>
<a href="{$strPcPath}/">
{$DomainModel->d_name}-{$DomainModel->d_text_logo}
</a>
</h2>
{/block}
{block name="strPageCode"}
<?php $strPageCode = 'library'; ?>
{/block}
{block name="main"}
<div class="content">
<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="{$strPcPath}/" 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">
<a href="{$strPcPath}{$strCategoryIndexUrlTemp}" itemprop="item">
<span itemprop="name">书库</span>
</a>
</li>
</ol>
</nav>
<div class="find">
<div class="opt">
<div class="optCl" mod="search_channel">
<span class="optTit">所属频道</span>
<ul>
<li><a class='{eq name="$Request.route.strGender" value="all"}on {/eq} {eq name="$Request.route.strGender" value=""}on {/eq}'
href='{$strPcPath}{site:nflurl gender="all" category="$Request.route.strCategory" status="$Request.route.strStatus" page="$Request.route.intPage"/}'
btn="search_category">全部</a></li>
<li><a class='{eq name="$Request.route.strGender" value="$strNanUrl"}on {/eq}'
href='{$strPcPath}{site:nflurl gender="$strNanUrl" category="$Request.route.strCategory" status="$Request.route.strStatus" page="$Request.route.intPage"/}'
btn="search_category">男生</a></li>
<li><a class='{eq name="$Request.route.strGender" value="$strNvUrl"}on {/eq}'
href='{$strPcPath}{site:nflurl gender="$strNvUrl" category="$Request.route.strCategory" status="$Request.route.strStatus" page="$Request.route.intPage"/}'
btn="search_category">女生</a></li>
</ul>
</div>
<div class="optCl" mod="search_channel">
<span class="optTit">所属分类</span>
<ul>
<li>
<a class='{eq name="$Request.route.strCategory" value="all"}on {/eq} {eq name="$Request.route.strCategory" value=""}on {/eq}'
href='{$strPcPath}{site:nflurl gender="$Request.route.strGender" category="all" status="$Request.route.strStatus" page="$Request.route.intPage"/}'
btn="search_category">全部</a>
</li>
{if $Request.route.strGender == "all" || $Request.route.strGender == ""}
{novel:category d_key="strCategoryPinyin" d_val="strCategoryName"}
<li>
<a class='{eq name="strCategoryPinyin" value="$Request.route.strCategory"}on {/eq}'
href='{$strPcPath}{site:nflurl gender="$Request.route.strGender" category="$strCategoryPinyin" status="$Request.route.strStatus" page="$Request.route.intPage"/}'
btn="search_category">{$strCategoryName}</a>
</li>
{/novel:category}
{/if}
{eq name="$Request.route.strGender" value="$strNanUrl"}
{novel:category d_key="strCategoryPinyin" d_val="strCategoryName" n_sex="man"}
<li><a class='{eq name="strCategoryPinyin" value="$Request.route.strCategory"}on {/eq}'
href='{$strPcPath}{site:nflurl gender="$Request.route.strGender" category="$strCategoryPinyin" status="$Request.route.strStatus" page="$Request.route.intPage"/}'
btn="search_category">{$strCategoryName}</a></li>
{/novel:category}
{/eq}
{eq name="$Request.route.strGender" value="$strNvUrl"}
{novel:category d_key="strCategoryPinyin" d_val="strCategoryName" n_sex="women"}
<li><a class='{eq name="strCategoryPinyin" value="$Request.route.strCategory"}on {/eq}'
href='{$strPcPath}{site:nflurl gender="$Request.route.strGender" category="$strCategoryPinyin" status="$Request.route.strStatus" page="$Request.route.intPage"/}'
btn="search_category">{$strCategoryName}</a></li>
{/novel:category}
{/eq}
</ul>
</div>
<div class="optCl">
<span class="optTit">是否完结</span>
<ul>
<li><a class='{eq name="$Request.route.strStatus" value="all"}on {/eq} {eq name="$Request.route.strStatus" value=""}on {/eq}'
href='{$strPcPath}{site:nflurl gender="$Request.route.strGender" category="$Request.route.strCategory" status="all" page="$Request.route.intPage"/}'
btn="search_category">全部</a></li>
<li><a class='{eq name="$Request.route.strStatus" value="lianzai"}on {/eq}'
href='{$strPcPath}{site:nflurl gender="$Request.route.strGender" category="$Request.route.strCategory" status="lianzai" page="$Request.route.intPage"/}'
btn="search_category">连载</a></li>
<li><a class='{eq name="$Request.route.strStatus" value="wanjie"}on {/eq}'
href='{$strPcPath}{site:nflurl gender="$Request.route.strGender" category="$Request.route.strCategory" status="wanjie" page="$Request.route.intPage"/}'
btn="search_category">完本</a></li>
</ul>
</div>
</div>
</div>
<!--选择搜索 结束-->
<!--搜索结果 开始-->
<div class="result" mod="search_data_list">
<ul>
{volist name="$resData.data" id="Novel" key="key"}
{include file="pc/public/shukuNovelList" start="0"/}
{/volist}
</ul>
<!--页码切换 开始-->
<div class="changepage">
<ul class="pagination">
{volist name="$resData.p_data.pager" id="vo" key="k"}
{switch $vo.label}
{case value="上一页"}
{if $resData.p_data.page == 1}
<li class="disabled"><span>«</span></li>
{else}
<a href="{$vo.url}">«</a>
{/if}
{/case}
{case value="下一页"}
{if $resData.p_data.page >= $resData.p_data.total}
<li class="disabled"><span>»</span></li>
{else}
<li><a href="{$strPcPath}{$vo.url}">»</a></li>
{/if}
{/case}
{case value="..."}
<li class="disabled"><span>...</span></li>
{/case}
{default /}
{if preg_match('/^\d+$/', $vo.label)}
<li class='{eq name="vo.label" value="$Request.route.intPage"}active {/eq}'>
<a href="{$strPcPath}{$vo.url}">{$vo.label}</a>
</li>
{/if}
{/switch}
{/volist}
</ul>
</div>
<!--页码切换 结束-->
</div>
<!--选择结果 结束-->
</div>
{/block}
{block name="customize"} {/block}

View File

@@ -0,0 +1,156 @@
{extend name="basePc" /}
{block name="get-data"}
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="0" /}
{site:grm page_code="pc_novel_catalog" diff="$Request.url" num="120" g_key="arrGrm" /}
{/block}
{block name="title"}{site:replace code="NOVEL@GETNOVELCATALOG@TITLE"}{/block}
{block name="keywords"}{site:replace code="NOVEL@GETNOVELCATALOG@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}{/block}
{block name="head"}
<!-- 社交媒体标签 -->
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'}" />
<meta property="og:description" content='{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}' />
<meta property="og:url"
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:image" content="{$arrNovel.n_cover_path ?? ''}" />
<meta property="og:site_name" content="{$DomainModel->d_name}" />
<meta property="og:novel:category" content="{$arrNovel.n_category ?? ''}">
<meta property="og:novel:author" content="{$arrNovel.n_author ?? ''}">
<meta property="og:novel:book_name" content="{$arrNovel.n_name ?? ''}">
<meta property="og:novel:read_url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'>
<meta property="og:novel:status" content="{$arrNovel.n_status ?? ''}">
<meta property="og:novel:update_time" content="{$arrNovel.n_update_time ?? ''}">
<meta property="og:novel:latest_chapter_name" content="{$arrNovel.n_latest_chapter_name ?? ''}">
<meta property="og:novel:latest_chapter_url"
content='https://{$DomainModel->d_domain}{$strPcPath}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
<!-- 可选:支持 Twitter Card -->
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="{$arrNovel['n_name'] ?? '未知小说'}" />
<meta name="twitter:description" content='{site:replace code="NOVEL@GETNOVELCATALOG@DESCRIPTION"}' />
<meta name="twitter:image" content="{$arrNovel.n_cover_path ?? ''}" />
<!-- 结构化数据 -->
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Book",
"name": "{$arrNovel['n_name'] ?? '未知小说'}",
"description": "{$arrNovel['n_description'] ??'暂无简介'}",
"author": {
"@type": "Person",
"name": "{$arrNovel['n_author'] ??'佚名'}"
},
"publisher": {
"@type": "Organization",
"name": "{$DomainModel->d_name}",
"url": "https://{$DomainModel->d_domain}"
},
"datePublished": "{$arrNovel['n_update_time'] ?? time()}",
"image": "{$arrNovel.n_cover_path ?? ''}",
"url": 'https://{$DomainModel->d_domain}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}',
"genre": "{$arrNovel.n_category ??''}",
"inLanguage": "zh-CN",
"bookFormat": "https://{$DomainModel->d_domain}/EBook",
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.5",
"reviewCount": "100",
},
}
</script>
{/block}
{block name="head-css"}
<link rel="canonical" href='https://{$DomainModel->d_domain}{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="$Request.route.intPage"/}'>
{/block}
{block name="head-js"}{/block}
{block name="logo-html"}
<h2>
<a href="{$strPcPath}/">
{$DomainModel->d_name}-{$DomainModel->d_text_logo}
</a>
</h2>
{/block}
{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" /}
<div class="content">
<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='{$strPcPath}{site:nflurl gender="all" category="$arrNovel.n_category_pinyin" 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='{$strPcPath}{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 active" aria-current="page" itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<span itemprop="name">目录</span>
<meta itemprop="position" content="4" />
</li>
</ol>
</nav>
<div class="con_box">
<div class="top">
{$arrGrm[0]|raw}
<h1>
<a href='{$strPcPath}{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' >
{$arrNovel['n_name']}章节目录 - {$arrNovel['n_author']} - {$DomainModel->d_name} 第{$Request.route.intPage}页
</a>
</h1>
<p>作者:{$arrNovel.n_author}</p>
</div>
<div class="fenlei">
<div class="tit" btn="toggle_chapter_list"><span></span>章节列表</div>
<!-- 目录下拉分页-->
{include file="pc/public/allChapterPage" /}
<div class="fL_con">
<ul>
{foreach $resData.data as $key => $Chapter }
<li>
{$arrGrm[$key]|raw}
<h2>
<a href='{$strPcPath}{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>
</h2>
</li>
{/foreach}
</ul>
</div>
<!-- 目录下拉分页-->
{include file="pc/public/allChapterPage" /}
</div>
</div>
</div>
{/block}
{block name="customize"} {/block}

View File

@@ -0,0 +1,152 @@
{extend name="basePc" /}
{block name="get-data"}
{site:helper func="initSexTKD" /}
{/block}
{block name="title"}{site:replace code="NOVEL@GETNOVELCHANNEL@TITLE"}{/block}
{block name="keywords"}{site:replace code="NOVEL@GETNOVELCHANNEL@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELCHANNEL@DESCRIPTION"}{/block}
{block name="strPageCode"}
<?php $strPageCode = $Request->param('strChannel'); ?>
{/block}
{block name="head"}
<?php
$strPageCode = $Request->param('strChannel');
?>
<!-- 社交媒体标签 -->
<meta property="og:title" content='{site:replace code="NOVEL@GETNOVELCHANNEL@TITLE"}' />
<meta property="og:description" content='{site:replace code="NOVEL@GETNOVELCHANNEL@DESCRIPTION"}' />
<meta property="og:url"
content="https://{$DomainModel->d_domain}{$strPageCode == 'man' ? $strNanUrlTemp : $strNvUrlTemp }" />
<meta property="og:type" content="book" />
<!-- 结构化数据 -->
<script type="application/ld+json">
{
@context": "https://schema.org”,
"@type": "book",
"headline": '{site:replace code="NOVEL@GETNOVELCHANNEL@TITLE"}',
"description": '{site:replace code="NOVEL@GETNOVELCHANNEL@DESCRIPTION"}',
"url": "https://{$DomainModel->d_domain}/{$strPageCode == 'man' ? $strNanUrlTemp : $strNvUrlTemp }",
"datePublished": "{:date('Y-m-d')}"
}
</script>
{/block}
{block name="head-css"}
{eq name="strPageCode" value="man"}
<link rel="canonical" href="https://{$DomainModel->d_domain}/{$strNanUrlTemp}">
{else}
<link rel="canonical" href="https://{$DomainModel->d_domain}/{$strNvUrlTemp}">
{/eq}
{/block}
{block name="head-js"}{/block}
{block name="logo-html"}
<h2>
<a href="{$strPcPath}/">
{$DomainModel->d_name}-{$DomainModel->d_text_logo}
</a>
</h2>
{/block}
{block name="main"}
{site:grm page_code="pc_index" diff="0" num="50" g_key="arrGrm" /}
<div class="content">
<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="{$strPcPath}/" 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">
{eq name="strPageCode" value="man"}
<a href="{$strPcPath}{$strNanUrlTemp}" itemprop="item">
<span itemprop="name">男生</span>
</a>
{else}
<a href="{$strPcPath}{$strNvUrlTemp}" itemprop="item">
<span itemprop="name">女生</span>
</a>
{/eq}
<meta itemprop="position" content="2" />
</li>
</ol>
</nav>
<!--热门推荐 开始-->
<div class="f2 area">
<div class="area_head">
<span class="log_line"></span>
<h4><s class="book"></s>热门推荐</h4>
<span class="log_line"></span>
</div>
<ul class="f2_list" mod="hot_tj">
{novel:list count="12" sort_type="tuijian" n_status="lianzai" n_sex="$strPageCode" d_key="key" d_val="Novel" p_val="page_data" cache_life="86400"}
{include file="pc/public/endNovelList" start="0"/}
{/novel:list}
</ul>
</div>
<div class="adv">
</div>
<!--热门推荐 结束-->
<div class="rec">
<div class="rec_L">
<h2>完本推荐</h2>
</div>
<ul class="rec_R">
{novel:list count="8" sort_type="tuijian" n_status="wanjie" n_sex="$strPageCode" d_key="key" d_val="Novel" p_val="page_data" cache_life="86400"}
{include file="pc/public/endNovelList" start="13"/}
{/novel:list}
</ul>
</div>
<div class="adv">
</div>
<div class="f4 area">
<div class="area_head">
<span class="log_line"></span>
<h4><s class="new"></s>作品更新</h4>
<span class="log_line"></span>
</div>
<div class="f4_L">
<div class="new_list">
<ol class="cur">
<li>
<ul class="list_h">
<li class="lb">类别</li>
<li class="sm">书名</li>
<li class="gx">最新更新章节</li>
<li class="zz">作者</li>
<li class="sj">更新时间</li>
</ul>
</li>
{novel:list count="30" sort_type="update" n_sex="$strPageCode" d_key="key" d_val="Novel" p_val="page_data" cache_life="86400"}
{include file="pc/public/indexNewsUpdateList" start="21"/}
{/novel:list}
</ol>
</div>
</div>
</div>
</div>
{/block}
{block name="customize"} {/block}

View File

@@ -0,0 +1,219 @@
{extend name="basePc" /}
{block name="get-data"}
{site:helper func="initSexTKD" /}
{site:grm page_code="h5_rank" diff="0" num="100" g_key="arrGrm" /}
{/block}
{block name="title"}{site:replace code="NOVEL@GETNOVELRANK@TITLE"}{/block}
{block name="keywords"}{site:replace code="NOVEL@GETNOVELRANK@KEYWORDS"}{/block}
{block name="description"}{site:replace code="NOVEL@GETNOVELRANK@DESCRIPTION"}{/block}
{block name="head"}
<!-- 社交媒体标签 -->
<meta property="og:title" content='{site:replace code="NOVEL@GETNOVELRANK@TITLE"}' />
<meta property="og:description" content='{site:replace code="NOVEL@GETNOVELRANK@DESCRIPTION"}' />
<meta property="og:url" content="https://{$DomainModel->d_domain}/paihang/all" />
<meta property="og:type" content="book" />
<!-- 结构化数据 -->
<script type="application/ld+json">
{
"@context": "https://{$DomainModel->d_domain}/paihang/all",
"@type": "book",
"headline": '{site:replace code="NOVEL@GETNOVELRANK@TITLE"}',
"description": '{site:replace code="NOVEL@GETNOVELRANK@DESCRIPTION"}',
"datePublished": "{:date('Y-m-d')}"
}
</script>
{/block}
{block name="head-css"}
<link rel="canonical" href="https://{$DomainModel->d_domain}{$strRankUrlTemp}">
{/block}
{block name="head-js"}{/block}
{block name='body-class'}body-rank-class{/block}
{block name="logo-html"}
<h2>
<a href="{$strPcPath}/">
{$DomainModel->d_name}-{$DomainModel->d_text_logo}
</a>
</h2>
{/block}
{block name="strPageCode"}
<?php $strPageCode = 'rank'; ?>
{/block}
{block name="main"}
<div class="content content_back">
<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="{$strPcPath}/" 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">
<a href="{$strPcPath}{$strRankUrlTemp}" itemprop="item">
<span itemprop="name">排行榜</span>
</a>
</li>
</ol>
</nav>
<!--各种榜单 开始-->
<div class="ki_li">
<div class="com_R">
<div class="list_tit">
<h2><s class=""></s>日点击榜</h2>
</div>
<div class="list_wrap">
<div class="swi">
<ol class="list" mod="rank_data_list">
{novel:ranklist count="10" sort_type="daily" d_key="key" d_val="Novel" cache_life="1000"}
{if $key == 0}
{include file="pc/public/indexBoyRankOne" start="0"/}
{/if}
{if $key >= 1}
{include file="pc/public/indexBoyRankList" start="1"/}
{/if}
{/novel:ranklist}
</ol>
</div>
<!-- <span class="more">
<a btn="look_more" href="{$strPcPath}/rank.html" >
<s></s><i>查看更多</i><s></s>
</a>
</span> -->
</div>
</div>
<div class="com_R com_bd">
<div class="list_tit">
<h2><s class="or"></s>周点击榜</h2>
</div>
<div class="list_wrap">
<div class="swi">
<ol class="list" mod="rank_data_list">
{novel:ranklist count="10" sort_type="weekly" d_key="key" d_val="Novel" cache_life="1000"}
{if $key == 0}
{include file="pc/public/indexBoyRankOne" start="10"/}
{/if}
{if $key >= 1}
{include file="pc/public/indexBoyRankList" start="11"/}
{/if}
{/novel:ranklist}
</ol>
</div>
<!-- <span class="more">
<a btn="look_more" href="{$strPcPath}/rank.html" >
<s></s><i>查看更多</i><s></s>
</a>
</span> -->
</div>
</div>
<div class="com_R">
<div class="list_tit">
<h2><s class="bl"></s>月点击榜</h2>
</div>
<div class="list_wrap">
<div class="swi">
<ol class="list" mod="rank_data_list">
{novel:ranklist count="10" sort_type="monthly" d_key="key" d_val="Novel" cache_life="1000"}
{if $key == 0}
{include file="pc/public/indexBoyRankOne" start="20"/}
{/if}
{if $key >= 1}
{include file="pc/public/indexBoyRankList" start="21"/}
{/if}
{/novel:ranklist}
</ol>
</div>
<!-- <span class="more">
<a btn="look_more" href="{$strPcPath}/rank.html" >
<s></s><i>查看更多</i><s></s>
</a>
</span> -->
</div>
</div>
<div class="com_R">
<div class="list_tit">
<h2><s class=""></s>总点击榜</h2>
</div>
<div class="list_wrap">
<div class="swi">
<ol class="list" mod="rank_data_list">
{novel:ranklist count="10" sort_type="total" d_key="key" d_val="Novel" cache_life="1000"}
{if $key == 0}
{include file="pc/public/indexBoyRankOne" start="30"/}
{/if}
{if $key >= 1}
{include file="pc/public/indexBoyRankList" start="31"/}
{/if}
{/novel:ranklist}
</ol>
</div>
<!-- <span class="more">
<a btn="look_more" href="{$strPcPath}/rank.html" >
<s></s><i>查看更多</i><s></s>
</a>
</span> -->
</div>
</div>
<div class="com_R com_bd">
<div class="list_tit">
<h2><s class="or"></s>连载榜</h2>
</div>
<div class="list_wrap">
<div class="swi">
<ol class="list" mod="rank_data_list">
{novel:ranklist count="10" sort_type="total" n_status="lianzai" d_key="key" d_val="Novel" cache_life="1000"}
{if $key == 0}
{include file="pc/public/indexBoyRankOne" start="40"/}
{/if}
{if $key >= 1}
{include file="pc/public/indexBoyRankList" start="41"/}
{/if}
{/novel:ranklist}
</ol>
</div>
<!-- <span class="more">
<a btn="look_more" href="{$strPcPath}/rank.html" >
<s></s><i>查看更多</i><s></s>
</a>
</span> -->
</div>
</div>
<div class="com_R">
<div class="list_tit">
<h2><s class="bl"></s>完结榜</h2>
</div>
<div class="list_wrap">
<div class="swi">
<ol class="list" mod="rank_data_list">
{novel:ranklist count="10" sort_type="total" n_status="wanjie" d_key="key" d_val="Novel" cache_life="1000"}
{if $key == 0}
{include file="pc/public/indexBoyRankOne" start="50"/}
{/if}
{if $key >= 1}
{include file="pc/public/indexBoyRankList" start="51"/}
{/if}
{/novel:ranklist}
</ol>
</div>
<!-- <span class="more">
<a btn="look_more" href="{$strPcPath}/rank.html" >
<s></s><i>查看更多</i><s></s>
</a>
</span> -->
</div>
</div>
</div>
<!--各种榜单 结束-->
</div>
{/block}
{block name="customize"} {/block}

View File

@@ -0,0 +1,5 @@
<a href="#" title="" >
<img src="/template/kuangyu/home/bai_web/images/grey.gif"
data-src="/template/kuangyu/home/bai_web/images/1120x100.png" class="lazyload" alt="">
</a>

View File

@@ -0,0 +1,34 @@
{if !empty($resData.p_data.pager)}
<div class="page_num">
{volist name="$resData.p_data.pager" id="item"}
{eq name="item.type" value="prev"}
<a href="{$item.url ?: '#'}"
class="z {$item.disabled ? 'disabled' : ''}">
{$item.label}
</a>
{/eq}
{/volist}
<select onchange="self.location.href=options[selectedIndex].value">
{volist name="$resData.p_data.pager" id="item"}
{eq name="item.type" value="page"}
<?php $intLimit = $resData['p_data']['limit']; ?>
<?php $start = ($item['label'] - 1) * $intLimit + 1; ?>
<?php $end = $item['label'] * $intLimit; ?>
<option value="{$item.url}" {$item.current ? 'selected' : ''}>
第{$start}-{$end}章
</option>
{/eq}
{/volist}
</select>
{volist name="$resData.p_data.pager" id="item"}
{eq name="item.type" value="next"}
<a href="{$item.url ?: '#'}"
class="y {$item.disabled ? 'disabled' : ''}">
{$item.label}
</a>
{/eq}
{/volist}
</div>
{/if}

View File

@@ -0,0 +1,19 @@
<li>
<?php $Novel['n_category_pinyin'] ?? $Novel['n_category_pinyin'] = 'all'?>
<h3>
{$arrGrm[$key+[start]]|raw}
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}' title="{$Novel->n_name ?? ''}" >
{$Novel->n_name ?? ''}
</a>
</h3>
<div class="book_inf">
<span class="aut">{$Novel->n_author ?? ''}</span>
<span class="tag"><a href="{$strPcPath}/shuku/all/{$Novel->n_category_pinyin}/all/page1" >{$Novel->n_category ?? ''}</a></span>
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}' title="{$Novel->n_name ?? ''}" class="book_cov">
<img class="lazyload_book_cover lazyload-img"
src="/static/img/default.jpg" data-src="{$Novel.n_cover_path ?? ''}"
alt="{$Novel->n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读">
</a>
<p class="int"> {$Novel->n_description ?? ''}</p>
</div>
</li>

View File

@@ -0,0 +1,24 @@
<div class="f3_L">
<?php $Novel['n_category_pinyin'] ?? $Novel['n_category_pinyin'] = 'all'?>
<h3>
{$arrGrm[$key+[start]]|raw}
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}' title="{$Novel.n_name ?? ''}" >
{$Novel.n_name ?? ''}</a></h3>
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}' title="{$Novel.n_name ?? ''}" class="book_cov">
<img class="lazyload_book_cover lazyload-img"
src="/static/img/default.jpg" data-src="{$Novel.n_cover_path ?? ''}"
alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读">
</a>
<div class="book_inf">
<div class="book_inf01">
<span class="aut">作者:{$Novel->n_author ?? ''}</span>
<span class="fr">分类:
<a href='{$strPcPath}{site:nflurl gender="all" category="$Novel->n_category_pinyin" status="all" page="1"/}' >{$Novel->n_category ?? ''}</a>
</span>
<!-- <span>字数24.20万字+</span> -->
<span class="fr">进度:{$Novel->n_status ?? ''}</span>
<span>总点击:{$Novel->og_novel_click ?? 0}</span>
</div>
<p class="int"> {$Novel->n_description ?? ''}</p>
</div>
</div>

View File

@@ -0,0 +1,23 @@
<li>
<?php $Novel['n_category_pinyin'] ?? $Novel['n_category_pinyin'] = 'all'?>
<em class="red_bg">{$key+=1}</em>
<h3 class="name">
{$arrGrm[$key+[start]]|raw}
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}' title="{$Novel.n_name ?? ''}" >
{$Novel.n_name ?? ''}
</a>
</h3>
<div class="open">
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}' title="{$Novel.n_name ?? ''}" class="book_cov">
<img class="lazyload_book_cover lazyload-img"
src="/static/img/default.jpg" data-src="{$Novel.n_cover_path ?? ''}" alt="{$Novel.n_name ?? ''}">
</a>
<div class="book_inf">
<span class="aut">作者:{$Novel->n_author ?? ''}</span>
<span>类别:
<a href='{$strPcPath}{site:nflurl gender="all" category="$Novel->n_category_pinyin" status="all" page="1"/}' >{$Novel->n_category ?? ''}</a>
</span>
<p class="int"> {$Novel->n_description ?? ''}</p>
</div>
</div>
</li>

View File

@@ -0,0 +1,21 @@
<li class="lis_sh">
<?php $Novel['n_category_pinyin'] ?? $Novel['n_category_pinyin'] = 'all'?>
<em class="red_bg">1</em>
<h3 class="name">
{$arrGrm[$key+[start]]|raw}
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}' title="{$Novel.n_name ?? ''}" >{$Novel.n_name ?? ''}</a>
</h3>
<div class="open">
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}' title="{$Novel.n_name ?? ''}" class="book_cov">
<img class="lazyload_book_cover lazyload-img"
src="/static/img/default.jpg" data-src="{$Novel.n_cover_path ?? ''}" alt="{$Novel.n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读">
</a>
<div class="book_inf">
<span class="aut">作者:{$Novel.n_author ?? ''}</span>
<span>类别:
<a href='{$strPcPath}{site:nflurl gender="all" category="$Novel.n_category_pinyin" status="all" page="1"/}' >{$Novel.n_category ?? ''}</a>
</span>
<p class="int"> {$Novel.n_description ?? ''}</p>
</div>
</div>
</li>

View File

@@ -0,0 +1,27 @@
<li>
{$arrGrm[$key+[start]]|raw}
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id ?? 1" n_py="$Novel->n_name_pinyin"/}' class="book_cov" title="{$Novel->n_name ?? ''}">
<img class="lazyload_book_cover lazyload-img"
src="/static/img/default.jpg" data-src="{$Novel.n_cover_path ?? ''}" alt="{$Novel->n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读">
</a>
<div class="book_inf">
<h3><a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}' title="{$Novel->n_name ?? ''}" >{$Novel->n_name ?? ''}</a></h3>
<p>
<span>作者:<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}' title="{$Novel->n_author ?? ''}">{$Novel->n_author ?? ''}</a></span>
<span>分类:<a href="/lists/4.html" title="{$Novel->n_category ?? ''}">{$Novel->n_category ?? ''}</a></span>
<span>状态:{$Novel->n_status ?? ''}</span>
<!-- <span>总字数43.80万字+</span> -->
</p>
<p class="tags">
<i>标签:</i>
<i></i>
</p>
<p><b>最近更新:</b><a href="{$strPcPath}/chapter/1-1-1.html" title="219 桃花酿" >219 桃花酿</a>
</p>
<p class="int"> {$Novel->n_description ?? ''}</p>
</div>
<div class="right">
<span>更新时间2025-03-20 23:59</span>
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}' class="read_btn btn">立即阅读</a>
</div>
</li>

View File

@@ -0,0 +1,10 @@
<li>
{$arrGrm[$key+[start]]|raw}
<h3>
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}' title="{$Novel.n_name}" class="book_cov">
<img class="lazyload_lb_nv lazyload-img"
src="/static/img/default.jpg" data-src="{$Novel->n_cover_path ?? '/static/img/default.jpg'}"
alt="{$Novel->n_name ?? ''} - {$Novel.n_category ?? ''}最新章节在线免费阅读">
</a>
</h3>
</li>

View File

@@ -0,0 +1,5 @@
<li data-desc=" {$Novel.n_description ?? ''}" class="on">
<s class="arr"></s>
<s class="xh">{$key}</s>
<i>{$Novel.n_name ?? ''}</i>
</li>

View File

@@ -0,0 +1,277 @@
{extend name="basePcUser" /}
{block name="title"}个人中心{/block}
{block name="keywords"}个人中心{/block}
{block name="description"}个人中心{/block}
{block name="head"}
<!-- 社交媒体标签 -->
<meta property="og:title" content="个人中心" />
<meta property="og:description" content="个人中心" />
<meta property="og:url" content="https://{$DomainModel->d_domain}{$strUserUrlTemp}" />
<meta property="og:type" content="article" />
<!-- 结构化数据 -->
<script type="application/ld+json">
{
"@context": "https://{$DomainModel->d_domain}{$strUserUrlTemp}",
"@type": "article",
"headline": "个人中心",
"description": "个人中心",
"datePublished": "{:date('Y-m-d')}"
}
</script>
{block name="head-js"}{/block}
{block name="main"}
{site:grm page_code="userinfo" diff="0" num="100" g_key="arrGrm" /}
<div class="i-right">
<!--bot mod -->
<div class="i-bot">
<!--left mod -->
<div class="l-botMod">
<div class="myMod" id="myMod">
{$arrGrm[1]|raw}
<div class="i-title">
我的书架
<a href="{$strPcPath}{$strBookShelfUrlTemp}" class="clickMore">查看更多&gt;&gt;</a>
</div>
<ul class="bookUl" id="bookshelf-ul">
</ul>
</div>
{$arrGrm[2]|raw}
<div class="myMod">
<div class="i-title">
最近阅读
<a href="{$strPcPath}{$strHistoryUrlTemp}" class="clickMore">查看更多&gt;&gt;</a>
</div>
<ul class="bookUl" id="history-ul">
</ul>
</div>
{$arrGrm[3]|raw}
<div class="myMod hotMod">
<div class="i-title">
热读作品
</div>
<div class="tabBd">
<ul class="hotBookBd ">
{novel:list count="10" sort_type="news" d_key="key" d_val="Novel" cache_life="86400"}
{include file="pc/public/endNovelList" start="0"/}
{/novel:list}
</ul>
</div>
</div>
</div>
{$arrGrm[4]|raw}
<!--right mod -->
<div class="r-botMod">
<div class="myWorks myLike">
<div class="i-title">推荐作品</div>
<ul>
{novel:list count="10" sort_type="tuijian" d_key="key" d_val="Novel" cache_life="86400"}
{$arrGrm[$key]|raw}
<li>
<a href='{$strPcPath}{site:nurl n_id="$Novel.n_id" n_py="$Novel.n_name_pinyin"/}'
title="{$Novel.n_name ?? ''}">
<img src="{$Novel.n_cover_path ?? ''}" alt="{$Novel.n_name ?? ''}">
</a>
<p>
<a href='{$strPcPath}{site:nurl n_id="$Novel->n_id" n_py="$Novel->n_name_pinyin"/}'>
<span class="bookName other">{$Novel.n_name ?? ''}</span>
</a>
<a href='{$strPcPath}{site:souurl key="$Novel.n_author" p="1"/}'>
<span class="bookStatus other">{$Novel->n_author ?? ''}</span>
</a>
<span class="bookBrief">
{$Novel.n_description ?? ''}</span>
</p>
</li>
{/novel:list}
</ul>
</div>
</div>
</div>
</div>
<script>
const strNovelUrlTemp = `{site:replace code="NOVEL_INFO_URL"}`;
const strNovelChapterUrlTemp = `{site:replace code="CONTENT_INFO_URL"}`;
const strSearchUrlTemp = `{site:replace code="SEARCH_INFO_URL"}`;
document.addEventListener("DOMContentLoaded", function () {
displayBookshelfInUser()
displayHistoryInUser()
})
// 展示 书架
function displayBookshelfInUser() {
const strBookshelfKey = window.location.hostname + 'strBookshelfKey';
// 获取书架数据
const arrBookshelf = JSON.parse(localStorage.getItem(strBookshelfKey)) || [];
console.log(arrBookshelf)
if (arrBookshelf.length === 0) {
console.log('书架为空');
return;
}
// 渲染书籍列表
const DomBookshelfContainer = document.getElementById('bookshelf-ul');
DomBookshelfContainer.innerHTML = ''
arrBookshelf.forEach(book => {
let strNovelUrl = formatNovelUrl(book.n_name_pinyin, book.n_id)
let strNovelChapterUrl = formatNovelChapterUrl(book.n_name_pinyin, book.n_id, book.c_sort_num)
let strSearchUrl = formatSearchUrl(book.n_author, 1)
const bookElement = document.createElement('li');
if (isMobile()) {
bookElement.innerHTML = `
<a href="${strNovelUrl}" alt="${book.n_name}" title="${book.n_name}">
<img src="${book.n_cover_path}">
</a>
<p>
<a href="${strNovelUrl}" >
<span class="bookName">${book.n_name}</span>
</a>
<span class="bookStatus">
<b class="authorSt"><em>${book.n_status}</em>
<a href='${strSearchUrl}'>
<em class="none">${book.n_author}</em>
</a>
</b>
<b class="authorSt chapterSt">
<a href="${strNovelChapterUrl}" >
<em class="ct">${book.c_name}</em>
</a>
<em class="time">${book.n_update_time}</em></b>
</span>
<a href="${strNovelChapterUrl}" >
<i class="goon">阅读</i>
</a>
</p>
`;
} else {
bookElement.innerHTML = `
<a href="${strPcPath}${strNovelUrl}" alt="${book.n_name}" title="${book.n_name}">
<img src="${book.n_cover_path}">
</a>
<p>
<a href="${strPcPath}${strNovelUrl}" >
<span class="bookName">${book.n_name}</span>
</a>
<span class="bookStatus">
<b class="authorSt"><em>${book.n_status}</em>
<a href='${strPcPath}${strSearchUrl}'>
<em class="none">${book.n_author}</em>
</a>
</b>
<b class="authorSt chapterSt">
<a href="${strPcPath}${strNovelChapterUrl}" >
<em class="ct">${book.c_name}</em>
</a>
<em class="time">${book.n_update_time}</em></b>
</span>
<a href="${strPcPath}${strNovelChapterUrl}" >
<i class="goon">阅读</i>
</a>
</p>
`;
}
DomBookshelfContainer.appendChild(bookElement);
});
}
// 展示 最近阅读
function displayHistoryInUser() {
const strHistoryKey = window.location.hostname + 'strHistoryKey';
// 获取最近阅读数据
const arrBookshelf = JSON.parse(localStorage.getItem(strHistoryKey)) || [];
if (arrBookshelf.length === 0) {
console.log('书架为空');
return;
}
// 渲染最近阅读列表
const DomBookshelfContainer = document.getElementById('history-ul');
DomBookshelfContainer.innerHTML = ''
arrBookshelf.forEach(book => {
let strNovelUrl = formatNovelUrl(book.n_name_pinyin, book.n_id)
let strNovelChapterUrl = formatNovelChapterUrl(book.n_name_pinyin, book.n_id, book.c_sort_num)
let strSearchUrl = formatSearchUrl(book.n_author, 1)
const bookElement = document.createElement('li');
if (isMobile()) {
bookElement.innerHTML = `
<a href="${strNovelUrl}" alt="${book.n_name}" title="${book.n_name}">
<img src="${book.n_cover_path}">
</a>
<p>
<a href="${strNovelUrl}" >
<span class="bookName">${book.n_name}</span>
</a>
<span class="bookStatus">
<b class="authorSt"><em>${book.n_status}</em>
<a href='${strSearchUrl}'>
<em class="none">${book.n_author}</em>
</a>
</b>
<b class="authorSt chapterSt">
<a href="${strNovelChapterUrl}" >
<em class="ct">${book.c_name}</em>
</a>
<em class="time">${book.n_update_time}</em></b>
</span>
<a href="${strNovelChapterUrl}" >
<i class="goon">阅读</i>
</a>
</p>
`;
} else {
bookElement.innerHTML = `
<a href="${strPcPath}${strNovelUrl}" alt="${book.n_name}" title="${book.n_name}">
<img src="${book.n_cover_path}">
</a>
<p>
<a href="${strPcPath}${strNovelUrl}" >
<span class="bookName">${book.n_name}</span>
</a>
<span class="bookStatus">
<b class="authorSt"><em>${book.n_status}</em>
<a href='${strSearchUrl}'>
<em class="none">${book.n_author}</em>
</a>
</b>
<b class="authorSt chapterSt">
<a href="${strPcPath}${strNovelChapterUrl}" >
<em class="ct">${book.c_name}</em>
</a>
<em class="time">${book.n_update_time}</em></b>
</span>
<a href="${strPcPath}${strNovelChapterUrl}" >
<i class="goon">阅读</i>
</a>
</p>
`;
}
DomBookshelfContainer.appendChild(bookElement);
});
}
</script>
{/block}
{block name="customize"} {/block}