debug
This commit is contained in:
36
code/app/home/view/xiongMao/novel/getArticleInfo.html
Normal file
36
code/app/home/view/xiongMao/novel/getArticleInfo.html
Normal file
@@ -0,0 +1,36 @@
|
||||
{extend name="baseH5" /}
|
||||
{block name="title"}{$strTitle??''}{/block}
|
||||
{block name="keywords"}{$strKeywords??''}{/block}
|
||||
{block name="description"}{$strDescription??''}{/block}
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content="{$strTitle??''}" />
|
||||
<meta property="og:description" content="{$strDescription??''}" />
|
||||
<meta property="og:url" content="https://{Request->DomainModel->d_domain}" />
|
||||
<meta property="og:type" content="article" />
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "{$DomainModel->d_domain}",
|
||||
"@type": "article",
|
||||
"headline": "{$strTitle??''}",
|
||||
"description": "{$strDescription??''}",
|
||||
"datePublished": "{:date('Y-m-d')}"
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
{block name="head-js"}{/block}
|
||||
|
||||
{block name="logo-html"}
|
||||
<h1 class="logo">
|
||||
<a href="/">{$DomainModel->d_name}-{$DomainModel->d_text_logo}</a>
|
||||
</h1>
|
||||
{/block}
|
||||
|
||||
{block name="main"}
|
||||
<div style="height:50px"></div>
|
||||
|
||||
article.........
|
||||
{/block}
|
||||
|
||||
{block name="customize"} {/block}
|
||||
64
code/app/home/view/xiongMao/novel/getArticleList.html
Normal file
64
code/app/home/view/xiongMao/novel/getArticleList.html
Normal file
@@ -0,0 +1,64 @@
|
||||
{extend name="baseH5" /}
|
||||
{block name="title"}{$strTitle??''}{/block}
|
||||
{block name="keywords"}{$strKeywords??''}{/block}
|
||||
{block name="description"}{$strDescription??''}{/block}
|
||||
{block name="head"}
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content="{$strTitle??''}" />
|
||||
<meta property="og:description" content="{$strDescription??''}" />
|
||||
<meta property="og:url" content="https://{Request->DomainModel->d_domain}" />
|
||||
<meta property="og:type" content="article" />
|
||||
<!-- 结构化数据 -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "{$DomainModel->d_domain}",
|
||||
"@type": "article",
|
||||
"headline": "{$strTitle??''}",
|
||||
"description": "{$strDescription??''}",
|
||||
"datePublished": "{:date('Y-m-d')}"
|
||||
}
|
||||
</script>
|
||||
{/block}
|
||||
{block name="head-js"}{/block}
|
||||
|
||||
{block name="logo-html"}
|
||||
<h1 class="logo">
|
||||
<a href="/">{$DomainModel->d_name}-{$DomainModel->d_text_logo}</a>/文章
|
||||
</h1>
|
||||
{/block}
|
||||
|
||||
{block name="main"}
|
||||
<div style="height:50px"></div>
|
||||
|
||||
<div class="mod mod-nav">
|
||||
<div id="book-nav" class="book-nav">
|
||||
<ul class="clearfix">
|
||||
<li><a class="on" href="/article/list.html" btn="search_category">全部</a></li>
|
||||
<li><a href="/article/list-1-1.html" btn="search_category">高考作文</a></li>
|
||||
<li><a href="/article/list-2-1.html" btn="search_category">小说解读</a></li>
|
||||
<li><a href="/article/list-3-1.html" btn="search_category">影视解说</a></li>
|
||||
<li><a href="/article/list-4-1.html" btn="search_category">王者荣耀</a></li>
|
||||
<li><a href="/article/list-5-1.html" btn="search_category">日常八卦</a></li>
|
||||
<li><a href="/article/list-6-1.html" btn="search_category">其它</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="mod new-book">
|
||||
<div class="mod-head">
|
||||
<h3>深度解说列表</h3>
|
||||
</div>
|
||||
<div class="top-index">
|
||||
<ul class="clearfix">
|
||||
{foreach $arrNewsNovel as $key => $vo}
|
||||
{include file="public/articleList" /}
|
||||
|
||||
{/foreach}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
{/block}
|
||||
|
||||
{block name="customize"} {/block}
|
||||
403
code/app/home/view/xiongMao/novel/getNovelChapter.html
Normal file
403
code/app/home/view/xiongMao/novel/getNovelChapter.html
Normal file
@@ -0,0 +1,403 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-CN">
|
||||
|
||||
<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 charset="UTF-8" />
|
||||
<meta name="robots" content="index, follow" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<meta http-equiv="Cache-Control" content="no-transform, max-age=3600" />
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" />
|
||||
<meta name="applicable-device" content="mobile" />
|
||||
<meta name="keywords" content='{site:replace code="NOVEL@GETNOVELCHAPTER@KEYWORDS"}'>
|
||||
<meta name="description" content='{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}'>
|
||||
<title>{site:replace code="NOVEL@GETNOVELCHAPTER@TITLE"}</title>
|
||||
<link rel="icon" href="/template/kuangyu/public/img/favicon.ico" type="image/x-icon" />
|
||||
|
||||
<link rel="stylesheet" href="/template/kuangyu/reader/wap/css/style.css" type="text/css">
|
||||
<link rel="stylesheet" href="//at.alicdn.com/t/font_934628_byagqjb6vae.css" type="text/css">
|
||||
<link rel="stylesheet" href="/public/layer/need/layer.css" type="text/css">
|
||||
<!-- <script src="/public/jquery/jquery-3.7.1.min.js"></script> -->
|
||||
<script src="/public/js/yueduqsbs.js"></script>
|
||||
|
||||
<!-- 社交媒体标签 -->
|
||||
<meta property="og:title" content="{$arrNovel['n_name']??'未知小说'} {$arrChapter.c_name} - {$DomainModel->d_name}" />
|
||||
<meta property="og:description" content='{site:replace code="NOVEL@GETNOVELCHAPTER@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}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num"/}'>
|
||||
<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="{$arrChapter.c_name}">
|
||||
<meta property="og:novel:latest_chapter_url"
|
||||
content='https://{$DomainModel->d_domain}{site:lcpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
<!-- 可选:支持 Twitter Card -->
|
||||
<meta name="twitter:card" content="summary_large_image" />
|
||||
<meta name="twitter:title" content="{$arrNovel['n_name']??'未知小说'} {$arrChapter.c_name} - {$DomainModel->d_name}" />
|
||||
<meta name="twitter:description" content='{site:replace code="NOVEL@GETNOVELCHAPTER@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'] ?? '未知小说'}",
|
||||
"author": {
|
||||
"@type": "Person",
|
||||
"name": "{$arrNovel['n_author'] ??'佚名'}"
|
||||
},
|
||||
"publisher": {
|
||||
"@type": "Organization",
|
||||
"name": "{$DomainModel->d_name}",
|
||||
"url": "https://{$DomainModel->d_domain}"
|
||||
},
|
||||
"image": "{$arrNovel.n_cover_path ?? ''}",
|
||||
"url":'https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num" c_page="0"/}',
|
||||
"inLanguage": "zh-CN",
|
||||
"genre": "{$arrNovel.n_category ??''}",
|
||||
"datePublished": "{$arrNovel['n_update_time'] ?? time()}",
|
||||
"hasPart": {
|
||||
"@type": "CreativeWork",
|
||||
"name": "{$arrChapter.c_name ?? ''}",
|
||||
"url":'https://{$DomainModel->d_domain}{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num" c_page="0"/}',
|
||||
"description": '{site:replace code="NOVEL@GETNOVELCHAPTER@DESCRIPTION"}'
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<script>
|
||||
const strPcPath = `{$strPcPath}`;
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="skin-default">
|
||||
{$arrGrm[0]|raw}
|
||||
<aside id="asideChapter" class="aside" data-is-bind-scroll="true">
|
||||
<i id="asideOverlay" class="aside-overlay" role="button" title="点击关闭浮层"></i>
|
||||
<div id="asideChapterContent" class="aside-content">
|
||||
<div class="module module-merge">
|
||||
<div id="catelogX" class="chapter-tab-x active">
|
||||
<ol id="volumes" class="chapter-ol chapter-ol-catalog">
|
||||
|
||||
</ol>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</aside>
|
||||
{$arrGrm[1]|raw}
|
||||
<div id="pageRead" class="page-read ">
|
||||
<content id="readContent" class="page-read-content">
|
||||
<div id="readLoadPrev" class="read-load-prev">
|
||||
<a class="read-load-icon btn-any loading"></a>
|
||||
<p class="read-load-p">下拉阅读上一章</p>
|
||||
</div>
|
||||
{$arrGrm[2]|raw}
|
||||
<div id="readLoadNext" class="read-load-next">
|
||||
{if $arrChapter.c_sort_num == 1 }
|
||||
{$arrGrm[3]|raw}
|
||||
<a href="javascript:" class="btn-normal red" data-size="14" role="button">上一章</a>
|
||||
{elseif $arrChapter['pre_chapter'] && $arrChapter['pre_chapter']['c_sort_num']}
|
||||
{$arrGrm[4]|raw}
|
||||
<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="0"/}'
|
||||
class="btn-normal red" data-size="14" role="button">上一章</a>
|
||||
{/if}
|
||||
|
||||
{if $arrChapter.next_chapter && $arrChapter.next_chapter.c_sort_num}
|
||||
<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="0"/}'
|
||||
class="btn-normal red" data-size="14" role="button">下一章</a>
|
||||
{/if}
|
||||
<a href="#" class="btn-blank blue" style="display:none">已经是最后一章了 »</a>
|
||||
</div>
|
||||
<article id="chapterContent" class="read-article" style="font-size: 1.125rem">
|
||||
<section class="read-section jsChapterWrapper" data-chapter-id="4b2d5aab58d71">
|
||||
|
||||
<script>document.writeln(qsbs.bb('{$arrChapter.c_content}'));</script>
|
||||
</section>
|
||||
</article>
|
||||
{$arrGrm[5]|raw}
|
||||
<div id="readLoadNext" class="read-load-next">
|
||||
{if $arrChapter.c_sort_num == 1}
|
||||
<a href="javascript:" class="btn-normal red" data-size="14" role="button">上一章</a>
|
||||
{elseif $arrChapter['pre_chapter'] && $arrChapter['pre_chapter']['c_sort_num']}
|
||||
<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="0"/}'
|
||||
class="btn-normal red" data-size="14" role="button">上一章</a>
|
||||
{/if}
|
||||
|
||||
{if $arrChapter.next_chapter && $arrChapter.next_chapter.c_sort_num}
|
||||
<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="0"/}'
|
||||
class="btn-normal red" data-size="14" role="button">下一章</a>
|
||||
{/if}
|
||||
|
||||
|
||||
<a id="aGotoBookEnd" href="#" class="btn-blank blue" style="display:none">已经是最后一章了 »</a>
|
||||
</div>
|
||||
|
||||
</content>
|
||||
<div class="page-read-top">
|
||||
<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="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='{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="2" />
|
||||
</li>
|
||||
</ol>
|
||||
</nav>
|
||||
<h1 id="chapterTitle" class="read-book-name">
|
||||
<a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'>
|
||||
{$arrNovel.n_name}
|
||||
</a>
|
||||
<a href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num" c_page="0"/}'>{$arrChapter.c_name}</a>
|
||||
|
||||
</h1>
|
||||
</div>
|
||||
<mark id="readPageMark" class="read-page-mark">你刚刚阅读到这里</mark>
|
||||
<p id="pageNum" class="read-page-num">1/1</p>
|
||||
</div>
|
||||
{$arrGrm[6]|raw}
|
||||
<div id="pageReadOpt" class="page-read-opt" data-settings-str="dn:d|fs:3|skin:0|vh:v" data-book-publish="0"
|
||||
data-sale-modes="1" data-has-sub="0">
|
||||
<header class="header read-opt-header">
|
||||
<a href="javascript:history.back();" class="header-back jsBack">
|
||||
<i class="iconfont icon-previewleft">
|
||||
<title>返回</title>
|
||||
</i>
|
||||
</a>
|
||||
<div class="header-operate">
|
||||
<!-- <a id="btnPledgeTrigger" href="javascript:" class="iconfont icon-wodetuijianzhuanhongbao" title="打赏" role="button">
|
||||
</a> -->
|
||||
<a id="readBtnMore" href="javascript:" class="iconfont icon-dotshorizontal jsLayerTrigger" title="更多操作"
|
||||
data-rel="readMoreX" role="menu" aria-expanded="false">
|
||||
</a>
|
||||
</div>
|
||||
</header>
|
||||
<a href="javascript:" onclick="addBookshelfFun()" id="readJoinSJ" class="read-join-sj" role="button">加入书架</a>
|
||||
<div id="readMoreX" class="read-opt-more">
|
||||
<a href="/" class="read-opt-a">
|
||||
<i class="iconfont icon-zhuye1"></i>
|
||||
<h4>返回首页</h4>
|
||||
</a>
|
||||
<!-- <a href="javascript:" id="btnDownloadFreeChapters" class="read-opt-a">
|
||||
<i class="iconfont icon-lixianxiazai"></i>
|
||||
离线章节
|
||||
</a> -->
|
||||
<a href='{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}' class="read-opt-a">
|
||||
<i class="iconfont icon-SU"></i>
|
||||
书籍详情
|
||||
</a>
|
||||
<a href="{$strBookShelfUrlTemp}" class="read-opt-a">
|
||||
<i class="iconfont icon-books"></i>
|
||||
返回我的书架
|
||||
</a>
|
||||
</div>
|
||||
<div id="readOptProg" class="read-opt-bot read-opt-prog">
|
||||
<div class="read-prog-info">
|
||||
<a href="javascript:" id="readProgPrev" class="read-prog-prev">
|
||||
<i class="iconfont icon-back" aria-hidden="true"></i>
|
||||
上一章
|
||||
</a>
|
||||
<a href="javascript:" id="readProgNext" class="read-prog-next">
|
||||
下一章
|
||||
<i class="iconfont icon-you" aria-hidden="true"></i>
|
||||
</a>
|
||||
<div id="readProgVal" class="read-prog-val">
|
||||
<h4 class="ell"></h4>
|
||||
<output role="presentation"></output>
|
||||
</div>
|
||||
</div>
|
||||
<div class="read-prog-bar">
|
||||
<input type="range" id="readProgRange" name="read-prog" min="0" max="1000" value="0">
|
||||
</div>
|
||||
</div>
|
||||
<div id="readOptSet" class="read-opt-bot read-opt-set">
|
||||
<div class="read-set-font">
|
||||
<a href="javascript:" id="readFontDown" class="read-font-down" data-index="0" role="button">
|
||||
<i class="iconfont icon-yueduye_zitijianxiao"></i>
|
||||
<aria>字号变小</aria>
|
||||
</a>
|
||||
<a href="javascript:" id="readFontUp" class="read-font-up" data-index="1" role="button">
|
||||
<i class="iconfont icon-yueduye_zitizengda"></i>
|
||||
<aria>字号变大</aria>
|
||||
</a>
|
||||
<div class="read-font-bar">
|
||||
<div class="range">
|
||||
<div class="range-track">
|
||||
<a class="range-thumb" role="slider" aria-valuenow="0" aria-valuemax="8"
|
||||
aria-valuemin="1"></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="range" style="width: 668px;">
|
||||
<div class="range-track" style="border-left-width: 190.857px;"><a class="range-thumb"
|
||||
role="slider" aria-valuenow="3" aria-valuemax="8" aria-valuemin="1"></a></div>
|
||||
</div><input type="range" id="readFontRange" name="font-size" min="1" max="8" value="3">
|
||||
</div>
|
||||
</div>
|
||||
<div id="readSetSkin" class="read-set-skin">
|
||||
<ul class="btn-group" role="radiogroup">
|
||||
<li class="btn-group-cell read-set-cell">
|
||||
<input type="radio" id="skinDefault" name="skin" value="default" checked="" data-index="0"
|
||||
title="默认皮肤">
|
||||
<label class="read-skin-default" for="skinDefault" title="默认皮肤">
|
||||
<i class="iconfont icon-ok center"></i>
|
||||
</label>
|
||||
</li>
|
||||
<li class="btn-group-cell read-set-cell">
|
||||
<input type="radio" id="skinBlue" name="skin" value="blue" data-index="1" title="蓝色皮肤">
|
||||
<label class="read-skin-blue" for="skinBlue" title="蓝色皮肤">
|
||||
<i class="iconfont icon-ok center"></i>
|
||||
</label>
|
||||
</li>
|
||||
<li class="btn-group-cell read-set-cell">
|
||||
<input type="radio" id="skinGreen" name="skin" value="green" data-index="2" title="绿色皮肤">
|
||||
<label class="read-skin-green" for="skinGreen" title="绿色皮肤">
|
||||
<i class="iconfont icon-ok center"></i>
|
||||
</label>
|
||||
</li>
|
||||
<li class="btn-group-cell read-set-cell">
|
||||
<input type="radio" id="skinLight" name="skin" value="light" data-index="3" title="浅色皮肤">
|
||||
<label class="read-skin-light" for="skinLight" title="浅色皮肤">
|
||||
<i class="iconfont icon-ok center"></i>
|
||||
</label>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="readSetLayout" class="read-set-layout">
|
||||
<ul class="btn-group">
|
||||
<li class="btn-group-cell read-set-cell">
|
||||
<input type="radio" id="layoutV" name="layout" value="v" checked="">
|
||||
<label class="read-btn-layout" for="layoutV">上下滑动</label>
|
||||
</li>
|
||||
<li class="btn-group-cell read-set-cell">
|
||||
<input type="radio" id="layoutH" name="layout" value="h">
|
||||
<label class="read-btn-layout" for="layoutH">左右滑动</label>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{$arrGrm[8]|raw}
|
||||
<footer class="read-opt-footer">
|
||||
<div class="btn-group">
|
||||
<!-- id="readBtnChapter" -->
|
||||
<a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}' class="btn-group-cell"
|
||||
data-rel="asideChapter" role="button" aria-haspopup="true">
|
||||
<i class="iconfont icon-mulu"></i>
|
||||
<h4 class="read-opt-footer-h">目录</h4>
|
||||
</a>
|
||||
<!-- <a href="javascript:" id="readBtnProg" class="btn-group-cell jsLayerTrigger" data-rel="readOptProg"
|
||||
role="menuitem">
|
||||
<i class="iconfont icon-jindutiao"></i>
|
||||
<h4 class="read-opt-footer-h">进度</h4>
|
||||
</a> -->
|
||||
<a href="javascript:" id="readBtnSet" class="btn-group-cell jsLayerTrigger" data-rel="readOptSet"
|
||||
role="menuitem">
|
||||
<i class="iconfont icon-shezhi"></i>
|
||||
<h4 class="read-opt-footer-h">设置</h4>
|
||||
</a>
|
||||
|
||||
<a href="javascript:" id="readBtnMode" class="btn-group-cell" data-mode="night" role="checkbox"
|
||||
title="日间夜间模式切换">
|
||||
<i class="iconfont icon-yueliang"></i>
|
||||
<h4 class="read-opt-footer-h">夜间</h4>
|
||||
</a>
|
||||
<!-- <a href="/novel/332.html" class="btn-group-cell">
|
||||
<i class="iconfont icon-pinglun"></i>
|
||||
<h4 class="read-opt-footer-h">评论</h4>
|
||||
</a> -->
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
{$arrGrm[7]|raw}
|
||||
<script type="text/javascript" src="/template/kuangyu/reader/wap/js/zepto.min.js"></script>
|
||||
|
||||
<script type="text/javascript" src="/template/kuangyu/reader/wap/js/reader.js"></script>
|
||||
|
||||
<script>
|
||||
const strPushApi = `{site:cfg code="PUSH_API_DOMAIN" encode="false"/}`;
|
||||
</script>
|
||||
<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' : `{$arrChapter.c_sort_num}`,
|
||||
'c_name' : `{$arrChapter.c_name}`,
|
||||
};
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
var book = {};
|
||||
book.Info = {
|
||||
"Id": `{$arrNovel['n_id']}`,
|
||||
"Name": `{$arrNovel['n_name']}`,
|
||||
"authorName": `{$arrNovel['n_author']}`
|
||||
};
|
||||
book.chapter = {
|
||||
//页面进入加载的章节id
|
||||
id: '{$arrChapter.next_chapter.c_sort_num ?? 1}',
|
||||
//章节源id
|
||||
source_id: '{$arrChapter.next_chapter.c_sort_num ?? 1}',
|
||||
title: '{$arrChapter.next_chapter.c_name ?? 1}',
|
||||
content: '',
|
||||
//章节vip标识
|
||||
vipStatus: 0,
|
||||
//上一章id
|
||||
prevId: '{$arrChapter.next_chapter.c_sort_num ?? 1}',
|
||||
//下一章id
|
||||
nextId: '{$arrNextChapter.c_sort_num ?? 1}'
|
||||
};
|
||||
book.chapterUrl = '{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrChapter.c_sort_num" c_page="0"/}' ;
|
||||
book.url = '{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
|
||||
book.nextChapterVip = 0;
|
||||
book.uid = 0;
|
||||
</script>
|
||||
|
||||
<script src="/public/layer/layer.min.js"></script>
|
||||
<script src="/template/kuangyu/reader/wap/js/global.js" type="text/javascript"></script>
|
||||
<script src="/template/kuangyu/public/js/common.js"></script>
|
||||
|
||||
{block name="footer-js"}
|
||||
<!-- <script>
|
||||
document.addEventListener("DOMContentLoaded", function () {
|
||||
// 使用示例
|
||||
const statsData = {
|
||||
n_id: '{$arrNovel.n_id}',
|
||||
};
|
||||
// 调用方法1
|
||||
reportStats(statsData);
|
||||
})
|
||||
</script> -->
|
||||
{/block}
|
||||
|
||||
{$arrGrm[10]|raw}
|
||||
</body>
|
||||
|
||||
</html>
|
||||
282
code/app/home/view/xiongMao/novel/getNovelInfo.html
Normal file
282
code/app/home/view/xiongMao/novel/getNovelInfo.html
Normal file
@@ -0,0 +1,282 @@
|
||||
{extend name="baseH5" /}
|
||||
|
||||
{block name="get-data"}
|
||||
{if $Request.route.intNovelId}
|
||||
{novel:info n_id="$Request.route.intNovelId" n_key="arrNovel" n_forge_id="$Request.route.intForgeId" /}
|
||||
{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}{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}{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",
|
||||
},
|
||||
"itemListElement": [
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 1,
|
||||
"name": "首页",
|
||||
"item": "https://{$DomainModel->d_domain}"
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 2,
|
||||
"name": "{$arrNovel.n_category ??''}",
|
||||
"item": 'https://{site:nflurl category="$arrNovel.n_category_pinyin" order="all" status="all" page="1"/}'
|
||||
},
|
||||
{
|
||||
"@type": "ListItem",
|
||||
"position": 3,
|
||||
"name": "{$arrNovel['n_name']}",
|
||||
"item": '{site:nurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" /}'
|
||||
}
|
||||
]
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
{block name="head-js"}{/block}
|
||||
|
||||
{block name="logo-html"}
|
||||
<h2 class="logo">
|
||||
<a href="/">{$DomainModel->d_name}-{$DomainModel->d_text_logo}</a>
|
||||
</h2>
|
||||
{/block}
|
||||
|
||||
{block name="main"}
|
||||
<div class="wrap">
|
||||
|
||||
<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="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='{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>
|
||||
<h1 class="site-description ">{$arrNovel['n_name']}最新章节 - {$arrNovel['n_author']} - {$DomainModel->d_name}</h1>
|
||||
</nav>
|
||||
|
||||
<!--info-->
|
||||
<div class="mod mod-info">
|
||||
{$arrGrm[0]|raw}
|
||||
<div class="book-info">
|
||||
<dl class="base clearfix">
|
||||
<dt>
|
||||
<img src="/static/img/default.jpg" data-src="{$arrNovel.n_cover_path ?? ''}"
|
||||
alt="{$arrNovel['n_name'] ?? ''}小说封面 - {$arrNovel.n_author}最新章节" class="lazy lazyload-img" />
|
||||
|
||||
<i class='{eq name="arrNovel.n_status" value="连载中"}serial{else}finish {/eq}'>已完结</i>
|
||||
</dt>
|
||||
<dd>
|
||||
<h2>{$arrNovel['n_name']}</h2>
|
||||
<p class="info">
|
||||
<span>分类:{$arrNovel.n_category}</span>
|
||||
<span>作者:<a href='{site:souurl key="$arrNovel.n_author" p="1"/}'>{$arrNovel.n_author}</a></span>
|
||||
<!-- <span>字数:54.20万字</span> -->
|
||||
<span>阅读:{$arrNovel.arrNovelClicks.total}</span>
|
||||
</p>
|
||||
</dd>
|
||||
</dl>
|
||||
{$arrGrm[1]|raw}
|
||||
<div class="btns">
|
||||
<ul>
|
||||
{if !empty($arrNovel.intFirstChapterSort)}
|
||||
<li>
|
||||
{$arrGrm[2]|raw}
|
||||
<a class="read-online reading" href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$arrNovel.intFirstChapterSort"/}'
|
||||
>点击阅读</a>
|
||||
</li>
|
||||
{/if}
|
||||
<li>
|
||||
<a class="b5673b5cd4b" onclick="addBookshelfFun()">加入书架</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="intro">
|
||||
{$arrGrm[3]|raw}
|
||||
<div class="content">
|
||||
<p>
|
||||
{$arrNovel.n_description ?? ''}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- hot-book -->
|
||||
<div class="mod mod-info">
|
||||
<div class="book-info">
|
||||
<div class="mod-head">
|
||||
<h3>最新要点</h3>
|
||||
</div>
|
||||
{$arrGrm[4]|raw}
|
||||
<div class="intro">
|
||||
<div class="content">
|
||||
<p>
|
||||
{$arrNovel.strFocus}
|
||||
</p>
|
||||
<p class="xianglingtuijian">相邻推荐:
|
||||
{volist name="arrNovel.n_forge_novel" id="ForgeNovel" key="key"}
|
||||
{if $key < 100}
|
||||
{$arrGrm[$key+20]|raw}
|
||||
{/if}
|
||||
<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}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- hot-book -->
|
||||
<div class="mod mod-attentions">
|
||||
<div class="mod-head">
|
||||
<h3>{$arrNovel.n_name}最新章节</h3>
|
||||
</div>
|
||||
<div class="attentions">
|
||||
<ul class="clearfix">
|
||||
{chapter:list count="10" sort_type="dao" n_id="$arrNovel.n_id" d_key="key" d_val="Chapter" cache_life="86400"}
|
||||
<li>
|
||||
{if $key < 100}
|
||||
{$arrGrm[$key+20]|raw}
|
||||
{/if}
|
||||
<a href='{site:cpurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" c_sort="$Chapter.c_sort_num" c_page="0"/}'
|
||||
title="{$arrNovel.n_name}-{$Chapter.c_name}">{$Chapter.c_name}</a>
|
||||
</li>
|
||||
{/chapter:list}
|
||||
|
||||
</ul>
|
||||
<div class="chapters-more">
|
||||
|
||||
<a href='{site:nclurl n_id="$arrNovel.n_id" n_py="$arrNovel.n_name_pinyin" order="zheng" page="1"/}'
|
||||
class="reading btn-bookshelf">{$arrNovel.n_name}更多章节</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mod mod-guess">
|
||||
<div class="mod-head">
|
||||
<h3>同类作品</h3>
|
||||
</div>
|
||||
<div class="book-slide">
|
||||
<ul class="clearfix">
|
||||
{foreach $arrNovel.arrRelateveNovel as $Novel}
|
||||
<li>
|
||||
{$arrGrm[$key+10]|raw}
|
||||
<a href='{site:nurl n_id="Novel.n_id" n_py="Novel.n_name_pinyin"/}'>
|
||||
<img class="lazy lazyload-img" data-encrypted="false" src="/static/img/default.jpg"
|
||||
data-src="{$Novel.n_cover_path ?? ''}" alt="{$Novel.n_name ?? ''}" />
|
||||
<span>{$Novel.n_name ?? ''}</span>
|
||||
<em>
|
||||
<aria>作者:</aria>{$Novel.n_author ?? ''}
|
||||
</em>
|
||||
</a>
|
||||
</li>
|
||||
{/foreach}
|
||||
</ul>
|
||||
</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']}`,
|
||||
'n_update_time' : `{$arrNovel['n_update_time']}`,
|
||||
'c_sort_num' : 1,
|
||||
'c_name' : `第一章`,
|
||||
};
|
||||
</script>
|
||||
{/block}
|
||||
|
||||
{block name="customize"}
|
||||
|
||||
|
||||
{/block}
|
||||
|
||||
{block name="footer-js"}
|
||||
|
||||
{/block}
|
||||
105
code/app/home/view/xiongMao/novel/getSearchNovel.html
Normal file
105
code/app/home/view/xiongMao/novel/getSearchNovel.html
Normal file
@@ -0,0 +1,105 @@
|
||||
{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="head-js"}{/block}
|
||||
|
||||
{block name="logo-html"}
|
||||
<h1 class="logo">
|
||||
<a href="/">{$DomainModel->d_name}-{$DomainModel->d_text_logo}</a>
|
||||
</h1>
|
||||
{/block}
|
||||
|
||||
{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">
|
||||
<div class="mod mod-search">
|
||||
<div class="search-list">
|
||||
|
||||
<div class="result">
|
||||
<h1>{$Request.get.keyword}搜索结果 - {$DomainModel->d_name} 第{$Request.get.intPage}页</h1>
|
||||
搜索<span style="color:red">“{$Request.get.keyword}”</span>相关结果共有 <span style="color:red">{$resData.p_data.total}</span> 部小说
|
||||
</div>
|
||||
{if empty($resData.data)}
|
||||
<p style="text-align: center;line-height: 60px">没有相关数据</p>
|
||||
{else}
|
||||
<ul class="clearfix">
|
||||
{foreach $resData.data as $key=>$Novel}
|
||||
{include file="public/novelListH" start="0"/}
|
||||
{/foreach}
|
||||
</ul>
|
||||
{/if}
|
||||
|
||||
</div>
|
||||
<div class="pages">
|
||||
<ul class="pager">
|
||||
{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}
|
||||
<li><a href="{$vo.url}">«</a></li>
|
||||
{/if}
|
||||
{/case}
|
||||
{case value="下一页"}
|
||||
{if $resData.p_data.page >= $resData.p_data.total}
|
||||
<li class="disabled"><span>»</span></li>
|
||||
{else}
|
||||
<li><a href="{$vo.url}">»</a></li>
|
||||
{/if}
|
||||
{/case}
|
||||
{/switch}
|
||||
{/volist}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{/block}
|
||||
|
||||
{block name="customize"} {/block}
|
||||
Reference in New Issue
Block a user