119 lines
3.0 KiB
TypeScript
119 lines
3.0 KiB
TypeScript
import { RESULT_CODE_SUCCESS } from '@/constants/result-constants';
|
||
import { request } from '@/plugins/http-fetch';
|
||
|
||
/**
|
||
* 网元参数配置可用属性值列表指定网元类型全部无分页
|
||
* @param query 查询参数
|
||
* @returns object
|
||
*/
|
||
export function getAllNeConfig(neType: string, neId: string) {
|
||
return request({
|
||
url: `/ne/config/list/${neType}`,
|
||
method: 'GET',
|
||
params: { neId },
|
||
timeout: 60_000,
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 网元参数配置数据信息
|
||
* @param params 数据 {neType,neId,paramName}
|
||
* @returns object
|
||
*/
|
||
export function getNeConfigData(params: Record<string, any>) {
|
||
return request({
|
||
url: `/ne/config/data`,
|
||
params,
|
||
method: 'GET',
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 网元参数配置数据更新
|
||
* @param data 数据 {neType,neId,paramName:"参数名",paramData:{参数},loc:"层级index仅array"}
|
||
* @returns object
|
||
*/
|
||
export function editNeConfigData(data: Record<string, any>) {
|
||
return request({
|
||
url: `/ne/config/data`,
|
||
method: 'PUT',
|
||
data: data,
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 网元参数配置数据新增(array)
|
||
* @param data 数据 {neType,neId,paramName:"参数名",paramData:{参数},loc:"层级index"}
|
||
* @returns object
|
||
*/
|
||
export function addNeConfigData(data: Record<string, any>) {
|
||
return request({
|
||
url: `/ne/config/data`,
|
||
method: 'POST',
|
||
data: data,
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 网元参数配置数据删除(array)
|
||
* @param params 数据 {neType,neId,paramName:"参数名",loc:"层级index"}
|
||
* @returns object
|
||
*/
|
||
export function delNeConfigData(params: Record<string, any>) {
|
||
return request({
|
||
url: `/ne/config/data`,
|
||
method: 'DELETE',
|
||
params,
|
||
});
|
||
}
|
||
|
||
/**
|
||
* 从参数配置PCF中获取对应信息提供给PCF用户策略输入框
|
||
* @param neId
|
||
* @returns object {pccRules,sessionRules,qosTemplate,headerEnrichTemplate,serviceAreaRestriction}
|
||
*/
|
||
export async function getPCFRule(neId: any) {
|
||
const paramNameArr = [
|
||
'pccRules',
|
||
'sessionRules',
|
||
'qosTemplate',
|
||
'headerEnrichTemplate',
|
||
'serviceAreaRestriction',
|
||
];
|
||
const reqArr = [];
|
||
for (const paramName of paramNameArr) {
|
||
reqArr.push(
|
||
request({
|
||
url: `/ne/config/data`,
|
||
params: { neType: 'PCF', neId, paramName },
|
||
method: 'GET',
|
||
})
|
||
);
|
||
}
|
||
return await Promise.allSettled(reqArr).then(resArr => {
|
||
// 规则数据
|
||
const obj: any = {};
|
||
resArr.forEach((item, i: number) => {
|
||
if (item.status === 'fulfilled') {
|
||
const res = item.value;
|
||
if (res.code === RESULT_CODE_SUCCESS) {
|
||
const key = paramNameArr[i];
|
||
obj[key] = res.data.map((item: any) => {
|
||
if ('qosTemplate' === key) {
|
||
return { value: item.qosId, label: item.qosId };
|
||
}
|
||
if ('headerEnrichTemplate' === key) {
|
||
return { value: item.templateName, label: item.templateName };
|
||
}
|
||
if ('serviceAreaRestriction' === key) {
|
||
return { value: item.name, label: item.name };
|
||
}
|
||
return { value: item.ruleId, label: item.ruleId };
|
||
});
|
||
}
|
||
}
|
||
});
|
||
return obj;
|
||
});
|
||
}
|