@jdlinker/linker
Version:
jdLinker 系统模块
138 lines (133 loc) • 4.54 kB
text/typescript
import {defHttp} from '@jdlinker/func';
import { useMessage } from "@jdlinker/func";
const { createConfirm } = useMessage();
enum Api {
list = '/iot/iotDeviceAccessOpcua/list',
save='/iot/iotDeviceAccessOpcua/add',
edit='/iot/iotDeviceAccessOpcua/edit',
deleteOne = '/iot/iotDeviceAccessOpcua/delete',
deleteBatch = '/iot/iotDeviceAccessOpcua/deleteBatch',
importExcel = '/iot/iotDeviceAccessOpcua/importExcel',
exportXls = '/iot/iotDeviceAccessOpcua/exportXls',
release = '/iot/iotDeviceAccessOpcua/release',
cancel = '/iot/iotDeviceAccessOpcua/cancel',
}
/**
* 导出api
* @param params
*/
export const getExportUrl = Api.exportXls;
/**
* 导入api
*/
export const getImportUrl = Api.importExcel;
/**
* 列表接口
* @param params
*/
// export const list = (params) =>
// defHttp.get({url: Api.list, params});
export const list = (params) => {
return defHttp.get({url: Api.list, params}).then((res) => {
if (Array.isArray(res.records)) {
res.records.forEach(function (item) {
if (item.configuration) {
let jsonStr = JSON.parse(item.configuration);
item.serverId = jsonStr.serverId;
item.acknowledgeTimeout = jsonStr.acknowledgeTimeout;
item.applicationName = jsonStr.applicationName;
item.applicationUri = jsonStr.applicationUri;
item.channelLifeTimeout = jsonStr.channelLifeTimeout;
item.connectTimeout = jsonStr.connectTimeout;
item.endpoint = jsonStr.endpoint;
item.keepAliveInterval = jsonStr.keepAliveInterval;
item.keepAliveTimeout = jsonStr.keepAliveTimeout;
item.productUrl = jsonStr.productUrl;
item.refactorEndpoint = jsonStr.refactorEndpoint;
item.requestTimeout = jsonStr.requestTimeout;
item.securityMode = jsonStr.securityMode;
item.securityPolicy = jsonStr.securityPolicy;
item.sessionTimeout = jsonStr.sessionTimeout;
item.username = jsonStr.username;
item.password = jsonStr.password;
item.lowerFrequencyRetryInterval = jsonStr.lowerFrequencyRetryInterval;
item.maxConsecutiveErrors = jsonStr.maxConsecutiveErrors;
item.type = jsonStr.type;
}
});
}
return res;
});
};
/**
* 删除单个
*/
export const deleteOne = (params,handleSuccess) => {
return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => {
handleSuccess();
});
}
/**
* 批量删除
* @param params
*/
export const batchDelete = (params, handleSuccess) => {
createConfirm({
iconType: 'warning',
title: '确认删除',
content: '是否删除选中数据',
okText: '确认',
cancelText: '取消',
onOk: () => {
return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => {
handleSuccess();
});
}
});
}
/**
* 保存或者更新
* @param params
*/
export const saveOrUpdate = (params, isUpdate) => {
let url = isUpdate ? Api.edit : Api.save;
let configs = JSON.parse('{}');
configs.serverId = params.serverId;
configs.acknowledgeTimeout = params.acknowledgeTimeout;
configs.applicationName = params.applicationName;
configs.applicationUri = params.applicationUri;
configs.channelLifeTimeout = params.channelLifeTimeout;
configs.connectTimeout = params.connectTimeout;
configs.endpoint = params.endpoint;
configs.keepAliveInterval = params.keepAliveInterval;
configs.keepAliveTimeout = params.keepAliveTimeout;
configs.productUrl = params.productUrl;
configs.refactorEndpoint = params.refactorEndpoint;
configs.requestTimeout = params.requestTimeout;
configs.securityMode = params.securityMode;
configs.securityPolicy = params.securityPolicy;
configs.sessionTimeout = params.sessionTimeout;
configs.username = params.username;
configs.password = params.password;
configs.lowerFrequencyRetryInterval = params.lowerFrequencyRetryInterval;
configs.maxConsecutiveErrors = params.maxConsecutiveErrors;
configs.type = params.type;
params.configuration = JSON.stringify(configs);
return defHttp.post({url: url, params});
}
/**
* 重新发布
*/
export const release = (params,handleSuccess) => {
return defHttp.post({url: Api.release, params}, {joinParamsToUrl: true}).then(() => {
handleSuccess();
});
}
/**
* 取消发布
*/
export const cancel = (params,handleSuccess) => {
return defHttp.post({url: Api.cancel, params}, {joinParamsToUrl: true}).then(() => {
handleSuccess();
});
}