index.ts 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957
  1. import qs from 'qs';
  2. import { request } from '@/utils';
  3. import type {
  4. AddInterface,
  5. AgreementUpdate,
  6. AlarmEvent,
  7. AlarmEventHistoryItemData,
  8. AlarmHistory,
  9. AlarmHistoryItem,
  10. AlarmPageParams,
  11. AlgorithmConfigInfo,
  12. AllDevicesList,
  13. AutomaticMatching,
  14. BatchUpdate,
  15. ChangeState,
  16. CoolingHistoryDataQuery,
  17. CoolingHistoryDataResult,
  18. CoolingRealTimeDataQuery,
  19. CoolingRealTimeDataResult,
  20. CoolingStatisticsQuery,
  21. CoolingStatisticsResult,
  22. CustomParameters,
  23. DeviceBindQuery,
  24. DeviceGroup,
  25. DeviceGroupItem,
  26. DeviceGroupListQuery,
  27. DeviceParamGroup,
  28. DeviceParams,
  29. DevicesList,
  30. DevicesListItemData,
  31. DeviceTypeCount,
  32. DevWorkHisDataQuery,
  33. DevWorkHistoryData,
  34. DevWorkRealTimeData,
  35. DictTypeData,
  36. DictTypeDataParams,
  37. ElectricityStatisticsQuery,
  38. ElectricityStatisticsResult,
  39. EquipmentDetailsItem,
  40. EquipmentInformationForm,
  41. EquipmentTypeItem,
  42. EquipmentUpdateForm,
  43. EventTriggerData,
  44. GatewayBody,
  45. GatewayInformation,
  46. GatewayInterface,
  47. GatewayLinkProtocolQuery,
  48. GatewayListItemData,
  49. GatewayModelInfo,
  50. GatewayParameterBody,
  51. GatewayParameterItemData,
  52. GetListItem,
  53. GroupingList,
  54. GroupingListData,
  55. GroupRegions,
  56. InterfaceData,
  57. InterfaceLsit,
  58. LimitForm,
  59. ListEquipmentParametersItemData,
  60. ListInfo,
  61. ListInterfaces,
  62. ListPhysicalInterfaces,
  63. MonitoringForm,
  64. MonitoringPointData,
  65. MonitorPointInfo,
  66. MonitorPointItem,
  67. OutdooForm,
  68. ParameterVerification,
  69. ParamValueListAutomaticQuery,
  70. PointTimeSeriesQuery,
  71. PostProtocolPage,
  72. PostProtocolPageItem,
  73. PostProtocolPageItemData,
  74. ProtocolBaseInfo,
  75. ProtocolGatewayListListItem,
  76. ProtocolItemData,
  77. ProtocolList,
  78. ProtocolListData,
  79. ProtocolListItem,
  80. ProtocolListQuery,
  81. ProtocolParamData,
  82. ProtocolParamInfo,
  83. ProtocolParamSearchParams,
  84. ProtocolReset,
  85. ProtocolStandardParam,
  86. ProtocolStandardParamData,
  87. ProtocolStandardParamQuery,
  88. RegionQuery,
  89. RegionsPointsItem,
  90. SerialNumberItem,
  91. SerialNumberItemData,
  92. SubmitDeviceGroup,
  93. SubmitSorting,
  94. TempHumidityControlSettings,
  95. VerificationAgreement,
  96. VerificationEquipment,
  97. WarningItem,
  98. } from '@/types';
  99. /**
  100. * 获取认证授权服务 url
  101. */
  102. const apiUaa = (path: string, params?: unknown) => {
  103. const apiUrl = params ? `${path}?${qs.stringify(params)}` : path;
  104. return `/api-uaa${apiUrl}`;
  105. };
  106. /**
  107. * 获取系统服务 url
  108. */
  109. const apiSys = (path: string, params?: unknown) => {
  110. const apiUrl = params ? `${path}?${qs.stringify(params)}` : path;
  111. return `/api-sys${apiUrl}`;
  112. };
  113. /**
  114. * 获取业务服务 url
  115. */
  116. const apiBiz = (path: string, params?: unknown) => {
  117. const apiUrl = params ? `${path}?${qs.stringify(params, { arrayFormat: 'repeat' })}` : path;
  118. return `/api-biz${apiUrl}`;
  119. };
  120. // ----- 认证授权服务 -----
  121. // 登录和注销
  122. export const loginUser = async () => {
  123. const params = {
  124. grant_type: 'password',
  125. username: 'admin1',
  126. password: 'admin',
  127. };
  128. await request(apiUaa('/oauth/token', params), {
  129. method: 'POST',
  130. headers: {
  131. Authorization: 'Basic ' + btoa('unimat:unimat'),
  132. },
  133. });
  134. };
  135. export const logoutUser = async () => {
  136. await request(apiUaa('/oauth/remove/token'));
  137. };
  138. export const refreshUser = async () => {
  139. await request(apiUaa('/oauth/token'));
  140. };
  141. // ----- 系统服务 -----
  142. // 字典类型表
  143. export const getDictTypeData = async (params: DictTypeDataParams) => {
  144. const data = await request<DictTypeData[]>(apiSys('/sysDictType/typeAndData', params));
  145. return data;
  146. };
  147. // ----- 业务服务 -----
  148. // 报警事件
  149. export const addAlarmEvent = async (params: AlarmEvent) => {
  150. await request(apiBiz('/alarmEvent/add'), {
  151. method: 'POST',
  152. body: JSON.stringify(params),
  153. });
  154. };
  155. export const alarmEventChangeState = async (params: ChangeState) => {
  156. await request(apiBiz('/alarmEvent/changeState'), {
  157. method: 'POST',
  158. body: JSON.stringify(params),
  159. });
  160. };
  161. export const deleteAlarmEvent = async (id: number) => {
  162. await request(apiBiz(`/alarmEvent/delete/${id}`), {
  163. method: 'POST',
  164. });
  165. };
  166. export const getAlarmEventGetPageList = async (params: AlarmPageParams) => {
  167. const data = await request<EventTriggerData>(apiBiz('/alarmEvent/getPageList'), {
  168. method: 'POST',
  169. body: JSON.stringify(params),
  170. });
  171. return data;
  172. };
  173. export const getAlarmEventInfo = async (id: number) => {
  174. const data = await request<AlarmEvent>(apiBiz(`/alarmEvent/info/${id}`));
  175. return data;
  176. };
  177. export const updateAlarmEvent = async (params: AlarmEvent) => {
  178. await request(apiBiz('/alarmEvent/update'), {
  179. method: 'POST',
  180. body: JSON.stringify(params),
  181. });
  182. };
  183. // 报警历史表
  184. export const getAlarmHistoryList = async (params: AlarmHistory) => {
  185. const data = await request<AlarmEventHistoryItemData>(apiBiz('/alarmHistory/getPageList'), {
  186. method: 'POST',
  187. body: JSON.stringify(params),
  188. });
  189. return data;
  190. };
  191. // 算法配置
  192. export const getAlgorithmConfigInfo = async (devGroupId: number) => {
  193. const data = await request<AlgorithmConfigInfo>(apiBiz(`/algorithmConfig/info/byGroup/${devGroupId}`));
  194. return data;
  195. };
  196. export const addAlgorithmConfigUpdate = async (params: AlgorithmConfigInfo) => {
  197. await request(apiBiz('/algorithmConfig/update'), {
  198. method: 'POST',
  199. body: JSON.stringify(params),
  200. });
  201. };
  202. // 环境监控-监测点预警配置
  203. export const addBatchMonitorPointAlarm = async (params: WarningItem[]) => {
  204. await request(apiBiz('/monitorPointAlarm/addBatch'), {
  205. method: 'POST',
  206. body: JSON.stringify({ monitorPointAlarms: params }),
  207. });
  208. };
  209. export const getMonitorPointAlarm = async (pointId: number) => {
  210. const data = await request<MonitorPointItem[]>(apiBiz(`/monitorPointAlarm/point/${pointId}`));
  211. return data;
  212. };
  213. export const updateBatchMonitorPointAlarm = async (params: WarningItem[]) => {
  214. await request(apiBiz('/monitorPointAlarm/updateBatch'), {
  215. method: 'POST',
  216. body: JSON.stringify({ monitorPointAlarms: params }),
  217. });
  218. };
  219. export const getMonitorPointAlarmHistory = async (devGroupId: number) => {
  220. const data = await request<AlarmHistoryItem[]>(apiBiz(`/monitorPointAlarm/history/${devGroupId}`));
  221. return data;
  222. };
  223. // 环境监控-区域
  224. export const addRegion = async (params: RegionQuery) => {
  225. await request(apiBiz('/region/add'), {
  226. method: 'POST',
  227. body: JSON.stringify(params),
  228. });
  229. };
  230. export const regionUpdate = async (params: RegionQuery) => {
  231. await request(apiBiz('/region/update'), {
  232. method: 'POST',
  233. body: JSON.stringify(params),
  234. });
  235. };
  236. export const regionDelete = async (id: number) => {
  237. await request(apiBiz(`/region/delete/${id}`), {
  238. method: 'POST',
  239. });
  240. };
  241. export const getGroupRegions = async (devGroupId: number) => {
  242. const data = await request<GroupRegions[]>(apiBiz(`/region/groupRegions/${devGroupId}`), {
  243. method: 'POST',
  244. });
  245. return data;
  246. };
  247. export const getRegionsPointsData = async (devGroupId: number) => {
  248. const data = await request<RegionsPointsItem[]>(apiBiz(`/region/pointsData/${devGroupId}`), {
  249. method: 'POST',
  250. });
  251. return data;
  252. };
  253. export const getRegionsPointsValue = async (devGroupId: number, params: { endTime: string }) => {
  254. const data = await request<MonitoringPointData[]>(apiBiz(`/region/pointsValue/${devGroupId}`), {
  255. method: 'POST',
  256. body: JSON.stringify(params),
  257. });
  258. return data;
  259. };
  260. // 环境监控-监测点
  261. export const addMonitorPoint = async (params: MonitoringForm) => {
  262. await request(apiBiz('/monitorPoint/add'), {
  263. method: 'POST',
  264. body: JSON.stringify(params),
  265. });
  266. };
  267. export const deleteMonitorPoint = async (id: number) => {
  268. await request(apiBiz(`/monitorPoint/delete/${id}`), {
  269. method: 'POST',
  270. });
  271. };
  272. export const updateMonitorPoint = async (params: MonitoringForm) => {
  273. await request(apiBiz('/monitorPoint/update'), {
  274. method: 'POST',
  275. body: JSON.stringify(params),
  276. });
  277. };
  278. export const updateRegionMonitorPoint = async (params: OutdooForm) => {
  279. await request(apiBiz('/region/monitorPoint/update'), {
  280. method: 'POST',
  281. body: JSON.stringify(params),
  282. });
  283. };
  284. export const getMonitorPointInfo = async (id: number) => {
  285. const data = await request<MonitorPointInfo>(apiBiz(`/monitorPoint/info/${id}`));
  286. return data;
  287. };
  288. export const updateLimits = async (params: LimitForm) => {
  289. await request(apiBiz('/monitorPoint/updateLimits'), {
  290. method: 'POST',
  291. body: JSON.stringify(params),
  292. });
  293. };
  294. export const getPointTimeSeries = async (params: PointTimeSeriesQuery, pointId: number) => {
  295. const data = await request<TempHumidityControlSettings>(apiBiz(`/monitorPoint/pointTimeSeries/${pointId}`), {
  296. method: 'POST',
  297. body: JSON.stringify(params),
  298. });
  299. return data;
  300. };
  301. // 设备组列表
  302. export const getPageList = async () => {
  303. const data = await request<DeviceGroupItem[]>(apiBiz('/deviceGroup/getList'), {
  304. method: 'POST',
  305. });
  306. return data;
  307. };
  308. export const addDeviceGroup = async (params: SubmitDeviceGroup) => {
  309. await request(apiBiz('/deviceGroup/add'), {
  310. method: 'POST',
  311. body: JSON.stringify(params),
  312. });
  313. };
  314. export const addDeviceGroupUpdate = async (params: SubmitDeviceGroup) => {
  315. await request(apiBiz('/deviceGroup/update'), {
  316. method: 'POST',
  317. body: JSON.stringify(params),
  318. });
  319. };
  320. export const deleteDeviceGroup = async (id: number) => {
  321. await request(apiBiz(`/deviceGroup/delete/${id}`), {
  322. method: 'POST',
  323. });
  324. };
  325. // 设备列表
  326. export const deviceAdd = async (equipmentInformationForm: EquipmentInformationForm) => {
  327. const data = await request<number>(apiBiz('/device/add'), {
  328. method: 'POST',
  329. body: JSON.stringify(equipmentInformationForm),
  330. });
  331. return data;
  332. };
  333. export const getDeviceGroupList = async (params: DeviceGroupListQuery) => {
  334. const data = await request<DeviceGroup[]>(apiBiz('/deviceGroup/getDeviceGroupList'), {
  335. method: 'POST',
  336. body: JSON.stringify(params),
  337. });
  338. return data;
  339. };
  340. export const addDeviceBind = async (params: DeviceBindQuery) => {
  341. await request(apiBiz('/device/bind'), {
  342. method: 'POST',
  343. body: JSON.stringify(params),
  344. });
  345. };
  346. export const deviceDeletion = async (ids: number[]) => {
  347. await request(apiBiz('/device/delete/batch'), {
  348. method: 'POST',
  349. body: JSON.stringify(ids),
  350. });
  351. };
  352. export const equipmentDetails = async (id: number) => {
  353. const data = await request<EquipmentDetailsItem>(apiBiz(`/device/getBasicInfo/${id}`), {
  354. method: 'POST',
  355. });
  356. return data;
  357. };
  358. export const queryDevicesList = async (devicesList: DevicesList) => {
  359. const data = await request<DevicesListItemData>(apiBiz('/device/getPageList'), {
  360. method: 'POST',
  361. body: JSON.stringify(devicesList),
  362. });
  363. return data;
  364. };
  365. export const noPaginationDevicesList = async () => {
  366. const data = await request<AllDevicesList[]>(apiBiz('/device/getList'), {
  367. method: 'POST',
  368. });
  369. return data;
  370. };
  371. export const getDeviceListSimple = async (deviceId: number) => {
  372. const data = await request<DeviceParams[]>(apiBiz(`/device/listSimple/${deviceId}`));
  373. return data;
  374. };
  375. export const getDeviceParams = async (deviceId: number, isProcessData: boolean) => {
  376. const data = await request<DeviceParamGroup[]>(apiBiz('/device/protocolParamVerify '), {
  377. method: 'POST',
  378. body: JSON.stringify({
  379. deviceId,
  380. isProcessData,
  381. }),
  382. });
  383. return data;
  384. };
  385. // 设备工况
  386. export const getDevWorkTypeCount = async (deviceGroupId: number, deviceTypes: number[]) => {
  387. const data = await request<DeviceTypeCount[]>(apiBiz('/deviceCondition/getTypeCount'), {
  388. method: 'POST',
  389. body: JSON.stringify({
  390. deviceGroupId,
  391. deviceTypes,
  392. }),
  393. });
  394. return data;
  395. };
  396. export const getDevWorkRealTimeData = async (deviceIds: number[], deviceParamCode: string[]) => {
  397. const data = await request<DevWorkRealTimeData[]>(apiBiz('/deviceCondition/getRTDList'), {
  398. method: 'POST',
  399. body: JSON.stringify({
  400. deviceIds,
  401. deviceParamCode,
  402. }),
  403. });
  404. return data;
  405. };
  406. export const getDevWorkHistoryData = async (params: DevWorkHisDataQuery) => {
  407. const data = await request<DevWorkHistoryData[]>(apiBiz('/deviceCondition/getHisList'), {
  408. method: 'POST',
  409. body: JSON.stringify(params),
  410. });
  411. return data;
  412. };
  413. // 设备网关
  414. export const deviceGatewayUpdate = async (equipmentUpdateForm: EquipmentUpdateForm[]) => {
  415. await request(apiBiz('/deviceGateway/update'), {
  416. method: 'POST',
  417. body: JSON.stringify(equipmentUpdateForm),
  418. });
  419. };
  420. // 设备协议参数验证
  421. export const postParameterVerification = async (deviceId: number) => {
  422. const data = await request<ParameterVerification[]>(apiBiz('/protocolParamVerify/list'), {
  423. method: 'POST',
  424. body: JSON.stringify({
  425. deviceId,
  426. }),
  427. });
  428. return data;
  429. };
  430. // 设备参数分组
  431. export const equipmentParametersList = async (groupingList: GroupingList[]) => {
  432. await request(apiBiz('/deviceParamGroup/update/batch'), {
  433. method: 'POST',
  434. body: JSON.stringify(groupingList),
  435. });
  436. };
  437. export const queryEquipmentParametersList = async (deviceId: number) => {
  438. const data = await request<GroupingListData[]>(apiBiz('/deviceParamGroup/getList'), {
  439. method: 'POST',
  440. body: JSON.stringify({ deviceId }),
  441. });
  442. return data;
  443. };
  444. // 设备参数关系表
  445. export const submitSortingList = async (submitSorting: SubmitSorting[]) => {
  446. await request(apiBiz('/deviceParamGroupRel/update/batch'), {
  447. method: 'POST',
  448. body: JSON.stringify(submitSorting),
  449. });
  450. };
  451. // 设备自定义参数表
  452. export const submitCustomParameters = async (customParameters: CustomParameters[]) => {
  453. await request(apiBiz('/protocolParamCustomDev/update/batch'), {
  454. method: 'POST',
  455. body: JSON.stringify(customParameters),
  456. });
  457. };
  458. // 网关基本信息
  459. export const addGateway = async () => {
  460. await request(apiBiz('/gateway/add'));
  461. };
  462. export const gatewayDelete = async (id: number) => {
  463. await request(apiBiz(`/gateway/delete/${id}`), {
  464. method: 'POST',
  465. });
  466. };
  467. export const getAllGatewayList = async () => {
  468. const data = await request<SerialNumberItem[]>(apiBiz('/gateway/getGtwLinkList'), {
  469. method: 'POST',
  470. });
  471. return data;
  472. };
  473. export const validateGatewayInfo = async (registerGatewayForm: VerificationEquipment) => {
  474. const data = await request<GatewayInformation>(apiBiz('/gateway/validate', registerGatewayForm), {
  475. method: 'POST',
  476. });
  477. return data;
  478. };
  479. export const gatewayList = async (gatewayBody: GatewayBody) => {
  480. const data = await request<GatewayListItemData>(apiBiz('/gateway/getPageList'), {
  481. method: 'POST',
  482. body: JSON.stringify(gatewayBody),
  483. });
  484. return data;
  485. };
  486. // 网关通讯
  487. export const gatewayLinkAdd = async (addInterface: AddInterface) => {
  488. await request(apiBiz('/gatewayLink/add'), {
  489. method: 'POST',
  490. body: JSON.stringify(addInterface),
  491. });
  492. };
  493. export const addGatewayLinkBatchUpdate = async (params: BatchUpdate[]) => {
  494. await request(apiBiz('/gatewayLink/batchUpdate'), {
  495. method: 'POST',
  496. body: JSON.stringify({ gatewayLinks: params }),
  497. });
  498. };
  499. export const gatewayLinkDelete = async (id: number) => {
  500. await request(apiBiz(`/gatewayLink/delete/${id}`), {
  501. method: 'POST',
  502. });
  503. };
  504. export const gatewayLinkGetList = async (gatewayId: number) => {
  505. const data = await request<InterfaceData[]>(apiBiz(`/gatewayLink/getList/${gatewayId}`), {
  506. method: 'POST',
  507. });
  508. return data;
  509. };
  510. export const gatewayLinkUpdate = async (agreementUpdate: AgreementUpdate) => {
  511. await request(apiBiz('/gatewayLink/update'), {
  512. method: 'POST',
  513. body: JSON.stringify(agreementUpdate),
  514. });
  515. };
  516. export const getGatewayLinks = async (gatewayId: number) => {
  517. const data = await request<InterfaceLsit[]>(apiBiz(`/gatewayLink/getGatewayLinks/${gatewayId}`));
  518. return data;
  519. };
  520. // 网关型号
  521. export const getGatewayModelInfo = async (id: number) => {
  522. const data = await request<GatewayModelInfo>(apiBiz(`/gatewayModel/info/${id}`));
  523. return data;
  524. };
  525. export const getGatewayModelInterfaces = async (id: number) => {
  526. const data = await request<GatewayInterface[]>(apiBiz(`/gatewayModel/interfaces/${id}`), {
  527. method: 'POST',
  528. });
  529. return data;
  530. };
  531. // 网关物理接口协议
  532. export const obtainListPhysicalInterfaces = async (id: number) => {
  533. const data = await request<ListPhysicalInterfaces[]>(apiBiz(`/gatewayInterfaceProtocol/getProtocols/${id}`));
  534. return data;
  535. };
  536. // 网关型号物理接口
  537. export const obtainListInterfaces = async (id: number) => {
  538. const data = await request<ListInterfaces[]>(apiBiz(`/gatewayPhysicalInterface/getInterfaces/${id}`));
  539. return data;
  540. };
  541. // 网关接口协议
  542. export const getParamValueListAutomatic = async (params: ParamValueListAutomaticQuery) => {
  543. const data = await request<AutomaticMatching>(apiBiz('/gatewayLinkProtocol/getParamValueListAutomatic'), {
  544. method: 'POST',
  545. body: JSON.stringify(params),
  546. });
  547. return data;
  548. };
  549. export const getAllGatewayLinkProtocol = async <T>(params: GatewayLinkProtocolQuery) => {
  550. const data = await request<T>(apiBiz('/gatewayLinkProtocol/getLinkParams'), {
  551. method: 'POST',
  552. body: JSON.stringify(params),
  553. });
  554. return data;
  555. };
  556. export const gatewayLinkProtocolList = async <T>(protocolListItem: ProtocolListItem) => {
  557. const data = await request<T>(apiBiz('/gatewayLinkProtocol/getParamPageList'), {
  558. method: 'POST',
  559. body: JSON.stringify(protocolListItem),
  560. });
  561. return data;
  562. };
  563. export const gatewayLinkProtocolGatewayList = async (protocolGatewayListListItem: ProtocolGatewayListListItem) => {
  564. const data = await request<ListEquipmentParametersItemData>(
  565. apiBiz('/gatewayLinkProtocol/getParamPageListByGateway'),
  566. {
  567. method: 'POST',
  568. body: JSON.stringify(protocolGatewayListListItem),
  569. },
  570. );
  571. return data;
  572. };
  573. export const gatewayLinkList = async (id: number) => {
  574. const data = await request<VerificationAgreement[]>(apiBiz(`/gatewayLinkProtocol/getProtocolInfoList/${id}`), {
  575. method: 'POST',
  576. });
  577. return data;
  578. };
  579. export const gatewayLinkProtocolReset = async (protocolReset: ProtocolReset) => {
  580. await request(apiBiz('/gatewayLinkProtocol/reset'), {
  581. method: 'POST',
  582. body: JSON.stringify(protocolReset),
  583. });
  584. };
  585. export const postProtocolCandidatesList = async (protocolList: ProtocolList, gatewayId: number) => {
  586. const data = await request<ProtocolItemData>(apiBiz(`/gatewayLinkProtocol/getProtocolCandidates/${gatewayId}`), {
  587. method: 'POST',
  588. body: JSON.stringify(protocolList),
  589. });
  590. return data;
  591. };
  592. export const gatewayParameterList = async (gatewayParameterBody: GatewayParameterBody) => {
  593. const data = await request<GatewayParameterItemData>(apiBiz('/gatewayLinkProtocol/getParamValuePageList'), {
  594. method: 'POST',
  595. body: JSON.stringify(gatewayParameterBody),
  596. });
  597. return data;
  598. };
  599. // 组织网关
  600. export const orgGatewayRegister = async (gatewayId: number) => {
  601. await request(apiBiz('/orgGateway/register'), {
  602. method: 'POST',
  603. body: JSON.stringify({ gatewayId }),
  604. });
  605. };
  606. export const orgGatewayUnregister = async (gatewayId: number) => {
  607. await request(apiBiz(`/orgGateway/unregister/${gatewayId}`), {
  608. method: 'POST',
  609. });
  610. };
  611. export const orgGatewaySerialNumber = async (protocolList: ProtocolList) => {
  612. const data = await request<SerialNumberItemData>(apiBiz('/orgGateway/getGatewayPageList'), {
  613. method: 'POST',
  614. body: JSON.stringify(protocolList),
  615. });
  616. return data;
  617. };
  618. // 能耗分析
  619. export const getElectricityDataStatistics = async (params: ElectricityStatisticsQuery) => {
  620. const data = await request<ElectricityStatisticsResult>(
  621. apiBiz('/deviceElectricityDataChange/getElectricityDataStatistics'),
  622. {
  623. method: 'POST',
  624. body: JSON.stringify(params),
  625. },
  626. );
  627. return data;
  628. };
  629. export const downloadElectricityHisData = async (params: ElectricityStatisticsQuery) => {
  630. const blob = await request<Blob>(apiBiz('/deviceElectricityDataChange/download', params));
  631. return blob;
  632. };
  633. // 能效分析
  634. export const getCoolingRealTimeData = async (params: CoolingRealTimeDataQuery) => {
  635. const data = await request<CoolingRealTimeDataResult>(apiBiz('/deviceCoolingData/rtd'), {
  636. method: 'POST',
  637. body: JSON.stringify(params),
  638. });
  639. return data;
  640. };
  641. export const getCoolingHistoryData = async (params: CoolingHistoryDataQuery) => {
  642. const data = await request<CoolingHistoryDataResult>(apiBiz('/deviceCoolingData/his'), {
  643. method: 'POST',
  644. body: JSON.stringify(params),
  645. });
  646. return data;
  647. };
  648. export const getCoolingDataStatistics = async (params: CoolingStatisticsQuery) => {
  649. const data = await request<CoolingStatisticsResult>(apiBiz('/deviceCoolingDataChange/getCoolingDataStatistics'), {
  650. method: 'POST',
  651. body: JSON.stringify(params),
  652. });
  653. return data;
  654. };
  655. export const downloadCoolingHisData = async (params: CoolingStatisticsQuery) => {
  656. const blob = await request<Blob>(apiBiz('/deviceCoolingDataChange/download', params));
  657. return blob;
  658. };
  659. // 平台标准协议参数
  660. export const getProtocolStandardParam = async (paramId: number) => {
  661. const data = await request<ProtocolStandardParam>(apiBiz(`/platformProtocolInfo/info/${paramId}`));
  662. return data;
  663. };
  664. export const getProtocolStandardParamList = async (params: ProtocolStandardParamQuery) => {
  665. const data = await request<ProtocolStandardParamData>(apiBiz('/platformProtocolInfo/getPageList'), {
  666. method: 'POST',
  667. body: JSON.stringify(params),
  668. });
  669. return data;
  670. };
  671. // 协议参数
  672. export const addProtocolParam = async (params: Partial<ProtocolParamInfo>) => {
  673. await request(apiBiz('/protocolParamInfo/add'), {
  674. method: 'POST',
  675. body: JSON.stringify(params),
  676. });
  677. };
  678. export const updateProtocolParam = async (params: Partial<ProtocolParamInfo>) => {
  679. await request(apiBiz('/protocolParamInfo/update'), {
  680. method: 'POST',
  681. body: JSON.stringify(params),
  682. });
  683. };
  684. export const getProtocolParamList = async (params: ProtocolParamSearchParams) => {
  685. const data = await request<ProtocolParamData>(apiBiz('/protocolParamInfo/getPageList'), {
  686. method: 'POST',
  687. body: JSON.stringify(params),
  688. });
  689. return data;
  690. };
  691. export const batchDeleleProtocolParam = async (params: number[]) => {
  692. await request(apiBiz('/protocolParamInfo/batchDeleleByIds'), {
  693. method: 'POST',
  694. body: JSON.stringify(params),
  695. });
  696. };
  697. // 协议基本信息
  698. export const addProtocolBaseInfo = async (params: Partial<ProtocolBaseInfo>) => {
  699. const data = await request<number>(apiBiz('/protocolBaseInfo/add'), {
  700. method: 'POST',
  701. body: JSON.stringify(params),
  702. });
  703. return data;
  704. };
  705. export const downloadProtocolTemplate = async (fileName: string) => {
  706. const blob = await request<Blob>(apiBiz(`/protocolBaseInfo/downloadTemplate/${fileName}`));
  707. return blob;
  708. };
  709. export const uploadUserProtocol = async (protocolType: string, file: Blob) => {
  710. const formData = new FormData();
  711. formData.append('file', file);
  712. const data = await request<Pick<ProtocolBaseInfo, 'id' | 'protocolName' | 'protocolType'>>(
  713. apiBiz('/protocolBaseInfo/uploadUserTemplate', { protocolType }),
  714. {
  715. method: 'POST',
  716. body: formData,
  717. },
  718. );
  719. return data;
  720. };
  721. export const reUploadUserProtocol = async (protocolType: string, id: number, file: Blob) => {
  722. const formData = new FormData();
  723. formData.append('file', file);
  724. const data = await request<Pick<ProtocolBaseInfo, 'id' | 'protocolName' | 'protocolType'>>(
  725. apiBiz('/protocolBaseInfo/resetConfiguration', { protocolType, id }),
  726. {
  727. method: 'POST',
  728. body: formData,
  729. },
  730. );
  731. return data;
  732. };
  733. export const downloadUserProtocol = async (id: number) => {
  734. const blob = await request<Blob>(apiBiz('/protocolBaseInfo/downloadUserProtocol', { id }));
  735. return blob;
  736. };
  737. /**
  738. * @deprecated
  739. */
  740. export const getUploadProtocol = async (protocolType: string, protocolName: string) => {
  741. const data = await request<ProtocolBaseInfo>(
  742. apiBiz('/protocolBaseInfo/findUploadProtocolBaseInfo', {
  743. protocolType,
  744. protocolName,
  745. }),
  746. );
  747. return data;
  748. };
  749. export const getProtocolBaseInfo = async (id: number) => {
  750. const data = await request<ProtocolBaseInfo>(apiBiz(`/protocolBaseInfo/info/${id}`));
  751. return data;
  752. };
  753. export const updateProtocolBaseInfo = async (params: Partial<ProtocolBaseInfo>) => {
  754. await request(apiBiz('/protocolBaseInfo/update'), {
  755. method: 'POST',
  756. body: JSON.stringify(params),
  757. });
  758. };
  759. export const deleteProtocolBaseInfo = async (id: number) => {
  760. await request(apiBiz(`/protocolBaseInfo/delete/${id}`), {
  761. method: 'POST',
  762. });
  763. };
  764. export const completeProtocolConfig = async (id: number) => {
  765. await request(apiBiz(`/protocolBaseInfo/completeConfiguration/${id}`), {
  766. method: 'POST',
  767. });
  768. };
  769. export const getProtocolList = async (params: ProtocolListQuery) => {
  770. const data = await request<ProtocolListData>(apiBiz('/protocolBaseInfo/getPageList'), {
  771. method: 'POST',
  772. body: JSON.stringify(params),
  773. });
  774. return data;
  775. };
  776. // 协议参数表
  777. export const postProtocolPageList = async (postProtocolPage: PostProtocolPage) => {
  778. const data = await request<PostProtocolPageItemData>(apiBiz('/protocolParamInfo/page/list'), {
  779. method: 'POST',
  780. body: JSON.stringify(postProtocolPage),
  781. });
  782. return data;
  783. };
  784. export const postProtocolGetList = async (getListItem: GetListItem) => {
  785. const data = await request<PostProtocolPageItem[]>(apiBiz('/protocolParamInfo/getList'), {
  786. method: 'POST',
  787. body: JSON.stringify(getListItem),
  788. });
  789. return data;
  790. };
  791. // 全局参数
  792. export const groupList = async (listInfo: ListInfo) => {
  793. const data = await request<EquipmentTypeItem[]>(apiBiz('/deviceGlobalData/getList'), {
  794. method: 'POST',
  795. body: JSON.stringify(listInfo),
  796. });
  797. return data;
  798. };