123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776 |
- common={};
- var issave = false;
- common.spider={};
- common.form={};
- common.maskShow=function(title){
- var change=function(){
- if(title){
- $("#maskTitle").text(title);
- }else{
- $("#maskTitle").text("加载中");
- }
- var width=$(window).width();
- var height=$("body").height();
- $(".mask>.box").css("left",(width-width*0.3)/2);
- $(".mask").removeClass("hide").css("height",height);
- }
- $(window).resize(function(){
- change();
- });
- change();
- }
- common.maskHide=function(){
- $(".mask").addClass("hide");
- $(window).unbind("resize");
- }
- common.setActive=function(name){
- $("ul.sidebar-menu li.active").removeClass("active");
- $("ul.sidebar-menu li[data="+name+"]").addClass("active");
- }
- common.menuActive=function(name){
- // $("ul.sidebar-menu").tree();
- $("ul.sidebar-menu").filter(".menu-open").removeClass("menu-open");
- $("ul.sidebar-menu").filter(".active").removeClass("active");
- var a;
- $("ul.sidebar-menu a").each(function(i){
- if($(this).attr("href").endsWith(name)){
- a=$(this)
- }
- });
- if (!a) {
- return common.menuActive(name)
- }
- a.parent().addClass("active");
- a.parent().parent().parent().addClass("active");
- // a.parent().parent().parent().addClass("menu-open");
- }
- common.form.isCheck=function(id,func){
- var ischeck=true;
- $("#"+id+" [name]").each(function(){
- if(this){
- var value=$(this).prop("value");
- var name=$(this).prop("name");
- if(!value || value==""){
- if(func){
- func(this);
- }else{
- ischeck=false;
- $(this).css("border-color","red");
- $(this).attr("placeholder","此项不能为空")
- }
- }else{
- if($(this).css("border-color")=="rgb(255, 0, 0)"){
- $(this).css("border-color","#d2d6de");
- }
- }
- }
- })
- return ischeck;
- }
- common.form.serializeArray=function(id){
- var serializeArray={};
- var chromeArr = [];
- var rangeChromeArr = [];
- $("#"+id+" [name]").each(function(){
- var name=$(this).prop("name");
- var value=$(this).prop("value");
- if($(this).get(0).tagName=="TEXTAREA" && $(this).attr("id")){
- if($(this).attr("id").indexOf("Step1")>-1){
- value=editor_1.getValue()
- }else if($(this).attr("id").indexOf("Step2")>-1){
- value=editor_2.getValue()
- }else if($(this).attr("id").indexOf("Step3")>-1){
- value=editor_3.getValue()
- }else if($(this).attr("id").indexOf("Stepre3")>-1){
- value=editor_re3.getValue()
- }
- }else{
- value=$(this).prop("value");
- value=value?value:"";
- }
- //组合有序的chrome
- if(name.includes("Range.Chrome")){//循环动作
- var rangeChromeMap = {};
- rangeChromeMap["action"] = name.replace("Range.Chrome.","");
- rangeChromeMap["param"] = value
- var selector_val = $(this).parents(".chrome-actions").find("[sel='"+name+".selector']").val();
- if (selector_val) {
- rangeChromeMap["selector"]= selector_val
- }
- rangeChromeArr.push(rangeChromeMap);
- }else if (name.includes("Chrome")){//基础动作
- var chromeMap = {};
- chromeMap["action"] = name.replace("Chrome.","");
- chromeMap["param"] = value
- var selector_val = $(this).parents(".chrome-actions").find("[sel='"+name+".selector']").val();
- if (selector_val) {
- chromeMap["selector"]= selector_val
- }
- chromeArr.push(chromeMap);
- }else{
- serializeArray[name]=value.trim();
- }
- });
- if (chromeArr.length > 0){
- serializeArray[id+".Chrome"] = JSON.stringify(chromeArr);
- }
- if (rangeChromeArr.length > 0){
- serializeArray[id+".RangeChrome"] = JSON.stringify(rangeChromeArr);
- }
- return serializeArray
- }
- common.form.submit=function(){}
- //js编辑器展示
- common.spider.editjs=function (step) {
- $("#modal-js").modal("show");
- setTimeout(() => {
- editor2_js.refresh();
- editor3_js.refresh();
- }, 500)
- }
- common.spider.initMirror=function() {
- editor_1 = CodeMirror.fromTextArea($("#Step1_mirror")[0], {
- theme:"solarized light",
- lineNumbers: true,
- indentUnit:4,
- smartIndent:true,
- indentWithTabs:true,
- extraKeys:{
- "F11": function(cm) {
- cm.setOption("fullScreen", !cm.getOption("fullScreen"));
- },
- "F10": function(cm) {
- var r=window.confirm("生成代码后原先的将会被覆盖,是否生成?")
- if(r){
- $("a[for=Step1]").eq(0).trigger("click",["editor_1"])
- }
- },
- "F9":function(cm) {
- var str_tab = "\t".repeat(cm.getCursor().ch);
- var _keyWord = "something";
- cm.replaceSelection(`if true then\n${str_tab}\treturn ${_keyWord}\n${str_tab}end`);
- },
- "F8":function(cm){
- var str_tab = "\t".repeat(cm.getCursor().ch);
- cm.replaceSelection(`local attachments = com.getFileAttachmentsArrayWithTag(data["href"],"dl","<dl>"..data["contenthtml"].."</dl>",false)\n${str_tab}if table.getn(attachments)>0 then\n\t\t${str_tab}data["projectinfo"]={\n\t\t${str_tab}["attachments"]=attachments\n\t${str_tab}}\n${str_tab}end`);
- },
- "Esc": function(cm) {
- if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
- }
- }
- });
- editor_2 = CodeMirror.fromTextArea($("#Step2_mirror")[0], {
- theme:"solarized light",
- lineNumbers: true,
- indentUnit:4,
- smartIndent:true,
- indentWithTabs:true,
- extraKeys:{
- "F11": function(cm) {
- cm.setOption("fullScreen", !cm.getOption("fullScreen"));
- },
- "F10": function(cm) {
- var r=window.confirm("生成代码后原先的将会被覆盖,是否生成?")
- if(r){
- $("a[for=Step2]").eq(0).trigger("click",["editor_2"])
- }
- },
- "F9":function(cm) {
- var str_tab = "\t".repeat(cm.getCursor().ch);
- var _keyWord = "something";
- cm.replaceSelection(`if true then\n${str_tab}\treturn ${_keyWord}\n${str_tab}end`);
- },
- "F8":function(cm){
- var str_tab = "\t".repeat(cm.getCursor().ch);
- cm.replaceSelection(`local attachments = com.getFileAttachmentsArrayWithTag(data["href"],"dl","<dl>"..data["contenthtml"].."</dl>",false)\n${str_tab}if table.getn(attachments)>0 then\n\t\t${str_tab}data["projectinfo"]={\n\t\t${str_tab}["attachments"]=attachments\n\t${str_tab}}\n${str_tab}end`);
- },
- "Ctrl-F10":function (cm){
- if (!luaIsChrome){
- window.alert("非chrome爬虫,禁止使用chrome下载方法");
- return
- }
- var regex = /{([^}]*)}/g;
- var str_tab = "\t".repeat(cm.getCursor().ch);
- var data = common.form.serializeArray("Step2");
- var baseChromeActionsStr = data["Step2.Chrome"];
- var luaText = `local timeout = 60\n${str_tab}local chromeTask = [[\n${str_tab}\t{\n${str_tab}\t\t`;
- var baseText = ``;
- var rangText = ``;
- var timesText = ``;
- if (baseChromeActionsStr){
- var rangeChromeActionsStr = data["Step2.RangeChrome"];
- var rangeTimes = data["Step2.RangeTimes"];
- if(rangeChromeActionsStr) {
- if(!rangeTimes){
- window.alert("未设置循环动作执行次数");
- return;
- }else{
- timesText = `${str_tab}"range-times":`+rangeTimes+`,\n${str_tab}${str_tab}`
- }
- //循环动作
- var rangeChromeActionMapStr = rangeChromeActionsStr.substring(1,rangeChromeActionsStr.length - 1);
- var rangeChromeActionsStrArr = rangeChromeActionMapStr.match(regex);
- for (var i in rangeChromeActionsStrArr){
- if (i == rangeChromeActionsStrArr.length -1){
- rangText += rangeChromeActionsStrArr[i]+`\n${str_tab}\t`;
- }else{
- rangText += rangeChromeActionsStrArr[i]+`,\n${str_tab}\t\t\t`;
- }
- }
- rangText = `"range-actions":[\n${str_tab}${str_tab}\t`+rangText+`\t]\n${str_tab}`
- }
- //基础动作
- var baseChromeActionMapStr = baseChromeActionsStr.substring(1,baseChromeActionsStr.length - 1);
- var baseChromeActionsStrArr = baseChromeActionMapStr.match(regex);
- for (var i in baseChromeActionsStrArr){
- var baseActionText = baseChromeActionsStrArr[i];
- if (baseActionText.includes("navigate")){
- baseActionText = `{"action":"navigate","param":"]]..href..[["}`
- }
- if (i == baseChromeActionsStrArr.length -1){
- baseText += baseActionText+`\n${str_tab}\t`;
- }else{
- baseText += baseActionText+`,\n${str_tab}\t\t\t`;
- }
- }
- if(rangText){
- baseText = `"base-actions":[\n${str_tab}${str_tab}\t`+baseText+`\t],\n${str_tab}`
- }else{
- baseText = `"base-actions":[\n${str_tab}${str_tab}\t`+baseText+`\t]\n${str_tab}`
- }
- }else{
- //luaText += `添加基础执行动作\n${str_tab}\t`;
- window.alert("未设置基础循环动作");
- return;
- }
- luaText += baseText + timesText + rangText + `\t}\n${str_tab}]]\n${str_tab}local contenthtmltable = downloadByChrome(timeout,chromeTask)`
- cm.replaceSelection(luaText);
- },
- "Esc": function(cm) {
- if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
- }
- }
- });
- editor_3 = CodeMirror.fromTextArea($("#Step3_mirror")[0], {
- theme:"solarized light",
- lineNumbers: true,
- indentUnit:4,
- smartIndent:true,
- indentWithTabs:true,
- extraKeys:{
- "F11": function(cm) {
- cm.setOption("fullScreen", !cm.getOption("fullScreen"));
- },
- "F10": function(cm) {
- var r=window.confirm("生成代码后原先的将会被覆盖,是否生成?")
- if(r){
- $("a[for=Step3]").eq(0).trigger("click",["editor_3"])
- }
- },
- "F9":function(cm) {
- var str_tab = "\t".repeat(cm.getCursor().ch);
- var _keyWord = "something";
- cm.replaceSelection(`if true then\n${str_tab}\treturn ${_keyWord}\n${str_tab}end`);
- },
- "F8":function(cm){
- var str_tab = "\t".repeat(cm.getCursor().ch);
- cm.replaceSelection(`local attachments = com.getFileAttachmentsArrayWithTag(data["href"],"dl","<dl>"..data["contenthtml"].."</dl>",false)\n${str_tab}if table.getn(attachments)>0 then\n\t\t${str_tab}data["projectinfo"]={\n\t\t${str_tab}["attachments"]=attachments\n\t${str_tab}}\n${str_tab}end`);
- },
- "Ctrl-F10":function (cm){
- if (!luaIsChrome){
- window.alert("非chrome爬虫,禁止使用chrome下载方法");
- return
- }
- var regex = /{([^}]*)}/g;
- var str_tab = "\t".repeat(cm.getCursor().ch);
- var data = common.form.serializeArray("Step3");
- var baseChromeActionsStr = data["Step3.Chrome"];
- var luaText = `local timeout = 60\n${str_tab}local chromeTask = [[\n${str_tab}\t{\n${str_tab}\t\t`;
- var baseText = ``;
- var rangText = ``;
- var timesText = ``;
- if (baseChromeActionsStr){
- var rangeChromeActionsStr = data["Step3.RangeChrome"];
- var rangeTimes = data["Step3.RangeTimes"];
- if(rangeChromeActionsStr) {
- if(!rangeTimes){
- window.alert("未设置循环动作执行次数");
- return;
- }else{
- timesText = `${str_tab}"range-times":`+rangeTimes+`,\n${str_tab}${str_tab}`
- }
- //循环动作
- var rangeChromeActionMapStr = rangeChromeActionsStr.substring(1,rangeChromeActionsStr.length - 1);
- var rangeChromeActionsStrArr = rangeChromeActionMapStr.match(regex);
- for (var i in rangeChromeActionsStrArr){
- if (i == rangeChromeActionsStrArr.length -1){
- rangText += rangeChromeActionsStrArr[i]+`\n${str_tab}\t`;
- }else{
- rangText += rangeChromeActionsStrArr[i]+`,\n${str_tab}\t\t\t`;
- }
- }
- rangText = `"range-actions":[\n${str_tab}${str_tab}\t`+rangText+`\t]\n${str_tab}`
- }
- //基础动作
- var baseChromeActionMapStr = baseChromeActionsStr.substring(1,baseChromeActionsStr.length - 1);
- var baseChromeActionsStrArr = baseChromeActionMapStr.match(regex);
- for (var i in baseChromeActionsStrArr){
- var baseActionText = baseChromeActionsStrArr[i];
- if (baseActionText.includes("navigate")){
- baseActionText = `{"action":"navigate","param":"]]..data["href"]..[["}`
- }
- if (i == baseChromeActionsStrArr.length -1){
- baseText += baseActionText+`\n${str_tab}\t`;
- }else{
- baseText += baseActionText+`,\n${str_tab}\t\t\t`;
- }
- }
- if(rangText){
- baseText = `"base-actions":[\n${str_tab}${str_tab}\t`+baseText+`\t],\n${str_tab}`
- }else{
- baseText = `"base-actions":[\n${str_tab}${str_tab}\t`+baseText+`\t]\n${str_tab}`
- }
- }else{
- //luaText += `添加基础执行动作\n${str_tab}\t`;
- window.alert("未设置基础循环动作");
- return;
- }
- luaText += baseText + timesText + rangText + `\t}\n${str_tab}]]\n${str_tab}local contenthtmltable = downloadByChrome(timeout,chromeTask)`
- cm.replaceSelection(luaText);
- },
- "Esc": function(cm) {
- if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
- }
- }
- });
- editor_re3 = CodeMirror.fromTextArea($("#stepre3_mirror")[0], {
- theme:"solarized light",
- lineNumbers: true,
- indentUnit:4,
- smartIndent:true,
- indentWithTabs:true
- });
- editor_4 = CodeMirror.fromTextArea($("#testcontents")[0], {
- theme:"abcdef",
- lineNumbers: true,
- extraKeys:{
- "F11": function(cm) {
- cm.setOption("fullScreen", !cm.getOption("fullScreen"));
- },
- "Esc": function(cm) {
- if (cm.getOption("fullScreen")) cm.setOption("fullScreen", false);
- }
- }
- });
- editor_1.setSize("auto","auto");
- editor_2.setSize("auto","auto");
- editor_3.setSize("auto","auto");
- editor_re3.setSize("auto","auto");
- editor_4.setSize("auto","300");
- }
- common.spider.setExpert=function(editor,text){
- text=text.substr(text.indexOf("function "));
- eval(editor+".setValue("+JSON.stringify(text, null, "\t")+")")
- }
- common.spider.guideActive=function(name,li){
- $(".guide button.active").removeClass("active");
- $(".guide button[data-mode="+name+"]").addClass("active");
- var target=$(li).find("a").attr("href")+ " fieldset";
- $(target).each(function(){
- if(name==$(this).attr("data-mode")){
- $(this).removeClass("hide");
- }else{
- $(this).addClass("hide")
- }
- });
- }
- common.spider.model={}
- common.spider.getModel=function(func){
- $.ajax({
- url:"/center/model",
- method:"post",
- success:function(d){
- common.spider.model=d;
- for(var name in d){
- var option=$("<option>");
- option.val(name);
- option.text(name);
- $("#model").append(option);
- }
- if(func){
- if (models!="" && typeof(models)!="object"){
- models=JSON.parse(models)
- func(models.model);
- }else{
- models={};
- func();
- }
- }
- }
- })
- }
- common.spider.json=[];
- common.spider.test=function(data,func){
- $.ajax({
- url:"/center/run",
- method:"post",
- data:data,
- success:function(rs){
- if(func){
- func(rs);
- if(rs["msg"] == "附件中含有乱码"){
- showMsg("附件中含有乱码!!",function(){});
- }
- }else{
- common.maskHide();
- showMsg("超时",function(){});
- }
- },
- error: function (XMLHttpRequest, textStatus, errorThrown) {
- common.spider.error(XMLHttpRequest, textStatus, errorThrown);
- },
- })
- }
- common.spider.error = function (XMLHttpRequest, textStatus, errorThrown) {
- common.maskHide();
- alert(`XMLHttpRequest.status : ${XMLHttpRequest.status}\ntextStatus : ${textStatus}`);
- };
- common.spider.setModel=function(name,p){
- if(!name){
- name=$("#model").val();
- }
- var modelbody=$("#model-body .others");
- modelbody.children().remove();
- var model=common.spider.model[name];
- if(model){
- for(var k in model){
- var div=$("<div class='form-group'></div>");
- var label=$("<label class='col-sm-4 control-label'>"+model[k]+"</label>");
- var c_div=$("<div class='col-md-7'></div>");
- if(model[k] == "发布单位" || model[k] == "公告类型"){
- div = $("<div class='form-group' style='display: none'></div>");
- }
- if(model[k]=="省份"){
- var select=$("<select class='form-control' onchange='getcity($(this).val())'></select>")
- select.attr("name",k);
- select.attr("id",k);
- for(var i in common.spider.json){
- // var field=common.spider.json[i];
- // for(name in field){
- // var option=$("<option value='"+name+"'>"+name+"</option>")
- // select.append(option);
- // }
- var name=common.spider.json[i];
- var option=$("<option value='"+name+"'>"+name+"</option>")
- select.append(option);
- }
- modelbody.append(div.append(label).append(c_div.append(select)));
- }else if(model[k]=="城市") {
- var select = $("<select class='form-control' onchange='getdistrict($(this).val())'></select>")
- select.attr("name", k);
- select.attr("id", k);
- modelbody.append(div.append(label).append(c_div.append(select)));
- }else if (model[k]=="区/县"){
- var select = $("<select class='form-control' ></select>")
- select.attr("name", k);
- select.attr("id", k);
- modelbody.append(div.append(label).append(c_div.append(select)));
- }else{
- var input=$("<input type='text' class='form-control'/>");
- input.attr("name",k);
- // if(k == "district"){
- // input.attr("disabled",true);
- // }
- input.attr("id",k);
- input.attr("placeholder",model[k]);
- modelbody.append(div.append(label).append(c_div.append(input)));
- }
- }
- $("#area").prepend('<option value="">--请选择--</option>')
- if(models!=""){
- if(typeof(models)!="object"){
- models=JSON.parse(models);
- }
- for(var k in models){
- if(p && k=="model"){
- }else if(k=="city"){
- getcity(models["area"],models[k])
- if(models[k]!=""){
- $("#"+k).prepend('<option selected value="'+models[k]+'">'+models[k]+'</option>')
- }
- }else if(k=="district"){
- getdistrict(models["district"],models[k])
- if(models[k]!=""){
- $("#"+k).prepend('<option selected value="'+models[k]+'">'+models[k]+'</option>')
- }
- }else{
- $("#"+k).val(models[k]);
- }
- }
- }
- }
- return true
- }
- function getcity(area,city){
- cleardistrict();
- $("#city").find("option").remove();
- $("#city").append('<option value="">--请选择--</option>')
- for(var i in areas[area]){
- if (areas[area][i] != city){
- $("#city").append('<option value="'+areas[area][i]+'">'+areas[area][i]+'</option>')
- }
- }
- // $.ajax({
- // url:"/center/getCity",
- // method:"post",
- // data:{"area":area},
- // success:function(r){
- // for(var i in r){
- // if(r[i]!=city){
- // $("#city").append('<option value="'+r[i]+'">'+r[i]+'</option>')
- // }
- // }
- //
- // }
- // })
- }
- function getdistrict(city,district){
- cleardistrict();
- for(var i in citys[city]){
- if (citys[city][i] != district){
- $("#district").append('<option value="'+citys[city][i]+'">'+citys[city][i]+'</option>')
- }
- }
- }
- function cleardistrict(){
- $("#district").find("option").remove();
- $("#district").append('<option value="">--请选择--</option>')
- }
- common.spider.upstate=function(code){
- if(!issave){
- alert("请保存爬虫!")
- return
- }
- var id=$("#spiderCode").val();
- showConfirm("是否提交?\n完成后将不能更改", function() {
- // common.spider.save_unnew();
- $.get("/center/spider/upstate?state=1&code="+id,function(r){
- if (r["istotask"]){
- window.location.href = "/center/task/edit/"+r["taskid"]+"__2";
- }else{
- $(window).unbind('beforeunload');
- window.location.href = "/center";
- }
- })
- })
- }
- common.spider.save=function(a,b){
- setCookieTime(code,"1",24*60*60)//含列表页异常任务爬虫编辑清空栏目名称和栏目地址
- var base=common.form.serializeArray("baseinfo");
- if(window.location.pathname=="/center/spider"){
- $.get("/center/spider/isrepeat?code="+base["Base.SpiderCode"],function(r){
- if(r=="y"){
- var y=window.confirm("检测到您处于新建页面,爬虫代码已重复,确定覆盖已有爬虫?")
- if(!y){
- return false
- }
- }
- })
- }
- common.spider.save_unnew();
- }
- common.spider.upload=function(code){
- var url="/center/spider/upstate?state=3&code="+code;
- showConfirm("审核通过?", function() {
- common.maskShow("正在处理...");
- $.get(url,function(res){
- common.maskHide();
- if(res["err"]==""){
- showTip("处理成功",500,function(){});
- window.location.href = "/center";
- }else{
- showMsg(res["err"],function(){});
- }
- })
- });
- }
- common.spider.save_unnew=function(){
- var base=common.form.serializeArray("baseinfo");//基本参数
- var Step1=common.form.serializeArray("Step1");//发布时间
- var Step2=common.form.serializeArray("Step2");//列表页
- var Step3=common.form.serializeArray("Step3");//详情页
- var Stepre3=common.form.serializeArray("Stepre3");
- //设置types
- Step1["Step1.types"]=$("[href='#tab_1']").parent().attr("data-mode");
- Step1["Step1.types"]=Step1["Step1.types"]=="guide"?"0":"1"
- var Step2_type = $("[href='#tab_2']").parent().attr("data-mode");
- if (Step2_type === "chrome"){
- Step1["Step2.types"]="2"
- }else if (Step2_type === "expert"){
- Step1["Step2.types"]="1"
- }else if (Step2_type === "guide"){
- Step1["Step2.types"]="0"
- }
- var Step3_type = $("[href='#tab_3']").parent().attr("data-mode");
- if (Step3_type === "chrome"){
- Step1["Step3.types"]="2"
- }else if (Step3_type === "expert"){
- Step1["Step3.types"]="1"
- }else if (Step3_type === "guide"){
- Step1["Step3.types"]="0"
- }
- Stepre3["StepRe3.Checked"] = $("#copyTab").prop('checked');//是否复制三级页
- var all=$.extend({},base,Step1,Step2,Step3,Stepre3);
- $.ajax({
- url:"/center/save",
- method:"post",
- data:all,
- async : false,
- success:function(r){
- if (r["ok"]){
- if (r["msg"]){
- showMsg(r["msg"],function(){});
- }
- issave = true;
- common.spider.saveTip("保存成功");
- if(window.location.pathname=="/center/spider"){
- $(window).unbind('beforeunload');
- window.location.href="/center/spider/edit/"+r["code"]+"__";
- }
- $(window).unbind('beforeunload');
- }else{
- showMsg(r["msg"],function(){});
- }
- }
- })
- }
- common.spider.saveTip=function(t){
- var d=new Date();
- t=t+" "+d.getFullYear()+"-"+(d.getMonth()+1)+"-"+d.getDate()+" "+d.getHours()+":"+(d.getMinutes()<10?"0"+d.getMinutes():d.getMinutes())+":"+(d.getSeconds()<10?"0"+d.getSeconds():d.getSeconds());
- $(".callout-a").text(t);
- }
- common.passwords=function(){
- if($("#passwords").parent().parent().hasClass("hide")){
- $("#passwords").parent().parent().removeClass("hide");
- return;
- }else{
- var v=$("#passwords").val();
- if(!v || v==""){
- alert("密码不能为空")
- }else{
- $.get("/center/password?password="+v,function(r){
- alert(r);
- $("#passwords").parent().parent().addClass("hide");
- })
- window.location.href="/center/logout"
- }
- }
- }
- function setCookie(name,value){
- var expdate = new Date(); //初始化时间
- expdate.setTime(expdate.getTime() + 30 * 60 * 1000); //时间
- document.cookie = name+"="+value+";expires="+expdate.toGMTString()+";path=/";
- }
- function setCookieTime(name,value,t){
- var expdate = new Date(); //初始化时间
- expdate.setTime(expdate.getTime() + t * 1000); //时间
- document.cookie = name+"="+value+";expires="+expdate.toGMTString()+";path=/";
- }
- function getCookie(c_name){
- if (document.cookie.length>0){
- c_start=document.cookie.indexOf(c_name + "=")
- if (c_start!=-1){
- c_start=c_start + c_name.length+1
- c_end=document.cookie.indexOf(";",c_start)
- if (c_end==-1) c_end=document.cookie.length
- return unescape(document.cookie.substring(c_start,c_end))
- }
- }
- return ""
- }
- function statusbox(){
- if($(".checkstatusbox").is(":hidden")){
- $(".checkstatusbox").removeClass("hide");
- }else{
- $(".checkstatusbox").addClass("hide");
- }
- }
- common.spider.checkStatus=function(t,code){
- var node = $(t).parent().find("input[type='radio']:checked").val()
- common.maskShow("正在测试,这可能需要一点时间");
- $.get("/center/spider/pass?code="+code+"&node="+node,function(r){
- if(r==null){
- r=[false,false,false,false]
- showMsg("脚本解析失败!!",function(){});
- }
- var allstatus=true;
- if(r[0]){
- $("#status_base").removeClass("text-danger").addClass("text-success").text("已通过");
- }else{
- $("#status_base").removeClass("text-success").addClass("text-danger").text("未通过");
- allstatus=false;
- }
- if(r[1]){
- $("#status_time").removeClass("text-danger").addClass("text-success").text("已通过");
- }else{
- $("#status_time").removeClass("text-success").addClass("text-danger").text("未通过");
- allstatus=false;
- }
- if(r[2]){
- $("#status_list").removeClass("text-danger").addClass("text-success").text("已通过");
- }else{
- $("#status_list").removeClass("text-success").addClass("text-danger").text("未通过");
- allstatus=false;
- }
- if(r[3]){
- $("#status_content").removeClass("text-danger").addClass("text-success").text("已通过");
- }else{
- $("#status_content").removeClass("text-success").addClass("text-danger").text("未通过");
- allstatus=false;
- }
- if(allstatus){
- $("#status_all").removeClass("text-danger").addClass("text-success").text("已通过");
- }else{
- $("#status_all").removeClass("text-success").addClass("text-danger").text("未通过");
- }
- $(".callout-a").text("下载请求:"+r[4]+"次,时间函数:"+r[5]+"次,列表函数:"+r[6]+"次 "+r[8]+"条信息,内容函数:"+r[7]+"次");
- common.maskHide();
- $("#jsonClick")[0].click();
- //window.open("/center/spider/json");
- //window.open("https://editor.qmx.top/center/spider/json");
- })
- }
- common.spider.checkTime=function(code){
- $.ajax({
- url:"/center/spider/checktime",
- method:"post",
- data:{"code":code},
- success:function(b){
- if(b){
- showMsg("success",function(){});
- ttable.ajax.reload( null, false );
- }
- }
- })
- }
- Date.prototype.format=function(format){var o={"M+":this.getMonth()+1,"d+":this.getDate(),"h+":this.getHours(),"m+":this.getMinutes(),"s+":this.getSeconds(),"q+":Math.floor((this.getMonth()+3)/3),"S":this.getMilliseconds()};if(/(y+)/.test(format)){format=format.replace(RegExp.$1,(this.getFullYear()+"").substr(4-RegExp.$1.length))}for(var k in o){if(new RegExp("("+k+")").test(format)){format=format.replace(RegExp.$1,RegExp.$1.length==1?o[k]:("00"+o[k]).substr((""+o[k]).length))}}return format};function getDate(l){var date=new Date(l);pattern="yyyy-MM-dd hh:mm:ss";return date.format(pattern)};
|