From e943b4dedc3d4a94de148561b5a3b054d093379e Mon Sep 17 00:00:00 2001 From: TsMask <340112800@qq.com> Date: Mon, 1 Sep 2025 11:19:01 +0800 Subject: [PATCH] =?UTF-8?q?ref:=20v3=E5=8F=98=E6=9B=B4,=EF=BC=8C=E5=90=8C?= =?UTF-8?q?=E6=AD=A5v2.2508.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/faultManage/actAlarm.ts | 24 +- src/api/ne/neAction.ts | 100 +++ src/api/ne/neConfigBackup.ts | 8 +- src/api/ne/neInfo.ts | 119 +-- src/api/ne/neLicense.ts | 21 +- src/api/tool/mml.ts | 6 +- src/api/tool/neFile.ts | 8 +- src/api/trace/task.ts | 10 +- src/components/TerminalSSHView/index.vue | 23 +- src/constants/cache-keys-constants.ts | 3 + src/constants/ne-constants.ts | 6 + src/hooks/useCoreUid.ts | 10 + src/i18n/locales/en-US.ts | 20 +- src/i18n/locales/zh-CN.ts | 16 +- src/layouts/BasicLayout.vue | 1 + .../HeaderContentRight/HeaderContentRight.vue | 2 +- src/layouts/components/RightContent.vue | 246 ------ src/router/routers.ts | 2 +- src/store/modules/alarm.ts | 5 +- src/store/modules/core.ts | 30 +- src/store/modules/layout.ts | 4 +- src/store/modules/ne.ts | 4 +- src/utils/parse-utils.ts | 19 - .../active-alarm => alarm/active}/index.vue | 251 +++---- .../{faultManage => alarm}/event/index.vue | 53 +- .../{logManage => alarm}/forwarding/index.vue | 11 +- .../history-alarm => alarm/history}/index.vue | 83 +- .../{logManage/alarm => alarm/log}/index.vue | 14 +- .../overview}/images/bg.png | Bin .../overview}/index.vue | 15 +- .../fault-setting => alarm/set}/index.vue | 0 .../{dashboard/imsCDR => cdr/ims}/index.vue | 1 + .../{dashboard/sgwcCDR => cdr/sgwc}/index.vue | 1 + .../smfCDRByIMSI => cdr/smf-imsi}/index.vue | 0 .../{dashboard/smfCDR => cdr/smf}/index.vue | 1 + .../{dashboard/smscCDR => cdr/smsc}/index.vue | 1 + .../faultManage/alarm-forwarding/index.vue | 11 - src/views/index.vue | 4 +- src/views/logManage/exportFile/index.vue | 435 ----------- src/views/logManage/logSet/index.vue | 710 ------------------ .../{logManage/mml => mml/log}/index.vue | 6 +- .../{mmlManage/neOperate => mml/ne}/index.vue | 0 .../omcOperate => mml/omc}/index.vue | 0 .../{mmlManage/mmlSet => mml/set}/index.vue | 0 .../udmOperate => mml/udm}/index.vue | 0 .../components/AlarnTypeBar/index.vue | 4 +- .../overview/components/NeResources/index.vue | 0 .../overview/components/Topology/index.vue | 2 + .../overview/components/UPFFlow/index.vue | 0 .../components/UserActivity/index.vue | 0 .../overview/css/index.css | 0 .../overview/hooks/useTopology.ts | 0 .../overview/hooks/useUPFTotalFlow.ts | 6 +- .../overview/hooks/useUserActivity.ts | 0 .../overview/hooks/useWS.ts | 0 .../overview/images/border.png | Bin .../overview/images/brand.png | Bin .../overview/images/line.png | Bin .../overview/images/rect.png | Bin .../{dashboard => monitor}/overview/index.vue | 14 +- .../components/AlarnTypeBar/index.vue | 0 .../components/IMSActivity/index.vue | 0 .../components/NeResources/index.vue | 0 .../overview2/components/Topology/index.vue | 50 +- .../overview2/components/UPFFlow/index.vue | 0 .../components/UserActivity/index.vue | 0 .../overview2/css/index.css | 0 .../overview2/hooks/useTopology.ts | 0 .../overview2/hooks/useUPFTotalFlow.ts | 6 +- .../overview2/hooks/useUserActivity.ts | 0 .../overview2/hooks/useWS.ts | 0 .../overview2/images/bj.png | Bin .../overview2/images/border.png | Bin .../overview2/images/brand.png | Bin .../overview2/images/line.png | Bin .../overview2/images/newBrand.png | Bin .../overview2/images/rect.png | Bin .../overview2/images/title.png | Bin .../overview2/index.vue | 47 +- src/views/monitor/topology/index.vue | 7 +- .../monitor/topologyArchitecture/index.vue | 25 +- .../ne/neConfig/hooks/useArrayBatchDel.ts | 6 +- src/views/ne/neConfig/hooks/useArrayImport.ts | 12 +- src/views/ne/neConfig/hooks/useConfigArray.ts | 12 +- .../ne/neConfig/hooks/useConfigArrayChild.ts | 10 +- src/views/ne/neConfig/hooks/useConfigList.ts | 4 +- src/views/ne/neConfig/hooks/useOptions.ts | 58 +- src/views/ne/neConfig/index.vue | 26 +- src/views/ne/neConfigBackup/index.vue | 98 ++- src/views/ne/neFile/components/ViewDrawer.vue | 13 +- src/views/ne/neFile/index.vue | 27 +- .../ne/neInfo/components/BackConfModal.vue | 178 ++--- src/views/ne/neInfo/components/EditModal.vue | 167 ++-- src/views/ne/neInfo/components/OAMModal.vue | 24 +- src/views/ne/neInfo/hooks/useNeOptions.ts | 16 +- src/views/ne/neInfo/index.vue | 115 ++- .../ne/neLicense/components/EditModal.vue | 33 +- src/views/ne/neLicense/index.vue | 98 +-- .../{configManage => ne}/neOverview/index.vue | 14 +- .../neQuickSetup/components/NeInfoConfig.vue | 16 +- .../components/NeInfoSoftwareLicense.vue | 2 +- src/views/ne/neQuickSetup/hooks/usePara5G.ts | 143 ++-- src/views/ne/neVersion/index.vue | 46 +- .../trace}/task-hlr/index.vue | 0 .../trace}/task/analyze.vue | 9 +- .../ne/trace/task/components/EditModal.vue | 596 +++++++++++++++ .../trace}/task/components/TaskInfoIcon.vue | 17 +- .../{traceManage => ne/trace}/task/data.vue | 5 +- .../{traceManage => ne/trace}/task/index.vue | 582 ++------------ .../amfUE => neData/amf-ue}/index.vue | 1 + src/views/neData/backup-data/index.vue | 36 + src/views/neData/base-station/topology.vue | 13 +- .../mmeUE => neData/mme-ue}/index.vue | 1 + src/views/neData/udm-auth/index.vue | 10 +- .../quick-start/components/NeInfoConfig.vue | 24 +- .../components/NeInfoConfigPara5G.vue | 8 +- .../components/NeInfoSoftwareInstall.vue | 2 +- .../components/NeInfoSoftwareLicense.vue | 4 +- src/views/tool/iperf/index.vue | 33 +- src/views/{traceManage => tool}/pcap/file.vue | 0 .../{traceManage => tool}/pcap/index.vue | 4 +- .../tshark/components/DissectionDump.vue | 0 .../tshark/components/DissectionDumpHigh.vue | 0 .../tshark/components/DissectionTree.vue | 0 .../tshark/components/DissectionTreeSub.vue | 0 .../tshark/components/PacketTable.vue | 0 .../tshark/hooks/usePCAP.ts | 0 .../{traceManage => tool}/tshark/index.vue | 0 .../{traceManage => tool}/wireshark/index.vue | 0 129 files changed, 1876 insertions(+), 3032 deletions(-) create mode 100644 src/api/ne/neAction.ts create mode 100644 src/hooks/useCoreUid.ts delete mode 100644 src/layouts/components/RightContent.vue rename src/views/{faultManage/active-alarm => alarm/active}/index.vue (92%) rename src/views/{faultManage => alarm}/event/index.vue (96%) rename src/views/{logManage => alarm}/forwarding/index.vue (98%) rename src/views/{faultManage/history-alarm => alarm/history}/index.vue (95%) rename src/views/{logManage/alarm => alarm/log}/index.vue (98%) rename src/views/{faultManage/alarm-overview => alarm/overview}/images/bg.png (100%) rename src/views/{faultManage/alarm-overview => alarm/overview}/index.vue (99%) rename src/views/{faultManage/fault-setting => alarm/set}/index.vue (100%) rename src/views/{dashboard/imsCDR => cdr/ims}/index.vue (99%) rename src/views/{dashboard/sgwcCDR => cdr/sgwc}/index.vue (99%) rename src/views/{dashboard/smfCDRByIMSI => cdr/smf-imsi}/index.vue (100%) rename src/views/{dashboard/smfCDR => cdr/smf}/index.vue (99%) rename src/views/{dashboard/smscCDR => cdr/smsc}/index.vue (99%) delete mode 100644 src/views/faultManage/alarm-forwarding/index.vue delete mode 100644 src/views/logManage/exportFile/index.vue delete mode 100644 src/views/logManage/logSet/index.vue rename src/views/{logManage/mml => mml/log}/index.vue (98%) rename src/views/{mmlManage/neOperate => mml/ne}/index.vue (100%) rename src/views/{mmlManage/omcOperate => mml/omc}/index.vue (100%) rename src/views/{mmlManage/mmlSet => mml/set}/index.vue (100%) rename src/views/{mmlManage/udmOperate => mml/udm}/index.vue (100%) rename src/views/{dashboard => monitor}/overview/components/AlarnTypeBar/index.vue (97%) rename src/views/{dashboard => monitor}/overview/components/NeResources/index.vue (100%) rename src/views/{dashboard => monitor}/overview/components/Topology/index.vue (98%) rename src/views/{dashboard => monitor}/overview/components/UPFFlow/index.vue (100%) rename src/views/{dashboard => monitor}/overview/components/UserActivity/index.vue (100%) rename src/views/{dashboard => monitor}/overview/css/index.css (100%) rename src/views/{dashboard => monitor}/overview/hooks/useTopology.ts (100%) rename src/views/{dashboard => monitor}/overview/hooks/useUPFTotalFlow.ts (94%) rename src/views/{dashboard => monitor}/overview/hooks/useUserActivity.ts (100%) rename src/views/{dashboard => monitor}/overview/hooks/useWS.ts (100%) rename src/views/{dashboard => monitor}/overview/images/border.png (100%) rename src/views/{dashboard => monitor}/overview/images/brand.png (100%) rename src/views/{dashboard => monitor}/overview/images/line.png (100%) rename src/views/{dashboard => monitor}/overview/images/rect.png (100%) rename src/views/{dashboard => monitor}/overview/index.vue (99%) rename src/views/{dashboard => monitor}/overview2/components/AlarnTypeBar/index.vue (100%) rename src/views/{dashboard => monitor}/overview2/components/IMSActivity/index.vue (100%) rename src/views/{dashboard => monitor}/overview2/components/NeResources/index.vue (100%) rename src/views/{dashboard => monitor}/overview2/components/Topology/index.vue (90%) rename src/views/{dashboard => monitor}/overview2/components/UPFFlow/index.vue (100%) rename src/views/{dashboard => monitor}/overview2/components/UserActivity/index.vue (100%) rename src/views/{dashboard => monitor}/overview2/css/index.css (100%) rename src/views/{dashboard => monitor}/overview2/hooks/useTopology.ts (100%) rename src/views/{dashboard => monitor}/overview2/hooks/useUPFTotalFlow.ts (94%) rename src/views/{dashboard => monitor}/overview2/hooks/useUserActivity.ts (100%) rename src/views/{dashboard => monitor}/overview2/hooks/useWS.ts (100%) rename src/views/{dashboard => monitor}/overview2/images/bj.png (100%) rename src/views/{dashboard => monitor}/overview2/images/border.png (100%) rename src/views/{dashboard => monitor}/overview2/images/brand.png (100%) rename src/views/{dashboard => monitor}/overview2/images/line.png (100%) rename src/views/{dashboard => monitor}/overview2/images/newBrand.png (100%) rename src/views/{dashboard => monitor}/overview2/images/rect.png (100%) rename src/views/{dashboard => monitor}/overview2/images/title.png (100%) rename src/views/{dashboard => monitor}/overview2/index.vue (97%) rename src/views/{configManage => ne}/neOverview/index.vue (96%) rename src/views/{traceManage => ne/trace}/task-hlr/index.vue (100%) rename src/views/{traceManage => ne/trace}/task/analyze.vue (98%) create mode 100644 src/views/ne/trace/task/components/EditModal.vue rename src/views/{traceManage => ne/trace}/task/components/TaskInfoIcon.vue (88%) rename src/views/{traceManage => ne/trace}/task/data.vue (99%) rename src/views/{traceManage => ne/trace}/task/index.vue (50%) rename src/views/{dashboard/amfUE => neData/amf-ue}/index.vue (99%) rename src/views/{dashboard/mmeUE => neData/mme-ue}/index.vue (99%) rename src/views/{traceManage => tool}/pcap/file.vue (100%) rename src/views/{traceManage => tool}/pcap/index.vue (99%) rename src/views/{traceManage => tool}/tshark/components/DissectionDump.vue (100%) rename src/views/{traceManage => tool}/tshark/components/DissectionDumpHigh.vue (100%) rename src/views/{traceManage => tool}/tshark/components/DissectionTree.vue (100%) rename src/views/{traceManage => tool}/tshark/components/DissectionTreeSub.vue (100%) rename src/views/{traceManage => tool}/tshark/components/PacketTable.vue (100%) rename src/views/{traceManage => tool}/tshark/hooks/usePCAP.ts (100%) rename src/views/{traceManage => tool}/tshark/index.vue (100%) rename src/views/{traceManage => tool}/wireshark/index.vue (100%) diff --git a/src/api/faultManage/actAlarm.ts b/src/api/faultManage/actAlarm.ts index 570b8aa7..05de7c39 100644 --- a/src/api/faultManage/actAlarm.ts +++ b/src/api/faultManage/actAlarm.ts @@ -6,12 +6,13 @@ import { parseObjLineToHump } from '@/utils/parse-utils'; * 获取活动告警数 * @returns object */ -export async function getActiveAlarmTotal() { +export async function getActiveAlarmTotal(coreUid: string) { // 发起请求 const result = await request({ url: `/neData/alarm/list`, method: 'GET', params: { + coreUid: coreUid, alarmStatus: 'Active', sortField: 'event_time', sortOrder: 'desc', @@ -42,18 +43,15 @@ export async function listAct(query: Record) { /** * 确认告警信息 - * @param ids 记录ID + * @param id 记录ID * @param state 状态 true确认 false取消确认 * @returns object */ -export function ackAlarm(ids: number[], state: boolean) { +export function ackAlarm(data: Record) { return request({ url: `/neData/alarm/ack'`, method: 'PUT', - data: { - ids: ids, - ackState: state, - }, + data, }); } @@ -105,14 +103,14 @@ export function getPass() { /** * 清除告警信息 - * @param ids 记录ID + * @param id 记录ID * @returns object */ -export function clearAlarm(ids: number[]) { +export function clearAlarm(id: number, coreUid: string) { return request({ url: `/neData/alarm/clear`, method: 'PUT', - data: { ids }, + data: { id, coreUid }, }); } @@ -193,11 +191,12 @@ export async function exportAll(query: Record) { * @param query 查询参数 * @returns bolb */ -export async function origGet() { +export async function origGet(coreUid: string) { return await request({ url: `/neData/alarm/count/severity`, method: 'GET', params: { + coreUid: coreUid, alarmStatus: 'Active', }, }); @@ -208,11 +207,12 @@ export async function origGet() { * @param filterFlag 查询参数 * @returns object */ -export async function top3Sel() { +export async function top3Sel(coreUid: string) { return await request({ url: `/neData/alarm/count/ne`, method: 'GET', params: { + coreUid: coreUid, alarmStatus: 'Active', top: 3, }, diff --git a/src/api/ne/neAction.ts b/src/api/ne/neAction.ts new file mode 100644 index 00000000..128f8a61 --- /dev/null +++ b/src/api/ne/neAction.ts @@ -0,0 +1,100 @@ +import { request } from '@/plugins/http-fetch'; + +/** + * 查询网元状态 + * @param coreUid 核心网ID + * @param neUid 网元ID + * @returns object + */ +export function stateNeInfo(coreUid: string, neUid: string) { + return request({ + url: '/ne/info/state', + method: 'GET', + params: { coreUid, neUid }, + }); +} + +/** + * 查询网元信息 + * @param coreUid 核心网ID + * @param neUid 网元ID + * @returns object + */ +export function getNeInfoByNF(coreUid: string, neUid: string) { + return request({ + url: '/ne/info/nf', + method: 'GET', + params: { coreUid, neUid }, + }); +} + +/** + * 网元端OAM配置文件读取 + * @param coreUid 核心网ID + * @param neUid 网元ID + * @returns object + */ +export function getOAMFile(coreUid: string, neUid: string) { + return request({ + url: '/ne/info/file/oam', + method: 'GET', + params: { coreUid, neUid }, + }); +} + +/** + * 网元端配置文件写入 + * @param coreUid 核心网ID + * @param neUid 网元ID + * @param content 用json对象 + * @param sync 同步到网元 + * @returns object + */ +export function saveOAMFile(data: Record) { + return request({ + url: `/ne/info/file/oam`, + method: 'PUT', + data: data, + timeout: 60_000, + }); +} + +/** + * 网元端公共配置文件读取 + * @returns object + */ +export function getPara5GFilee() { + return request({ + url: '/ne/info/file/para5g', + method: 'GET', + }); +} + +/** + * 网元端公共配置文件写入 + * @param content txt内容为字符串 其他文件格式都用json对象 + * @param syncNe 同步到网元端 coreUid@ neUid + * @returns object + */ +export function savePara5GFile(data: Record) { + return request({ + url: `/ne/info/file/para5g`, + method: 'PUT', + data: data, + timeout: 60_000, + }); +} + +/** + * 网元服务操作 + * @param data 对象 {coreUid, neUid, action} + * @returns object + */ +export function serviceNeAction(data: Record) { + return request({ + url: `/ne/action/service`, + method: 'PUT', + data: data, + timeout: 60_000, + }); +} diff --git a/src/api/ne/neConfigBackup.ts b/src/api/ne/neConfigBackup.ts index af63fdea..deb5e8b0 100644 --- a/src/api/ne/neConfigBackup.ts +++ b/src/api/ne/neConfigBackup.ts @@ -33,11 +33,11 @@ export function updateNeConfigBackup(data: Record) { * @param id 记录ID * @returns object */ -export async function downNeConfigBackup(id: string) { +export async function downNeConfigBackup(query: Record) { return await request({ url: '/ne/config/backup/download', method: 'GET', - params: { id }, + params: query, responseType: 'blob', timeout: 180_000, }); @@ -48,11 +48,11 @@ export async function downNeConfigBackup(id: string) { * @param id 记录ID * @returns object */ -export async function delNeConfigBackup(id: string) { +export async function delNeConfigBackup(query: Record) { return request({ url: '/ne/config/backup', method: 'DELETE', - params: { id }, + params: query, }); } diff --git a/src/api/ne/neInfo.ts b/src/api/ne/neInfo.ts index 80022fe3..9e746e37 100644 --- a/src/api/ne/neInfo.ts +++ b/src/api/ne/neInfo.ts @@ -21,10 +21,11 @@ export function listNeInfo(query: Record) { * @param infoId 信息ID * @returns object */ -export function getNeInfo(infoId: string | number) { +export function getNeInfo(coreUid: string, id: string | number) { return request({ - url: `/ne/info/${infoId}`, + url: `/ne/info`, method: 'GET', + params: { coreUid, id }, }); } @@ -60,126 +61,28 @@ export function updateNeInfo(data: Record) { /** * 网元信息删除 - * @param id 信息ID + * @param query 查询参数 coreUid, neUid id * @returns object */ -export function delNeInfo(infoIds: string | number) { +export function delNeInfo(query: Record) { return request({ - url: `/ne/info/${infoIds}`, + url: `/ne/info`, method: 'DELETE', - timeout: 60_000, - }); -} - -/** - * 查询网元列表全部无分页 - * @param query 查询参数 neType neId bandStatus bandHost - * @returns object - */ -export function listAllNeInfo(query: Record) { - return request({ - url: '/ne/info/listAll', - method: 'GET', params: query, timeout: 60_000, }); } /** - * 查询网元状态 - * @param neType 网元类型 - * @param neId 网元ID + * 查询网元列表全部无分页 + * @param query 查询参数 coreUid, neUid bandStatus bandHost * @returns object */ -export function stateNeInfo(neType: string, neId: string) { +export function listAllNeInfo(query: Record) { return request({ - url: '/ne/info/state', + url: '/ne/info/list/all', method: 'GET', - params: { neType, neId }, - }); -} - -/** - * 查询网元信息 - * @param neType 网元类型 - * @param neId 网元ID - * @returns object - */ -export function getNeInfoByTypeAndID(neType: string, neId: string) { - return request({ - url: '/ne/info/byTypeAndID', - method: 'GET', - params: { neType, neId }, - }); -} - -/** - * 网元端OAM配置文件读取 - * @param neType 网元类型 - * @param neId 网元ID - * @returns object - */ -export function getOAMFile(neType: string, neId: string) { - return request({ - url: '/ne/info/oamFile', - method: 'GET', - params: { neType, neId }, - }); -} - -/** - * 网元端配置文件写入 - * @param neType 网元类型 - * @param neId 网元ID - * @param content 用json对象 - * @param sync 同步到网元 - * @returns object - */ -export function saveOAMFile(data: Record) { - return request({ - url: `/ne/info/oamFile`, - method: 'PUT', - data: data, - timeout: 60_000, - }); -} - -/** - * 网元端公共配置文件读取 - * @returns object - */ -export function getPara5GFilee() { - return request({ - url: '/ne/info/para5GFile', - method: 'GET', - }); -} - -/** - * 网元端公共配置文件写入 - * @param content txt内容为字符串 其他文件格式都用json对象 - * @param syncNe 同步到网元端 NeType@ NeId - * @returns object - */ -export function savePara5GFile(data: Record) { - return request({ - url: `/ne/info/para5GFile`, - method: 'PUT', - data: data, - timeout: 60_000, - }); -} - -/** - * 网元服务操作 - * @param data 对象 {neType,neId,action} - * @returns object - */ -export function serviceNeAction(data: Record) { - return request({ - url: `/ne/action/service`, - method: 'PUT', - data: data, + params: query, timeout: 60_000, }); } diff --git a/src/api/ne/neLicense.ts b/src/api/ne/neLicense.ts index 1fd43f69..4c58d846 100644 --- a/src/api/ne/neLicense.ts +++ b/src/api/ne/neLicense.ts @@ -19,24 +19,25 @@ export function listNeLicense(query: Record) { * @param licenseId 信息ID * @returns object */ -export function getNeLicense(licenseId: string | number) { +export function getNeLicense(coreUid: string, id: string | number) { return request({ - url: `/ne/license/${licenseId}`, + url: `/ne/license`, method: 'GET', + params: { coreUid, id }, }); } /** * 网元neType和neID查询 * @param neType 网元类型 - * @param neId 网元ID + * @param neUid 网元ID * @returns object */ -export function getNeLicenseByTypeAndID(neType: string, neId: string) { +export function getNeLicenseByNF(coreUid: string, neUid: string) { return request({ - url: `/ne/license/byTypeAndID`, + url: `/ne/license/nf`, method: 'GET', - params: { neType, neId }, + params: { coreUid, neUid }, }); } @@ -70,14 +71,14 @@ export function changeNeLicense(data: Record) { /** * 网元授权激活状态 - * @param neType 网元类型 - * @param neId 网元id + * @param coreUid 核心uid + * @param neUid 网元uid * @returns object */ -export function stateNeLicense(neType: string, neId: string) { +export function stateNeLicense(coreUid: string, neUid: string) { return request({ url: `/ne/license/state`, method: 'GET', - params: { neType, neId }, + params: { coreUid, neUid }, }); } diff --git a/src/api/tool/mml.ts b/src/api/tool/mml.ts index ad1a08d3..fc07d703 100644 --- a/src/api/tool/mml.ts +++ b/src/api/tool/mml.ts @@ -1,13 +1,13 @@ import { request } from '@/plugins/http-fetch'; // 更新网元配置重新载入 -export function updateNeConfigReload(neType: string, neId: string) { +export function updateNeConfigReload(coreUid: string, neUid: string) { return request({ url: '/tool/mml/command', method: 'POST', data: { - neType: neType, - neId: neId, + coreUid: coreUid, + neUid: neUid, type: 'General', command: ['reload'], }, diff --git a/src/api/tool/neFile.ts b/src/api/tool/neFile.ts index 363b1239..a8b1ba47 100644 --- a/src/api/tool/neFile.ts +++ b/src/api/tool/neFile.ts @@ -7,7 +7,7 @@ import { request } from '@/plugins/http-fetch'; */ export function listNeFiles(query: Record) { return request({ - url: '/ne/action/files', + url: '/ne/action/file/list', method: 'GET', params: query, }); @@ -20,7 +20,7 @@ export function listNeFiles(query: Record) { */ export function getNeFile(query: Record) { return request({ - url: '/ne/action/pullFile', + url: '/ne/action/file/pull', method: 'GET', params: query, responseType: 'blob', @@ -31,7 +31,7 @@ export function getNeFile(query: Record) { // 从网元到本地获取目录压缩为ZIP export function getNeDirZip(data: Record) { return request({ - url: '/ne/action/pullDirZip', + url: '/ne/action/file/pull/dirzip', method: 'GET', params: data, responseType: 'blob', @@ -42,7 +42,7 @@ export function getNeDirZip(data: Record) { // 查看网元端文件内容 export function getNeViewFile(data: Record) { return request({ - url: '/ne/action/viewFile', + url: '/ne/action/file/view', method: 'GET', params: data, timeout: 60_000, diff --git a/src/api/trace/task.ts b/src/api/trace/task.ts index 629b71ba..5ba1336b 100644 --- a/src/api/trace/task.ts +++ b/src/api/trace/task.ts @@ -20,10 +20,11 @@ export async function listTraceTask(query: Record) { * @param id 网元ID * @returns object */ -export async function getTraceTask(id: string | number) { +export async function getTraceTask(coreUid: string, id: string | number) { return request({ - url: `/trace/task/${id}`, + url: `/trace/task`, method: 'GET', + params: { coreUid, id }, }); } @@ -58,10 +59,11 @@ export function updateTraceTask(data: Record) { * @param ids ID多个逗号分隔 * @returns object */ -export async function delTraceTask(ids: string) { +export async function delTraceTask(coreUid: string, id: string | number) { return request({ - url: `/trace/task/${ids}`, + url: `/trace/task`, method: 'DELETE', + params: { coreUid, id }, }); } diff --git a/src/components/TerminalSSHView/index.vue b/src/components/TerminalSSHView/index.vue index 405b2a30..08a8aef8 100644 --- a/src/components/TerminalSSHView/index.vue +++ b/src/components/TerminalSSHView/index.vue @@ -24,10 +24,16 @@ const props = defineProps({ required: true, }, /**网元ID,必传 */ - neId: { + neUid: { type: String, required: true, }, + /**核心网标识 */ + coreUid: { + type: String, + default: '', + required: true, + }, /**窗口单行字符数 */ cols: { type: Number, @@ -111,7 +117,8 @@ function wsOpen(ev: any) { cols: terminal.value.cols, rows: terminal.value.rows, neType: props.neType, - neId: props.neId, + neUid: props.neUid, + coreUid: props.coreUid, id: props.id, }); }); @@ -142,7 +149,8 @@ function wsClose(code: number) { emit('close', { code: code, neType: props.neType, - neId: props.neId, + neUid: props.neUid, + coreUid: props.coreUid, id: props.id, }); } @@ -161,8 +169,8 @@ function wsMessage(res: Record) { let text = ''; // 处理消息 if (props.processMessages) { - text = props.processMessages(data); - }else{ + text = props.processMessages(data); + } else { text = processMessage(data); } // 无消息是则不输出 @@ -202,13 +210,14 @@ function processMessage(data: string): string { } onMounted(() => { - if (props.neType && props.neId) { + if (props.neType && props.neUid && props.coreUid) { // 建立链接 const options: OptionsType = { url: props.url, params: { neType: props.neType, - neId: props.neId, + neUid: props.neUid, + coreUid: props.coreUid, cols: props.cols, rows: props.rows, }, diff --git a/src/constants/cache-keys-constants.ts b/src/constants/cache-keys-constants.ts index 09b86b01..713748ef 100644 --- a/src/constants/cache-keys-constants.ts +++ b/src/constants/cache-keys-constants.ts @@ -7,6 +7,9 @@ export const CACHE_SESSION_FATCH = 'cache:session:fatch'; /**会话缓存-当前选中核心网 */ export const CACHE_SESSION_CORE = 'cache:session:core'; +/**会话缓存-当前选中核心网UID */ +export const CACHE_SESSION_CORE_UID = 'cache:session:core:uid'; + /**本地缓存-布局设置 */ export const CACHE_LOCAL_PROCONFIG = 'cache:local:proConfig'; diff --git a/src/constants/ne-constants.ts b/src/constants/ne-constants.ts index cdf6b689..7d9ef989 100644 --- a/src/constants/ne-constants.ts +++ b/src/constants/ne-constants.ts @@ -22,6 +22,12 @@ export const NE_TYPE_LIST = [ 'CHF', 'HLR', 'SGWC', + 'PGWC', + 'IP-SM-GW', + 'MMTel-AS', + 'I-CSCF', + 'P-CSCF', + 'S-CSCF', ]; /** diff --git a/src/hooks/useCoreUid.ts b/src/hooks/useCoreUid.ts new file mode 100644 index 00000000..e245d23b --- /dev/null +++ b/src/hooks/useCoreUid.ts @@ -0,0 +1,10 @@ +import { CACHE_SESSION_CORE_UID } from '@/constants/cache-keys-constants'; +import { sessionGet } from '@/utils/cache-session-utils'; + +/** + * 获取当前coreUid + * @returns coreUid + */ +export function currentCoreUid() { + return sessionGet(CACHE_SESSION_CORE_UID) || ''; +} diff --git a/src/i18n/locales/en-US.ts b/src/i18n/locales/en-US.ts index a8e14239..3373aca9 100644 --- a/src/i18n/locales/en-US.ts +++ b/src/i18n/locales/en-US.ts @@ -525,9 +525,9 @@ export default { neType: 'NE Type', neTypePlease: "Please select network element type", neTypeTip: 'Fill in the type of network element to be created, e.g. SMF.', - neId: 'NE ID', - neIdPlease: 'Please enter the network element identification', - neIdTip: 'Fill in the unique identifier of the network element binding', + neUid: 'NE UID', + neUidPlease: 'Please enter the network element identification', + neUidTip: 'Fill in the unique identifier of the network element binding', rmUid: 'Resource Unique ID', rmUidPlease: 'Please enter a resource unique ID', rmUidTip: "Tagging for data reporting of network element logs, alarms, metrics, etc.", @@ -539,6 +539,8 @@ export default { port: 'Port', portTip: "Network element port default:33030", capability: 'Capability', + ueNumber: 'UE Number', + nbNumber: 'Radio Number', serialNum: 'Serial Number', expiryDate: 'Expiry Date', normalcy: 'Normal', @@ -565,13 +567,13 @@ export default { sysDisk: "SYS Store", neCpu: "NE CPU", hostConfig: "Connection Configuration", - pvflag: 'NE Virtualization', + pvflag: 'Virtual Flag', pnf: 'physical network element', vnf: 'virtual network element', - neAddress: 'MAC', - neAddressTip: 'Record the physical address (MAC) of the network card of the network element', - dn: 'network identifier', - vendorName: 'provider', + macAddr: 'MAC', + macAddrTip: 'Record the physical address (MAC) of the network card of the network element', + dn: 'Network Identifier', + vendorName: 'Provider', province: 'Service Area', addTitle: 'New network element information', editTitle: 'Edit network element information', @@ -1291,8 +1293,6 @@ export default { mml:{ account:'Account', ip:'IP', - type:'NE Type', - neId:'NE ID', MML:'MML', logTime:'Log Time' }, diff --git a/src/i18n/locales/zh-CN.ts b/src/i18n/locales/zh-CN.ts index 367db62a..d1f6b3f1 100644 --- a/src/i18n/locales/zh-CN.ts +++ b/src/i18n/locales/zh-CN.ts @@ -525,9 +525,9 @@ export default { neType: '网元类型', neTypePlease: "请选择网元类型", neTypeTip: '填写创建的网元类型,如:SMF', - neId: '网元标识', - neIdPlease: '请输入网元标识', - neIdTip: '填写网元绑定的唯一标识', + neUid: '网元标识', + neUidPlease: '请输入网元标识', + neUidTip: '填写网元绑定的唯一标识', rmUid: '资源唯一标识', rmUidPlease: '请输入资源唯一标识', rmUidTip: "用于网元日志、告警、指标等数据上报的标记", @@ -539,6 +539,8 @@ export default { port: '服务端口', portTip: "网元服务端口,默认:33030", capability: '容量', + ueNumber: '用户数', + nbNumber: '基站数', serialNum: '序列号', expiryDate: '许可证到期日期', normalcy: '正常', @@ -565,11 +567,11 @@ export default { sysDisk: "系统存储", neCpu: "网元CPU", hostConfig: "终端连接配置", - pvflag: '网元虚拟化标识', + pvflag: '虚拟化标识', pnf: '物理网元', vnf: '虚拟网元', - neAddress: '物理地址(MAC)', - neAddressTip: '记录网元的网卡物理地址(MAC)', + macAddr: '物理地址(MAC)', + macAddrTip: '记录网元的网卡物理地址(MAC)', dn: '网络标识', vendorName: '提供厂商', province: '服务地域', @@ -1291,8 +1293,6 @@ export default { mml:{ account:'登录账号', ip:'IP地址', - type:'网元类型', - neId:'网元唯一标识', MML:'MML', logTime:'记录时间' }, diff --git a/src/layouts/BasicLayout.vue b/src/layouts/BasicLayout.vue index 50baaeda..9ae3eeae 100644 --- a/src/layouts/BasicLayout.vue +++ b/src/layouts/BasicLayout.vue @@ -270,6 +270,7 @@ onUnmounted(() => { v-bind="proConfig" :iconfont-url="scriptUrl" :locale="fnLocale" + :sider-width="256" >