mirror of
https://github.com/201206030/novel-plus.git
synced 2025-04-26 17:20:52 +00:00
229 lines
9.8 KiB
Java
229 lines
9.8 KiB
Java
layui.use(['layer', 'jquery'], function () {
|
|
var layer = layui.layer;
|
|
var $ = layui.jquery;
|
|
|
|
function LastRead() {
|
|
this.bookList = "bookcms_book_list"
|
|
}
|
|
|
|
LastRead.prototype = {
|
|
set: function (title,article_id, chapter_title,chapter_id, author, category,source_id) {
|
|
if (!(article_id && title && chapter_title && chapter_id && author && category && source_id)) return false;
|
|
var value = title + '#' + article_id + '#' + chapter_title + '#' + chapter_id + '#' + author + '#' + category + '#' + source_id;
|
|
|
|
this.setItem(article_id, value);
|
|
this.setBook(article_id);
|
|
return true;
|
|
},
|
|
get: function (k) {
|
|
return this.getItem(k) ? this.getItem(k).split("#") : "";
|
|
},
|
|
remove: function (k) {
|
|
this.removeItem(k);
|
|
this.removeBook(k)
|
|
},
|
|
setBook: function (v) { //保存书籍
|
|
var reg = new RegExp("(^|#)" + v);
|
|
var books = this.getItem(this.bookList);
|
|
if (books == "") {
|
|
books = v
|
|
}
|
|
else {
|
|
if (books.search(reg) == -1) {
|
|
books += "#" + v
|
|
}
|
|
else {
|
|
books.replace(reg, "#" + v)
|
|
}
|
|
}
|
|
this.setItem(this.bookList, books)
|
|
},
|
|
getBook: function () {
|
|
var v = this.getItem(this.bookList) ? this.getItem(this.bookList).split("#") : Array();
|
|
var books = Array();
|
|
if (v.length) {
|
|
for (var i = 0; i < v.length; i++) {
|
|
var tem = this.getItem(v[i]).split('#');
|
|
if (tem.length > 3) books.push(tem);
|
|
}
|
|
}
|
|
return books
|
|
},
|
|
removeBook: function (v) {
|
|
var reg = new RegExp("(^|#)" + v);
|
|
var books = this.getItem(this.bookList);
|
|
if (!books) {
|
|
books = ""
|
|
}
|
|
else {
|
|
if (books.search(reg) != -1) {
|
|
books = books.replace(reg, "")
|
|
}
|
|
}
|
|
this.setItem(this.bookList, books)
|
|
},
|
|
setItem: function (k, v) { //保存章节
|
|
if (!!window.localStorage) {
|
|
localStorage.setItem(k, v);
|
|
} else {
|
|
var expireDate = new Date();
|
|
var EXPIR_MONTH = 30 * 24 * 3600 * 1000;
|
|
expireDate.setTime(expireDate.getTime() + 12 * EXPIR_MONTH)
|
|
document.cookie = k + "=" + encodeURIComponent(v) + ";expires=" + expireDate.toGMTString() + "; path=/";
|
|
}
|
|
},
|
|
getItem: function (k) {
|
|
var value = ""
|
|
var result = ""
|
|
if (!!window.localStorage) {
|
|
result = window.localStorage.getItem(k);
|
|
value = result || "";
|
|
}
|
|
else {
|
|
var reg = new RegExp("(^| )" + k + "=([^;]*)(;|\x24)");
|
|
var result = reg.exec(document.cookie);
|
|
if (result) {
|
|
value = decodeURIComponent(result[2]) || ""
|
|
}
|
|
}
|
|
return value
|
|
},
|
|
removeItem: function (k) {
|
|
if (!!window.localStorage) {
|
|
window.localStorage.removeItem(k);
|
|
} else {
|
|
var expireDate = new Date();
|
|
expireDate.setTime(expireDate.getTime() - 1000)
|
|
document.cookie = k + "= " + ";expires=" + expireDate.toGMTString()
|
|
}
|
|
},
|
|
removeAll: function () {
|
|
if (!!window.localStorage) {
|
|
window.localStorage.clear();
|
|
}
|
|
else {
|
|
var v = this.getItem(this.bookList) ? this.getItem(this.bookList).split("#") : Array();
|
|
var books = Array();
|
|
if (v.length) {
|
|
for (i in v) {
|
|
var tem = this.removeItem(v[k])
|
|
}
|
|
}
|
|
this.removeItem(this.bookList)
|
|
}
|
|
}
|
|
};
|
|
|
|
function zzleft(mainStr, lngLen) {
|
|
if (lngLen > 0) {
|
|
return mainStr.substring(0, lngLen)
|
|
}
|
|
else {
|
|
return null
|
|
}
|
|
}
|
|
|
|
//载入历史记录
|
|
// function loadbooker() {
|
|
// var bookhtml = '';
|
|
// var books = lastread.getBook();
|
|
// var books = books.reverse();
|
|
// if (books.length) {
|
|
// for (var i = 0; i < books.length; i++) {
|
|
// if (i <= 100) {
|
|
//
|
|
// var title = books[i][0];
|
|
// var article_id = books[i][1];
|
|
// var chapter_title = books[i][2];
|
|
// var chapter_id = books[i][3];
|
|
// var author = books[i][4];
|
|
// var category = books[i][5];
|
|
//
|
|
// var article_url = article_rule.replace('{article_id}', article_id);
|
|
// var chapter_url = chapter_rule.replace('{article_id}', article_id);
|
|
// chapter_url = chapter_url.replace('{chapter_id}', chapter_id);
|
|
//
|
|
// bookhtml += '<li><span class="s1">' + category + '</span><span class="s2"><a href="' + article_url + '" target="_blank">' + title + '</a></span><span class="s3"><a href="' + chapter_url + '" target="_blank">' + chapter_title + '</a></span><span class="s4">' + author + '</span><span class="s5"><a href="javascript:void(0)" class="remove-book" data-id="' + article_id + '" title="删除“' + title + '”?">删除</a></span><span class="s6"> </span><span class="s7"> </span></li>';
|
|
// }
|
|
// }
|
|
// } else {
|
|
// bookhtml += '<div style="height:100px;line-height:100px; text-align:center">还木有任何书籍( ˙﹏˙ )</div>';
|
|
// }
|
|
//
|
|
// // $(".read_book").html(bookhtml);
|
|
// }
|
|
|
|
window.lastread = new LastRead();
|
|
|
|
$(function () {
|
|
|
|
$(".link-bookshelf").on("click",function() {
|
|
|
|
var books = lastread.getBook().reverse();
|
|
|
|
if (($(".bookshelf-list").length - 1) == books.length) {
|
|
$(".bookshelf-mask").show();
|
|
$(".bookshelf-panel").show();
|
|
} else {
|
|
|
|
var html = "";
|
|
|
|
html += "<div class=\"bookshelf-mask\"></div>";
|
|
html += "<div class=\"bookshelf-panel\">";
|
|
html += "<div class=\"bookshelf-head\"><h4>我的书架(" + books.length +"本) </h4><a class=\"close\" target=\"_self\">关闭</a></div>";
|
|
html += "<div class=\"bookshelf-list\">";
|
|
html += "<div class=\"clearfix title\"><span class=\"label\"></span><em>用户浏览过的小说会自动保存到书架中(只限同一电脑)</em></div>";
|
|
html += "</div>";
|
|
html += "</div>";
|
|
$("body").append(html);
|
|
|
|
var book_html = '<li><span class="s1"><b>作品分类</b></span><span class="s2"><b>作品名称</b></span><span class="s3"><b>上次阅读章节</b></span><span class="s4"><b>作者</b></span><span class="s5"><b>操作</b></span><span class="s6"><b> </b></span><span class="s7"><b> </b></span></li>';
|
|
|
|
if (books.length) {
|
|
for (var i = 0; i < books.length; i++) {
|
|
if (i <= 100) {
|
|
|
|
var title = books[i][0];
|
|
var article_id = books[i][1];
|
|
var chapter_title = books[i][2];
|
|
var chapter_id = books[i][3];
|
|
var author = books[i][4];
|
|
var category = books[i][5];
|
|
var sourceid = books[i][6];
|
|
var article_url = article_rule.replace('{article_id}', article_id);
|
|
var chapter_url = chapter_rule.replace('{article_id}', sourceid);
|
|
chapter_url = chapter_url.replace('{chapter_id}', chapter_id);
|
|
|
|
book_html += '<li><span class="s1">' + category + '</span><span class="s2"><a href="' + article_url + '" target="_blank">' + title + '</a></span><span class="s3"><a href="' + chapter_url + '" target="_blank">' + chapter_title + '</a></span><span class="s4">' + author + '</span><span class="s5"><a href="javascript:void(0)" class="remove-book" data-id="' + article_id + '" title="删除“' + title + '”?">删除</a></span><span class="s6"> </span><span class="s7"> </span></li>';
|
|
|
|
}
|
|
}
|
|
} else {
|
|
book_html += '<div style="height:100px;line-height:100px; text-align:center">还木有任何书籍( ˙﹏˙ )</div>';
|
|
}
|
|
$(".bookshelf-list").append(book_html);
|
|
|
|
}
|
|
});
|
|
$(".bookshelf-head .close").live("click", function() {
|
|
$(".bookshelf-mask").hide();
|
|
$(".bookshelf-panel").hide();
|
|
});
|
|
|
|
$(".bookshelf-list li a.remove-book").live("click", function() {
|
|
var _this = $(this);
|
|
layer.confirm('确定从书架中移除?', {title:'提示'}, function(index){
|
|
|
|
lastread.remove(_this.data('id'));
|
|
_this.parent().parent().slideUp(300, function(){
|
|
$(this).remove();
|
|
var books = lastread.getBook().reverse();
|
|
$(".bookshelf-head h4").html("我的书架("+books.length+"本)");
|
|
});
|
|
|
|
layer.close(index);
|
|
});
|
|
});
|
|
|
|
});
|
|
}); |