diff --git a/src/api/trace/analysis.ts b/src/api/trace/analysis.ts new file mode 100644 index 00000000..1c7a2b34 --- /dev/null +++ b/src/api/trace/analysis.ts @@ -0,0 +1,74 @@ +import { RESULT_CODE_SUCCESS } from '@/constants/result-constants'; +import { request } from '@/plugins/http-fetch'; +import { parseObjLineToHump } from '@/utils/parse-utils'; + +/** + * 查询信令列表 + * @param query 查询参数 + * @returns object + */ +export async function listTraceData(query: Record) { + let totalSQL = 'select count(*) as total from trace_data where 1=1 '; + let rowsSQL = 'select * from trace_data where 1=1 '; + + // 查询 + let querySQL = ''; + if (query.imsi) { + querySQL += ` and imsi = '${query.imsi}' `; + } + + // 分页 + const pageNum = query.pageNum - 1; + const limtSql = ` limit ${pageNum},${query.pageSize} `; + + // 发起请求 + const result = await request({ + url: `/databaseManagement/v1/omc_db/trace_data`, + method: 'get', + params: { + totalSQL: totalSQL + querySQL, + rowsSQL: rowsSQL + querySQL + limtSql, + }, + }); + + // 解析数据 + if (result.code === RESULT_CODE_SUCCESS) { + const data: DataList = { + total: 0, + rows: [], + code: result.code, + msg: result.msg, + }; + result.data.data.forEach((item: any) => { + const itemData = item['trace_data']; + if (Array.isArray(itemData)) { + if (itemData.length === 1 && itemData[0]['total']) { + data.total = itemData[0]['total']; + } else { + data.rows = itemData.map(v => parseObjLineToHump(v)); + } + } + }); + return data; + } + return result; +} + +// 网元抓包pcap文件下载 +export function tcpdumpPcapDownload(data: Record) { + return request({ + url: '/traceManagement/v1/tcpdumpPcapDownload', + method: 'post', + data: data, + responseType: 'blob', + }); +} + +// 网元抓包生成pcap +export function tcpdumpNeUPFTask(data: Record) { + return request({ + url: '/traceManagement/v1/tcpdumpNeUPFTask', + method: 'post', + data: data, + }); +} diff --git a/src/views/trace/analysis/index.vue b/src/views/trace/analysis/index.vue index edd1ed9c..00f382ba 100644 --- a/src/views/trace/analysis/index.vue +++ b/src/views/trace/analysis/index.vue @@ -1,236 +1,432 @@ - - + diff --git a/src/views/trace/task/index.vue b/src/views/trace/task/index.vue index edd1ed9c..0cdd4c71 100644 --- a/src/views/trace/task/index.vue +++ b/src/views/trace/task/index.vue @@ -1,236 +1,484 @@ - - +