Forráskód Böngészése

接口返回值结构调整

mxs 10 hónapja
szülő
commit
a36679da16

+ 1 - 1
backend/webservice/webservice.go

@@ -112,7 +112,7 @@ func (ws *WebService) SaveSpiderConfig(w http.ResponseWriter, r *http.Request) {
 	fmt.Fprint(w, "{'code':200}")
 	ws.db.SaveOrUpdate(ws.currentSpiderConfig)
 	//TODO 通知开发工具端,CSS选择器有变动
-	ws.enf.Dispatch("spiderConfigChange", ws.currentSpiderConfig)
+	ws.enf.Dispatch("spiderConfigChange", map[string]interface{}{"key": req.Key, "sc": ws.currentSpiderConfig})
 }
 
 // LoadCurrentSpiderConfig,加载,返回当前配置项

+ 35 - 77
frontend/src/components/spider/EditSpider.vue

@@ -49,7 +49,7 @@
                     <el-row>
                         <el-col :span="12">
                             <el-form-item label="延迟时间(MS)">
-                                <el-input v-model="formData.listCSSDelayTime" placeholder="500"></el-input>
+                                <el-input v-model="formData.listCssDelayTime" placeholder="500"></el-input>
                             </el-form-item>
                         </el-col>
                     </el-row>
@@ -94,7 +94,7 @@
                     <el-row>
                         <el-col :span="12">
                             <el-form-item label="延迟时间(MS)">
-                                <el-input v-model="formData.detailCSSDelayTime" placeholder="500"></el-input>
+                                <el-input v-model="formData.contentCssDelayTime" placeholder="500"></el-input>
                             </el-form-item>
                         </el-col>
                     </el-row>
@@ -119,7 +119,7 @@
                 <el-row>
                     <el-col :span="12">
                         <el-form-item label="延迟时间(MS)">
-                            <el-input v-model="formData.listJSDelayTime" placeholder="500"></el-input>
+                            <el-input v-model="formData.listJsDelayTime" placeholder="500"></el-input>
                         </el-form-item>
                     </el-col>
                 </el-row>
@@ -142,7 +142,7 @@
                 <el-row>
                     <el-col :span="12">
                         <el-form-item label="延迟时间(MS)">
-                            <el-input v-model="formData.listJSTurnDelayTime" placeholder="500"></el-input>
+                            <el-input v-model="formData.listJsTurnDelayTime" placeholder="500"></el-input>
                         </el-form-item>
                     </el-col>
                 </el-row>
@@ -165,7 +165,7 @@
                 <el-row>
                     <el-col :span="12">
                         <el-form-item label="延迟时间(MS)">
-                            <el-input v-model="formData.contentJSDelayTime" placeholder="500"></el-input>
+                            <el-input v-model="formData.contentJsDelayTime" placeholder="500"></el-input>
                         </el-form-item>
                     </el-col>
                 </el-row>
@@ -201,7 +201,7 @@ const formData = ref({
     listLinkCss: '',
     listPublishTimeCss: '',
     listNextPageCss: '',
-    listCSSDelayTime: '',
+    listCssDelayTime: '',
 
     // content-css-tab
     titleCss: '',
@@ -209,19 +209,19 @@ const formData = ref({
     publishUnitCss: '',
     contentCss: '',
     attachCss: '',
-    detailCSSDelayTime: '',
+    contentCssDelayTime: '',
 
     // list-js-tab
     listJs: '',
-    listJSDelayTime: '',
+    listJsDelayTime: '',
 
     // list-pageination-tab
     listTrunPageJs: '',
-    listJSTurnDelayTime: '',
+    listJsTurnDelayTime: '',
 
     // detail-js-tab
     contentJs: '',
-    contentJSDelayTime: '',
+    contentJsDelayTime: '',
 });
 
 const activeName = ref("first")
@@ -248,81 +248,39 @@ const setPageData = (row) => {
     formData.value = row
     // 保存一份原始数据
     originData = JSON.parse(JSON.stringify(row))
-    const cssList = row?.css_list
-    const cssContent = row?.css_content
-    const cssOther = row?.css_other
-    const jsList = row?.js_list
-    const jsNextPage = row?.js_nextpage
-    const jsContent = row?.js_content
-
-    if (cssList) {
-        formData.value.listBodyCss = cssList.body
-        formData.value.listItemCss = cssList.title
-        formData.value.listLinkCss = cssList.href
-        formData.value.listPublishTimeCss = cssList.ptime
-        formData.value.listNextPageCss = cssList.nextpage
-        formData.value.listCSSDelayTime = cssList.delaytime
-    }
-    if (cssContent) {
-        formData.value.titleCss = cssContent.title
-        formData.value.publishTimeCss = cssContent.ptime
-        formData.value.publishUnitCss = cssContent.source
-        formData.value.contentCss = cssContent.content
-        formData.value.attachCss = cssContent.file
-        formData.value.detailCSSDelayTime = cssContent.delaytime
-    }
-    if (jsList) {
-        formData.value.listJs = jsList.js
-        formData.value.listJSDelayTime = jsList.delaytime
-    }
-    if (jsNextPage) {
-        formData.value.listTrunPageJs = jsNextPage.js
-        formData.value.listJSTurnDelayTime = jsNextPage.delaytime
-    }
-    if (jsContent) {
-        formData.value.contentJs = jsContent.js
-        formData.value.contentJSDelayTime = jsContent.delaytime
-    }
 }
 
 const getPageData = () => {
     const formDataValue = formData.value
-    const css_list = {
-        body: formData.value.listBodyCss || '',
-        title: formData.value.listItemCss || '',
-        href: formData.value.listLinkCss || '',
-        ptime: formData.value.listPublishTimeCss || '',
-        nextpage: formData.value.listNextPageCss || '',
-        delaytime: Number(formData.value.listCSSDelayTime || defaultFormValue.delayTime),
-    }
-    const css_content = {
-        title: formDataValue.titleCss || '',
-        ptime: formDataValue.publishTimeCss || '',
-        source: formDataValue.publishUnitCss || '',
-        content: formDataValue.contentCss || '',
-        file: formDataValue.attachCss || '',
-        delaytime: Number(formDataValue.detailCSSDelayTime || defaultFormValue.delayTime),
-    }
-    const js_list = {
-        js: formDataValue.listJs || '',
-        delaytime: Number(formDataValue.listJSDelayTime || defaultFormValue.delayTime),
-    }
-    const js_nextpage = {
-        js: formDataValue.listTrunPageJs || '',
-        delaytime: Number(formDataValue.listJSTurnDelayTime || defaultFormValue.delayTime),
-    }
-    const js_content = {
-        js: formDataValue.contentJs || '',
-        delaytime: Number(formDataValue.contentJSDelayTime || defaultFormValue.delayTime),
+    const payload = {
+      // list-css
+      listBodyCss: formDataValue.listBodyCss || '',
+      listItemCss: formDataValue.listItemCss || '',
+      listLinkCss: formDataValue.listLinkCss || '',
+      listPublishTimeCss: formDataValue.listPublishTimeCss || '',
+      listNextPageCss: formDataValue.listNextPageCss || '',
+      listCssDelayTime: Number(formData.value.listCssDelayTime || defaultFormValue.delayTime),
+      // content-css
+      titleCss: formDataValue.titleCss || '',
+      publishTimeCss: formDataValue.publishTimeCss || '',
+      publishUnitCss: formDataValue.publishUnitCss || '',
+      contentCss: formDataValue.contentCss || '',
+      attachCss: formDataValue.attachCss || '',
+      contentCssDelayTime: Number(formDataValue.contentCssDelayTime || defaultFormValue.delayTime),
+      // js-list
+      listJs: formDataValue.listJs || '',
+      listJsDelayTime: Number(formDataValue.listJsDelayTime || defaultFormValue.delayTime),
+      // js_nextpage
+      listTrunPageJs: formDataValue.listTrunPageJs || '',
+      listJsTurnDelayTime: Number(formDataValue.listJsTurnDelayTime || defaultFormValue.delayTime),
+      // js_content
+      contentJs: formDataValue.contentJs || '',
+      contentJsDelayTime: Number(formDataValue.contentJsDelayTime || defaultFormValue.delayTime),
     }
 
     return {
         _originData: originData,
-        css_list,
-        css_content,
-        js_list,
-        js_nextpage,
-        js_content,
+        value: payload
     }
 }
 

+ 13 - 15
frontend/src/views/CodeList.vue

@@ -230,25 +230,22 @@ const dialogEvents = {
         // 整理数据结构
         // [{ query: {code: 'code'}, set: {} }, {query:{},set:{}}]
         const rowData = data._originData
+        const payload = data.value
         const updateRule = [
             {
                 query: { code: rowData.code },
                 set: {
-                    css_list: data.css_list,
-                    css_content: data.css_content,
-                    js_list: data.js_list,
-                    js_nextpage: data.js_nextpage,
-                    js_content: data.js_content,
+                    cssmark: payload,
                 }
             }
         ]
-        const payload = {
+        const params = {
             stype: 'save',
             update: updateRule
         }
-        console.log("change data:", data, payload)
+        console.log("change data:", data, params)
         try {
-            const r = await store.dispatch('rulesList/editCodeItem', payload)
+            const r = await store.dispatch('rulesList/editCodeItem', params)
             const { msg, err } = r
             if (err === 1) {
                 ElMessage({
@@ -504,13 +501,14 @@ const onClaimSelectChange = () => {
 
 //Wails事件绑定
 EventsOn("spiderConfigChange", data => {
-    listState.list.forEach((v, i) => {
-        if (v.code == data.code) {
-            let rowData = { ...data }
-            listState.list[i] = rowData
-            spiderTable.value.toggleRowSelection(listState.list[i], true);
-        }
-    })
+    console.log(data)
+    // listState.list.forEach((v, i) => {
+    //     if (v.code == data.code) {
+    //         let rowData = { ...data }
+    //         listState.list[i] = rowData
+    //         spiderTable.value.toggleRowSelection(listState.list[i], true);
+    //     }
+    // })
 })
 </script>
 

+ 10 - 10
frontend/src/views/Home.vue

@@ -263,16 +263,16 @@ const loadTabelData = () => {
 }
 loadTabelData()
 
-//Wails事件绑定
-EventsOn("spiderConfigChange", data => {
-    tableData.value.forEach((v, i) => {
-        if (v.code == data.code) {
-            let rowData = { ...data }
-            tableData.value[i] = rowData
-            spiderTable.value.toggleRowSelection(tableData.value[i], true);
-        }
-    })
-})
+// //Wails事件绑定
+// EventsOn("spiderConfigChange", data => {
+//     tableData.value.forEach((v, i) => {
+//         if (v.code == data.code) {
+//             let rowData = { ...data }
+//             tableData.value[i] = rowData
+//             spiderTable.value.toggleRowSelection(tableData.value[i], true);
+//         }
+//     })
+// })
 
 //快捷键管理
 const handleShortcut = () => {