diff --git a/src/App/routers/routers.tsx b/src/App/routers/routers.tsx
index af36dfc..dfcdf00 100644
--- a/src/App/routers/routers.tsx
+++ b/src/App/routers/routers.tsx
@@ -17,9 +17,9 @@ import TaskPageList from '@/pages/TaskPageList';
import TaskScript from '@/pages/TaskScript';
import TaskDetail from '@/pages/TaskDetail';
import ReportManage from '@/pages/ReportManage';
-import DataService from '@/pages/DataService';
import NodeConfig from '@/pages/NodeConfig';
import SystemManagement from '@/pages/SystemManagement';
+import { PortAssets } from '@/pages/DataService/PortAssets';
// 继承路由接口,增加name字段
type RouteObjectRootMy = RouteObject & {
@@ -47,9 +47,9 @@ const routers: RouteObjectRootMy[] = [
icon: ,
children: [
{
- path: 'task_list',
+ path: 'task-list',
name: '任务列表',
- key: 'task_list',
+ key: 'task-list',
children: [
{
index: true,
@@ -61,15 +61,15 @@ const routers: RouteObjectRootMy[] = [
element: ,
name: '任务详情',
hidden: true,
- parentpath: '/task/task_list',
+ parentpath: '/task/task-list',
},
],
},
{
- path: 'task_script',
+ path: 'task-script',
element: ,
name: '脚本列表',
- key: 'task_script',
+ key: 'task-script',
},
],
},
@@ -83,9 +83,16 @@ const routers: RouteObjectRootMy[] = [
{
path: 'data-service',
name: '数据库',
- key: 'data',
+ key: 'data-service',
icon: ,
- element: ,
+ children: [
+ {
+ path: 'port',
+ name: '端口资产',
+ key: 'port-assets',
+ element: ,
+ },
+ ],
},
{
path: 'node-config',
diff --git a/src/apis/portAssetsApi/index.ts b/src/apis/portAssetsApi/index.ts
new file mode 100644
index 0000000..e69de29
diff --git a/src/apis/portAssetsApi/types.ts b/src/apis/portAssetsApi/types.ts
new file mode 100644
index 0000000..e69de29
diff --git a/src/apis/taskDetail/types.ts b/src/apis/taskDetail/types.ts
index 63ff600..37f15d3 100644
--- a/src/apis/taskDetail/types.ts
+++ b/src/apis/taskDetail/types.ts
@@ -13,7 +13,8 @@ interface TGetAssetsProtsRequest {
services?: string[];
state?: string;
tags?: string[];
- taskid: string;
+ taskid?: string;
+ Ppge?: number;
}
// 获取端口资产 响应参数
@@ -31,7 +32,6 @@ interface TGetAssetsProtsResponse {
created_at: number;
id: number;
updated_at: number;
- [property: string]: any;
}
export type { TGetAssetsProtsRequest, TGetAssetsProtsResponse };
diff --git a/src/pages/DataService/DataService.tsx b/src/pages/DataService/DataService.tsx
deleted file mode 100644
index 970e02d..0000000
--- a/src/pages/DataService/DataService.tsx
+++ /dev/null
@@ -1,7 +0,0 @@
-import { FC } from 'react';
-
-const DataService: FC = () => {
- return '数据库界面';
-};
-
-export { DataService };
diff --git a/src/pages/DataService/PortAssets/index.tsx b/src/pages/DataService/PortAssets/index.tsx
new file mode 100644
index 0000000..897fb7a
--- /dev/null
+++ b/src/pages/DataService/PortAssets/index.tsx
@@ -0,0 +1,87 @@
+import { FC } from 'react';
+
+import { WizardTable } from '@/compoments';
+
+import { getAssetsProts } from '@/apis/taskDetail';
+import { CreateTableProps } from '@/compoments/WizardTable/types';
+import { Tag } from 'antd';
+import dayjs from 'dayjs';
+import { TGetAssetsProtsResponse } from '@/apis/taskDetail/types';
+
+const PortAssets: FC = () => {
+ const [page] = WizardTable.usePage();
+
+ const ProtColumns: CreateTableProps['columns'] = [
+ {
+ title: '网络地址',
+ dataIndex: 'hosts',
+ columnsHeaderFilterType: 'input',
+ width: 180,
+ render: (_, render) =>
+ render?.ip_integer ? render?.ip_integer : '-',
+ },
+ {
+ title: '端口',
+ dataIndex: 'ports',
+ columnsHeaderFilterType: 'input',
+ width: 60,
+ render: (_, render) =>
+ render?.port ? {render?.port} : '-',
+ },
+ {
+ title: '协议',
+ dataIndex: 'proto',
+ width: 60,
+ render: (value) =>
+ value ? {value} : '-',
+ },
+ {
+ title: '服务指纹',
+ dataIndex: 'services',
+ columnsHeaderFilterType: 'input',
+ width: 180,
+ render: (_, render) =>
+ render?.fingerprint ? render?.fingerprint : '-',
+ },
+ {
+ title: '最近更新时间',
+ dataIndex: 'updated_at',
+ width: 260,
+ render: (value) =>
+ value ? dayjs.unix(value).format('YYYY-MM-DD HH:ss') : '-',
+ },
+ ];
+
+ const dowload_request = async () => {
+ return 111;
+ };
+
+ return (
+ {
+ const { data } = await getAssetsProts({
+ ...params,
+ ...filter,
+ });
+
+ return {
+ list: data?.list ?? [],
+ pagemeta: data?.pagemeta,
+ };
+ }}
+ />
+ );
+};
+
+export { PortAssets };
diff --git a/src/pages/DataService/index.ts b/src/pages/DataService/index.ts
deleted file mode 100644
index 47c5ebe..0000000
--- a/src/pages/DataService/index.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-import { DataService } from './DataService';
-
-export default DataService;