2025-05-05 16:33:06 +08:00
|
|
|
<script lang="ts" setup>
|
|
|
|
import type { SpiderItem } from '@vben/common-ui';
|
2025-05-02 22:08:36 +08:00
|
|
|
|
2025-05-05 16:33:06 +08:00
|
|
|
import { onMounted, ref } from 'vue';
|
2025-05-04 18:45:03 +08:00
|
|
|
|
2025-05-05 16:33:06 +08:00
|
|
|
import { SpiderListView, SpiderWorkView } from '@vben/common-ui';
|
2025-05-04 18:45:03 +08:00
|
|
|
|
2025-05-05 16:33:06 +08:00
|
|
|
import { getAppList, sendWorkflow } from '#/api';
|
2025-05-04 18:45:03 +08:00
|
|
|
|
2025-05-05 16:33:06 +08:00
|
|
|
const spiderList = ref<SpiderItem[]>([]);
|
|
|
|
const loading = ref(true);
|
|
|
|
const spider = ref<SpiderItem>();
|
2025-05-04 18:45:03 +08:00
|
|
|
|
2025-05-05 23:35:12 +08:00
|
|
|
const getFlowList = async () => {
|
2025-05-05 16:33:06 +08:00
|
|
|
const res = await getAppList({});
|
|
|
|
if (res) {
|
|
|
|
spiderList.value = res;
|
|
|
|
loading.value = false;
|
2025-05-04 18:45:03 +08:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2025-05-05 16:33:06 +08:00
|
|
|
function handleClick(item: SpiderItem) {
|
|
|
|
spider.value = item;
|
|
|
|
}
|
2025-05-04 18:45:03 +08:00
|
|
|
|
|
|
|
onMounted(() => {
|
2025-05-05 23:35:12 +08:00
|
|
|
getFlowList();
|
2025-05-04 18:45:03 +08:00
|
|
|
});
|
2025-05-02 22:08:36 +08:00
|
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
2025-05-05 16:33:06 +08:00
|
|
|
<div class="px-5">
|
|
|
|
<div class="mt-5 flex flex-col lg:flex-row">
|
|
|
|
<div class="mr-4 w-full lg:w-1/4">
|
|
|
|
<SpiderListView
|
|
|
|
:loading="loading"
|
|
|
|
:items="spiderList"
|
|
|
|
title="数据爬取工具"
|
|
|
|
@click="handleClick"
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
<div class="w-full lg:w-3/4">
|
|
|
|
<SpiderWorkView
|
|
|
|
:item="spider"
|
|
|
|
:run-spider="sendWorkflow"
|
|
|
|
title="目标网址:"
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2025-05-02 22:08:36 +08:00
|
|
|
</template>
|