86 lines
2.4 KiB
TypeScript
86 lines
2.4 KiB
TypeScript
import {
|
|
RESULT_CODE_ERROR,
|
|
RESULT_CODE_SUCCESS,
|
|
RESULT_MSG_ERROR,
|
|
} from '@/constants/result-constants';
|
|
import { language, request } from '@/plugins/http-fetch';
|
|
|
|
/**
|
|
* 更新网元配置重新载入
|
|
* @param neType 网元类型
|
|
* @param neId 网元ID
|
|
* @returns
|
|
*/
|
|
export async function updateNeConfigReload(neType: string, neId: string) {
|
|
// 发起请求
|
|
const result = await request({
|
|
url: `/api/rest/operationManagement/v1/elementType/${neType}/objectType/mml?ne_id=${neId}`,
|
|
method: 'post',
|
|
data: { mml: ['reload'] },
|
|
timeout: 180_000,
|
|
});
|
|
// 解析数据
|
|
if (result.code === RESULT_CODE_SUCCESS && Array.isArray(result.data.data)) {
|
|
const v = result.data.data[0];
|
|
const str = v.toLowerCase();
|
|
if (str.indexOf('ok') !== -1) {
|
|
delete result.data;
|
|
} else if (str.indexOf('success') !== -1) {
|
|
delete result.data;
|
|
} else {
|
|
return { code: RESULT_CODE_ERROR, msg: RESULT_MSG_ERROR[language] };
|
|
}
|
|
}
|
|
return result;
|
|
}
|
|
|
|
/**
|
|
* 从参数配置PCF中获取对应信息提供给PCC用户策略输入框
|
|
* @param neId
|
|
* @returns object {pccRules,sessionRules,qosTemplate,headerEnrichTemplate,serviceAreaRestriction}
|
|
*/
|
|
export async function getPCCRule(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 && Array.isArray(res.data)) {
|
|
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;
|
|
});
|
|
}
|