index.ts 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958
  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. EquipmentDetailsForm,
  40. EquipmentDetailsItem,
  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: EquipmentDetailsForm) => {
  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 (deviceType: number, deviceIds: number[], deviceParamCode: string[]) => {
  397. const data = await request<DevWorkRealTimeData[]>(apiBiz('/deviceCondition/getRTDList'), {
  398. method: 'POST',
  399. body: JSON.stringify({
  400. deviceType,
  401. deviceIds,
  402. deviceParamCode,
  403. }),
  404. });
  405. return data;
  406. };
  407. export const getDevWorkHistoryData = async (params: DevWorkHisDataQuery) => {
  408. const data = await request<DevWorkHistoryData[]>(apiBiz('/deviceCondition/getHisList'), {
  409. method: 'POST',
  410. body: JSON.stringify(params),
  411. });
  412. return data;
  413. };
  414. // 设备网关
  415. export const deviceGatewayUpdate = async (equipmentUpdateForm: EquipmentUpdateForm[]) => {
  416. await request(apiBiz('/deviceGateway/update'), {
  417. method: 'POST',
  418. body: JSON.stringify(equipmentUpdateForm),
  419. });
  420. };
  421. // 设备协议参数验证
  422. export const postParameterVerification = async (deviceId: number) => {
  423. const data = await request<ParameterVerification[]>(apiBiz('/protocolParamVerify/list'), {
  424. method: 'POST',
  425. body: JSON.stringify({
  426. deviceId,
  427. }),
  428. });
  429. return data;
  430. };
  431. // 设备参数分组
  432. export const equipmentParametersList = async (groupingList: GroupingList[]) => {
  433. await request(apiBiz('/deviceParamGroup/update/batch'), {
  434. method: 'POST',
  435. body: JSON.stringify(groupingList),
  436. });
  437. };
  438. export const queryEquipmentParametersList = async (deviceId: number) => {
  439. const data = await request<GroupingListData[]>(apiBiz('/deviceParamGroup/getList'), {
  440. method: 'POST',
  441. body: JSON.stringify({ deviceId }),
  442. });
  443. return data;
  444. };
  445. // 设备参数关系表
  446. export const submitSortingList = async (submitSorting: SubmitSorting[]) => {
  447. await request(apiBiz('/deviceParamGroupRel/update/batch'), {
  448. method: 'POST',
  449. body: JSON.stringify(submitSorting),
  450. });
  451. };
  452. // 设备自定义参数表
  453. export const submitCustomParameters = async (customParameters: CustomParameters[]) => {
  454. await request(apiBiz('/protocolParamCustomDev/update/batch'), {
  455. method: 'POST',
  456. body: JSON.stringify(customParameters),
  457. });
  458. };
  459. // 网关基本信息
  460. export const addGateway = async () => {
  461. await request(apiBiz('/gateway/add'));
  462. };
  463. export const gatewayDelete = async (id: number) => {
  464. await request(apiBiz(`/gateway/delete/${id}`), {
  465. method: 'POST',
  466. });
  467. };
  468. export const getAllGatewayList = async () => {
  469. const data = await request<SerialNumberItem[]>(apiBiz('/gateway/getGtwLinkList'), {
  470. method: 'POST',
  471. });
  472. return data;
  473. };
  474. export const validateGatewayInfo = async (registerGatewayForm: VerificationEquipment) => {
  475. const data = await request<GatewayInformation>(apiBiz('/gateway/validate', registerGatewayForm), {
  476. method: 'POST',
  477. });
  478. return data;
  479. };
  480. export const gatewayList = async (gatewayBody: GatewayBody) => {
  481. const data = await request<GatewayListItemData>(apiBiz('/gateway/getPageList'), {
  482. method: 'POST',
  483. body: JSON.stringify(gatewayBody),
  484. });
  485. return data;
  486. };
  487. // 网关通讯
  488. export const gatewayLinkAdd = async (addInterface: AddInterface) => {
  489. await request(apiBiz('/gatewayLink/add'), {
  490. method: 'POST',
  491. body: JSON.stringify(addInterface),
  492. });
  493. };
  494. export const addGatewayLinkBatchUpdate = async (params: BatchUpdate[]) => {
  495. await request(apiBiz('/gatewayLink/batchUpdate'), {
  496. method: 'POST',
  497. body: JSON.stringify({ gatewayLinks: params }),
  498. });
  499. };
  500. export const gatewayLinkDelete = async (id: number) => {
  501. await request(apiBiz(`/gatewayLink/delete/${id}`), {
  502. method: 'POST',
  503. });
  504. };
  505. export const gatewayLinkGetList = async (gatewayId: number) => {
  506. const data = await request<InterfaceData[]>(apiBiz(`/gatewayLink/getList/${gatewayId}`), {
  507. method: 'POST',
  508. });
  509. return data;
  510. };
  511. export const gatewayLinkUpdate = async (agreementUpdate: AgreementUpdate) => {
  512. await request(apiBiz('/gatewayLink/update'), {
  513. method: 'POST',
  514. body: JSON.stringify(agreementUpdate),
  515. });
  516. };
  517. export const getGatewayLinks = async (gatewayId: number) => {
  518. const data = await request<InterfaceLsit[]>(apiBiz(`/gatewayLink/getGatewayLinks/${gatewayId}`));
  519. return data;
  520. };
  521. // 网关型号
  522. export const getGatewayModelInfo = async (id: number) => {
  523. const data = await request<GatewayModelInfo>(apiBiz(`/gatewayModel/info/${id}`));
  524. return data;
  525. };
  526. export const getGatewayModelInterfaces = async (id: number) => {
  527. const data = await request<GatewayInterface[]>(apiBiz(`/gatewayModel/interfaces/${id}`), {
  528. method: 'POST',
  529. });
  530. return data;
  531. };
  532. // 网关物理接口协议
  533. export const obtainListPhysicalInterfaces = async (id: number) => {
  534. const data = await request<ListPhysicalInterfaces[]>(apiBiz(`/gatewayInterfaceProtocol/getProtocols/${id}`));
  535. return data;
  536. };
  537. // 网关型号物理接口
  538. export const obtainListInterfaces = async (id: number) => {
  539. const data = await request<ListInterfaces[]>(apiBiz(`/gatewayPhysicalInterface/getInterfaces/${id}`));
  540. return data;
  541. };
  542. // 网关接口协议
  543. export const getParamValueListAutomatic = async (params: ParamValueListAutomaticQuery) => {
  544. const data = await request<AutomaticMatching>(apiBiz('/gatewayLinkProtocol/getParamValueListAutomatic'), {
  545. method: 'POST',
  546. body: JSON.stringify(params),
  547. });
  548. return data;
  549. };
  550. export const getAllGatewayLinkProtocol = async <T>(params: GatewayLinkProtocolQuery) => {
  551. const data = await request<T>(apiBiz('/gatewayLinkProtocol/getLinkParams'), {
  552. method: 'POST',
  553. body: JSON.stringify(params),
  554. });
  555. return data;
  556. };
  557. export const gatewayLinkProtocolList = async <T>(protocolListItem: ProtocolListItem) => {
  558. const data = await request<T>(apiBiz('/gatewayLinkProtocol/getParamPageList'), {
  559. method: 'POST',
  560. body: JSON.stringify(protocolListItem),
  561. });
  562. return data;
  563. };
  564. export const gatewayLinkProtocolGatewayList = async (protocolGatewayListListItem: ProtocolGatewayListListItem) => {
  565. const data = await request<ListEquipmentParametersItemData>(
  566. apiBiz('/gatewayLinkProtocol/getParamPageListByGateway'),
  567. {
  568. method: 'POST',
  569. body: JSON.stringify(protocolGatewayListListItem),
  570. },
  571. );
  572. return data;
  573. };
  574. export const gatewayLinkList = async (id: number) => {
  575. const data = await request<VerificationAgreement[]>(apiBiz(`/gatewayLinkProtocol/getProtocolInfoList/${id}`), {
  576. method: 'POST',
  577. });
  578. return data;
  579. };
  580. export const gatewayLinkProtocolReset = async (protocolReset: ProtocolReset) => {
  581. await request(apiBiz('/gatewayLinkProtocol/reset'), {
  582. method: 'POST',
  583. body: JSON.stringify(protocolReset),
  584. });
  585. };
  586. export const postProtocolCandidatesList = async (protocolList: ProtocolList, gatewayId: number) => {
  587. const data = await request<ProtocolItemData>(apiBiz(`/gatewayLinkProtocol/getProtocolCandidates/${gatewayId}`), {
  588. method: 'POST',
  589. body: JSON.stringify(protocolList),
  590. });
  591. return data;
  592. };
  593. export const gatewayParameterList = async (gatewayParameterBody: GatewayParameterBody) => {
  594. const data = await request<GatewayParameterItemData>(apiBiz('/gatewayLinkProtocol/getParamValuePageList'), {
  595. method: 'POST',
  596. body: JSON.stringify(gatewayParameterBody),
  597. });
  598. return data;
  599. };
  600. // 组织网关
  601. export const orgGatewayRegister = async (gatewayId: number) => {
  602. await request(apiBiz('/orgGateway/register'), {
  603. method: 'POST',
  604. body: JSON.stringify({ gatewayId }),
  605. });
  606. };
  607. export const orgGatewayUnregister = async (gatewayId: number) => {
  608. await request(apiBiz(`/orgGateway/unregister/${gatewayId}`), {
  609. method: 'POST',
  610. });
  611. };
  612. export const orgGatewaySerialNumber = async (protocolList: ProtocolList) => {
  613. const data = await request<SerialNumberItemData>(apiBiz('/orgGateway/getGatewayPageList'), {
  614. method: 'POST',
  615. body: JSON.stringify(protocolList),
  616. });
  617. return data;
  618. };
  619. // 能耗分析
  620. export const getElectricityDataStatistics = async (params: ElectricityStatisticsQuery) => {
  621. const data = await request<ElectricityStatisticsResult>(
  622. apiBiz('/deviceElectricityDataChange/getElectricityDataStatistics'),
  623. {
  624. method: 'POST',
  625. body: JSON.stringify(params),
  626. },
  627. );
  628. return data;
  629. };
  630. export const downloadElectricityHisData = async (params: ElectricityStatisticsQuery) => {
  631. const blob = await request<Blob>(apiBiz('/deviceElectricityDataChange/download', params));
  632. return blob;
  633. };
  634. // 能效分析
  635. export const getCoolingRealTimeData = async (params: CoolingRealTimeDataQuery) => {
  636. const data = await request<CoolingRealTimeDataResult>(apiBiz('/deviceCoolingData/rtd'), {
  637. method: 'POST',
  638. body: JSON.stringify(params),
  639. });
  640. return data;
  641. };
  642. export const getCoolingHistoryData = async (params: CoolingHistoryDataQuery) => {
  643. const data = await request<CoolingHistoryDataResult>(apiBiz('/deviceCoolingData/his'), {
  644. method: 'POST',
  645. body: JSON.stringify(params),
  646. });
  647. return data;
  648. };
  649. export const getCoolingDataStatistics = async (params: CoolingStatisticsQuery) => {
  650. const data = await request<CoolingStatisticsResult>(apiBiz('/deviceCoolingDataChange/getCoolingDataStatistics'), {
  651. method: 'POST',
  652. body: JSON.stringify(params),
  653. });
  654. return data;
  655. };
  656. export const downloadCoolingHisData = async (params: CoolingStatisticsQuery) => {
  657. const blob = await request<Blob>(apiBiz('/deviceCoolingDataChange/download', params));
  658. return blob;
  659. };
  660. // 平台标准协议参数
  661. export const getProtocolStandardParam = async (paramId: number) => {
  662. const data = await request<ProtocolStandardParam>(apiBiz(`/platformProtocolInfo/info/${paramId}`));
  663. return data;
  664. };
  665. export const getProtocolStandardParamList = async (params: ProtocolStandardParamQuery) => {
  666. const data = await request<ProtocolStandardParamData>(apiBiz('/platformProtocolInfo/getPageList'), {
  667. method: 'POST',
  668. body: JSON.stringify(params),
  669. });
  670. return data;
  671. };
  672. // 协议参数
  673. export const addProtocolParam = async (params: Partial<ProtocolParamInfo>) => {
  674. await request(apiBiz('/protocolParamInfo/add'), {
  675. method: 'POST',
  676. body: JSON.stringify(params),
  677. });
  678. };
  679. export const updateProtocolParam = async (params: Partial<ProtocolParamInfo>) => {
  680. await request(apiBiz('/protocolParamInfo/update'), {
  681. method: 'POST',
  682. body: JSON.stringify(params),
  683. });
  684. };
  685. export const getProtocolParamList = async (params: ProtocolParamSearchParams) => {
  686. const data = await request<ProtocolParamData>(apiBiz('/protocolParamInfo/getPageList'), {
  687. method: 'POST',
  688. body: JSON.stringify(params),
  689. });
  690. return data;
  691. };
  692. export const batchDeleleProtocolParam = async (params: number[]) => {
  693. await request(apiBiz('/protocolParamInfo/batchDeleleByIds'), {
  694. method: 'POST',
  695. body: JSON.stringify(params),
  696. });
  697. };
  698. // 协议基本信息
  699. export const addProtocolBaseInfo = async (params: Partial<ProtocolBaseInfo>) => {
  700. const data = await request<number>(apiBiz('/protocolBaseInfo/add'), {
  701. method: 'POST',
  702. body: JSON.stringify(params),
  703. });
  704. return data;
  705. };
  706. export const downloadProtocolTemplate = async (fileName: string) => {
  707. const blob = await request<Blob>(apiBiz(`/protocolBaseInfo/downloadTemplate/${fileName}`));
  708. return blob;
  709. };
  710. export const uploadUserProtocol = async (protocolType: string, file: Blob) => {
  711. const formData = new FormData();
  712. formData.append('file', file);
  713. const data = await request<Pick<ProtocolBaseInfo, 'id' | 'protocolName' | 'protocolType'>>(
  714. apiBiz('/protocolBaseInfo/uploadUserTemplate', { protocolType }),
  715. {
  716. method: 'POST',
  717. body: formData,
  718. },
  719. );
  720. return data;
  721. };
  722. export const reUploadUserProtocol = async (protocolType: string, id: number, file: Blob) => {
  723. const formData = new FormData();
  724. formData.append('file', file);
  725. const data = await request<Pick<ProtocolBaseInfo, 'id' | 'protocolName' | 'protocolType'>>(
  726. apiBiz('/protocolBaseInfo/resetConfiguration', { protocolType, id }),
  727. {
  728. method: 'POST',
  729. body: formData,
  730. },
  731. );
  732. return data;
  733. };
  734. export const downloadUserProtocol = async (id: number) => {
  735. const blob = await request<Blob>(apiBiz('/protocolBaseInfo/downloadUserProtocol', { id }));
  736. return blob;
  737. };
  738. /**
  739. * @deprecated
  740. */
  741. export const getUploadProtocol = async (protocolType: string, protocolName: string) => {
  742. const data = await request<ProtocolBaseInfo>(
  743. apiBiz('/protocolBaseInfo/findUploadProtocolBaseInfo', {
  744. protocolType,
  745. protocolName,
  746. }),
  747. );
  748. return data;
  749. };
  750. export const getProtocolBaseInfo = async (id: number) => {
  751. const data = await request<ProtocolBaseInfo>(apiBiz(`/protocolBaseInfo/info/${id}`));
  752. return data;
  753. };
  754. export const updateProtocolBaseInfo = async (params: Partial<ProtocolBaseInfo>) => {
  755. await request(apiBiz('/protocolBaseInfo/update'), {
  756. method: 'POST',
  757. body: JSON.stringify(params),
  758. });
  759. };
  760. export const deleteProtocolBaseInfo = async (id: number) => {
  761. await request(apiBiz(`/protocolBaseInfo/delete/${id}`), {
  762. method: 'POST',
  763. });
  764. };
  765. export const completeProtocolConfig = async (id: number) => {
  766. await request(apiBiz(`/protocolBaseInfo/completeConfiguration/${id}`), {
  767. method: 'POST',
  768. });
  769. };
  770. export const getProtocolList = async (params: ProtocolListQuery) => {
  771. const data = await request<ProtocolListData>(apiBiz('/protocolBaseInfo/getPageList'), {
  772. method: 'POST',
  773. body: JSON.stringify(params),
  774. });
  775. return data;
  776. };
  777. // 协议参数表
  778. export const postProtocolPageList = async (postProtocolPage: PostProtocolPage) => {
  779. const data = await request<PostProtocolPageItemData>(apiBiz('/protocolParamInfo/page/list'), {
  780. method: 'POST',
  781. body: JSON.stringify(postProtocolPage),
  782. });
  783. return data;
  784. };
  785. export const postProtocolGetList = async (getListItem: GetListItem) => {
  786. const data = await request<PostProtocolPageItem[]>(apiBiz('/protocolParamInfo/getList'), {
  787. method: 'POST',
  788. body: JSON.stringify(getListItem),
  789. });
  790. return data;
  791. };
  792. // 全局参数
  793. export const groupList = async (listInfo: ListInfo) => {
  794. const data = await request<EquipmentTypeItem[]>(apiBiz('/deviceGlobalData/getList'), {
  795. method: 'POST',
  796. body: JSON.stringify(listInfo),
  797. });
  798. return data;
  799. };