180 lines
6.8 KiB
HTML
180 lines
6.8 KiB
HTML
{extend name="public/base"/}
|
|
{block name="body"}
|
|
<style>
|
|
.controls{
|
|
width: 500px;
|
|
height: 40px;
|
|
}
|
|
</style>
|
|
<div class="main-box clearfix">
|
|
<header class="main-box-header clearfix">
|
|
<div class="pull-left">
|
|
<h2>同步中</h2>
|
|
</div>
|
|
<div class="pull-right">
|
|
|
|
</div>
|
|
</header>
|
|
<div class="main-box-body clearfix">
|
|
<!--<iframe name="right" id="rightMain" src="{:url('novel/getsync',array('id'=>$id,'pageli'=>1))}" frameborder="false" scrolling="auto" style="border:none;" width="100%" height="601" allowtransparency="true"></iframe>-->
|
|
<div id="status1" class="controls"></div>
|
|
<div id="status2" class="controls"></div>
|
|
<div id="status3" class="controls"></div>
|
|
<div id="status4" class="controls"></div>
|
|
<div id="status5" class="controls"></div>
|
|
<div id="status6" class="controls"></div>
|
|
<div id="status7" class="controls"></div>
|
|
<div id="status8" class="controls"></div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
{/block}
|
|
|
|
{block name="script"}
|
|
<script type="text/javascript">
|
|
var id = {$id};
|
|
var Autospiderlist = '{:url('Sync/spiderlist')}';
|
|
var Autoarticlelist = '{:url('Sync/articlelist')}';
|
|
var Autochapterlist = '{:url('Sync/chapterlist')}';
|
|
var Autochapter = '{:url('Sync/chapter')}';
|
|
var curCount=0; //章节
|
|
var arCount=0; //小说
|
|
var allCount=0; //总小说
|
|
|
|
var Spiderlist=[];
|
|
var Articlelist=[];
|
|
var Chapterlist=[];
|
|
|
|
var SpiderOrder=0;
|
|
var ArticleOrder=0;
|
|
var ChapterOrder=0; //请求内容数
|
|
setTimeout(function(){autoarticle()}, 100);
|
|
//小说列表
|
|
function autoarticle() {
|
|
ajax(Autospiderlist,'post',{id:id},function () {
|
|
$("#status1").html("正在获取小说列表...");
|
|
},function (res) {
|
|
// console.log(res)
|
|
if (res.code == 0){
|
|
if (res.data.length>0){
|
|
arCount = res.data.length;
|
|
Spiderlist = res.data;
|
|
countFarst = parseInt(SpiderOrder)+1;
|
|
$("#status2").html("本次总共需要同步"+arCount+"本小说,第"+ countFarst +"本《"+ Spiderlist[SpiderOrder].articlename+"》正在同步,请稍等...");
|
|
autospiderlist(); //文章ID
|
|
}
|
|
} else{
|
|
$("#status2").html("获取小说列表失败,请检查配置规则");
|
|
}
|
|
});
|
|
}
|
|
//详情
|
|
function autospiderlist() {
|
|
ajax(Autoarticlelist,'post',{
|
|
articleid:Spiderlist[SpiderOrder].articleid
|
|
},function () {
|
|
$("#status3").html("小说详情开始同步...");
|
|
},function (res) {
|
|
if (res.code == 0){
|
|
Articlelist = res.data;
|
|
ArticleOrder = res.articleid;
|
|
$("#status4").html("小说《"+res.data.articlename+"》详情同步完成");
|
|
autoarticlelist(); //主键和文章标题
|
|
} else{
|
|
$("#status4").html("小说详情同步失败,请检查配置规则...<font color='#f30'>"+res.msg+"</font>");
|
|
}
|
|
});
|
|
}
|
|
//章节
|
|
function autoarticlelist() {
|
|
ajax(Autochapterlist,'post',{
|
|
aid:Articlelist.articleid
|
|
},function () {
|
|
$("#status5").html("正在获取小说章节...");
|
|
},function (res) {
|
|
if(res.code == 0){
|
|
if (res.data.length > 0){
|
|
curCount = res.data.length;
|
|
Chapterlist = res.data;
|
|
$("#status6").html("《"+ curCount +"》小说章节获取成功");
|
|
autochapter();
|
|
}
|
|
}else{
|
|
$("#status6").html("小说章节获取失败,请检查配置规则...");
|
|
}
|
|
});
|
|
}
|
|
//内容
|
|
function autochapter() {
|
|
ajax(Autochapter,'post',{
|
|
chapterOrder:ChapterOrder, //请求次数
|
|
articleid:ArticleOrder,
|
|
articlename:Articlelist.articlename,
|
|
aid:Articlelist.articleid,
|
|
articleInfo:Chapterlist[ChapterOrder]
|
|
},function () {
|
|
$("#status7").html("章节内容同步中...");
|
|
},function (res) {
|
|
// console.log(res)
|
|
if (res.code == 0){
|
|
if (res.success == 'ok'){
|
|
ChapterOrder = res.chapters;
|
|
$("#status8").html(""+ChapterOrder+"该章节已同步完成..");
|
|
} else{
|
|
ChapterOrder++;
|
|
chanNum = parseInt(curCount) - parseInt(ChapterOrder);
|
|
$("#status8").html("章节《"+res.data.chaptername+"》同步完成");
|
|
$("#status6").html("《"+ curCount + "/"+ chanNum +"》小说章节获取成功");
|
|
}
|
|
if (ChapterOrder < curCount){
|
|
autochapter();
|
|
}else{
|
|
SpiderOrder++;
|
|
if (SpiderOrder < arCount){
|
|
ChapterOrder = 0;
|
|
countFarst = parseInt(SpiderOrder)+1;
|
|
$("#status2").html("本次总共需要同步"+arCount+"本小说,第"+ countFarst +"本《"+ Spiderlist[SpiderOrder].articlename+"》正在同步,请稍等...");
|
|
autospiderlist();
|
|
} else{
|
|
$("#status1").html("小说同步已全部完成");
|
|
$("#status2").html("小说同步已全部完成");
|
|
$("#status3").html("小说同步已全部完成");
|
|
$("#status4").html("小说同步已全部完成");
|
|
$("#status5").html("小说同步已全部完成");
|
|
$("#status6").html("小说同步已全部完成");
|
|
$("#status7").html("小说同步已全部完成");
|
|
$("#status8").html("小说同步已全部完成");
|
|
}
|
|
}
|
|
} else if(res.code == 1){
|
|
$("#status8").html("更新章节列表出错..");
|
|
}else if(res.code == 2){
|
|
$("#status8").html("更新章节内容出错..");
|
|
}else{
|
|
$("#status8").html("同步完成出错..");
|
|
}
|
|
});
|
|
}
|
|
function ajax(url, type, data , beforesend ,success){
|
|
$.ajax({
|
|
url : url,
|
|
type : type,
|
|
async : true,
|
|
data:data,
|
|
dataType : 'json',
|
|
beforeSend:beforesend,
|
|
success : success,
|
|
error:function(xhr, status) {
|
|
if (status == 'timeout') {
|
|
// alert('请求超时');
|
|
} else {
|
|
// alert('请求错误:'+status);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
</script>
|
|
|
|
{/block}
|