mirror of
https://gitee.com/novel_dev_team/novel
synced 2026-07-20 17:52:45 +08:00
add code
This commit is contained in:
473
src/main/resources/templates/books/book_content.html
Normal file
473
src/main/resources/templates/books/book_content.html
Normal file
@@ -0,0 +1,473 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title th:text="${bookName}+${indexName}"></title>
|
||||
|
||||
<meta name="keywords" th:attr="content=${bookName}+','+${indexName}">
|
||||
<meta name="description"
|
||||
th:attr="content=${bookName}+${indexName}+'最新更新章节免费在线阅读TXT下载'">
|
||||
|
||||
<meta property="og:type" content="novel_content"/>
|
||||
<meta property="og:title" th:attr="content=${bookName}+${indexName}"/>
|
||||
<meta property="og:description" th:attr="content=${bookName}+${indexName}+'最新更新章节免费在线阅读TXT下载'"/>
|
||||
|
||||
|
||||
<div th:include="common/css :: css"></div>
|
||||
|
||||
|
||||
<script>
|
||||
var _hmt = _hmt || [];
|
||||
(function () {
|
||||
var hm = document.createElement("script");
|
||||
hm.src = "https://hm.baidu.com/hm.js?2cf01edbc2b27cd3a143e17948167d77";
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(hm, s);
|
||||
})();
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<style type="text/css">
|
||||
.line-limit-length {
|
||||
|
||||
overflow: hidden;
|
||||
|
||||
text-overflow: ellipsis;
|
||||
|
||||
white-space: nowrap;
|
||||
|
||||
}
|
||||
|
||||
.indexP p a {
|
||||
color: #4c6978;
|
||||
}
|
||||
|
||||
.Readarea {
|
||||
font-size: 18px;
|
||||
line-height: 35px;
|
||||
padding: 10px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
div, p {
|
||||
wrap-work: break-word;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
}
|
||||
|
||||
.indexDiv a {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.Readpage {
|
||||
font-size: 14px;
|
||||
padding: 0;
|
||||
background: #d4eaf2;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
div, p {
|
||||
wrap-work: break-word;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
}
|
||||
|
||||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
/* background-attachment: fixed; */
|
||||
}
|
||||
|
||||
user agent stylesheet
|
||||
p {
|
||||
display: block;
|
||||
-webkit-margin-before: 1em;
|
||||
-webkit-margin-after: 1em;
|
||||
-webkit-margin-start: 0px;
|
||||
-webkit-margin-end: 0px;
|
||||
}
|
||||
|
||||
.huyanon {
|
||||
border: 1px solid #64c878;
|
||||
box-shadow: 0 1px 2px #b9ecc4 inset, 0 -1px 0 #6c9f76 inset, 0 -2px 3px #b9ecc4 inset;
|
||||
background: -webkit-linear-gradient(top, #90dfa2, #84d494);
|
||||
background: -moz-linear-gradient(top, #90dfa2, #84d494);
|
||||
background: linear-gradient(top, #90dfa2, #84d494);
|
||||
}
|
||||
|
||||
.Readpage a {
|
||||
font-size: 16px;
|
||||
padding: 2px 2px;
|
||||
line-height: 35px;
|
||||
}
|
||||
|
||||
.lightoff, .huyanoff, .sizebgon {
|
||||
border: 1px solid #333;
|
||||
box-shadow: 0 1px 2px #8b8b8b inset, 0 -1px 0 #3d3d3d inset, 0 -2px 3px #8b8b8b inset;
|
||||
background: -webkit-linear-gradient(top, #656565, #4c4c4c);
|
||||
background: -moz-linear-gradient(top, #656565, #4a4a4a);
|
||||
background: linear-gradient(top, #656565, #4a4a4a);
|
||||
}
|
||||
|
||||
.button {
|
||||
width: 40px;
|
||||
line-height: 38px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
color: #fff;
|
||||
text-shadow: 1px 1px 1px #333;
|
||||
border-radius: 5px;
|
||||
margin: 3px 0px 0px 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #4c6978;
|
||||
text-decoration: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.lighton {
|
||||
border: 1px solid #d2a000;
|
||||
box-shadow: 0 1px 2px #fedd71 inset, 0 -1px 0 #a38b39 inset, 0 -2px 3px #fedd71 inset;
|
||||
background: -webkit-linear-gradient(top, #fece34, #d8a605);
|
||||
background: -moz-linear-gradient(top, #fece34, #d8a605);
|
||||
background: linear-gradient(top, #fece34, #d8a605);
|
||||
}
|
||||
|
||||
.screen_toolbar {
|
||||
position: fixed;
|
||||
width: 100%;
|
||||
left: 0px;
|
||||
bottom: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body id="read">
|
||||
|
||||
|
||||
<input type="hidden" id="bookIdHidden" th:value="${bookContent.bookId}"/>
|
||||
|
||||
<input type="hidden" id="contentIdHidden" th:value="${bookContent.id}"/>
|
||||
|
||||
<div style="height: 50px;line-height: 50px;text-align: center" class="layui-header header header-doc layui-bg-cyan">
|
||||
|
||||
<div style="width:10%;float: left;margin-left: 10px">
|
||||
<a href="javascript:history.go(-1)">
|
||||
<i style="font-size: 20px;color: #92B8B1;" class="layui-icon"></i></a>
|
||||
</div>
|
||||
<a style="color: #ffffff;" th:href="'/book/'+ ${bookContent.bookId} + '.html'"><b style="padding-left: 5%;float: left;width: 69%" class="line-limit-length" th:text="${indexName}+' '+${bookName}"></b></a>
|
||||
<div style="width:10%;float: right;margin-right: 10px"><a href="/">
|
||||
<i style="font-size: 20px;color: #92B8B1;" class="layui-icon"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<p class="Readpage" style="background:#FFFFFF;padding:2px;">
|
||||
<a id="lightdiv" class="button lighton" onclick="nr_setbg('light')">开灯</a>
|
||||
<a id="huyandiv" class="button huyanon" onclick="nr_setbg('huyan')">护眼</a>
|
||||
字体:<a id="fontbig" class="sizebg" onclick="nr_setbg('big')">大</a> <a id="fontmiddle" class="button sizebgon"
|
||||
onclick="nr_setbg('middle')">中</a> <a
|
||||
id="fontsmall" class="sizebg" onclick="nr_setbg('small')">小</a>
|
||||
</p>
|
||||
<div class="indexDiv" style="height: 42px;line-height: 42px;text-align:center;background: #f2f2f2">
|
||||
|
||||
<a th:href="'/book/'+${bookContent.bookId}+'/'+${preIndexNum}+'.html'">上一章</a>
|
||||
<a th:href="'/book/'+${bookContent.bookId}+'/index.html'">目录</a>
|
||||
<a th:href="'/book/'+${bookContent.bookId}+'/'+${nextIndexNum}+'.html'">下一章</a>
|
||||
</div>
|
||||
<div id="chaptercontent" class="Readarea ReadAjax_content screen_container"
|
||||
style="color: rgb(0, 0, 0); font-size: 25px;">
|
||||
<p style="width:100%;text-alight:center;">
|
||||
<a
|
||||
href="javascript:void(0);" th:utext="${bookContent.content}"></a></p>
|
||||
</div>
|
||||
<div class="indexDiv" style="height: 42px;line-height: 42px;text-align:center;background: #f2f2f2">
|
||||
|
||||
<a th:href="'/book/'+${bookContent.bookId}+'/'+${preIndexNum}+'.html'">上一章</a>
|
||||
<a th:href="'/book/'+${bookContent.bookId}+'/index.html'">目录</a>
|
||||
<a th:href="'/book/'+${bookContent.bookId}+'/'+${nextIndexNum}+'.html'">下一章</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="screen_toolbar" style="display: none">
|
||||
<div style="height: 5px" class="layui-col-xs2 layui-col-sm3 layui-col-md3 layui-col-lg3"></div>
|
||||
<div class="layui-col-xs6 layui-col-sm4 layui-col-md4 layui-col-lg4">
|
||||
<input type="text" id="screenBulletText" required lay-verify="required" placeholder="请输入弹幕内容,右下角开关可控制弹幕是否开启" autocomplete="off"
|
||||
class="layui-input">
|
||||
|
||||
</div>
|
||||
<div class="layui-col-xs2 layui-col-sm1 layui-col-md1 layui-col-lg1">
|
||||
<button class="layui-btn send">发送</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form class="layui-form">
|
||||
<div class="layui-form-item" style="position: fixed;right: 0px;bottom: 100px" title="弹幕开关">
|
||||
<!-- <label class="layui-form-label" style="opacity:0.5;font-weight: bold;color: red;">弹幕</label>-->
|
||||
<div class="layui-input-block">
|
||||
<input class="clear" type="checkbox" name="switch" lay-skin="switch">
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div th:replace="common/footer :: footer">
|
||||
</div>
|
||||
|
||||
<a name="buttom"></a>
|
||||
</body>
|
||||
<div th:replace="common/js :: js">
|
||||
</div>
|
||||
<script>
|
||||
$.get("/book/addVisit", {"bookId": $("#bookIdHidden").val()}, function () {
|
||||
});
|
||||
|
||||
</script>
|
||||
<script>
|
||||
(function () {
|
||||
var bp = document.createElement('script');
|
||||
var curProtocol = window.location.protocol.split(':')[0];
|
||||
if (curProtocol === 'https') {
|
||||
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
|
||||
}
|
||||
else {
|
||||
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
|
||||
}
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(bp, s);
|
||||
|
||||
|
||||
})();
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<script src="/js/read.js"></script>
|
||||
<script language="javascript">getset()</script>
|
||||
<script language="javascript">getset1()</script>
|
||||
<script language="javascript">
|
||||
var books = localStorage.getItem("historyBooks");
|
||||
var item = parseInt($("#bookIdHidden").val());
|
||||
if (books) {
|
||||
var booksArr = JSON.parse(books);
|
||||
if (booksArr.length >= 50) {
|
||||
booksArr.splice(0, 1);
|
||||
}
|
||||
booksArr.remove(item);
|
||||
booksArr[booksArr.length] = item;
|
||||
} else {
|
||||
var booksArr = [item];
|
||||
}
|
||||
|
||||
localStorage.setItem("historyBooks", JSON.stringify(booksArr));//
|
||||
|
||||
function toMyCollect() {
|
||||
var token = localStorage.getItem("token");
|
||||
if (token) {
|
||||
window.location.href = "/book/search?token=" + token;
|
||||
} else {
|
||||
window.location.href = "/user/login.html";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var isShowKey = "isShowKey";
|
||||
// 弹幕定时器
|
||||
var timers = [];
|
||||
// 控制弹幕显隐变量
|
||||
// 监听发送按钮
|
||||
$(".send").on("click", function () {
|
||||
var bullet = $("#screenBulletText").val();
|
||||
var contentId = $("#contentIdHidden").val();
|
||||
if (bullet && contentId) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/book/sendBullet",
|
||||
contentType: 'application/x-www-form-urlencoded;charset=utf-8',
|
||||
data: {contentId: contentId, bullet: bullet},
|
||||
dataType: "json",
|
||||
success: function (data) {
|
||||
console.log(data);
|
||||
var bullet = $("#screenBulletText").val("")
|
||||
},
|
||||
error: function (e) {
|
||||
console.log(e);
|
||||
layer.alert("发送失败");
|
||||
return;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
layer.alert("发送内容不能为空");
|
||||
return;
|
||||
}
|
||||
// 创建弹幕
|
||||
var jqueryDom = createScreenbullet(bullet);
|
||||
// 添加定时任务
|
||||
addInterval(jqueryDom);
|
||||
});
|
||||
// 监听关闭弹幕按钮
|
||||
$("[lay-skin='_switch']").click(function () {
|
||||
showOrHiddenBullet();
|
||||
});
|
||||
|
||||
function showOrHiddenBullet() {
|
||||
var isShow = eval(localStorage.getItem(isShowKey));//eval方法动态将参数运算成一个字符串,然后自动判断了字符串的类型,true被认为是boolean类型的变量.javascript的弱类型机制.通过eval运算可以动态获取运算后参数的类型.
|
||||
if (isShow) {
|
||||
$(".bullet").css("display", "none");
|
||||
$(".screen_toolbar").css("display", "none");
|
||||
$("[lay-skin='_switch']").removeClass("layui-form-onswitch");
|
||||
localStorage.setItem(isShowKey, false);
|
||||
$(".bullet").remove();
|
||||
setTimeout(function () {
|
||||
$(".bullet").remove();
|
||||
},1000)
|
||||
} else {
|
||||
$(".bullet").css("display", "block");
|
||||
$(".screen_toolbar").css("display", "block");
|
||||
$("[lay-skin='_switch']").addClass("layui-form-onswitch");
|
||||
localStorage.setItem(isShowKey, true);
|
||||
loadBullet();
|
||||
}
|
||||
}
|
||||
|
||||
// 新建一个弹幕
|
||||
function createScreenbullet(text) {
|
||||
var jqueryDom = $("<div class='bullet'>" + text + "</div>");
|
||||
var fontColor = "rgb(" + Math.floor(Math.random() * 256) + "," + Math.floor(Math.random() * 256) + "," + Math.floor(Math.random()) + ")";
|
||||
var fontSize = Math.floor((Math.random() + 1) * 18) + "px";
|
||||
var left = $(".screen_container").width() + "px";
|
||||
var windowHeight = $(window).height();
|
||||
var top = windowHeight/2 + Math.floor(Math.random() * (windowHeight/2-100));
|
||||
//top = parseInt(top) > windowHeight - 100 ? (windowHeight - 100) + "px" : top + "px";
|
||||
jqueryDom.css({
|
||||
"position": 'fixed',
|
||||
"color": fontColor,
|
||||
"font-size": fontSize,
|
||||
"left": left,
|
||||
"top": top
|
||||
});
|
||||
$(".screen_container").append(jqueryDom);
|
||||
return jqueryDom;
|
||||
}
|
||||
|
||||
// 为弹幕添加定时任务
|
||||
function addInterval(jqueryDom) {
|
||||
var left = jqueryDom.offset().left - $(".screen_container").offset().left;
|
||||
var timer = setInterval(function () {
|
||||
left--;
|
||||
jqueryDom.css("left", left + "px");
|
||||
if (jqueryDom.offset().left + jqueryDom.width() < $(".screen_container").offset().left) {
|
||||
jqueryDom.remove();
|
||||
clearInterval(timer);
|
||||
}
|
||||
}, 10);
|
||||
timers.push(timer);
|
||||
}
|
||||
|
||||
function loadBullet() {
|
||||
var contentId = $("#contentIdHidden").val();
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/book/queryBullet",
|
||||
contentType: 'application/x-www-form-urlencoded;charset=utf-8',
|
||||
data: {contentId: contentId},
|
||||
dataType: "json",
|
||||
success: function (data) {
|
||||
var lastCreateTime ;
|
||||
var currentCreateTime;
|
||||
|
||||
var i = 0;
|
||||
var sllepTime = 0;
|
||||
if(data.length>0){
|
||||
var schedule = setInterval(function () {
|
||||
if(!eval(localStorage.getItem(isShowKey))){
|
||||
clearInterval(schedule);
|
||||
}
|
||||
currentCreateTime = new Date(data[i].createTime).getTime();
|
||||
if(lastCreateTime && currentCreateTime-lastCreateTime>60000 && sllepTime <= 3000){
|
||||
if(sllepTime==3000) {
|
||||
lastCreateTime = currentCreateTime;
|
||||
}
|
||||
sllepTime+=3000;
|
||||
}else{
|
||||
sllepTime = 0;
|
||||
var bullet = data[i].screenBullet;
|
||||
// 创建弹幕
|
||||
var jqueryDom = createScreenbullet(bullet);
|
||||
// 添加定时任务
|
||||
addInterval(jqueryDom);
|
||||
i++;
|
||||
lastCreateTime = currentCreateTime;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}, 1000);
|
||||
}
|
||||
console.log(data);
|
||||
},
|
||||
error: function (e) {
|
||||
console.log(e);
|
||||
layer.alert("加载弹幕失败");
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
$(function () {
|
||||
var isShow = eval(localStorage.getItem(isShowKey));
|
||||
if(isShow == undefined){
|
||||
isShow = true;//第一次使用,默认开启屏幕
|
||||
layer.open({
|
||||
content: '是否需要关闭小说弹幕,之后可通过右下角开关打开!'
|
||||
,btn: ['是', '否']
|
||||
,btn1: function(index, layero){
|
||||
showOrHiddenBullet();
|
||||
layer.close(index);
|
||||
}
|
||||
,btn2: function(index, layero){
|
||||
//按钮【按钮二】的回调
|
||||
|
||||
//return false 开启该代码可禁止点击该按钮关闭
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
localStorage.setItem(isShowKey, !isShow);
|
||||
showOrHiddenBullet();
|
||||
|
||||
|
||||
});
|
||||
|
||||
function sleep(n) {
|
||||
|
||||
var start = new Date().getTime();
|
||||
|
||||
while(true) if(new Date().getTime()-start > n) break;
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
</html>
|
||||
375
src/main/resources/templates/books/book_detail.html
Normal file
375
src/main/resources/templates/books/book_detail.html
Normal file
@@ -0,0 +1,375 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title th:text="${book.bookName}+'小说最新章节免费阅读和下载'"></title>
|
||||
<meta name="keywords" th:attr="content=${book.bookName}+','+${book.bookName}+'最新章节,'+${book.bookName}+'免费阅读,'+${book.bookName}+'TXT下载'">
|
||||
<meta name="description"
|
||||
th:attr="content=${book.bookName}+'最新章节列表,'+${book.bookName}+'最新更新章节免费无广告无弹窗在线阅读,'+${book.bookName}+'小说TXT免费下载'">
|
||||
|
||||
<meta property="og:type" content="novel"/>
|
||||
<meta property="og:title" th:attr="content=${book.bookName}+'小说最新章节免费阅读和下载'"/>
|
||||
<meta property="og:description" th:attr="content=${book.bookDesc}"/>
|
||||
<meta property="og:image" th:attr="content=${book.picUrl}"/>
|
||||
<meta property="og:novel:category" th:attr="content=${book.cateName}"/>
|
||||
<meta property="og:novel:author" th:attr="content=${book.author}"/>
|
||||
<meta property="og:novel:book_name" th:attr="content=${book.bookName}"/>
|
||||
<meta property="og:novel:read_url" th:attr="content='https://www.zinglizingli.xyz/book/'+${book.id}+'.html'"/>
|
||||
<meta property="og:url" th:attr="content='https://www.zinglizingli.xyz/book/'+${book.id}+'.html'"/>
|
||||
<meta property="og:novel:status" th:attr="content=${book.bookStatus}"/>
|
||||
<meta property="og:novel:update_time" th:attr="content=${#dates.format(book.updateTime, 'yy-MM-dd')}"/>
|
||||
<meta property="og:novel:latest_chapter_name" th:attr="content=${lastIndexName}"/>
|
||||
<meta property="og:novel:latest_chapter_url" th:attr="content='https://www.zinglizingli.xyz/book/'+${bookId}+'/'+${lastIndexNum}+'.html'"/>
|
||||
|
||||
|
||||
|
||||
|
||||
<div th:include="common/css :: css"></div>
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
.indexP p a{
|
||||
color:#4c6978;
|
||||
}
|
||||
|
||||
.tag-list {
|
||||
padding-top: 0px;
|
||||
padding-bottom: 20px;
|
||||
position: fixed;
|
||||
top:50px;
|
||||
right: 0px;
|
||||
width: 120px;
|
||||
z-index:100000;
|
||||
}
|
||||
|
||||
.tag-list .tag {
|
||||
float: right;
|
||||
width: 100%;
|
||||
text-align: right;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.tag-list .tag a {
|
||||
display: inline-block;
|
||||
margin-right: 8px;
|
||||
font-size: 12px;
|
||||
}
|
||||
.tag-list .highlight {
|
||||
padding: 5px 9px;
|
||||
border: 1px solid #f90;
|
||||
color: #f90;
|
||||
border-radius: 50px;
|
||||
}
|
||||
|
||||
.tag-list .highlight .text {
|
||||
color: #f90;
|
||||
}
|
||||
.tag-list .tag .text {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
color: #f90;
|
||||
}
|
||||
|
||||
ul, li {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.tag-list .tag a {
|
||||
display: inline-block;
|
||||
margin-right: 8px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.tag-list .highlight .icn {
|
||||
color: #f90;
|
||||
}
|
||||
.tag-list .tag .icn {
|
||||
margin-right: 5px;
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.tag-list .highlight .text {
|
||||
padding-left: 3px;
|
||||
color: #f90;
|
||||
}
|
||||
.tag-list .tag .text {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
color: #f90;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<script>
|
||||
var _hmt = _hmt || [];
|
||||
(function() {
|
||||
var hm = document.createElement("script");
|
||||
hm.src = "https://hm.baidu.com/hm.js?2cf01edbc2b27cd3a143e17948167d77";
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(hm, s);
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
(function(){
|
||||
var bp = document.createElement('script');
|
||||
var curProtocol = window.location.protocol.split(':')[0];
|
||||
if (curProtocol === 'https') {
|
||||
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
|
||||
}
|
||||
else {
|
||||
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
|
||||
}
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(bp, s);
|
||||
})();
|
||||
</script>
|
||||
<script src="/js/wap_collect.js"></script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<ul class="tag-list clearfix" id="tagLi">
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<input type="hidden" id="bookIdHidden" th:value="${bookId}"/>
|
||||
<input type="hidden" id="bookTagHidden" th:value="${book.softTag}"/>
|
||||
<input type="hidden" id="bookNamedHidden" th:value="${book.bookName}"/>
|
||||
|
||||
<div style="height: 50px;line-height: 50px;text-align: center" class="layui-header header header-doc layui-bg-cyan">
|
||||
|
||||
<div style="float: left;margin-left: 10px">
|
||||
<a href="javascript:history.go(-1)">
|
||||
<i style="font-size: 20px;color: #92B8B1;" class="layui-icon"></i></a>
|
||||
</div>
|
||||
<b class="layui-icon" th:text="${book.bookName}"></b>
|
||||
<div style="float: right;margin-right: 10px">
|
||||
<a href="/"><i style="font-size: 20px;color: #92B8B1;" class="layui-icon"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-row" style="background: #f2f2f2">
|
||||
<div style="padding: 10px" class="layui-col-xs4 layui-col-sm2 layui-col-md2 layui-col-lg2">
|
||||
<img style=" width:auto; height:auto; max-width:100%; max-height:100%;" th:src="${book.picUrl}"/>
|
||||
|
||||
</div>
|
||||
<div style="position:relative;padding: 10px 20px" class="layui-col-xs8 layui-col-sm8 layui-col-md8 layui-col-lg8">
|
||||
<a th:href="'/book/search?keyword='+ ${book.author}"><div style=";color: #4c6978;" th:text="'作者:'+ ${book.author}"></div></a>
|
||||
<a th:href="'/book/search?catId='+${book.catid}"><div style="margin-top: 5px;color: #4c6978;" th:text="'类别:'+ ${book.cateName}"></div></a>
|
||||
<div style="margin-top: 5px;color: #4c6978;" th:text="'状态:'+ ${book.bookStatus}"></div>
|
||||
<div style="margin-top: 5px;color: #4c6978;">更新:<i th:text="${#dates.format(book.updateTime, 'yy-MM-dd')}"></i></div>
|
||||
<div style="margin-top: 5px;color: #4c6978;">评分:<i style="font-weight:bold;color: red" th:text="${book.score} + '分'"></i></div>
|
||||
<div style="margin-top: 5px;color: #4c6978;">点击:<i style="font-weight:bold;color: red" th:text="${book.visitCount}"></i></div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div style="text-align: center;height: 45px;line-height: 45px">
|
||||
<a th:href="'/book/'+${book.id}+'/'+${minIndexNum}+'.html'" type="button" class="layui-btn layui-btn-sm layui-btn-radius">开始阅读</a>
|
||||
<button type="button" id="collectButton" class="layui-btn layui-btn-sm layui-btn-radius layui-btn-warm">加入书架</button>
|
||||
|
||||
<button type="button" onclick="toMyCollect()" class="layui-btn layui-btn-sm layui-btn-radius layui-bg-cyan">我的书架</button>
|
||||
<button type="button" onclick="downloadFile()" class="layui-btn layui-btn-sm layui-btn-radius layui-bg-normal">下载TXT</button>
|
||||
</div>
|
||||
<p style="line-height: 23px;padding: 10px;font-size: 14px;color: #4c6978;" th:utext="${book.bookDesc}">
|
||||
|
||||
</p>
|
||||
|
||||
<div class="layui-collapse">
|
||||
<div class="layui-colla-item" >
|
||||
<h2 class="layui-colla-title">
|
||||
<span>最新章节</span>
|
||||
<span style="margin-left: 30px">
|
||||
更新: <i th:text="${#dates.format(book.updateTime, 'yy-MM-dd HH:mm:ss')}"></i>
|
||||
</span>
|
||||
</h2>
|
||||
<div class="layui-colla-content layui-show indexP">
|
||||
|
||||
|
||||
<p style="height: 30px;line-height: 30px;padding: 10px" th:each="index : ${indexList}"><a th:href="'/book/'+${index.bookId}+'/'+${index.indexNum}+'.html'" th:text="${index.indexName}"></a></p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="height: 42px;color:#4c6978;line-height: 42px;padding-left: 30px;background: #f2f2f2" >
|
||||
|
||||
<a th:href="'/book/'+${book.id}+'/index.html'">查看完整目录</a>
|
||||
</div>
|
||||
|
||||
<div th:replace="common/footer :: footer">
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</body>
|
||||
<div th:replace="common/js :: js">
|
||||
</div>
|
||||
<script>
|
||||
|
||||
function downloadFile() {
|
||||
var fileUrl = 'http://www.zinglizingli.xyz:8080/book/download?bookId='+$("#bookIdHidden").val()+'&bookName='+$("#bookNamedHidden").val();
|
||||
window.location.href=fileUrl;
|
||||
|
||||
|
||||
}
|
||||
|
||||
$(window).unload(function(){
|
||||
var token = localStorage.getItem("token");
|
||||
if(token) {
|
||||
|
||||
$.get("/user/isCollect", {"bookId": $("#bookIdHidden").val(), "token": token}, function (data) {
|
||||
|
||||
if (data.code == 1) {
|
||||
$("#collectButton").text("撤下书架");
|
||||
$('#collectButton').unbind("click");
|
||||
$("#collectButton").click(function () {
|
||||
cancelToCollect();
|
||||
});
|
||||
|
||||
} else if (data.code == 2) {
|
||||
$('#collectButton').unbind("click");
|
||||
$("#collectButton").text("加入书架");
|
||||
$("#collectButton").click(function () {
|
||||
addToCollect();
|
||||
});
|
||||
} else {
|
||||
$('#collectButton').unbind("click");
|
||||
$("#collectButton").text("加入书架");
|
||||
$("#collectButton").click(function () {
|
||||
window.location.href = "/user/login.html?bookId=" + $("#bookIdHidden").val();
|
||||
});
|
||||
}
|
||||
});
|
||||
}else{
|
||||
$('#collectButton').unbind("click");
|
||||
$("#collectButton").text("加入书架");
|
||||
$("#collectButton").click(function () {
|
||||
window.location.href = "/user/login.html?bookId="+$("#bookIdHidden").val();
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$(function () {
|
||||
var token = localStorage.getItem("token");
|
||||
if(token) {
|
||||
|
||||
$.get("/user/isCollect", {"bookId": $("#bookIdHidden").val(), "token": token}, function (data) {
|
||||
|
||||
if (data.code == 1) {
|
||||
$("#collectButton").text("撤下书架");
|
||||
$('#collectButton').unbind("click");
|
||||
$("#collectButton").click(function () {
|
||||
cancelToCollect();
|
||||
});
|
||||
|
||||
} else if (data.code == 2) {
|
||||
$('#collectButton').unbind("click");
|
||||
$("#collectButton").text("加入书架");
|
||||
$("#collectButton").click(function () {
|
||||
addToCollect();
|
||||
});
|
||||
} else {
|
||||
$('#collectButton').unbind("click");
|
||||
$("#collectButton").text("加入书架");
|
||||
$("#collectButton").click(function () {
|
||||
window.location.href = "/user/login.html?bookId=" + $("#bookIdHidden").val();
|
||||
});
|
||||
}
|
||||
});
|
||||
}else{
|
||||
$('#collectButton').unbind("click");
|
||||
$("#collectButton").text("加入书架");
|
||||
$("#collectButton").click(function () {
|
||||
window.location.href = "/user/login.html?bookId="+$("#bookIdHidden").val();
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
var bookTag = $("#bookTagHidden").val();
|
||||
if(bookTag){
|
||||
bookTag=bookTag.split(",");
|
||||
var innerHtml = "";
|
||||
for(var i=0; i< bookTag.length;i++){
|
||||
var tag = bookTag[i];
|
||||
innerHtml+=("<li class=\"tag\">\n" +
|
||||
" <a href=\"/book/searchSoftBook.html?softTag="+encodeURI(tag)+"\" class=\"highlight\"><span class=\"layui-icon\"></span><span class=\"text\">"+tag+"</span></a>\n" +
|
||||
" </li>");
|
||||
}
|
||||
|
||||
$("#tagLi").html(innerHtml);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
$.get("/book/addVisit",{"bookId":$("#bookIdHidden").val()},function(){});
|
||||
|
||||
function toMyCollect(){
|
||||
var token = localStorage.getItem("token");
|
||||
if(token) {
|
||||
window.location.href = "/book/search?token=" + token;
|
||||
}else{
|
||||
window.location.href = "/user/login.html";
|
||||
}
|
||||
}
|
||||
|
||||
function addToCollect(){
|
||||
var token = localStorage.getItem("token");
|
||||
|
||||
if(token) {
|
||||
$.get("/user/addToCollect",{"bookId":$("#bookIdHidden").val(),"token":token},function(data){
|
||||
layer.alert(data.desc);
|
||||
if(data.code == 1) {
|
||||
$('#collectButton').unbind("click");
|
||||
$("#collectButton").text("撤下书架");
|
||||
$("#collectButton").click(function () {
|
||||
cancelToCollect();
|
||||
});
|
||||
}
|
||||
});
|
||||
}else{
|
||||
window.location.href = "/user/login.html?bookId="+$("#bookIdHidden").val();
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
function cancelToCollect(){
|
||||
var token = localStorage.getItem("token");
|
||||
|
||||
if(token) {
|
||||
$.get("/user/cancelToCollect",{"bookId":$("#bookIdHidden").val(),"token":token},function(data){
|
||||
layer.alert(data.desc);
|
||||
if(data.code == 1) {
|
||||
$('#collectButton').unbind("click");
|
||||
$("#collectButton").text("加入书架");
|
||||
$("#collectButton").click(function () {
|
||||
addToCollect();
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
}else{
|
||||
window.location.href = "/user/login.html?bookId="+$("#bookIdHidden").val();
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
</html>
|
||||
103
src/main/resources/templates/books/book_index.html
Normal file
103
src/main/resources/templates/books/book_index.html
Normal file
@@ -0,0 +1,103 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title th:text="${bookName}+'最新免费章节目录列表'"></title>
|
||||
<meta name="keywords" th:attr="content=${bookName}+','+${bookName}+'最新章节'">
|
||||
<meta name="description"
|
||||
th:attr="content=${bookName}+'最新章节列表,'+${bookName}+'最新更新章节免费无广告无弹窗在线阅读TXT下载'">
|
||||
|
||||
<meta property="og:type" content="novel_chapter"/>
|
||||
<meta property="og:title" th:attr="content=${bookName}+'最新免费章节目录列表'"/>
|
||||
<meta property="og:description" th:attr="content=${bookName}+'最新章节列表,'+${bookName}+'最新更新章节免费无广告无弹窗在线阅读TXT下载'"/>
|
||||
|
||||
</div>
|
||||
|
||||
<div th:include="common/css :: css"></div>
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
.indexP p a {
|
||||
color: #4c6978;
|
||||
}
|
||||
</style>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
var _hmt = _hmt || [];
|
||||
(function() {
|
||||
var hm = document.createElement("script");
|
||||
hm.src = "https://hm.baidu.com/hm.js?2cf01edbc2b27cd3a143e17948167d77";
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(hm, s);
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
(function(){
|
||||
var bp = document.createElement('script');
|
||||
var curProtocol = window.location.protocol.split(':')[0];
|
||||
if (curProtocol === 'https') {
|
||||
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
|
||||
}
|
||||
else {
|
||||
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
|
||||
}
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(bp, s);
|
||||
})();
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<input type="hidden" id="bookIdHidden" th:value="${bookId}"/>
|
||||
<div style="height: 50px;line-height: 50px;text-align: center" class="layui-header header header-doc layui-bg-cyan">
|
||||
|
||||
<div style="float: left;margin-left: 10px">
|
||||
<a href="javascript:history.go(-1)">
|
||||
<i style="font-size: 20px;color: #92B8B1;" class="layui-icon"></i></a>
|
||||
</div>
|
||||
<a style="color: #ffffff;" th:href="'/book/'+ ${bookId} + '.html'"><b class="layui-icon" th:text="${bookName}"></b></a>
|
||||
<div style="float: right;margin-right: 10px">
|
||||
<a href="/"><i style="font-size: 20px;color: #92B8B1;" class="layui-icon"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<p style="height: 30px;line-height: 30px;padding: 10px">
|
||||
|
||||
<a href="#buttom" style="color: red">↓直达页面底部</a>
|
||||
</p>
|
||||
|
||||
<p style="height: 30px;line-height: 30px;padding: 10px" th:each="index : ${indexList}">
|
||||
<a th:href="'/book/'+${index.bookId}+'/'+${index.indexNum}+'.html'" th:text="${index.indexName}">
|
||||
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<div th:replace="common/footer :: footer">
|
||||
</div>
|
||||
|
||||
<a name="buttom"></a>
|
||||
</body>
|
||||
<div th:replace="common/js :: js">
|
||||
</div>
|
||||
<script>
|
||||
$.get("/book/addVisit",{"bookId":$("#bookIdHidden").val()},function(){});
|
||||
function toMyCollect(){
|
||||
var token = localStorage.getItem("token");
|
||||
if(token) {
|
||||
window.location.href = "/book/search?token=" + token;
|
||||
}else{
|
||||
window.location.href = "/user/login.html";
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
</html>
|
||||
260
src/main/resources/templates/books/book_search.html
Normal file
260
src/main/resources/templates/books/book_search.html
Normal file
@@ -0,0 +1,260 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>精品小说楼_小说列表</title>
|
||||
|
||||
<meta name="description"
|
||||
content="精品小说楼致力于打造小说最全,更新最快、无弹窗、无广告的在线小说阅读网,本站收录了当前最火热的网络小说,提供无广告、高质量内容的小说阅读和TXT小说下载服务,是广大网友最喜欢的温馨小说站。">
|
||||
<meta name="keywords" content="精品小说楼,精品小说,弹幕网站,弹幕,弹幕小说网站,免费小说,小说阅读,小说排行,轻小说,txt小说下载,电子书下载,动漫轻小说,日本轻小说">
|
||||
|
||||
<div th:include="common/css :: css"></div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
var _hmt = _hmt || [];
|
||||
(function () {
|
||||
var hm = document.createElement("script");
|
||||
hm.src = "https://hm.baidu.com/hm.js?2cf01edbc2b27cd3a143e17948167d77";
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(hm, s);
|
||||
})();
|
||||
</script>
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
.line-limit-length {
|
||||
|
||||
overflow: hidden;
|
||||
|
||||
text-overflow: ellipsis;
|
||||
|
||||
white-space: nowrap;
|
||||
|
||||
}
|
||||
|
||||
.indexP p a {
|
||||
color: #4c6978;
|
||||
}
|
||||
|
||||
.Readarea {
|
||||
font-size: 18px;
|
||||
line-height: 35px;
|
||||
padding: 10px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
div, p {
|
||||
wrap-work: break-word;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
}
|
||||
|
||||
.indexDiv a {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
img {
|
||||
width: 147px;
|
||||
height: 197px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<input type="hidden" id="limit" th:value="${limit}"/>
|
||||
<input type="hidden" id="curr" th:value="${curr}"/>
|
||||
<input type="hidden" id="total" th:value="${total}"/>
|
||||
<input type="hidden" id="ids" th:value="${ids}"/>
|
||||
<input type="hidden" id="bookStatus" th:value="${bookStatus}"/>
|
||||
<input type="hidden" id="token" th:value="${token}"/>
|
||||
<input type="hidden" id="keyword" th:value="${keyword}"/>
|
||||
<input type="hidden" id="catId" th:value="${catId}"/>
|
||||
<input type="hidden" id="sortBy" th:value="${sortBy}"/>
|
||||
<input type="hidden" id="sort" th:value="${sort}"/>
|
||||
|
||||
<div style="height: 50px;line-height: 50px;text-align: center" class="layui-header header header-doc layui-bg-cyan">
|
||||
|
||||
<div style="float: left;margin-left: 10px">
|
||||
<a href="javascript:history.go(-1)">
|
||||
<i style="font-size: 20px;color: #92B8B1;" class="layui-icon"></i></a>
|
||||
</div>
|
||||
<b class="layui-icon" th:text="${titleType}"></b>
|
||||
<div style="float: right;margin-right: 10px">
|
||||
<a href="/"><i style="font-size: 20px;color: #92B8B1;" class="layui-icon"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-container">
|
||||
<div class="layui-row">
|
||||
|
||||
<div class="layui-col-xs10 layui-col-sm10 layui-col-md11 layui-col-lg11" style="padding-top:1%">
|
||||
<input id="title" type="text" name="title" required lay-verify="required" placeholder="请输入书名·作者"
|
||||
autocomplete="off"
|
||||
class="layui-input" th:value="${keyword}">
|
||||
</div>
|
||||
<div class="layui-col-xs1" style="padding: 1%">
|
||||
<button onclick="searchBooks()" class="layui-btn" lay-submit lay-filter="formDemo">搜索</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div th:each="book : ${books}" class="layui-row" style="margin-bottom:10px;padding:10px;background: #f2f2f2">
|
||||
<a th:href="'/book/'+ ${book.id} + '.html'">
|
||||
<div class="layui-col-xs6 layui-col-sm3 layui-col-md2 layui-col-lg2" style="text-align: center">
|
||||
<img align="center"
|
||||
th:src="${book.picUrl}"/>
|
||||
</div>
|
||||
</a>
|
||||
<div style="padding: 20px" class="layui-col-xs6 layui-col-sm8 layui-col-md8 layui-col-lg8">
|
||||
<a th:href="'/book/'+ ${book.id} + '.html'">
|
||||
<div class="line-limit-length" style=";color: #4c6978;font-weight: bold;font-size: 16px"
|
||||
th:text="${book.bookName}"></div>
|
||||
</a>
|
||||
<div style=";color: #4c6978;float: right;"><i style="color: red" th:text="${book.score} + '分'"></i></div>
|
||||
<a th:href="'/book/search?keyword='+ ${book.author}">
|
||||
<div style=";color: #4c6978;" class="line-limit-length" th:text="'作者:'+ ${book.author}"></div>
|
||||
</a>
|
||||
<div style="margin-top: 5px;color: #4c6978;" th:text="'类别:'+ ${book.cateName}"></div>
|
||||
<div style="margin-top: 5px;color: #4c6978;" th:text="'状态:'+ ${book.bookStatus}"></div>
|
||||
<div style="margin-top: 5px;color: #4c6978;">更新:<i th:text="${#dates.format(book.updateTime, 'yy-MM-dd')}"></i>
|
||||
</div>
|
||||
<div class="layui-collapse" style="margin-top: 5px;">
|
||||
<div class="layui-colla-item">
|
||||
<h2 style="color: #4c6978;" class="layui-colla-title">简介:</h2>
|
||||
<div style="color: #4c6978;" class="layui-colla-content" th:utext="${book.bookDesc}">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div id="books" style="text-align: center"></div>
|
||||
|
||||
|
||||
<div th:replace="common/footer :: footer">
|
||||
</div>
|
||||
|
||||
<a name="buttom"></a>
|
||||
</body>
|
||||
|
||||
<div th:replace="common/js :: js"></div>
|
||||
|
||||
<script>
|
||||
layui.use('laypage', function () {
|
||||
var laypage = layui.laypage;
|
||||
|
||||
//执行一个laypage实例
|
||||
laypage.render({
|
||||
elem: 'books' //注意,这里的 test1 是 ID,不用加 # 号
|
||||
, count: $("#total").val() //数据总数,从服务端得到,
|
||||
, curr: $("#curr").val()
|
||||
, limit: $("#limit").val()
|
||||
, jump: function (obj, first) {
|
||||
|
||||
|
||||
//obj包含了当前分页的所有参数,比如:
|
||||
console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
|
||||
console.log(obj.limit); //得到每页显示的条数
|
||||
|
||||
|
||||
//首次不执行
|
||||
if (!first) {
|
||||
searchByAllCondition(obj.curr,obj.limit);
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function searchByAllCondition(curr,limit,newKeyword){
|
||||
var toUrl = "/book/search?curr=" + curr + "&limit=" + limit;
|
||||
var ids = $("#ids").val();
|
||||
if(ids){
|
||||
toUrl += ("&historyBookIds=" + ids);
|
||||
}
|
||||
var token = $("#token").val();
|
||||
if(token){
|
||||
toUrl += ("&token=" + token);
|
||||
}
|
||||
var keyword = $("#keyword").val();
|
||||
if(newKeyword){
|
||||
toUrl += encodeURI("&keyword=" + newKeyword);
|
||||
}else if (keyword) {
|
||||
toUrl += encodeURI("&keyword=" + keyword);
|
||||
}
|
||||
var bookStatus = $("#bookStatus").val();
|
||||
if(bookStatus){
|
||||
toUrl += ("&bookStatus=" + bookStatus);
|
||||
}
|
||||
var catId = $("#catId").val();
|
||||
if (catId) {
|
||||
toUrl += ("&catId=" + catId);
|
||||
}
|
||||
|
||||
var sortBy = $("#sortBy").val();
|
||||
if (sortBy) {
|
||||
toUrl += ("&sortBy=" + sortBy);
|
||||
}
|
||||
|
||||
var sort = $("#sort").val();
|
||||
if (sort) {
|
||||
toUrl += ("&sort=" + sort);
|
||||
}
|
||||
|
||||
window.location.href = toUrl;
|
||||
}
|
||||
|
||||
function searchBooks() {
|
||||
var keywords = $("#title").val();
|
||||
$("#keyword").val("");
|
||||
searchByAllCondition(1,20,keywords);
|
||||
}
|
||||
|
||||
</script>
|
||||
<script>
|
||||
(function(){
|
||||
var bp = document.createElement('script');
|
||||
var curProtocol = window.location.protocol.split(':')[0];
|
||||
if (curProtocol === 'https') {
|
||||
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
|
||||
}
|
||||
else {
|
||||
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
|
||||
}
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(bp, s);
|
||||
})();
|
||||
|
||||
|
||||
function toMyCollect(){
|
||||
var token = localStorage.getItem("token");
|
||||
if(token) {
|
||||
window.location.href = "/book/search?token=" + token;
|
||||
}else{
|
||||
window.location.href = "/user/login.html";
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
</html>
|
||||
297
src/main/resources/templates/books/index.html
Normal file
297
src/main/resources/templates/books/index.html
Normal file
@@ -0,0 +1,297 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
|
||||
<title>精品小说楼</title>
|
||||
|
||||
<meta name="keywords" content="精品小说楼,精品小说,弹幕网站,弹幕,弹幕小说网站,免费小说,小说阅读,小说排行,轻小说,txt小说下载,电子书下载,动漫轻小说,日本轻小说">
|
||||
|
||||
<meta name="description"
|
||||
content="精品小说楼是国内优秀的小说弹幕网站,精品小说楼提供海量热门网络小说,日本轻小说,国产轻小说,动漫小说,轻小说在线阅读和TXT小说下载,致力于网络精品小说的收集,智能计算小说评分,打造小说精品排行榜,致力于无广告无弹窗的小说阅读环境。">
|
||||
|
||||
<meta property="og:type" content="novel_index"/>
|
||||
<meta property="og:title" content="精品小说楼"/>
|
||||
<meta property="og:description"
|
||||
content="精品小说楼是国内优秀的小说弹幕网站,精品小说楼提供海量热门网络小说,日本轻小说,国产轻小说,动漫小说,轻小说在线阅读和TXT小说下载,致力于网络精品小说的收集,智能计算小说评分,打造小说精品排行榜,致力于无广告无弹窗的小说阅读环境。"/>
|
||||
|
||||
<div th:include="common/css :: css"></div>
|
||||
|
||||
<style>
|
||||
|
||||
.line-limit-length {
|
||||
|
||||
overflow: hidden;
|
||||
|
||||
text-overflow: ellipsis;
|
||||
|
||||
white-space: nowrap;
|
||||
|
||||
}
|
||||
|
||||
.layui-nav .layui-nav-item {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
line-height: 50px;
|
||||
}
|
||||
|
||||
body ul.layui-nav li.layui-nav-item a {
|
||||
display: block;
|
||||
transition: all .3s;
|
||||
-webkit-transition: all .3s;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<script>
|
||||
var _hmt = _hmt || [];
|
||||
(function () {
|
||||
var hm = document.createElement("script");
|
||||
hm.src = "https://hm.baidu.com/hm.js?2cf01edbc2b27cd3a143e17948167d77";
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(hm, s);
|
||||
})();
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<!-- 你的HTML代码 -->
|
||||
<a name="top"></a>
|
||||
<ul class="layui-nav" lay-filter="" style="padding:0 36px;text-align: center">
|
||||
<li class="layui-nav-item"><a href="/book/search?catId=1">玄幻小说</a></li>
|
||||
<li class="layui-nav-item"><a href="/book/search?catId=2">修真小说</a></li>
|
||||
<li class="layui-nav-item"><a href="/book/search?catId=3">都市小说</a></li>
|
||||
<li class="layui-nav-item"><a href="/book/search?catId=4">历史小说</a></li>
|
||||
<li class="layui-nav-item"><a href="/book/search?catId=6">网游小说</a></li>
|
||||
<li class="layui-nav-item"><a href="/book/search?catId=5">科幻小说</a></li>
|
||||
<li class="layui-nav-item"><a href="/book/search?catId=7">女频小说</a></li>
|
||||
<li class="layui-nav-item"><a>完本小说</a>
|
||||
<dl class="layui-nav-child"> <!-- 二级菜单 -->
|
||||
<dd><a href="/book/search?bookStatus=完成">全部小说</a></dd>
|
||||
<dd><a href="/book/search?bookStatus=完成&catId=1">玄幻小说</a></dd>
|
||||
<dd><a href="/book/search?bookStatus=完成&catId=2">修真小说</a></dd>
|
||||
<dd><a href="/book/search?bookStatus=完成&catId=3">都市小说</a></dd>
|
||||
<dd><a href="/book/search?bookStatus=完成&catId=4">历史小说</a></dd>
|
||||
<dd><a href="/book/search?bookStatus=完成&catId=6">网游小说</a></dd>
|
||||
<dd><a href="/book/search?bookStatus=完成&catId=5">科幻小说</a></dd>
|
||||
<dd><a href="/book/search?bookStatus=完成&catId=7">女频小说</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li class="layui-nav-item"><a>小说排行</a>
|
||||
<dl class="layui-nav-child"> <!-- 二级菜单 -->
|
||||
<dd><a href="/book/search?sortBy=score">全部小说</a></dd>
|
||||
<dd><a href="/book/search?sortBy=score&catId=1">玄幻小说</a></dd>
|
||||
<dd><a href="/book/search?sortBy=score&catId=2">修真小说</a></dd>
|
||||
<dd><a href="/book/search?sortBy=score&catId=3">都市小说</a></dd>
|
||||
<dd><a href="/book/search?sortBy=score&catId=4">历史小说</a></dd>
|
||||
<dd><a href="/book/search?sortBy=score&catId=6">网游小说</a></dd>
|
||||
<dd><a href="/book/search?sortBy=score&catId=5">科幻小说</a></dd>
|
||||
<dd><a href="/book/search?sortBy=score&catId=7">女频小说</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
<div class="layui-container">
|
||||
<div class="layui-row">
|
||||
|
||||
<div class="layui-col-xs10 layui-col-sm10 layui-col-md11 layui-col-lg11" style="padding-top:1%">
|
||||
<input id="title" type="text" name="title" required lay-verify="required" placeholder="请输入书名·作者"
|
||||
autocomplete="off"
|
||||
class="layui-input">
|
||||
</div>
|
||||
<div class="layui-col-xs1" style="padding: 1%">
|
||||
<button onclick="searchBooks()" class="layui-btn" lay-submit lay-filter="formDemo">搜索</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="layui-collapse">
|
||||
<div class="layui-colla-item">
|
||||
<h2 class="layui-colla-title">本站推荐</h2>
|
||||
<div class="layui-colla-content layui-show">
|
||||
|
||||
|
||||
<div class="layui-container" style="padding: 0px">
|
||||
|
||||
<div class="layui-row" style="text-align: center">
|
||||
<a href="/book/466.html">
|
||||
<div style="padding: 1%" class="layui-col-xs4 layui-col-sm4 layui-col-md4 layui-col-lg4">
|
||||
<img style=" width:80%; height:auto; max-width:100%; max-height:100%;"
|
||||
src="https://www.biquta.com//BookFiles/BookImages/106708.jpg"/>
|
||||
<br/>
|
||||
黎明之剑
|
||||
</div>
|
||||
</a>
|
||||
<a href="/book/482.html">
|
||||
<div style="padding: 1%" class="layui-col-xs4 layui-col-sm4 layui-col-md4 layui-col-lg4">
|
||||
<img style=" width:80%; height:auto; max-width:100%; max-height:100%;"
|
||||
src="https://www.biquta.com//BookFiles/BookImages/111346.jpg"/>
|
||||
<br/>
|
||||
诸天投影
|
||||
</div>
|
||||
</a>
|
||||
<a href="/book/349.html">
|
||||
<div style="padding: 1%" class="layui-col-xs4 layui-col-sm4 layui-col-md4 layui-col-lg4">
|
||||
<img style=" width:80%; height:auto; max-width:100%; max-height:100%;"
|
||||
src="https://www.biquta.com//BookFiles/BookImages/122158.jpg"/>
|
||||
<br/>
|
||||
我有一座恐怖屋
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-colla-item">
|
||||
<h2 class="layui-colla-title">热门小说推荐</h2>
|
||||
<div class="layui-colla-content layui-show">
|
||||
|
||||
<div class="layui-container">
|
||||
<div class="layui-row">
|
||||
<div style="margin-bottom: 5px" class="layui-col-xs12 layui-col-sm6 layui-col-md4 layui-col-lg4"
|
||||
th:each="hotBook : ${hotBooks}">
|
||||
<a th:href="'/book/' + ${hotBook.id} + '.html'">
|
||||
<div class="layui-col-xs5 layui-col-sm4 layui-col-md4 layui-col-lg4">
|
||||
<img style=" width:100px; height:125px;"
|
||||
th:src="${hotBook.picUrl}"/>
|
||||
</div>
|
||||
<div class="layui-col-xs5 layui-col-sm6 layui-col-md6 layui-col-lg6">
|
||||
<ul>
|
||||
<li class="line-limit-length" style="font-weight: bold"
|
||||
th:text="${hotBook.bookName}"></li>
|
||||
<li th:text="'作者:'+ ${hotBook.author}"></li>
|
||||
<li style="width: 180px;height:40px;overflow: hidden"
|
||||
th:text="'简介:'+ ${hotBook.bookDesc}"></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div style="font-style: italic;color: red"
|
||||
class="layui-col-xs2 layui-col-sm2 layui-col-md2 layui-col-lg2"
|
||||
th:text="${hotBook.score} + '分'"></div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!--<div th:each="hotBook : ${hotBooks}" style="margin-top: 1%"
|
||||
class="layui-col-xs12 layui-col-sm6 layui-col-md6 layui-col-lg6">
|
||||
<a th:href="'/book/'+${hotBook.id}+'.html'">
|
||||
<div class="layui-col-xs5 layui-col-sm3 layui-col-md3 layui-col-lg3">
|
||||
<img style=" width:100px; height:125px;"
|
||||
th:src="${hotBook.picUrl}"/>
|
||||
</div>
|
||||
|
||||
<div class="layui-col-xs7 layui-col-sm6 layui-col-md7 layui-col-lg7"
|
||||
style="float: left;padding-right: 10px">
|
||||
<div><b th:text="${hotBook.bookName}"></b></div>
|
||||
<div class="layui-col-xs8 layui-col-sm9 layui-col-md10 layui-col-lg10"
|
||||
th:text="'作者:'+ ${hotBook.author}"></div>
|
||||
<div class="layui-col-xs3 layui-col-sm2 layui-col-md1 layui-col-lg1" style="text-align: right;">
|
||||
<b><i style="color: red"
|
||||
th:text="${hotBook.score} + '分'"></i></b></div>
|
||||
</div>
|
||||
<div class="layui-elip layui-col-xs12 layui-col-sm9 layui-col-md10 layui-col-lg10 layui-col-sm9 layui-col-md10 layui-col-lg10"
|
||||
th:text="${hotBook.bookDesc}">
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</a>
|
||||
</div>-->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-colla-item"><a href="javascript:moreNewBooks()">
|
||||
<h2 class="layui-colla-title">最近更新小说
|
||||
<div style="float: right; margin-right: 20px"><i style="font-size: 14px;"
|
||||
class="layui-icon">更多</i>
|
||||
</div>
|
||||
</h2>
|
||||
</a>
|
||||
<div class="layui-colla-content layui-show">
|
||||
|
||||
<div class="layui-container" style="padding-left: 2px;padding-right: 5px">
|
||||
<div class="layui-row">
|
||||
<div th:each="newBook,bookStat : ${newBooks}" style="padding-bottom: 30px"
|
||||
class="layui-col-xs12 layui-col-sm6 layui-col-md6 layui-col-lg6">
|
||||
|
||||
<a th:href="'/book/'+${newBook.id}+'.html'">
|
||||
<div class="line-limit-length layui-col-xs8 layui-col-sm6 layui-col-md6 layui-col-lg6"><b
|
||||
th:text="${bookStat.index}+1+'.'+${newBook.bookName}"></b> - <span class="layui-elip"
|
||||
th:text="${newBook.author}"></span>
|
||||
</div>
|
||||
<div class="layui-col-sm3 layui-col-md3 layui-col-lg3"
|
||||
style="color: #FF5722;float: right;margin-right:5px"><i
|
||||
th:text="${#dates.format(newBook.updateTime, 'MM-dd HH:mm')}"></i></div>
|
||||
|
||||
<div style="clear: both"></div>
|
||||
<div style="padding-left: 5px;padding-top: 5px"
|
||||
class="layui-elip layui-col-md11 layui-col-sm11 layui-col-lg11"
|
||||
th:text="'简介:'+ ${newBook.bookDesc}">
|
||||
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div th:replace="common/footer :: footer">
|
||||
</div>
|
||||
<div th:replace="common/js :: js">
|
||||
</div>
|
||||
|
||||
<script src="/js/wap_collect.js"></script>
|
||||
<script>
|
||||
(function () {
|
||||
var bp = document.createElement('script');
|
||||
var curProtocol = window.location.protocol.split(':')[0];
|
||||
if (curProtocol === 'https') {
|
||||
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
|
||||
}
|
||||
else {
|
||||
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
|
||||
}
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(bp, s);
|
||||
})();
|
||||
</script>
|
||||
|
||||
|
||||
<script>
|
||||
|
||||
function moreNewBooks(event) {
|
||||
window.location.href = "/book/search";
|
||||
}
|
||||
|
||||
function searchBooks() {
|
||||
var keywords = $("#title").val();
|
||||
window.location.href = "/book/search?keyword=" + encodeURI(keywords);
|
||||
}
|
||||
|
||||
function toMyCollect() {
|
||||
var token = localStorage.getItem("token");
|
||||
if (token) {
|
||||
window.location.href = "/book/search?token=" + token;
|
||||
} else {
|
||||
window.location.href = "/user/login.html";
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
313
src/main/resources/templates/books/soft_book_search.html
Normal file
313
src/main/resources/templates/books/soft_book_search.html
Normal file
@@ -0,0 +1,313 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>精品小说楼_轻小说专区</title>
|
||||
|
||||
<meta name="description"
|
||||
content="精品小说楼是国内优秀的小说弹幕网站,精品小说楼提供海量网络小说,日本轻小说,国产轻小说,动漫小说,轻小说TXT下载,轻小说在线阅读和TXT小说下载,是网友最喜欢的温馨小说站。">
|
||||
<meta name="keywords" content="精品小说楼,精品小说,弹幕网站,弹幕,弹幕小说网站,免费小说,小说阅读,小说排行,轻小说,txt小说下载,电子书下载,动漫轻小说,日本轻小说">
|
||||
|
||||
<meta property="og:type" content="soft_novel_index"/>
|
||||
<meta property="og:title" content="精品小说楼_轻小说专区"/>
|
||||
<meta property="og:description" content="精品小说楼是国内优秀的小说弹幕网站,精品小说楼提供海量热门网络小说,日本轻小说,国产轻小说,动漫小说,轻小说在线阅读和TXT小说下载,致力于网络精品小说的收集,智能计算小说评分,打造小说精品排行榜,致力于无广告无弹窗的小说阅读环境。"/>
|
||||
|
||||
|
||||
<div th:include="common/css :: css"></div>
|
||||
|
||||
</div>
|
||||
<script>
|
||||
var _hmt = _hmt || [];
|
||||
(function () {
|
||||
var hm = document.createElement("script");
|
||||
hm.src = "https://hm.baidu.com/hm.js?2cf01edbc2b27cd3a143e17948167d77";
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(hm, s);
|
||||
})();
|
||||
</script>
|
||||
|
||||
<style type="text/css">
|
||||
|
||||
|
||||
.line-limit-length {
|
||||
|
||||
overflow: hidden;
|
||||
|
||||
text-overflow: ellipsis;
|
||||
|
||||
white-space: nowrap;
|
||||
|
||||
}
|
||||
|
||||
.indexP p a {
|
||||
color: #4c6978;
|
||||
}
|
||||
|
||||
.Readarea {
|
||||
font-size: 18px;
|
||||
line-height: 35px;
|
||||
padding: 10px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
div, p {
|
||||
wrap-work: break-word;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
word-break: normal;
|
||||
-moz-box-sizing: border-box;
|
||||
-webkit-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
-ms-box-sizing: border-box;
|
||||
}
|
||||
|
||||
.indexDiv a {
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
img {
|
||||
width: 147px;
|
||||
height: 197px;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
||||
<input type="hidden" id="limit" th:value="${limit}"/>
|
||||
<input type="hidden" id="curr" th:value="${curr}"/>
|
||||
<input type="hidden" id="total" th:value="${total}"/>
|
||||
<input type="hidden" id="ids" th:value="${ids}"/>
|
||||
<input type="hidden" id="keyword" th:value="${keyword}"/>
|
||||
<input type="hidden" id="softTag" th:value="${softTag}"/>
|
||||
<input type="hidden" id="sortBy" th:value="${sortBy}"/>
|
||||
<input type="hidden" id="sort" th:value="${sort}"/>
|
||||
<input type="hidden" id="bookStatus" th:value="${bookStatus}"/>
|
||||
<input type="hidden" id="softCat" th:value="${softCat}"/>
|
||||
|
||||
<ul class="layui-nav" lay-filter="" style="padding:0 20px;text-align: center" >
|
||||
<li id="menunew" class="layui-nav-item"><a href="/book/searchSoftBook.html">最新</a></li>
|
||||
<li id="menu21" class="layui-nav-item"><a href="/book/searchSoftBook.html?softCat=21">魔幻</a></li>
|
||||
<li id="menu22" class="layui-nav-item"><a href="/book/searchSoftBook.html?softCat=22">玄幻</a></li>
|
||||
<li id="menu23" class="layui-nav-item"><a href="/book/searchSoftBook.html?softCat=23">古风</a></li>
|
||||
<li id="menu24" class="layui-nav-item"><a href="/book/searchSoftBook.html?softCat=24">科幻</a></li>
|
||||
<li id="menu25" class="layui-nav-item"><a href="/book/searchSoftBook.html?softCat=25">校园</a></li>
|
||||
<li id="menu26" class="layui-nav-item"><a href="/book/searchSoftBook.html?softCat=26">都市</a></li>
|
||||
<li id="menu27" class="layui-nav-item"><a href="/book/searchSoftBook.html?softCat=27">游戏</a></li>
|
||||
<li id="menu28" class="layui-nav-item"><a href="/book/searchSoftBook.html?softCat=28">同人</a></li>
|
||||
<li id="menu29" class="layui-nav-item"><a href="/book/searchSoftBook.html?softCat=29">悬疑</a></li>
|
||||
<li id="menu0" class="layui-nav-item"><a href="/book/searchSoftBook.html?softCat=0">动漫</a></li>
|
||||
<li id="menucomplete" class="layui-nav-item"><a >完本</a>
|
||||
<dl class="layui-nav-child"> <!-- 二级菜单 -->
|
||||
<dd><a href="/book/searchSoftBook.html?bookStatus=已完成">全部</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?bookStatus=已完成&softCat=21">魔幻</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?bookStatus=已完成&softCat=22">玄幻</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?bookStatus=已完成&softCat=23">古风</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?bookStatus=已完成&softCat=24">科幻</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?bookStatus=已完成&softCat=25">校园</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?bookStatus=已完成&softCat=26">都市</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?bookStatus=已完成&softCat=27">游戏</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?bookStatus=已完成&softCat=28">同人</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?bookStatus=已完成&softCat=29">悬疑</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?bookStatus=已完成&softCat=0">动漫</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li id="menuhot" class="layui-nav-item"><a >排行</a>
|
||||
<dl class="layui-nav-child"> <!-- 二级菜单 -->
|
||||
<dd><a href="/book/searchSoftBook.html?sortBy=score">全部</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?sortBy=score&softCat=21">魔幻</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?sortBy=score&softCat=22">玄幻</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?sortBy=score&softCat=23">古风</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?sortBy=score&softCat=24">科幻</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?sortBy=score&softCat=25">校园</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?sortBy=score&softCat=26">都市</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?sortBy=score&softCat=27">游戏</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?sortBy=score&softCat=28">同人</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?sortBy=score&softCat=29">悬疑</a></dd>
|
||||
<dd><a href="/book/searchSoftBook.html?sortBy=score&softCat=0">动漫</a></dd>
|
||||
</dl>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<div class="layui-container">
|
||||
<div class="layui-row">
|
||||
|
||||
<div class="layui-col-xs10 layui-col-sm10 layui-col-md11 layui-col-lg11" style="padding-top:1%">
|
||||
<input id="title" type="text" name="title" required lay-verify="required" placeholder="请输入书名·作者"
|
||||
autocomplete="off"
|
||||
class="layui-input" th:value="${keyword}">
|
||||
</div>
|
||||
<div class="layui-col-xs1" style="padding: 1%">
|
||||
<button onclick="searchBooks()" class="layui-btn" lay-submit lay-filter="formDemo">搜索</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div th:each="book : ${books}" class="layui-row" style="margin-bottom:10px;padding:10px;background: #f2f2f2">
|
||||
<a th:href="'/book/'+ ${book.id} + '.html'">
|
||||
<div class="layui-col-xs6 layui-col-sm3 layui-col-md2 layui-col-lg2" style="text-align: center">
|
||||
<img align="center"
|
||||
th:src="${book.picUrl}"/>
|
||||
</div>
|
||||
</a>
|
||||
<div style="padding: 20px" class="layui-col-xs6 layui-col-sm8 layui-col-md8 layui-col-lg8">
|
||||
<a th:href="'/book/'+ ${book.id} + '.html'">
|
||||
<div class="line-limit-length" style=";color: #4c6978;font-weight: bold;font-size: 20px"
|
||||
th:text="${book.bookName}"></div>
|
||||
</a>
|
||||
<div style=";color: #4c6978;float: right;"><i style="color: red" th:text="${book.score} + '分'"></i></div>
|
||||
<a th:href="'/book/searchSoftBook.html?keyword='+ ${book.author}">
|
||||
<div style=";color: #4c6978;" class="line-limit-length" th:text="'作者:'+ ${book.author}"></div>
|
||||
</a>
|
||||
<div style="margin-top: 5px;color: #4c6978;" th:text="'类别:'+ ${book.cateName}"></div>
|
||||
<div style="margin-top: 5px;color: #4c6978;" th:text="'状态:'+ ${book.bookStatus}"></div>
|
||||
<div style="margin-top: 5px;color: #4c6978;">更新:<i th:text="${#dates.format(book.updateTime, 'yy-MM-dd')}"></i>
|
||||
</div>
|
||||
<div class="layui-collapse" style="margin-top: 5px;">
|
||||
<div class="layui-colla-item">
|
||||
<h2 style="color: #4c6978;" class="layui-colla-title">简介:</h2>
|
||||
<div style="color: #4c6978;" class="layui-colla-content" th:utext="${book.bookDesc}">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div id="books" style="text-align: center"></div>
|
||||
|
||||
|
||||
<div th:replace="common/soft_footer :: footer">
|
||||
</div>
|
||||
|
||||
<a name="buttom"></a>
|
||||
</body>
|
||||
|
||||
<div th:replace="common/js :: js"></div>
|
||||
|
||||
<script>
|
||||
layui.use('laypage', function () {
|
||||
var laypage = layui.laypage;
|
||||
|
||||
//执行一个laypage实例
|
||||
laypage.render({
|
||||
elem: 'books' //注意,这里的 test1 是 ID,不用加 # 号
|
||||
, count: $("#total").val() //数据总数,从服务端得到,
|
||||
, curr: $("#curr").val()
|
||||
, limit: $("#limit").val()
|
||||
, jump: function (obj, first) {
|
||||
|
||||
|
||||
//obj包含了当前分页的所有参数,比如:
|
||||
console.log(obj.curr); //得到当前页,以便向服务端请求对应页的数据。
|
||||
console.log(obj.limit); //得到每页显示的条数
|
||||
|
||||
|
||||
//首次不执行
|
||||
if (!first) {
|
||||
searchByAllCondition(obj.curr,obj.limit);
|
||||
} else {
|
||||
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function searchByAllCondition(curr,limit,newKeyword){
|
||||
var toUrl = "/book/searchSoftBook.html?curr=" + curr + "&limit=" + limit;
|
||||
var ids = $("#ids").val();
|
||||
if(ids){
|
||||
toUrl += ("&historyBookIds=" + ids);
|
||||
}
|
||||
var keyword = $("#keyword").val();
|
||||
if(newKeyword){
|
||||
toUrl += encodeURI("&keyword=" + newKeyword);
|
||||
}else if (keyword) {
|
||||
toUrl += encodeURI("&keyword=" + keyword);
|
||||
}
|
||||
var bookStatus = $("#bookStatus").val();
|
||||
if(bookStatus){
|
||||
toUrl += ("&bookStatus=" + bookStatus);
|
||||
}
|
||||
var softCat = $("#softCat").val();
|
||||
if (softCat) {
|
||||
toUrl += ("&softCat=" + softCat);
|
||||
}
|
||||
var softTag = $("#softTag").val();
|
||||
if (softTag) {
|
||||
toUrl += ("&softTag=" + softTag);
|
||||
}
|
||||
|
||||
var sortBy = $("#sortBy").val();
|
||||
if (sortBy) {
|
||||
toUrl += ("&sortBy=" + sortBy);
|
||||
}
|
||||
|
||||
var sort = $("#sort").val();
|
||||
if (sort) {
|
||||
toUrl += ("&sort=" + sort);
|
||||
}
|
||||
|
||||
window.location.href = toUrl;
|
||||
}
|
||||
|
||||
function searchBooks() {
|
||||
var keywords = $("#title").val();
|
||||
$("#keyword").val("");
|
||||
searchByAllCondition(1,20,keywords);
|
||||
}
|
||||
|
||||
</script>
|
||||
<script>
|
||||
(function(){
|
||||
var bp = document.createElement('script');
|
||||
var curProtocol = window.location.protocol.split(':')[0];
|
||||
if (curProtocol === 'https') {
|
||||
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
|
||||
}
|
||||
else {
|
||||
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
|
||||
}
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(bp, s);
|
||||
|
||||
|
||||
var sortCat = $("#softCat").val();
|
||||
var sortBy = $("#sortBy").val();
|
||||
if(sortBy == 'score'){
|
||||
$("#menuhot").addClass("layui-this");
|
||||
}else if($("#bookStatus").val()){
|
||||
$("#menucomplete").addClass("layui-this");
|
||||
}else if(sortCat){
|
||||
$("#menu"+sortCat).addClass("layui-this");
|
||||
}else{
|
||||
$("#menunew").addClass("layui-this");
|
||||
}
|
||||
|
||||
})();
|
||||
|
||||
|
||||
function toMyCollect(){
|
||||
var token = localStorage.getItem("token");
|
||||
if(token) {
|
||||
window.location.href = "/book/search?token=" + token;
|
||||
}else{
|
||||
window.location.href = "/user/login.html";
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
</html>
|
||||
3
src/main/resources/templates/common/css.html
Normal file
3
src/main/resources/templates/common/css.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<div th:fragment="css">
|
||||
<link rel="stylesheet" href="/layui/css/layui.css">
|
||||
</div>
|
||||
19
src/main/resources/templates/common/footer.html
Normal file
19
src/main/resources/templates/common/footer.html
Normal file
@@ -0,0 +1,19 @@
|
||||
<div th:fragment="footer" style="height: 60px;line-height: 60px;text-align: center" class="layui-footer footer footer-demo layui-bg-cyan">
|
||||
<a href="https://sf.zinglizingli.xyz" style="font-size: 14px;color: #92B8B1;">轻小说</a>
|
||||
<a href="https://m.zinglizingli.xyz" style="font-size: 14px;color: #92B8B1;margin-left: 8px">更多小说</a>
|
||||
<a href="javascript:readHistory()" style="font-size: 14px;color: #92B8B1;margin-left: 8px">阅读记录</a>
|
||||
<a href="javascript:toMyCollect()" style="font-size: 14px;color: #92B8B1;margin-left: 8px">书架</a>
|
||||
<a href="/HotBook.apk" style="font-size: 14px;color: #92B8B1;margin-left: 8px">客户端</a>
|
||||
<!--<a href="https://www.zinglizingli.xyz/me/index.html" style="font-size: 14px;color: #92B8B1;margin-left: 8px">开发者</a>-->
|
||||
|
||||
|
||||
<div style="float: right"><a href="#top"><i class="layui-icon"
|
||||
style="margin-right:15px;font-size: 30px;color:#92B8B1 "></i></a>
|
||||
</div>
|
||||
<script>
|
||||
(function(){
|
||||
var src = (document.location.protocol == "http:") ? "http://js.passport.qihucdn.com/11.0.1.js?0f3ae8a0c8948025da914c98d5773654":"https://jspassport.ssl.qhimg.com/11.0.1.js?0f3ae8a0c8948025da914c98d5773654";
|
||||
document.write('<script src="' + src + '" id="sozz"><\/script>');
|
||||
})();
|
||||
</script>
|
||||
</div>
|
||||
3
src/main/resources/templates/common/js.html
Normal file
3
src/main/resources/templates/common/js.html
Normal file
@@ -0,0 +1,3 @@
|
||||
<script th:fragment="js" src="/js/jquery-1.9.1.js"></script>
|
||||
<script th:fragment="js" src="/js/common.js"></script>
|
||||
<script th:fragment="js" src="/layui/layui.all.js"></script>
|
||||
19
src/main/resources/templates/common/soft_footer.html
Normal file
19
src/main/resources/templates/common/soft_footer.html
Normal file
@@ -0,0 +1,19 @@
|
||||
<div th:fragment="footer" style="height: 60px;line-height: 60px;text-align: center" class="layui-footer footer footer-demo layui-bg-cyan">
|
||||
<a href="https://www.zinglizingli.xyz" style="font-size: 14px;color: #92B8B1;">更多小说</a>
|
||||
<a href="javascript:readHistory()" style="font-size: 14px;color: #92B8B1;margin-left: 8px">阅读记录</a>
|
||||
<a href="javascript:toMyCollect()" style="font-size: 14px;color: #92B8B1;margin-left: 8px">书架</a>
|
||||
<a href="/HotBook.apk" style="font-size: 14px;color: #92B8B1;margin-left: 8px">客户端</a>
|
||||
<!--<a href="https://www.zinglizingli.xyz/me/index.html" style="font-size: 14px;color: #92B8B1;margin-left: 8px">开发者</a>-->
|
||||
|
||||
|
||||
<div style="float: right"><a href="#top"><i class="layui-icon"
|
||||
style="margin-right:15px;font-size: 30px;color:#92B8B1 "></i></a>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
(function(){
|
||||
var src = (document.location.protocol == "http:") ? "http://js.passport.qihucdn.com/11.0.1.js?0acfeb0f37ba0d8942c2bbf459016f21":"https://jspassport.ssl.qhimg.com/11.0.1.js?0acfeb0f37ba0d8942c2bbf459016f21";
|
||||
document.write('<script src="' + src + '" id="sozz"><\/script>');
|
||||
})();
|
||||
</script>
|
||||
</div>
|
||||
489
src/main/resources/templates/index.html
Normal file
489
src/main/resources/templates/index.html
Normal file
@@ -0,0 +1,489 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<!-- saved from url=(0026)http://m.zinglizingli.xyz/ -->
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
<meta name="description"
|
||||
content="看小说吧致力于打造小说最全,更新最快、无弹窗、无广告的在线小说阅读网,看小说吧收录了当前最火热的网络小说,提供无广告、高质量内容的小说服务,是广大网友最喜欢的温馨小说站。">
|
||||
<meta name="shenma-site-verification" content="5548d4bd962d5cdd4cf6aeba92b991a8_1565878917">
|
||||
|
||||
<title>看小说吧</title>
|
||||
<meta name="keywords" content="小说阅读,小说排行,好看小说排行,热门小说排行,小说阅读手机版">
|
||||
|
||||
<meta http-equiv="Cache-Control" content="no-transform">
|
||||
<meta http-equiv="Cache-Control" content="max-age=0">
|
||||
<meta http-equiv="Cache-Control" content="no-siteapp">
|
||||
<meta name="MobileOptimized" content="240">
|
||||
<meta name="applicable-device" content="mobile">
|
||||
<meta name="viewport"
|
||||
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
|
||||
<meta name="format-detection" content="telephone=no">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||
<link rel="stylesheet" href="/static/index.css">
|
||||
<style type="text/css">
|
||||
.bannerLink .ajax_html, .list .ajax_html {
|
||||
height: auto;
|
||||
overflow: hidden;
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
.ajax_html {
|
||||
text-align: center;
|
||||
width: 320px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.tabArea4 .ajax_html {
|
||||
width: 25%;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.ajax_html img {
|
||||
padding: 20px 0;
|
||||
}
|
||||
|
||||
.ajax_html b {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
<script language="javascript" type="text/javascript" src="/js/wap_collect.js"></script>
|
||||
<script>
|
||||
var _hmt = _hmt || [];
|
||||
(function () {
|
||||
var hm = document.createElement("script");
|
||||
hm.src = "https://hm.baidu.com/hm.js?b3a84b2ec6cc52dd088d735565b49644";
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(hm, s);
|
||||
})();
|
||||
</script>
|
||||
<script>
|
||||
(function () {
|
||||
var bp = document.createElement('script');
|
||||
var curProtocol = window.location.protocol.split(':')[0];
|
||||
if (curProtocol === 'https') {
|
||||
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
|
||||
}
|
||||
else {
|
||||
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
|
||||
}
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(bp, s);
|
||||
})();
|
||||
</script>
|
||||
<style id="tsbrowser_video_independent_player_style" type="text/css">
|
||||
[tsbrowser_force_max_size] {
|
||||
width: 100% !important;
|
||||
height: 100% !important;
|
||||
left: 0px !important;
|
||||
top: 0px !important;
|
||||
margin: 0px !important;
|
||||
padding: 0px !important;
|
||||
transform: none !important;
|
||||
}
|
||||
|
||||
[tsbrowser_force_fixed] {
|
||||
position: fixed !important;
|
||||
z-index: 9999 !important;
|
||||
background: black !important;
|
||||
}
|
||||
|
||||
[tsbrowser_force_hidden] {
|
||||
opacity: 0 !important;
|
||||
z-index: 0 !important;
|
||||
}
|
||||
|
||||
[tsbrowser_hide_scrollbar] {
|
||||
overflow: hidden !important;
|
||||
}
|
||||
|
||||
[tsbrowser_display_none] {
|
||||
display: none !important;
|
||||
visibility: hidden !important;
|
||||
opacity: 0 !important;
|
||||
}
|
||||
|
||||
[tsbrowser_force_show] {
|
||||
display: black !important;
|
||||
visibility: visible !important;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.hiddenNode {
|
||||
position: fixed;
|
||||
opacity: 0;
|
||||
z-index: -1000;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<header class="Index_Header">
|
||||
<img src="/static/logo.png" class="logo" title="看小说吧" alt="看小说吧">
|
||||
|
||||
<a style="visibility:hidden" href="http://m.zinglizingli.xyz/login.php" id="login" class="login">登录</a>
|
||||
</header>
|
||||
<nav class="smallNav">
|
||||
<a href="http://m.zinglizingli.xyz/lhb/0/1.html" style="width:19%;font-weight:bold;">龙虎榜</a>
|
||||
<a href="http://m.zinglizingli.xyz/ph/week.html" style="width:19%">热点</a>
|
||||
<a href="http://m.zinglizingli.xyz/class/0/1.html" style="width:16%">分类</a>
|
||||
<a href="http://m.zinglizingli.xyz/quanben.html" style="width:16%">全本</a>
|
||||
<a href="http://m.zinglizingli.xyz/tempcase.html" style="width:16%">足迹</a>
|
||||
<a href="javascript:AddToFavorites(true);" style="width:14%">收藏</a>
|
||||
</nav>
|
||||
<h2 class="hiddenNode" th:text="${hotBookList.hotWord_0}"></h2>
|
||||
<form class="searchForm" method="post" action="http://m.zinglizingli.xyz/SearchBook.php">
|
||||
<input type="text" name="keyword" class="searchForm_input searchForm_input2" value="输入书名•作者">
|
||||
<input type="hidden" name="t" value="1">
|
||||
<textarea class="hiddenNode" th:text="${hotBookList.hotWord_4}"></textarea>
|
||||
<input type="submit" class="searchForm_btn" value="搜索">
|
||||
</form>
|
||||
|
||||
<div class="hiddenNode" th:text="${hotBookList.hotWord_1}"></div>
|
||||
|
||||
|
||||
<div class="tabArea tabArea4 hot">
|
||||
<div class="tab-nav clearfix">
|
||||
<h2><a class="tab-nav-cur">强推</a></h2>
|
||||
<h2><a style="display: none;">热门</a></h2>
|
||||
<h2><a style="display: none;">全本</a></h2>
|
||||
<h2><a style="display: none;"> </a></h2>
|
||||
</div>
|
||||
<div class="hiddenNode" th:text="${hotBookList.hotWord_2}"></div>
|
||||
|
||||
<div class="slide">
|
||||
<div class="slide-con4 div">
|
||||
<div class="slide-item index_hot1">
|
||||
|
||||
<div class="hot_sale">
|
||||
<a href="http://m.zinglizingli.xyz/0_310.html">
|
||||
<img class="lazy" style="width: 89px; height: 119px;"
|
||||
data-original="https://www.biquta.com//BookFiles/BookImages/310.jpg"
|
||||
src="https://www.biquta.com//BookFiles/BookImages/310.jpg"
|
||||
onerror="this.src='images/nopic.gif'">
|
||||
<p class="title">帝霸</p>
|
||||
<p class="author">作者:厌笔萧生</p>
|
||||
<p class="review">简介: 千万年前,李七夜栽下一株翠竹。八百万年前,李七夜养了一条鲤鱼。五百万年前,李七夜收养一个小女孩。今天,李七夜一觉醒来,翠竹修...</p>
|
||||
<p class="hiddenNode" th:text="${hotBookList.hotWord_3}"></p>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="hot_sale">
|
||||
<a href="http://m.zinglizingli.xyz/143_143504.html">
|
||||
<img class="lazy" style="width: 89px; height: 119px;"
|
||||
data-original="https://www.biquta.com//BookFiles/BookImages/143504.jpg"
|
||||
src="https://www.biquta.com//BookFiles/BookImages/143504.jpg"
|
||||
onerror="this.src='images/nopic.gif'">
|
||||
<p class="title">斗罗大陆IV终极斗罗</p>
|
||||
<p class="author">作者:唐家三少</p>
|
||||
<p class="review">简介: 一万年后,冰化了。斗罗联邦科考队在极北之地科考时发现了一个有着金银双色花纹的蛋,用仪器探察之后,发现里面居然有生命体征,赶忙...</p>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="hot_sale">
|
||||
<a href="http://m.zinglizingli.xyz/57_57654.html">
|
||||
<img class="lazy" style="width: 89px; height: 119px;"
|
||||
data-original="https://www.biquta.com//BookFiles/BookImages/57654.jpg"
|
||||
src="https://www.biquta.com//BookFiles/BookImages/57654.jpg"
|
||||
onerror="this.src='images/nopic.gif'">
|
||||
<p class="title">超神机械师</p>
|
||||
<p class="author">作者:齐佩甲</p>
|
||||
<p class="review">
|
||||
简介: 韩萧,《星海》骨灰级代练,被来自东(zuo)方(zhe)的神秘力量扔进穿越大军,携带玩家面板变成NPC,回到《星海》公测之前,毅然选择...</p>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<ul class="hiddenNode">
|
||||
<li class="hiddenNode" th:text="${hotBookList.hotWord_5}"></li>
|
||||
<li class="hiddenNode" th:text="${hotBookList.hotWord_6}"></li>
|
||||
<li class="hiddenNode" th:text="${hotBookList.hotWord_7}"></li>
|
||||
<li class="hiddenNode" th:text="${hotBookList.hotWord_8}"></li>
|
||||
<li class="hiddenNode" th:text="${hotBookList.hotWord_9}"></li>
|
||||
<li class="hiddenNode" th:text="${hotBookList.hotWord_10}"></li>
|
||||
|
||||
</ul>
|
||||
<div class="tabArea tabArea4 bannerLink div">
|
||||
<div class="tab-nav tab-nav4 clearfix">
|
||||
<h2><a class="tab-nav-cur">玄幻奇幻</a></h2>
|
||||
<h2><a style="display: none;"> </a></h2>
|
||||
<h2><a style="display: none;"> </a></h2>
|
||||
<h2><a style="display: none;"> </a></h2>
|
||||
</div>
|
||||
|
||||
<div class="slide">
|
||||
<div class="slide-con4">
|
||||
<div class="slide-item index_sort1">
|
||||
|
||||
<a href="http://m.zinglizingli.xyz/62_62663.html">
|
||||
<p>
|
||||
<span class="sort">[玄幻奇幻]</span><span class="title">绝世武魂</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/48_48690.html">
|
||||
<p>
|
||||
<span class="sort">[玄幻奇幻]</span><span class="title">逆天邪神</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/7_7007.html">
|
||||
<p>
|
||||
<span class="sort">[东方玄幻]</span><span class="title">全职法师</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/103_103922.html">
|
||||
<p>
|
||||
<span class="sort">[玄幻奇幻]</span><span class="title">最强圣帝</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/4_4581.html">
|
||||
<p>
|
||||
<span class="sort">[玄幻奇幻]</span><span class="title">伏天氏</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/2_2449.html">
|
||||
<p>
|
||||
<span class="sort">[玄幻奇幻]</span><span class="title">完美世界</span></p>
|
||||
|
||||
</a></div>
|
||||
<a href="http://m.zinglizingli.xyz/11_11643.html">
|
||||
</a></div>
|
||||
<a href="http://m.zinglizingli.xyz/11_11643.html">
|
||||
</a></div>
|
||||
<a href="http://m.zinglizingli.xyz/11_11643.html">
|
||||
</a></div>
|
||||
<table class="hiddenNode" cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td><b>内容</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td th:text="${hotBookList.hotWord_11}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td th:text="${hotBookList.hotWord_12}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td th:text="${hotBookList.hotWord_13}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td th:text="${hotBookList.hotWord_14}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td th:text="${hotBookList.hotWord_15}"></td>
|
||||
</tr>
|
||||
</table>
|
||||
<a href="http://m.zinglizingli.xyz/11_11643.html">
|
||||
</a>
|
||||
<div class="hiddenNode" th:text="${hotBookList.hotWord_16}"></div>
|
||||
<div class="tabArea tabArea4 bannerLink div"><a href="http://m.zinglizingli.xyz/11_11643.html">
|
||||
</a>
|
||||
<div class="tab-nav tab-nav4 clearfix"><a href="http://m.zinglizingli.xyz/11_11643.html">
|
||||
</a>
|
||||
<h2 id="H2_1"><a href="http://m.zinglizingli.xyz/11_11643.html"></a><a class="tab-nav-cur">武侠仙侠</a></h2>
|
||||
<h2><a style="display: none;"> </a></h2>
|
||||
<h2><a style="display: none;"> </a></h2>
|
||||
<h2><a style="display: none;"> </a></h2>
|
||||
</div>
|
||||
|
||||
<div class="slide">
|
||||
<div class="slide-con4">
|
||||
<div class="slide-item index_sort1">
|
||||
|
||||
<a href="http://m.zinglizingli.xyz/7_7166.html">
|
||||
<p>
|
||||
<span class="sort">[武侠仙侠]</span><span class="title">星辰变</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/49_49478.html">
|
||||
<p>
|
||||
<span class="sort">[武侠仙侠]</span><span class="title">逆天神妃至上</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/170_170814.html">
|
||||
<p>
|
||||
<span class="sort">[武侠仙侠]</span><span class="title">问道红尘</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/5_5082.html">
|
||||
<p>
|
||||
<span class="sort">[武侠仙侠]</span><span class="title">凡人修仙之仙界篇</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/9_9379.html">
|
||||
<p>
|
||||
<span class="sort">[武侠仙侠]</span><span class="title">九仙图</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/161_161754.html">
|
||||
<p>
|
||||
<span class="sort">[武侠仙侠]</span><span class="title">我夺舍了东皇太一</span></p>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
<a href="http://m.zinglizingli.xyz/161_161754.html">
|
||||
</a></div>
|
||||
<a href="http://m.zinglizingli.xyz/161_161754.html">
|
||||
</a></div>
|
||||
<a href="http://m.zinglizingli.xyz/161_161754.html">
|
||||
</a></div>
|
||||
<a href="http://m.zinglizingli.xyz/161_161754.html">
|
||||
</a>
|
||||
<div class="tabArea tabArea4 bannerLink div"><a href="http://m.zinglizingli.xyz/161_161754.html">
|
||||
</a>
|
||||
<div class="tab-nav tab-nav4 clearfix"><a href="http://m.zinglizingli.xyz/161_161754.html">
|
||||
</a>
|
||||
<h2 id="H2_2"><a href="http://m.zinglizingli.xyz/161_161754.html"></a><a class="tab-nav-cur">都市言情</a></h2>
|
||||
<h2><a style="display: none;"> </a></h2>
|
||||
<h2><a style="display: none;"> </a></h2>
|
||||
<h2><a style="display: none;"> </a></h2>
|
||||
</div>
|
||||
<div class="slide">
|
||||
<div class="slide-con4">
|
||||
<div class="slide-item index_sort1">
|
||||
|
||||
<a href="http://m.zinglizingli.xyz/44_44856.html">
|
||||
<p>
|
||||
<span class="sort">[都市言情]</span><span class="title">透视神医</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/1_1733.html">
|
||||
<p>
|
||||
<span class="sort">[都市言情]</span><span class="title">正道潜龙</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/1_1669.html">
|
||||
<p>
|
||||
<span class="sort">[都市言情]</span><span class="title">神级奶爸</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/49_49208.html">
|
||||
<p>
|
||||
<span class="sort">[都市言情]</span><span class="title">回到地球当神棍</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/4_4856.html">
|
||||
<p>
|
||||
<span class="sort">[都市言情]</span><span class="title">俗人回档</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/57_57556.html">
|
||||
<p>
|
||||
<span class="sort">[都市言情]</span><span class="title">女神的修仙高手</span></p>
|
||||
|
||||
</a></div>
|
||||
<a href="http://m.zinglizingli.xyz/57_57556.html">
|
||||
</a></div>
|
||||
<a href="http://m.zinglizingli.xyz/57_57556.html">
|
||||
</a></div>
|
||||
<a href="http://m.zinglizingli.xyz/57_57556.html">
|
||||
</a></div>
|
||||
|
||||
|
||||
|
||||
<a href="http://m.zinglizingli.xyz/57_57556.html">
|
||||
</a>
|
||||
|
||||
<div class="tabArea tabArea4 bannerLink div"><a href="http://m.zinglizingli.xyz/57_57556.html">
|
||||
</a>
|
||||
<div class="tab-nav tab-nav4 clearfix"><a href="http://m.zinglizingli.xyz/57_57556.html">
|
||||
</a>
|
||||
<h2 id="H2_3"><a href="http://m.zinglizingli.xyz/57_57556.html"></a><a class="tab-nav-cur">历史军事</a></h2>
|
||||
<h2><a style="display: none;"> </a></h2>
|
||||
<h2><a style="display: none;"> </a></h2>
|
||||
<h2><a style="display: none;"> </a></h2>
|
||||
</div>
|
||||
<div class="slide">
|
||||
<div class="slide-con4">
|
||||
<div class="slide-item index_sort1">
|
||||
|
||||
<a href="http://m.zinglizingli.xyz/23_23446.html">
|
||||
<p>
|
||||
<span class="sort">[历史军事]</span><span class="title">秦吏</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/113_113619.html">
|
||||
<p>
|
||||
<span class="sort">[历史军事]</span><span class="title">如意小郎君</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/110_110674.html">
|
||||
<p>
|
||||
<span class="sort">[历史军事]</span><span class="title">明朝败家子</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/122_122037.html">
|
||||
<p>
|
||||
<span class="sort">[历史军事]</span><span class="title">抗战之血肉丛林</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/129_129114.html">
|
||||
<p>
|
||||
<span class="sort">[历史军事]</span><span class="title">民国谍影</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/5_5224.html">
|
||||
<p>
|
||||
<span class="sort">[历史军事]</span><span class="title">弹痕</span></p>
|
||||
|
||||
</a></div>
|
||||
<a href="http://m.zinglizingli.xyz/0_823.html">
|
||||
</a></div>
|
||||
<a href="http://m.zinglizingli.xyz/0_823.html">
|
||||
</a></div>
|
||||
<a href="http://m.zinglizingli.xyz/0_823.html">
|
||||
</a></div>
|
||||
|
||||
|
||||
<div class="tabArea tabArea4 bannerLink div"><a href="http://m.zinglizingli.xyz/57_57556.html">
|
||||
</a>
|
||||
<div class="tab-nav tab-nav4 clearfix"><a href="http://m.zinglizingli.xyz/57_57556.html">
|
||||
</a>
|
||||
<h2 id="H2_3"><a href="http://m.zinglizingli.xyz/57_57556.html"></a><a class="tab-nav-cur">女生频道</a></h2>
|
||||
<h2><a style="display: none;"> </a></h2>
|
||||
<h2><a style="display: none;"> </a></h2>
|
||||
<h2><a style="display: none;"> </a></h2>
|
||||
</div>
|
||||
<div class="slide">
|
||||
<div class="slide-con4">
|
||||
<div class="slide-item index_sort1">
|
||||
|
||||
<a href="http://m.zinglizingli.xyz/115_115087.html">
|
||||
<p>
|
||||
<span class="sort">[女生频道]</span><span class="title">山里人家</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/5_5805.html">
|
||||
<p>
|
||||
<span class="sort">[女生频道]</span><span class="title">慕川向晚</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/49_49926.html">
|
||||
<p>
|
||||
<span class="sort">[女生频道]</span><span class="title">高能预警:剧情人物黑化中</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/14_14157.html">
|
||||
<p>
|
||||
<span class="sort">[女生频道]</span><span class="title">帝王攻略</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/26_26326.html">
|
||||
<p>
|
||||
<span class="sort">[女生频道]</span><span class="title">病宠成瘾</span></p>
|
||||
|
||||
</a><a href="http://m.zinglizingli.xyz/45_45149.html">
|
||||
<p>
|
||||
<span class="sort">[女生频道]</span><span class="title">快穿:炮灰女配要反攻</span></p>
|
||||
|
||||
</a></div>
|
||||
<a href="http://m.zinglizingli.xyz/0_823.html">
|
||||
</a></div>
|
||||
<a href="http://m.zinglizingli.xyz/0_823.html">
|
||||
</a></div>
|
||||
<a href="http://m.zinglizingli.xyz/0_823.html">
|
||||
</a></div>
|
||||
|
||||
<!-- 搜索 -->
|
||||
<form class="searchForm" method="post" action="http://m.zinglizingli.xyz/SearchBook.php">
|
||||
<input type="text" name="keyword" class="searchForm_input searchForm_input2" value="输入书名•作者">
|
||||
<input type="hidden" name="t" value="1">
|
||||
<input type="submit" class="searchForm_btn" value="搜索">
|
||||
</form>
|
||||
|
||||
<footer><a href="http://m.zinglizingli.xyz/0_823.html">
|
||||
</a><a href="http://m.zinglizingli.xyz/#top"><img src="/static/icon-backtop.gif" title="↑" alt="↑"></a>
|
||||
<p class="version channel">
|
||||
<!--<a href="http://m.zinglizingli.xyz/">首页</a>-->
|
||||
<a href="https://sf.zinglizingli.xyz">轻小说</a>
|
||||
<a href="https://www.zinglizingli.xyz">精品小说</a>
|
||||
<a href="/HotBook.apk">客户端下载</a>
|
||||
<a href="/sitemap.html" style="font-size: 14px;color: #92B8B1;margin-left: 8px">Sitemap</a>
|
||||
</p>
|
||||
</footer>
|
||||
|
||||
<p class="hiddenNode">
|
||||
<span class="hiddenNode" th:text="${hotBookList.hotWord_17}"></span>
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
137
src/main/resources/templates/user/login.html
Normal file
137
src/main/resources/templates/user/login.html
Normal file
@@ -0,0 +1,137 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title>登录|注册</title>
|
||||
<meta name="description"
|
||||
content="精品小说楼致力于网络精品小说的收集,智能计算小说评分,打造小说精品排行榜,致力于无广告无弹窗的小说阅读环境,是广大网友最喜欢的温馨小说站。">
|
||||
<div th:include="common/css :: css"></div>
|
||||
|
||||
|
||||
<script>
|
||||
var _hmt = _hmt || [];
|
||||
(function() {
|
||||
var hm = document.createElement("script");
|
||||
hm.src = "https://hm.baidu.com/hm.js?2cf01edbc2b27cd3a143e17948167d77";
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(hm, s);
|
||||
})();
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
</head>
|
||||
<body id="read" >
|
||||
|
||||
</div>
|
||||
|
||||
<div style="height: 50px;line-height: 50px;text-align: center" class="layui-header header header-doc layui-bg-cyan">
|
||||
|
||||
<div style="float: left;margin-left: 10px">
|
||||
<a href="javascript:history.go(-1)">
|
||||
<i style="font-size: 20px;color: #92B8B1;" class="layui-icon"></i></a>
|
||||
</div>
|
||||
<b class="layui-icon">登录|注册</b>
|
||||
<div style="float: right;margin-right: 10px"><a href="/">
|
||||
<i style="font-size: 20px;color: #92B8B1;" class="layui-icon"></i>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form style="height: 500px;margin-top: 50px" class="layui-form" action="">
|
||||
<input type="hidden" id="bookIdHidden" name="bookId" th:value="${bookId}"/>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">登录名</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="loginName" name="loginName" required lay-verify="required" placeholder="请输入登录名" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">密码</label>
|
||||
<div class="layui-input-inline">
|
||||
<input id="password" type="password" name="password" required lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">如果登录名不存在,则直接注册!</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn" lay-submit lay-filter="formDemo">登录|注册</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
|
||||
<div th:replace="common/footer :: footer">
|
||||
</div>
|
||||
|
||||
<a name="buttom"></a>
|
||||
</body>
|
||||
<div th:replace="common/js :: js"></div>
|
||||
|
||||
<script>
|
||||
$.get("/book/addVisit",{"bookId":$("#bookIdHidden").val()},function(){});
|
||||
|
||||
</script>
|
||||
|
||||
<script>
|
||||
//Demo
|
||||
layui.use('form', function(){
|
||||
var form = layui.form;
|
||||
|
||||
//监听提交
|
||||
form.on('submit(formDemo)', function(){
|
||||
$.post("/user/loginOrRegist",{"bookId":$("#bookIdHidden").val(),"loginName":$("#loginName").val(),"password":$("#password").val()},function (data) {
|
||||
if(data.code == 1 || data.code == 2){
|
||||
localStorage.setItem("token",data.token);
|
||||
layer.alert(data.desc);
|
||||
setTimeout(function () {
|
||||
var bookId = $("#bookIdHidden").val();
|
||||
if(bookId){
|
||||
//加入书架
|
||||
window.location.href="/book/"+bookId+".html";
|
||||
}else{
|
||||
//我的书架
|
||||
window.location.href="/book/search?token="+data.token;
|
||||
}
|
||||
},3000)
|
||||
|
||||
}else{
|
||||
layer.alert(data.desc);
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script>
|
||||
(function(){
|
||||
var bp = document.createElement('script');
|
||||
var curProtocol = window.location.protocol.split(':')[0];
|
||||
if (curProtocol === 'https') {
|
||||
bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
|
||||
}
|
||||
else {
|
||||
bp.src = 'http://push.zhanzhang.baidu.com/push.js';
|
||||
}
|
||||
var s = document.getElementsByTagName("script")[0];
|
||||
s.parentNode.insertBefore(bp, s);
|
||||
})();
|
||||
|
||||
|
||||
|
||||
function toMyCollect(){
|
||||
var token = localStorage.getItem("token");
|
||||
if(token) {
|
||||
window.location.href = "/book/search?token=" + token;
|
||||
}else{
|
||||
window.location.href = "/user/login.html";
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user