Parcourir la source

三级页复制

maxiaoshan il y a 4 ans
Parent
commit
b5963661f3

+ 1 - 0
src/front/front.go

@@ -62,6 +62,7 @@ type Front struct {
 	Step1       Step1
 	Step2       Step2
 	Step3       Step3
+	StepRe3     StepRe3
 	U           U
 
 	luaList       xweb.Mapper `xweb:"/center/lualist.html"`       //脚本管理

+ 13 - 1
src/front/luamove.go

@@ -279,11 +279,23 @@ func SpiderMoveEvent(data string) {
 	spidertype := qu.ObjToString(lua["spidertype"])
 	event := qu.IntAll(lua["event"])
 	var upresult bool
+	set := map[string]interface{}{}
 	qu.Debug("lua move:", code, event)
 	if spidertype == "history" {
 		newevent := GetEvent(code, lua)
 		qu.Debug("new event:", newevent)
-		mgdb.Update("luaconfig", map[string]interface{}{"code": code}, map[string]interface{}{"$set": map[string]interface{}{"event": newevent, "spidertype": "increment"}}, false, false)
+		set["event"] = newevent
+		set["spidertype"] = "increment"
+		type_content, _ := lua["type_content"].(int)
+		iscopycontent, _ := lua["iscopycontent"].(bool)
+		str_content := qu.ObjToString(lua["str_content"])
+		str_recontent := qu.ObjToString(lua["str_recontent"])
+		if type_content == 1 && iscopycontent && str_recontent != "" { //三级页是专家模式且有复制三级页代码
+			set["iscopycontent"] = false
+			set["str_content"] = str_recontent
+			set["str_recontent"] = str_content
+		}
+		mgdb.Update("luaconfig", map[string]interface{}{"code": code}, map[string]interface{}{"$set": set}, false, false)
 		upresult, err = spider.UpdateSpiderByCodeState(code, "5", newevent) //脚本上架
 	}
 	ok := false

+ 9 - 1
src/front/spider.go

@@ -70,6 +70,11 @@ type Step3 struct {
 	Types          int
 }
 
+type StepRe3 struct {
+	Checked bool
+	Expert  string
+}
+
 //加载某个爬虫
 func (f *Front) LoadSpider(codeTaskIdReState string) error {
 	tmpStr := strings.Split(codeTaskIdReState, "__")
@@ -369,7 +374,10 @@ func (f *Front) SaveStep() {
 			if f.OtherBase.SpiderMoveEvent == "7700" {
 				param["historyevent"] = 7700
 			}
-			issave := spider.SaveSpider(code, param)
+			//三级页复制
+			param["str_recontent"] = f.StepRe3.Expert
+			param["iscopycontent"] = f.StepRe3.Checked
+			issave := spider.SaveSpider(code, param) //保存脚本
 			if issave {
 				for k, v := range one {
 					if k != "_id" && param[k] == nil {

+ 13 - 1
src/web/staticres/js/common.js

@@ -62,6 +62,8 @@ common.form.serializeArray=function(id){
 				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");
@@ -164,6 +166,13 @@ common.spider.initMirror=function(){
 		    }
 		}
 	});
+	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,
@@ -179,6 +188,7 @@ common.spider.initMirror=function(){
 	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){
@@ -382,13 +392,15 @@ common.spider.save_unnew=function(){
 	var step1=common.form.serializeArray("step1");
 	var step2=common.form.serializeArray("step2");
 	var step3=common.form.serializeArray("step3");
+	var stepre3=common.form.serializeArray("stepre3");
 	step1["Step1.types"]=$("[href='#tab_1']").parent().attr("data-mode");
 	step1["Step1.types"]=step1["Step1.types"]=="guide"?"0":"1"
 	step1["Step2.types"]=$("[href='#tab_2']").parent().attr("data-mode");
 	step1["Step2.types"]=step1["Step2.types"]=="guide"?"0":"1"
 	step1["Step3.types"]=$("[href='#tab_3']").parent().attr("data-mode");
 	step1["Step3.types"]=step1["Step3.types"]=="guide"?"0":"1"
-	var all=$.extend({},base,step1,step2,step3);
+	stepre3["StepRe3.Checked"] = $("#copyTab").prop('checked');//是否复制三级页
+	var all=$.extend({},base,step1,step2,step3,stepre3);
 	$.ajax({
 		url:"/center/save",
 		method:"post",

+ 33 - 3
src/web/templates/spideredit.html

@@ -211,17 +211,23 @@
                 <li class="active"  data-mode="{{if.T.lua.type_time}}{{if eq .T.lua.type_time 0}}guide{{else}}expert{{end}}{{else}}guide{{end}}"><a href="#tab_1" data-toggle="tab" >最后发布时间</a></li>
                 <li data-mode="{{if.T.lua.type_list}}{{if eq .T.lua.type_list 0}}guide{{else}}expert{{end}}{{else}}guide{{end}}"><a href="#tab_2" data-toggle="tab"  >列表页</a></li>
                 <li  data-mode="{{if.T.lua.type_content}}{{if eq .T.lua.type_content 0}}guide{{else}}expert{{end}}{{else}}guide{{end}}"><a href="#tab_3" data-toggle="tab" >三级页</a></li>
-				<li class="pull-right">
-					<div class="btn-group guide">
+                <li style="display: none" id="copyTabDom"  data-mode="{{if.T.lua.type_content}}{{if eq .T.lua.type_content 0}}guide{{else}}expert{{end}}{{else}}guide{{end}}"><a href="#tab_re3" data-toggle="tab" >复制三级页</a></li>
+				        <li style="padding: 10px 15px;">
+                  <input id="copyTab" type="checkbox"/>
+                  <label for="copyTab">复制三级页</label>
+                </li>
+                <li class="pull-right">
+					        <div class="btn-group guide">
                         <button type="button" class="btn btn-default  active" data-mode="guide">向导</button>
                      	<button type="button" class="btn btn-default" data-mode="expert">专家</button>
                  	</div>
-				</li>
+				        </li>
             </ul>
             <div class="tab-content">
             {{include "step1.html"}}
             {{include "step2.html"}}
 			      {{include "step3.html"}}
+            {{include "stepre3.html"}}
             </div>
             </div>
 	 		<div class="callout callout-info lead nav-tabs-top">
@@ -251,6 +257,25 @@
 	
 <script>
 	$(function(){
+    if({{.T.lua.iscopycontent}}){
+      $("#copyTab").prop('checked','checked');
+      $("#copyTabDom").show()
+      //$("#copyTabDom").find('a').trigger('click')
+      //editor_re3.refresh()
+    }
+    
+    $("#copyTab").on('change', function () {
+      var result = $(this).prop('checked')
+      if (result) {
+        $("#copyTabDom").show()
+        $("#copyTabDom").find('a').trigger('click')
+        editor_re3.refresh()
+      } else {
+        $("#copyTabDom").hide()
+        $("#copyTabDom").prev().find('a').trigger('click')
+      }
+    })
+    
     showTip("注意修改:最大页和间隔时间", 3000);
     $(document).keydown(function(e){
         if(e.keyCode==13){
@@ -278,6 +303,11 @@
 					setTimeout(function(){
 						editor_3.refresh();
 					},50)
+					break;
+        case 4:
+					setTimeout(function(){
+						editor_re3.refresh();
+					},50)
 					break;	
 			}
 		});

+ 32 - 3
src/web/templates/spiderview.html

@@ -17,8 +17,13 @@
 	              <li class="active"  data-mode="{{if.T.lua.type_time}}{{if eq .T.lua.type_time 0}}guide{{else}}expert{{end}}{{else}}guide{{end}}"><a href="#tab_1" data-toggle="tab" >最后发布时间</a></li>
 	              <li data-mode="{{if.T.lua.type_list}}{{if eq .T.lua.type_list 0}}guide{{else}}expert{{end}}{{else}}guide{{end}}"><a href="#tab_2" data-toggle="tab"  >列表页</a></li>
 	              <li  data-mode="{{if.T.lua.type_content}}{{if eq .T.lua.type_content 0}}guide{{else}}expert{{end}}{{else}}guide{{end}}"><a href="#tab_3" data-toggle="tab" >三级页</a></li>
-	              <li class="pull-right">
-							<div class="btn-group guide">
+	              <li style="display: none" id="copyTabDom"  data-mode="{{if.T.lua.type_content}}{{if eq .T.lua.type_content 0}}guide{{else}}expert{{end}}{{else}}guide{{end}}"><a href="#tab_re3" data-toggle="tab" >复制三级页</a></li>
+				        <li style="padding: 10px 15px;">
+                  <input id="copyTab" type="checkbox"/>
+                  <label for="copyTab">复制三级页</label>
+                </li>
+                <li class="pull-right">
+							  <div class="btn-group guide">
 	                      <button type="button" class="btn btn-default  active" data-mode="guide">向导</button>
 	                      <button type="button" class="btn btn-default" data-mode="expert">专家</button>
                   		</div>
@@ -28,6 +33,7 @@
 	            {{include "step1.html"}}
 	            {{include "step2.html"}}
 				      {{include "step3.html"}}
+              {{include "stepre3.html"}}
 	            </div>
 	          </div>
 			 		<div class="callout callout-info lead nav-tabs-top">
@@ -57,6 +63,24 @@
 	
 	<script>
 		$(function(){
+      if({{.T.lua.iscopycontent}}){
+      $("#copyTab").prop('checked','checked');
+      $("#copyTabDom").show()
+      //$("#copyTabDom").find('a').trigger('click')
+      //editor_re3.refresh()
+    }
+    
+    $("#copyTab").on('change', function () {
+      var result = $(this).prop('checked')
+      if (result) {
+        $("#copyTabDom").show()
+        $("#copyTabDom").find('a').trigger('click')
+        editor_re3.refresh()
+      } else {
+        $("#copyTabDom").hide()
+        $("#copyTabDom").prev().find('a').trigger('click')
+      }
+    })
 			//初始化编辑器
 			common.setActive("spider");
 			common.spider.guideActive($(".edit-step li:eq(0)").attr("data-mode"),$(".edit-step li:eq(0)").get(0));
@@ -77,7 +101,12 @@
 						setTimeout(function(){
 							editor_3.refresh();
 						},500)
-						break;	
+						break;
+          case 4:
+					setTimeout(function(){
+						editor_re3.refresh();
+					},50)
+					break;	
 				}
 			});
 			$(".guide button").click(function(){

+ 83 - 0
src/web/templates/stepre3.html

@@ -0,0 +1,83 @@
+<div class="tab-pane" id="tab_re3">
+	<form class="form-horizontal" id="stepre3">
+		<!--<fieldset data-mode="guide">
+				<legend>
+         <div style="display: flex;flex-direction: row;align-items: center;">
+             第三步 &nbsp;&nbsp;<a class="btn btn-default btn-sm" for="step4">测&nbsp;&nbsp;试</a>
+            <div style="display: flex;flex-direction: row;align-items: center;">
+                <span style="margin-left: 10px;margin-right: 10px;">线路:</span>
+								<div style="font-size: 16px;">
+									<input type="radio" checked name="jd-3-1" value="test">默认</input>
+									<input type="radio" name="jd-4-1" value="comm">线路1</input>
+									<input type="radio" name="jd-4-1" value="bid">线路2</input>
+								</div>
+					  </div>
+          </div>
+       </legend>
+				<div class="form-group">
+						<label class="control-label col-md-3 ">信息内容选择器:</label>
+						<div class="col-md-6">
+							<input type="text" class="form-control" placeholder="div:eq(0).."  name="Step3.ContentChooser" value="{{if .T.lua.param_content}}{{index .T.lua.param_content 0}}{{end}}"/>
+						</div>
+					</div>
+					
+					<div class="form-group">
+						<label class="control-label col-md-3 ">信息元素选择器:</label>
+						<div class="col-md-6">
+							<input type="text" class="form-control" placeholder="div:eq(0).."  name="Step3.ElementChooser" value="{{if .T.lua.param_content}}{{index .T.lua.param_content 1}}{{end}}" />
+						</div>
+					</div>
+					<div class="form-group">
+						<label class="control-label col-md-3">改版检测:</label>
+						<div class="col-md-6">
+							<textarea class="form-control" rows="3" placeholder="格式:选择器==结果,每行一条。 如:list:eq(0).attr('id')==listid" name="contentcheck">{{if .T.lua.contentcheck}}{{index .T.lua.contentcheck}}{{end}}</textarea>
+						</div>
+					</div>
+					<p>测试必填</p>
+		<hr/>
+		<div class="form-group">
+			<label class="control-label col-md-3 ">三级页标题:</label>
+			<div class="col-md-6">
+				<input type="text" class="form-control" placeholder="苏州市召开市级政府采购信用融资工作座谈会"  name="Step3.T_title" value="{{.T.lua.Ttitle}}"/>
+			</div>
+		</div>
+		<div class="form-group">
+			<label class="control-label col-md-3 ">三级页地址:</label>
+			<div class="col-md-6">
+				<input type="text" class="form-control" placeholder="http://xxx.xx.xx/xx"  name="Step3.T_href"  value="{{.T.lua.Thref}}"/>
+			</div>
+		</div>
+		<div class="form-group">
+			<label class="control-label col-md-3 ">发布时间:</label>
+			<div class="col-md-6">
+				<input type="text" class="form-control" placeholder="2016-08-17 12:12:12" value="2016-08-17 12:12:12"  name="Step3.T_date" value="{{.T.lua.Tdate}}" />
+			</div>
+		</div>
+		
+		</fieldset>-->
+		
+		<fieldset data-mode="expert" class="hide">
+			<!--<legend>
+          <div style="display: flex;flex-direction: row;align-items: center;flex-wrap: wrap;">
+           第三步(专家模式)&nbsp;&nbsp;<a class="btn btn-default btn-sm" for="step4">保&nbsp;&nbsp;存</a>
+            <div style="display: flex;flex-direction: row;align-items: center;">
+                <span style="margin-left: 10px;margin-right: 10px;">线路:</span>
+								<div style="font-size: 16px;">
+									<input type="radio" checked name="jd-3-2" value="test">默认</input>
+									<input type="radio" name="jd-3-2" value="comm">线路1</input>
+									<input type="radio" name="jd-3-2" value="bid">线路2</input>
+								</div>
+					  </div>
+            <small style="font-size:14px;text-align:right;width:100%">编辑器热键(F11:全屏/还原 F10:向导模式转专家代码 F9:插入调试代码段 F8:插入下载附件代码段)</small>
+          </div>
+      </legend>-->
+			{{if .T.lua.str_recontent}}
+				<textarea id="stepre3_mirror"  name="StepRe3.Expert">{{.T.lua.str_recontent}}</textarea>
+			{{else}}
+			<textarea id="stepre3_mirror"  name="StepRe3.Expert">function downloadDetailPage(data)
+    data = com.dataNil(data)
+end</textarea>
+			{{end}}
+		</fieldset>
+	</form>
+</div>