environment.ts 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616
  1. import { Request, Response } from 'express';
  2. export default {
  3. // 支持值为 Object 和 Array
  4. 'POST /api/map/queryMapInfo': (req: Request, res: Response) => {
  5. res.send({
  6. result: 'success',
  7. data: {
  8. height: 800,
  9. width: 1200,
  10. spaceList: [
  11. {
  12. left: 0,
  13. top: 0,
  14. width: 500,
  15. height: 400,
  16. Tdb: 27,
  17. RH: 27,
  18. CO2: 27,
  19. PM2d5: 27,
  20. HCHO: 27,
  21. localName: '第一办公区',
  22. roomFuncType: 'work',
  23. lamp: 'all',
  24. curtain: 'all',
  25. airConditioner: 'all',
  26. device: [
  27. { type: 'lamp', status: 'all' },
  28. { type: 'curtain', status: 'all' },
  29. ],
  30. },
  31. {
  32. left: 500,
  33. top: 0,
  34. width: 500,
  35. height: 400,
  36. Tdb: 27,
  37. RH: 27,
  38. CO2: 27,
  39. PM2d5: 27,
  40. HCHO: 27,
  41. localName: '收发室',
  42. roomFuncType: 'letter',
  43. airConditioner: 'all',
  44. curtain: 'all',
  45. lamp: 'all',
  46. device: [{ type: 'lamp', status: 'all' }],
  47. },
  48. {
  49. left: 1000,
  50. top: 0,
  51. width: 500,
  52. height: 400,
  53. Tdb: 27,
  54. RH: 27,
  55. CO2: 27,
  56. PM2d5: 27,
  57. HCHO: 27,
  58. localName: '天廊',
  59. roomFuncType: 'walk',
  60. lamp: 'all',
  61. airConditioner: 'all',
  62. curtain: 'all',
  63. device: [
  64. { type: 'lamp', status: 'part' },
  65. { type: 'airConditioner', status: 'close' },
  66. { type: 'curtain', status: 'close' },
  67. ],
  68. },
  69. {
  70. left: 0,
  71. top: 400,
  72. width: 500,
  73. height: 400,
  74. Tdb: 27,
  75. RH: 27,
  76. CO2: 27,
  77. PM2d5: 27,
  78. HCHO: 27,
  79. localName: '第二办公区',
  80. roomFuncType: 'work',
  81. lamp: 'all',
  82. airConditioner: 'all',
  83. curtain: 'all',
  84. device: [
  85. { type: 'lamp', status: 'close' },
  86. { type: 'airConditioner', status: 'close' },
  87. { type: 'curtain', status: 'close' },
  88. ],
  89. },
  90. {
  91. left: 500,
  92. top: 400,
  93. width: 500,
  94. height: 400,
  95. Tdb: 27,
  96. RH: 27,
  97. CO2: 27,
  98. PM2d5: 27,
  99. HCHO: 27,
  100. localName: '收发室',
  101. roomFuncType: 'letter',
  102. lamp: 'all',
  103. curtain: 'all',
  104. device: [
  105. { type: 'lamp', status: 'part' },
  106. { type: 'airConditioner', status: 'part' },
  107. { type: 'curtain', status: 'part' },
  108. ],
  109. },
  110. {
  111. left: 1000,
  112. top: 400,
  113. width: 500,
  114. height: 400,
  115. Tdb: 27,
  116. RH: 27,
  117. CO2: 27,
  118. PM2d5: 27,
  119. HCHO: 27,
  120. localName: '走廊',
  121. roomFuncType: 'walk',
  122. device: [],
  123. lamp: 'all',
  124. airConditioner: 'all',
  125. curtain: 'all',
  126. },
  127. {
  128. left: 1500,
  129. top: 0,
  130. width: 500,
  131. height: 400,
  132. Tdb: 27,
  133. RH: 27,
  134. CO2: 27,
  135. PM2d5: 27,
  136. HCHO: 27,
  137. localName: '董事办公室',
  138. roomFuncType: 'office',
  139. lamp: 'all',
  140. airConditioner: 'all',
  141. curtain: 'all',
  142. device: [{ type: 'curtain', status: 'all' }],
  143. },
  144. {
  145. left: 2000,
  146. top: 0,
  147. width: 500,
  148. height: 400,
  149. Tdb: 27,
  150. RH: 27,
  151. CO2: 27,
  152. PM2d5: 27,
  153. HCHO: 27,
  154. localName: '休息区',
  155. roomFuncType: 'rest',
  156. lamp: 'all',
  157. airConditioner: 'all',
  158. curtain: 'all',
  159. device: [
  160. { type: 'lamp', status: 'all' },
  161. { type: 'airConditioner', status: 'all' },
  162. { type: 'curtain', status: 'all' },
  163. ],
  164. },
  165. {
  166. left: 2500,
  167. top: 0,
  168. width: 500,
  169. height: 400,
  170. Tdb: 27,
  171. RH: 27,
  172. CO2: 27,
  173. PM2d5: 27,
  174. HCHO: 27,
  175. localName: '会议室',
  176. roomFuncType: 'meeting',
  177. curtain: 'all',
  178. device: [
  179. { type: 'lamp', status: 'all' },
  180. { type: 'airConditioner', status: 'close' },
  181. { type: 'curtain', status: 'part' },
  182. ],
  183. },
  184. {
  185. left: 1500,
  186. top: 400,
  187. width: 500,
  188. height: 400,
  189. Tdb: 27,
  190. RH: 27,
  191. CO2: 27,
  192. PM2d5: 27,
  193. HCHO: 27,
  194. localName: '第三办公区',
  195. roomFuncType: 'work',
  196. lamp: 'all',
  197. airConditioner: 'all',
  198. device: [
  199. { type: 'lamp', status: 'all' },
  200. { type: 'airConditioner', status: 'part' },
  201. { type: 'curtain', status: 'close' },
  202. ],
  203. },
  204. {
  205. left: 2000,
  206. top: 400,
  207. width: 500,
  208. height: 400,
  209. Tdb: 27,
  210. RH: 27,
  211. CO2: 27,
  212. PM2d5: 27,
  213. HCHO: 27,
  214. localName: '收发室',
  215. roomFuncType: 'letter',
  216. lamp: 'all',
  217. curtain: 'all',
  218. device: [
  219. { type: 'lamp', status: 'close' },
  220. { type: 'airConditioner', status: 'close' },
  221. { type: 'curtain', status: 'part' },
  222. ],
  223. },
  224. ],
  225. },
  226. });
  227. },
  228. // data: [
  229. // {
  230. // left: 0,
  231. // top: 0,
  232. // width: 500,
  233. // height: 400,
  234. // Tdb: 17,
  235. // RH: 26,
  236. // CO2: 2800,
  237. // PM2d5: 28,
  238. // HCHO: 0.01,
  239. // localName: '董事办公室',
  240. // roomFuncType: 'office',
  241. // lamp: 'all', //灯的不同状态会显示 不同的颜色
  242. // airConditioner: 'part',
  243. // curtain: 'part',
  244. // //device 到时候需要生成
  245. // //当前设备的状态status :all全部开启 part部分开启 close全都关闭
  246. // //还有设备类型type :包括air lamp curtain
  247. // device: [
  248. // { type: 'lamp', status: 'close' },
  249. // { type: 'airConditioner', status: 'part' },
  250. // { type: 'curtain', status: 'all' },
  251. // ],
  252. // timeList: ['08:00-16:00', '08:00-16:00'],
  253. // // normalRun
  254. // // overtimeWork
  255. // // overtimeBook
  256. // runTimeStatus: 'normalRun',
  257. // },
  258. // {
  259. // left: 500,
  260. // top: 0,
  261. // width: 500,
  262. // height: 400,
  263. // Tdb: 25,
  264. // RH: 65,
  265. // CO2: 1008,
  266. // PM2d5: 38,
  267. // HCHO: 0.03,
  268. // localName: '休息区',
  269. // roomFuncType: 'rest',
  270. // lamp: 'part',
  271. // airConditioner: 'close',
  272. // curtain: 'close',
  273. // device: [
  274. // { type: 'lamp', status: 'close' },
  275. // { type: 'airConditioner', status: 'close' },
  276. // ],
  277. // runTimeStatus: 'overtimeWork',
  278. // },
  279. // {
  280. // left: 1000,
  281. // top: 0,
  282. // width: 500,
  283. // height: 400,
  284. // Tdb: 20,
  285. // RH: 53,
  286. // CO2: 1808,
  287. // PM2d5: 88,
  288. // HCHO: 0.06,
  289. // localName: '会议室',
  290. // roomFuncType: 'meeting',
  291. // lamp: 'close',
  292. // device: [
  293. // { type: 'lamp', status: 'all' },
  294. // { type: 'airConditioner', status: 'part' },
  295. // { type: 'curtain', status: 'part' },
  296. // ],
  297. // runTimeStatus: 'overtimeBook',
  298. // },
  299. // {
  300. // left: 0,
  301. // top: 400,
  302. // width: 500,
  303. // height: 400,
  304. // Tdb: 27,
  305. // RH: 37,
  306. // CO2: 28,
  307. // PM2d5: 68,
  308. // HCHO: 0.1,
  309. // localName: '第一办公区',
  310. // roomFuncType: 'work',
  311. // lamp: 'all',
  312. // curtain: 'all',
  313. // device: [
  314. // { type: 'lamp', status: 'all' },
  315. // { type: 'curtain', status: 'all' },
  316. // ],
  317. // },
  318. // {
  319. // left: 500,
  320. // top: 400,
  321. // width: 500,
  322. // height: 400,
  323. // Tdb: 30,
  324. // RH: 26,
  325. // CO2: 28,
  326. // PM2d5: 28,
  327. // HCHO: 0.17,
  328. // localName: '收发室',
  329. // roomFuncType: 'letter',
  330. // airConditioner: 'close',
  331. // curtain: 'part',
  332. // device: [{ type: 'lamp', status: 'all' }],
  333. // },
  334. // {
  335. // left: 1000,
  336. // top: 400,
  337. // width: 500,
  338. // height: 400,
  339. // Tdb: 12,
  340. // RH: 26,
  341. // CO2: 28,
  342. // PM2d5: 28,
  343. // HCHO: 39,
  344. // localName: '走廊',
  345. // roomFuncType: 'walk',
  346. // lamp: 'close',
  347. // airConditioner: 'part',
  348. // curtain: 'close',
  349. // device: [
  350. // { type: 'lamp', status: 'part' },
  351. // { type: 'airConditioner', status: 'close' },
  352. // { type: 'curtain', status: 'close' },
  353. // ],
  354. // },
  355. // {
  356. // left: 0,
  357. // top: 800,
  358. // width: 500,
  359. // height: 400,
  360. // Tdb: 25,
  361. // RH: 26,
  362. // CO2: 28,
  363. // PM2d5: 28,
  364. // HCHO: 39,
  365. // localName: '第一办公区',
  366. // roomFuncType: 'work',
  367. // lamp: 'close',
  368. // airConditioner: 'all',
  369. // curtain: 'part',
  370. // device: [
  371. // { type: 'lamp', status: 'close' },
  372. // { type: 'airConditioner', status: 'close' },
  373. // { type: 'curtain', status: 'close' },
  374. // ],
  375. // },
  376. // {
  377. // left: 500,
  378. // top: 800,
  379. // width: 500,
  380. // height: 400,
  381. // Tdb: 25,
  382. // RH: 26,
  383. // CO2: 2000,
  384. // PM2d5: 28,
  385. // HCHO: 39,
  386. // localName: '收发室',
  387. // roomFuncType: 'letter',
  388. // lamp: 'all',
  389. // curtain: 'all',
  390. // device: [
  391. // { type: 'lamp', status: 'part' },
  392. // { type: 'airConditioner', status: 'part' },
  393. // { type: 'curtain', status: 'part' },
  394. // ],
  395. // },
  396. // {
  397. // left: 1000,
  398. // top: 800,
  399. // width: 500,
  400. // height: 400,
  401. // Tdb: 25,
  402. // RH: 26,
  403. // CO2: 28,
  404. // PM2d5: 28,
  405. // HCHO: 39,
  406. // localName: '走廊',
  407. // roomFuncType: 'walk',
  408. // device: [],
  409. // lamp: 'all',
  410. // airConditioner: 'all',
  411. // curtain: 'all',
  412. // },
  413. // {
  414. // left: 1500,
  415. // top: 0,
  416. // width: 500,
  417. // height: 400,
  418. // Tdb: 25,
  419. // RH: 26,
  420. // CO2: 28,
  421. // PM2d5: 28,
  422. // HCHO: 39,
  423. // localName: '董事办公室',
  424. // roomFuncType: 'office',
  425. // lamp: 'close',
  426. // airConditioner: 'part',
  427. // curtain: 'close',
  428. // device: [{ type: 'curtain', status: 'all' }],
  429. // },
  430. // {
  431. // left: 2000,
  432. // top: 0,
  433. // width: 500,
  434. // height: 400,
  435. // Tdb: 25,
  436. // RH: 26,
  437. // CO2: 28,
  438. // PM2d5: 28,
  439. // HCHO: 39,
  440. // localName: '休息区',
  441. // roomFuncType: 'rest',
  442. // lamp: 'part',
  443. // airConditioner: 'part',
  444. // curtain: 'part',
  445. // device: [
  446. // { type: 'lamp', status: 'all' },
  447. // { type: 'airConditioner', status: 'all' },
  448. // { type: 'curtain', status: 'all' },
  449. // ],
  450. // },
  451. // {
  452. // left: 2500,
  453. // top: 0,
  454. // width: 500,
  455. // height: 400,
  456. // Tdb: 25,
  457. // RH: 26,
  458. // CO2: 2000,
  459. // PM2d5: 28,
  460. // HCHO: 39,
  461. // localName: '会议室',
  462. // roomFuncType: 'meeting',
  463. // curtain: 'all',
  464. // device: [
  465. // { type: 'lamp', status: 'all' },
  466. // { type: 'airConditioner', status: 'close' },
  467. // { type: 'curtain', status: 'part' },
  468. // ],
  469. // },
  470. // {
  471. // left: 1500,
  472. // top: 400,
  473. // width: 500,
  474. // height: 400,
  475. // Tdb: 25,
  476. // RH: 26,
  477. // CO2: 28,
  478. // PM2d5: 28,
  479. // HCHO: 39,
  480. // localName: '第一办公区',
  481. // roomFuncType: 'work',
  482. // lamp: 'all',
  483. // airConditioner: 'all',
  484. // device: [
  485. // { type: 'lamp', status: 'all' },
  486. // { type: 'airConditioner', status: 'part' },
  487. // { type: 'curtain', status: 'close' },
  488. // ],
  489. // },
  490. // {
  491. // left: 2000,
  492. // top: 400,
  493. // width: 500,
  494. // height: 400,
  495. // Tdb: 25,
  496. // RH: 26,
  497. // CO2: 2000,
  498. // PM2d5: 28,
  499. // HCHO: 39,
  500. // localName: '收发室',
  501. // roomFuncType: 'letter',
  502. // lamp: 'close',
  503. // curtain: 'all',
  504. // device: [
  505. // { type: 'lamp', status: 'close' },
  506. // { type: 'airConditioner', status: 'close' },
  507. // { type: 'curtain', status: 'part' },
  508. // ],
  509. // },
  510. // {
  511. // left: 2500,
  512. // top: 400,
  513. // width: 500,
  514. // height: 400,
  515. // Tdb: 25,
  516. // RH: 26,
  517. // CO2: 28,
  518. // PM2d5: 28,
  519. // HCHO: 39,
  520. // localName: '走廊',
  521. // roomFuncType: 'walk',
  522. // lamp: 'all',
  523. // airConditioner: 'part',
  524. // curtain: 'all',
  525. // device: [
  526. // { type: 'lamp', status: 'part' },
  527. // { type: 'airConditioner', status: 'close' },
  528. // { type: 'curtain', status: 'all' },
  529. // ],
  530. // },
  531. // {
  532. // left: 1500,
  533. // top: 800,
  534. // width: 500,
  535. // height: 400,
  536. // Tdb: 25,
  537. // RH: 26,
  538. // CO2: 2000,
  539. // PM2d5: 28,
  540. // HCHO: 39,
  541. // localName: '第一办公区',
  542. // roomFuncType: 'work',
  543. // device: [{ type: 'curtain', status: 'all' }],
  544. // },
  545. // {
  546. // left: 2000,
  547. // top: 800,
  548. // width: 500,
  549. // height: 400,
  550. // Tdb: 25,
  551. // RH: 26,
  552. // CO2: 2000,
  553. // PM2d5: 28,
  554. // HCHO: 39,
  555. // localName: '收发室',
  556. // roomFuncType: 'letter',
  557. // device: [
  558. // { type: 'lamp', status: 'all' },
  559. // { type: 'airConditioner', status: 'all' },
  560. // { type: 'curtain', status: 'all' },
  561. // ],
  562. // },
  563. // {
  564. // left: 2500,
  565. // top: 800,
  566. // width: 500,
  567. // height: 400,
  568. // Tdb: 25,
  569. // RH: 26,
  570. // CO2: 700,
  571. // PM2d5: 28,
  572. // HCHO: 39,
  573. // localName: '走廊',
  574. // roomFuncType: 'walk',
  575. // lamp: 'part',
  576. // airConditioner: 'part',
  577. // curtain: 'all',
  578. // device: [
  579. // { type: 'lamp', status: 'all' },
  580. // { type: 'airConditioner', status: 'all' },
  581. // { type: 'curtain', status: 'all' },
  582. // ],
  583. // },
  584. // ],
  585. 'POST /api/environment/Building': (req: Request, res: Response) => {
  586. res.send({
  587. data: [
  588. { localName: '11#', id: '11111' },
  589. { localName: '22#', id: '22222' },
  590. { localName: '33#', id: '33333' },
  591. { localName: '44#', id: '444444' },
  592. ],
  593. success: true,
  594. });
  595. },
  596. 'POST /api/environment/Floor': (req: Request, res: Response) => {
  597. res.send({
  598. data: [
  599. { localName: 'F1', id: 'ffff1' },
  600. { localName: 'F2', id: 'ffff2' },
  601. { localName: 'F3', id: 'ffff3' },
  602. { localName: 'F4', id: 'ffff4' },
  603. { localName: 'F5', id: 'ffff5' },
  604. { localName: 'F6', id: 'ffff6' },
  605. { localName: 'F7', id: 'ffff7' },
  606. { localName: 'F8', id: 'ffff8' },
  607. ],
  608. success: true,
  609. });
  610. },
  611. };