diff --git a/src/components/entities/LeftFilter.vue b/src/components/entities/LeftFilter.vue new file mode 100644 index 00000000..50d9bcf5 --- /dev/null +++ b/src/components/entities/LeftFilter.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/src/utils/api.js b/src/utils/api.js index 5fc4feb9..82be99c9 100644 --- a/src/utils/api.js +++ b/src/utils/api.js @@ -5,7 +5,6 @@ */ import { get, post } from '@/utils/http' import { sortByOrderNum } from '@/permission' -import { storageKey, iso36112 } from '@/utils/constants' export const api = { // 系统相关 @@ -14,7 +13,10 @@ export const api = { dict: '/sys/dict', // 业务 panel: '/visual/panel', - chart: '/visual/chart' + chart: '/visual/chart', + entityIpFilter: '/interface/entity/ip/filter', + entityDomainFilter: '/interface/entity/domain/filter', + entityAppFilter: '/interface/entity/app/filter' } /* panel */ export async function getPanelList (params) { @@ -30,6 +32,18 @@ export async function getChartList (params) { export async function getChart (id) { return await getData(`${api.chart}/${id}`) } +/* ip类型entity过滤器数据 */ +export async function getEntityIpFilterList (params) { + return await getData(api.entityIpFilter, params, true) +} +/* domain类型entity过滤器数据 */ +export async function getEntityDomainFilterList (params) { + return await getData(api.entityDomainFilter, params, true) +} +/* app类型entity过滤器数据 */ +export async function getEntityAppFilterList (params) { + return await getData(api.entityAppFilter, params, true) +} /* 字典 */ export async function getDictList (params) { return await getData(api.dict, params, true) @@ -39,7 +53,7 @@ export async function getData (url, params = {}, isQueryList) { const request = new Promise(resolve => { get(url, params).then(response => { if (response.code === 200) { - resolve(isQueryList ? response.data.list : response.data) + resolve(isQueryList ? response.data.list || response.data.result : response.data || response.data.result) } }) }) diff --git a/src/utils/constants.js b/src/utils/constants.js index 28558f64..ac76dcd3 100644 --- a/src/utils/constants.js +++ b/src/utils/constants.js @@ -44,6 +44,12 @@ export const position = { } } +export const entityType = { + ip: 'IP', + domain: 'Domain', + app: 'APP' +} + export const chartTableDefaultPageSize = 10 // table类型图表默认每页数据量 export const chartTableTopOptions = [10, 100] // table类型图表的TOP-N选项 export const chartPieTableTopOptions = [{ name: 'Sessions', value: 'sessions' }, { name: 'Packets', value: 'packets' }, { name: 'Bytes', value: 'bytes' }] // table类型图表的TOP-N选项 diff --git a/src/views/entities/EntityExplorer.vue b/src/views/entities/EntityExplorer.vue index 77ad4d9b..bfd1a0f9 100644 --- a/src/views/entities/EntityExplorer.vue +++ b/src/views/entities/EntityExplorer.vue @@ -1,17 +1,127 @@