Przeglądaj źródła

feat: 移除run.vue

cuiyalong 10 miesięcy temu
rodzic
commit
9753bb98fc
2 zmienionych plików z 0 dodań i 197 usunięć
  1. 0 9
      frontend/src/router/index.js
  2. 0 188
      frontend/src/views/Run.vue

+ 0 - 9
frontend/src/router/index.js

@@ -4,7 +4,6 @@ import store from '../store';
 
 // import Home from "../views/Home.vue"
 import CodeList from "../views/CodeList.vue"
-import Run from "../views/Run.vue"
 import Setting from "../views/Setting.vue"
 import Login from "../views/Login.vue"
 import Logout from '../views/Logout.vue'
@@ -38,14 +37,6 @@ const routes = [
       requiresAuth: true
     }
   },
-  {
-    path: '/run',
-    name: 'run',
-    component: Run,
-    meta: {
-      requiresAuth: true
-    }
-  },
   {
     path: '/setting',
     name: 'setting',

+ 0 - 188
frontend/src/views/Run.vue

@@ -1,188 +0,0 @@
-<template>
-    <Breadcrumb pageTitle="运行/测试爬虫"></Breadcrumb>
-    <div class="space"></div>
-    <div class="flex gap-2">
-        <el-space>
-            <el-tag type="primary"> {{ formData.code }}</el-tag>
-            <el-tag type="success"> {{ formData.site }}</el-tag>
-            <el-tag type="info"> {{ formData.channel }}</el-tag>
-            <el-tag type="warning">{{ formData.url }}</el-tag>
-            <el-tag type="primary"> {{ formData.author }}</el-tag>
-        </el-space>
-
-    </div>
-    <div class="space"></div>
-    <el-form ref="form" :model="formData" label-width="120px">
-
-        <el-form-item label="URL">
-            <el-input v-model="formData.url"></el-input>
-        </el-form-item>
-        <el-row>
-            <el-col :span="8"><el-form-item label="列表延时(MS)">
-                    <el-input v-model="formData.listDelay"></el-input>
-                </el-form-item></el-col>
-            <el-col :span="8"><el-form-item label="详情延时(MS)">
-                    <el-input v-model="formData.contentDelay"></el-input>
-                </el-form-item></el-col>
-            <el-col :span="8"><el-form-item label="代理地址">
-                    <el-input v-model="formData.proxyServe"></el-input>
-                </el-form-item></el-col>
-        </el-row>
-        <el-row>
-            <el-col :span="12"><el-form-item label="浏览器">
-                    <el-radio-group v-model="formData.headless">
-                        <el-radio value="true">无头</el-radio>
-                        <el-radio value="false">显式</el-radio>
-                    </el-radio-group> </el-form-item>
-            </el-col>
-            <el-col :span="12"><el-form-item label="显示图像">
-                    <el-radio-group v-model="formData.showImage">
-                        <el-radio value="true">显示</el-radio>
-                        <el-radio value="false">不显示</el-radio>
-                    </el-radio-group> </el-form-item>
-            </el-col>
-        </el-row>
-
-    </el-form>
-    <div style="text-align: center;">
-        <el-space>
-            <el-button type="primary" @click="handleDebug"><el-icon>
-                    <VideoPlay />
-                </el-icon>执行</el-button>
-            <el-button type="primary" @click="handleStop"><el-icon>
-                    <VideoPause />
-                </el-icon>终止</el-button>
-            <el-button type="primary" @click="handleRefersh"><el-icon>
-                    <Refresh />
-                </el-icon>刷新结果</el-button>
-            <el-button type="primary" @click="handleCountYestday"><el-icon>
-                    <Refresh />
-                </el-icon>统计昨日信息发布量</el-button>
-            <el-dropdown>
-                <el-button type="primary">
-                    结果导出<el-icon class="el-icon--right"><arrow-down /></el-icon>
-                </el-button>
-                <template #dropdown>
-                    <el-dropdown-menu>
-                        <el-dropdown-item @click="handleExportEpub">导出EPUB格式文件</el-dropdown-item>
-                        <el-dropdown-item>导出JSON格式文件</el-dropdown-item>
-                        <el-dropdown-item>导出Excel格式文件</el-dropdown-item>
-                        <el-dropdown-item>补录/上推至平台</el-dropdown-item>
-                    </el-dropdown-menu>
-                </template>
-            </el-dropdown></el-space>
-    </div>
-    <el-divider />
-    <div id="debugEventContian">执行日志:&nbsp;{{ debugLogLine }}</div>
-    <el-divider />
-    <el-table :data="tableData" style="width: 100%" height="240" @row-click="handleRowClick">
-        <el-table-column prop="no" label="序号" width="90" />
-        <el-table-column prop="title" label="标题" width="240" show-overflow-tooltip />
-        <el-table-column prop="href" label="链接" show-overflow-tooltip />
-        <el-table-column prop="contentShort" label="正文" show-overflow-tooltip />
-    </el-table>
-    <ViewArticle ref="articleDialog" />
-</template>
-<script setup>
-import { ref } from 'vue';
-import { ElMessage } from 'element-plus'
-import Breadcrumb from "../components/Breadcrumb.vue"
-import ViewArticle from "../components/spider/ViewArticle.vue"
-
-import { ViewCurrentSpiderConfig, DebugSpider, StopDebugSpider } from "../../wailsjs/go/main/App"
-import { ViewResultItemAll, SelectSaveFilePath, ExportEpubFile, CountYestodayArts } from "../../wailsjs/go/main/App"
-import { EventsOn } from "../../wailsjs/runtime"
-const formData = ref({})
-const articleDialog = ref(null)
-
-const debugLogLine = ref("")
-const tableData = ref([])
-
-//开始调试
-const handleDebug = () => {
-    ElMessage({
-        message: `${[formData.value.url, formData.value.listDelay, formData.value.contentDelay,
-        formData.value.headless, formData.value.showImage, formData.value.proxyServe].join("//")}!`,
-        showClose: true,
-        duration: 3000,
-    });
-    DebugSpider(formData.value.url, parseInt(formData.value.listDelay), parseInt(formData.value.contentDelay),
-        formData.value.headless == 'true', formData.value.showImage == 'true', formData.value.proxyServe)
-}
-//停止调试
-const handleStop = () => {
-    StopDebugSpider()
-}
-//
-const truncateString = (str, maxLength) => {
-    return str.substring(0, maxLength) + "..";
-}
-//刷新加载数据
-const handleRefersh = () => {
-    ViewResultItemAll().then(result => {
-        result = result.slice(-20);
-        result.forEach((v, i) => {
-            v.contentShort = truncateString(v.content, 50)
-        })
-        tableData.value = result
-    })
-}
-//handleExportEpub导出文件
-const handleExportEpub = () => {
-    SelectSaveFilePath().then(r => {
-        if (r == "") return
-        ExportEpubFile(r).then(d => {
-            ElMessage({
-                message: `导出epub文件${r}完成!`,
-                showClose: true,
-                duration: 3000,
-            });
-        })
-    })
-}
-
-const replaceAll = function (src, search, replacement) {
-    return src.split(search).join(replacement);
-};
-//行点击事件
-const handleRowClick = (row, column, event) => {
-    articleDialog.value.dialogVisible = true
-    row.content = replaceAll(row.content, '\n', '<br/>')
-    articleDialog.value.formData = row
-    articleDialog.value.scrollTop()
-}
-//
-const handleCountYestday = () => {
-    if (formData.value.listNextPageCss != "" && formData.value.listPublishTimeCss != "") {
-        ElMessage({
-            message: `${[formData.value.url, formData.value.listDelay, formData.value.contentDelay,
-            formData.value.headless, formData.value.showImage, formData.value.proxyServe].join("//")}!`,
-            showClose: true,
-            duration: 3000,
-        });
-        CountYestodayArts(formData.value.url, parseInt(formData.value.listDelay), parseInt(formData.value.contentDelay),
-            formData.value.headless == 'true', formData.value.showImage == 'true')
-    } else {
-        ElMessage({
-            message: "当前爬虫设置,CSS选择器,不具备列表页发布时间+列表页翻页。",
-            type: 'error',
-            showClose: true,
-            duration: 3000,
-        });
-    }
-}
-//Wails事件绑定
-EventsOn("debug_event", data => {
-    debugLogLine.value = data
-})
-//加载当前爬虫配置
-ViewCurrentSpiderConfig().then(result => {
-    result['listDelay'] = 500
-    result['contentDelay'] = 500
-    result['proxyServe'] = ''
-    result['showImage'] = 'false'
-    result['headless'] = 'false'
-    formData.value = { ...result }
-})
-</script>
-<style></style>