vinnoIOT.m.dart 34 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706
  1. import 'liveConsultation.m.dart';
  2. import 'connect.m.dart';
  3. import 'package:fis_jsonrpc/utils.dart';
  4. class IOTDeviceCarouselsResult {
  5. String? id;
  6. String? title;
  7. String? content;
  8. String? titleImage;
  9. IOTDeviceCarouselsResult({
  10. this.id,
  11. this.title,
  12. this.content,
  13. this.titleImage,
  14. });
  15. factory IOTDeviceCarouselsResult.fromJson(Map<String, dynamic> map) {
  16. return IOTDeviceCarouselsResult(
  17. id: map['Id'],
  18. title: map['Title'],
  19. content: map['Content'],
  20. titleImage: map['TitleImage'],
  21. );
  22. }
  23. Map<String, dynamic> toJson() {
  24. final map = Map<String, dynamic>();
  25. if (id != null) {
  26. map['Id'] = id;
  27. }
  28. if (title != null) {
  29. map['Title'] = title;
  30. }
  31. if (content != null) {
  32. map['Content'] = content;
  33. }
  34. if (titleImage != null) {
  35. map['TitleImage'] = titleImage;
  36. }
  37. return map;
  38. }
  39. }
  40. class IOTDeviceNewsResult extends IOTDeviceCarouselsResult{
  41. IOTDeviceNewsResult({
  42. String? id,
  43. String? title,
  44. String? content,
  45. String? titleImage,
  46. }) : super(
  47. id: id,
  48. title: title,
  49. content: content,
  50. titleImage: titleImage,
  51. );
  52. factory IOTDeviceNewsResult.fromJson(Map<String, dynamic> map) {
  53. return IOTDeviceNewsResult(
  54. id: map['Id'],
  55. title: map['Title'],
  56. content: map['Content'],
  57. titleImage: map['TitleImage'],
  58. );
  59. }
  60. Map<String, dynamic> toJson() {
  61. final map = super.toJson();
  62. return map;
  63. }
  64. }
  65. class GetIOTDeviceNewsPageRequest extends PageRequest{
  66. String? keyword;
  67. GetIOTDeviceNewsPageRequest({
  68. this.keyword,
  69. int pageIndex = 0,
  70. int pageSize = 0,
  71. String? token,
  72. }) : super(
  73. pageIndex: pageIndex,
  74. pageSize: pageSize,
  75. token: token,
  76. );
  77. factory GetIOTDeviceNewsPageRequest.fromJson(Map<String, dynamic> map) {
  78. return GetIOTDeviceNewsPageRequest(
  79. keyword: map['Keyword'],
  80. pageIndex: map['PageIndex'],
  81. pageSize: map['PageSize'],
  82. token: map['Token'],
  83. );
  84. }
  85. Map<String, dynamic> toJson() {
  86. final map = super.toJson();
  87. if (keyword != null)
  88. map['Keyword'] = keyword;
  89. return map;
  90. }
  91. }
  92. class IOTDeviceOperateGuidesResult {
  93. String? id;
  94. String? title;
  95. String? content;
  96. String? titleImage;
  97. String? titleVideo;
  98. int orderNo;
  99. DateTime? createTime;
  100. IOTDeviceOperateGuidesResult({
  101. this.id,
  102. this.title,
  103. this.content,
  104. this.titleImage,
  105. this.titleVideo,
  106. this.orderNo = 0,
  107. this.createTime,
  108. });
  109. factory IOTDeviceOperateGuidesResult.fromJson(Map<String, dynamic> map) {
  110. return IOTDeviceOperateGuidesResult(
  111. id: map['Id'],
  112. title: map['Title'],
  113. content: map['Content'],
  114. titleImage: map['TitleImage'],
  115. titleVideo: map['TitleVideo'],
  116. orderNo: map['OrderNo'],
  117. createTime: map['CreateTime'] != null ? DateTime.parse(map['CreateTime']) : null,
  118. );
  119. }
  120. Map<String, dynamic> toJson() {
  121. final map = Map<String, dynamic>();
  122. if (id != null) {
  123. map['Id'] = id;
  124. }
  125. if (title != null) {
  126. map['Title'] = title;
  127. }
  128. if (content != null) {
  129. map['Content'] = content;
  130. }
  131. if (titleImage != null) {
  132. map['TitleImage'] = titleImage;
  133. }
  134. if (titleVideo != null) {
  135. map['TitleVideo'] = titleVideo;
  136. }
  137. map['OrderNo'] = orderNo;
  138. if (createTime != null) {
  139. map['CreateTime'] = JsonRpcUtils.dateFormat(createTime!);
  140. }
  141. return map;
  142. }
  143. }
  144. class GetOperateGuidesPageRequest extends PageRequest{
  145. String? keyword;
  146. int deviceType;
  147. int tagType;
  148. GetOperateGuidesPageRequest({
  149. this.keyword,
  150. this.deviceType = 0,
  151. this.tagType = 0,
  152. int pageIndex = 0,
  153. int pageSize = 0,
  154. String? token,
  155. }) : super(
  156. pageIndex: pageIndex,
  157. pageSize: pageSize,
  158. token: token,
  159. );
  160. factory GetOperateGuidesPageRequest.fromJson(Map<String, dynamic> map) {
  161. return GetOperateGuidesPageRequest(
  162. keyword: map['Keyword'],
  163. deviceType: map['DeviceType'],
  164. tagType: map['TagType'],
  165. pageIndex: map['PageIndex'],
  166. pageSize: map['PageSize'],
  167. token: map['Token'],
  168. );
  169. }
  170. Map<String, dynamic> toJson() {
  171. final map = super.toJson();
  172. if (keyword != null)
  173. map['Keyword'] = keyword;
  174. map['DeviceType'] = deviceType;
  175. map['TagType'] = tagType;
  176. return map;
  177. }
  178. }
  179. class IOTDeviceDetailResult {
  180. int id;
  181. String? deviceName;
  182. String? machineNo;
  183. String? productNo;
  184. int type;
  185. int connectStatus;
  186. int activityStatus;
  187. DateTime? createdTime;
  188. DateTime? updatedTime;
  189. int modeType;
  190. int totalScore;
  191. double useHour;
  192. String? leakLevel;
  193. double ahi;
  194. String? cartridge;
  195. String? pip;
  196. String? mask;
  197. double oxygenConc;
  198. bool? treatPwr;
  199. IOTDeviceDetailResult({
  200. this.id = 0,
  201. this.deviceName,
  202. this.machineNo,
  203. this.productNo,
  204. this.type = 0,
  205. this.connectStatus = 0,
  206. this.activityStatus = 0,
  207. this.createdTime,
  208. this.updatedTime,
  209. this.modeType = 0,
  210. this.totalScore = 0,
  211. this.useHour = 0,
  212. this.leakLevel,
  213. this.ahi = 0,
  214. this.cartridge,
  215. this.pip,
  216. this.mask,
  217. this.oxygenConc = 0,
  218. this.treatPwr,
  219. });
  220. factory IOTDeviceDetailResult.fromJson(Map<String, dynamic> map) {
  221. return IOTDeviceDetailResult(
  222. id: map['Id'],
  223. deviceName: map['DeviceName'],
  224. machineNo: map['MachineNo'],
  225. productNo: map['ProductNo'],
  226. type: map['Type'],
  227. connectStatus: map['ConnectStatus'],
  228. activityStatus: map['ActivityStatus'],
  229. createdTime: map['CreatedTime'] != null ? DateTime.parse(map['CreatedTime']) : null,
  230. updatedTime: map['UpdatedTime'] != null ? DateTime.parse(map['UpdatedTime']) : null,
  231. modeType: map['ModeType'],
  232. totalScore: map['TotalScore'],
  233. useHour: double.parse(map['UseHour'].toString()),
  234. leakLevel: map['LeakLevel'],
  235. ahi: double.parse(map['Ahi'].toString()),
  236. cartridge: map['Cartridge'],
  237. pip: map['Pip'],
  238. mask: map['Mask'],
  239. oxygenConc: double.parse(map['OxygenConc'].toString()),
  240. treatPwr: map['TreatPwr'],
  241. );
  242. }
  243. Map<String, dynamic> toJson() {
  244. final map = Map<String, dynamic>();
  245. map['Id'] = id;
  246. if (deviceName != null) {
  247. map['DeviceName'] = deviceName;
  248. }
  249. if (machineNo != null) {
  250. map['MachineNo'] = machineNo;
  251. }
  252. if (productNo != null) {
  253. map['ProductNo'] = productNo;
  254. }
  255. map['Type'] = type;
  256. map['ConnectStatus'] = connectStatus;
  257. map['ActivityStatus'] = activityStatus;
  258. if (createdTime != null) {
  259. map['CreatedTime'] = JsonRpcUtils.dateFormat(createdTime!);
  260. }
  261. if (updatedTime != null) {
  262. map['UpdatedTime'] = JsonRpcUtils.dateFormat(updatedTime!);
  263. }
  264. map['ModeType'] = modeType;
  265. map['TotalScore'] = totalScore;
  266. map['UseHour'] = useHour;
  267. if (leakLevel != null) {
  268. map['LeakLevel'] = leakLevel;
  269. }
  270. map['Ahi'] = ahi;
  271. if (cartridge != null) {
  272. map['Cartridge'] = cartridge;
  273. }
  274. if (pip != null) {
  275. map['Pip'] = pip;
  276. }
  277. if (mask != null) {
  278. map['Mask'] = mask;
  279. }
  280. map['OxygenConc'] = oxygenConc;
  281. if (treatPwr != null) {
  282. map['TreatPwr'] = treatPwr;
  283. }
  284. return map;
  285. }
  286. }
  287. enum ModeType {
  288. CPAP,
  289. APAP,
  290. AUTOS,
  291. BPAPS,
  292. BPAPT,
  293. BPAPST,
  294. }
  295. class GetIOTDevicBaseRequest extends TokenRequest{
  296. String? deviceId;
  297. ModeType mode;
  298. GetIOTDevicBaseRequest({
  299. this.deviceId,
  300. this.mode = ModeType.CPAP,
  301. String? token,
  302. }) : super(
  303. token: token,
  304. );
  305. factory GetIOTDevicBaseRequest.fromJson(Map<String, dynamic> map) {
  306. return GetIOTDevicBaseRequest(
  307. deviceId: map['DeviceId'],
  308. mode: ModeType.values.firstWhere((e) => e.index == map['Mode']),
  309. token: map['Token'],
  310. );
  311. }
  312. Map<String, dynamic> toJson() {
  313. final map = super.toJson();
  314. if (deviceId != null)
  315. map['DeviceId'] = deviceId;
  316. map['Mode'] = mode.index;
  317. return map;
  318. }
  319. }
  320. class GetIOTDeviceDetailRequest extends GetIOTDevicBaseRequest{
  321. DateTime? date;
  322. String? userCode;
  323. GetIOTDeviceDetailRequest({
  324. this.date,
  325. this.userCode,
  326. String? deviceId,
  327. ModeType mode = ModeType.CPAP,
  328. String? token,
  329. }) : super(
  330. deviceId: deviceId,
  331. mode: mode,
  332. token: token,
  333. );
  334. factory GetIOTDeviceDetailRequest.fromJson(Map<String, dynamic> map) {
  335. return GetIOTDeviceDetailRequest(
  336. date: map['Date'] != null ? DateTime.parse(map['Date']) : null,
  337. userCode: map['UserCode'],
  338. deviceId: map['DeviceId'],
  339. mode: ModeType.values.firstWhere((e) => e.index == map['Mode']),
  340. token: map['Token'],
  341. );
  342. }
  343. Map<String, dynamic> toJson() {
  344. final map = super.toJson();
  345. if (date != null)
  346. map['Date'] = JsonRpcUtils.dateFormat(date!);
  347. if (userCode != null)
  348. map['UserCode'] = userCode;
  349. return map;
  350. }
  351. }
  352. enum ReportType {
  353. Day,
  354. Week,
  355. Month,
  356. Month_3,
  357. Month_6,
  358. Year,
  359. }
  360. class GetIOTDeviceReportRequest extends GetIOTDevicBaseRequest{
  361. ReportType reportType;
  362. GetIOTDeviceReportRequest({
  363. this.reportType = ReportType.Day,
  364. String? deviceId,
  365. ModeType mode = ModeType.CPAP,
  366. String? token,
  367. }) : super(
  368. deviceId: deviceId,
  369. mode: mode,
  370. token: token,
  371. );
  372. factory GetIOTDeviceReportRequest.fromJson(Map<String, dynamic> map) {
  373. return GetIOTDeviceReportRequest(
  374. reportType: ReportType.values.firstWhere((e) => e.index == map['ReportType']),
  375. deviceId: map['DeviceId'],
  376. mode: ModeType.values.firstWhere((e) => e.index == map['Mode']),
  377. token: map['Token'],
  378. );
  379. }
  380. Map<String, dynamic> toJson() {
  381. final map = super.toJson();
  382. map['ReportType'] = reportType.index;
  383. return map;
  384. }
  385. }
  386. class GetIOTDeviceUseDateRequest extends GetIOTDevicBaseRequest{
  387. DateTime? start;
  388. DateTime? end;
  389. GetIOTDeviceUseDateRequest({
  390. this.start,
  391. this.end,
  392. String? deviceId,
  393. ModeType mode = ModeType.CPAP,
  394. String? token,
  395. }) : super(
  396. deviceId: deviceId,
  397. mode: mode,
  398. token: token,
  399. );
  400. factory GetIOTDeviceUseDateRequest.fromJson(Map<String, dynamic> map) {
  401. return GetIOTDeviceUseDateRequest(
  402. start: map['Start'] != null ? DateTime.parse(map['Start']) : null,
  403. end: map['End'] != null ? DateTime.parse(map['End']) : null,
  404. deviceId: map['DeviceId'],
  405. mode: ModeType.values.firstWhere((e) => e.index == map['Mode']),
  406. token: map['Token'],
  407. );
  408. }
  409. Map<String, dynamic> toJson() {
  410. final map = super.toJson();
  411. if (start != null)
  412. map['Start'] = JsonRpcUtils.dateFormat(start!);
  413. if (end != null)
  414. map['End'] = JsonRpcUtils.dateFormat(end!);
  415. return map;
  416. }
  417. }
  418. enum AjaxResultTypeEnum {
  419. placeHolder_0,
  420. placeHolder_1,
  421. placeHolder_2,
  422. placeHolder_3,
  423. placeHolder_4,
  424. placeHolder_5,
  425. placeHolder_6,
  426. placeHolder_7,
  427. placeHolder_8,
  428. placeHolder_9,
  429. placeHolder_10,
  430. placeHolder_11,
  431. placeHolder_12,
  432. placeHolder_13,
  433. placeHolder_14,
  434. placeHolder_15,
  435. placeHolder_16,
  436. placeHolder_17,
  437. placeHolder_18,
  438. placeHolder_19,
  439. placeHolder_20,
  440. placeHolder_21,
  441. placeHolder_22,
  442. placeHolder_23,
  443. placeHolder_24,
  444. placeHolder_25,
  445. placeHolder_26,
  446. placeHolder_27,
  447. placeHolder_28,
  448. placeHolder_29,
  449. placeHolder_30,
  450. placeHolder_31,
  451. placeHolder_32,
  452. placeHolder_33,
  453. placeHolder_34,
  454. placeHolder_35,
  455. placeHolder_36,
  456. placeHolder_37,
  457. placeHolder_38,
  458. placeHolder_39,
  459. placeHolder_40,
  460. placeHolder_41,
  461. placeHolder_42,
  462. placeHolder_43,
  463. placeHolder_44,
  464. placeHolder_45,
  465. placeHolder_46,
  466. placeHolder_47,
  467. placeHolder_48,
  468. placeHolder_49,
  469. placeHolder_50,
  470. placeHolder_51,
  471. placeHolder_52,
  472. placeHolder_53,
  473. placeHolder_54,
  474. placeHolder_55,
  475. placeHolder_56,
  476. placeHolder_57,
  477. placeHolder_58,
  478. placeHolder_59,
  479. placeHolder_60,
  480. placeHolder_61,
  481. placeHolder_62,
  482. placeHolder_63,
  483. placeHolder_64,
  484. placeHolder_65,
  485. placeHolder_66,
  486. placeHolder_67,
  487. placeHolder_68,
  488. placeHolder_69,
  489. placeHolder_70,
  490. placeHolder_71,
  491. placeHolder_72,
  492. placeHolder_73,
  493. placeHolder_74,
  494. placeHolder_75,
  495. placeHolder_76,
  496. placeHolder_77,
  497. placeHolder_78,
  498. placeHolder_79,
  499. placeHolder_80,
  500. placeHolder_81,
  501. placeHolder_82,
  502. placeHolder_83,
  503. placeHolder_84,
  504. placeHolder_85,
  505. placeHolder_86,
  506. placeHolder_87,
  507. placeHolder_88,
  508. placeHolder_89,
  509. placeHolder_90,
  510. placeHolder_91,
  511. placeHolder_92,
  512. placeHolder_93,
  513. placeHolder_94,
  514. placeHolder_95,
  515. placeHolder_96,
  516. placeHolder_97,
  517. placeHolder_98,
  518. placeHolder_99,
  519. placeHolder_100,
  520. placeHolder_101,
  521. placeHolder_102,
  522. placeHolder_103,
  523. placeHolder_104,
  524. placeHolder_105,
  525. placeHolder_106,
  526. placeHolder_107,
  527. placeHolder_108,
  528. placeHolder_109,
  529. placeHolder_110,
  530. placeHolder_111,
  531. placeHolder_112,
  532. placeHolder_113,
  533. placeHolder_114,
  534. placeHolder_115,
  535. placeHolder_116,
  536. placeHolder_117,
  537. placeHolder_118,
  538. placeHolder_119,
  539. placeHolder_120,
  540. placeHolder_121,
  541. placeHolder_122,
  542. placeHolder_123,
  543. placeHolder_124,
  544. placeHolder_125,
  545. placeHolder_126,
  546. placeHolder_127,
  547. placeHolder_128,
  548. placeHolder_129,
  549. placeHolder_130,
  550. placeHolder_131,
  551. placeHolder_132,
  552. placeHolder_133,
  553. placeHolder_134,
  554. placeHolder_135,
  555. placeHolder_136,
  556. placeHolder_137,
  557. placeHolder_138,
  558. placeHolder_139,
  559. placeHolder_140,
  560. placeHolder_141,
  561. placeHolder_142,
  562. placeHolder_143,
  563. placeHolder_144,
  564. placeHolder_145,
  565. placeHolder_146,
  566. placeHolder_147,
  567. placeHolder_148,
  568. placeHolder_149,
  569. placeHolder_150,
  570. placeHolder_151,
  571. placeHolder_152,
  572. placeHolder_153,
  573. placeHolder_154,
  574. placeHolder_155,
  575. placeHolder_156,
  576. placeHolder_157,
  577. placeHolder_158,
  578. placeHolder_159,
  579. placeHolder_160,
  580. placeHolder_161,
  581. placeHolder_162,
  582. placeHolder_163,
  583. placeHolder_164,
  584. placeHolder_165,
  585. placeHolder_166,
  586. placeHolder_167,
  587. placeHolder_168,
  588. placeHolder_169,
  589. placeHolder_170,
  590. placeHolder_171,
  591. placeHolder_172,
  592. placeHolder_173,
  593. placeHolder_174,
  594. placeHolder_175,
  595. placeHolder_176,
  596. placeHolder_177,
  597. placeHolder_178,
  598. placeHolder_179,
  599. placeHolder_180,
  600. placeHolder_181,
  601. placeHolder_182,
  602. placeHolder_183,
  603. placeHolder_184,
  604. placeHolder_185,
  605. placeHolder_186,
  606. placeHolder_187,
  607. placeHolder_188,
  608. placeHolder_189,
  609. placeHolder_190,
  610. placeHolder_191,
  611. placeHolder_192,
  612. placeHolder_193,
  613. placeHolder_194,
  614. placeHolder_195,
  615. placeHolder_196,
  616. placeHolder_197,
  617. placeHolder_198,
  618. placeHolder_199,
  619. Success,
  620. placeHolder_201,
  621. placeHolder_202,
  622. placeHolder_203,
  623. placeHolder_204,
  624. placeHolder_205,
  625. placeHolder_206,
  626. placeHolder_207,
  627. placeHolder_208,
  628. placeHolder_209,
  629. placeHolder_210,
  630. placeHolder_211,
  631. placeHolder_212,
  632. placeHolder_213,
  633. placeHolder_214,
  634. placeHolder_215,
  635. placeHolder_216,
  636. placeHolder_217,
  637. placeHolder_218,
  638. placeHolder_219,
  639. placeHolder_220,
  640. placeHolder_221,
  641. placeHolder_222,
  642. placeHolder_223,
  643. placeHolder_224,
  644. placeHolder_225,
  645. placeHolder_226,
  646. placeHolder_227,
  647. placeHolder_228,
  648. placeHolder_229,
  649. placeHolder_230,
  650. placeHolder_231,
  651. placeHolder_232,
  652. placeHolder_233,
  653. placeHolder_234,
  654. placeHolder_235,
  655. placeHolder_236,
  656. placeHolder_237,
  657. placeHolder_238,
  658. placeHolder_239,
  659. placeHolder_240,
  660. placeHolder_241,
  661. placeHolder_242,
  662. placeHolder_243,
  663. placeHolder_244,
  664. placeHolder_245,
  665. placeHolder_246,
  666. placeHolder_247,
  667. placeHolder_248,
  668. placeHolder_249,
  669. placeHolder_250,
  670. placeHolder_251,
  671. placeHolder_252,
  672. placeHolder_253,
  673. placeHolder_254,
  674. placeHolder_255,
  675. placeHolder_256,
  676. placeHolder_257,
  677. placeHolder_258,
  678. placeHolder_259,
  679. placeHolder_260,
  680. placeHolder_261,
  681. placeHolder_262,
  682. placeHolder_263,
  683. placeHolder_264,
  684. placeHolder_265,
  685. placeHolder_266,
  686. placeHolder_267,
  687. placeHolder_268,
  688. placeHolder_269,
  689. placeHolder_270,
  690. placeHolder_271,
  691. placeHolder_272,
  692. placeHolder_273,
  693. placeHolder_274,
  694. placeHolder_275,
  695. placeHolder_276,
  696. placeHolder_277,
  697. placeHolder_278,
  698. placeHolder_279,
  699. placeHolder_280,
  700. placeHolder_281,
  701. placeHolder_282,
  702. placeHolder_283,
  703. placeHolder_284,
  704. placeHolder_285,
  705. placeHolder_286,
  706. placeHolder_287,
  707. placeHolder_288,
  708. placeHolder_289,
  709. placeHolder_290,
  710. placeHolder_291,
  711. placeHolder_292,
  712. placeHolder_293,
  713. placeHolder_294,
  714. placeHolder_295,
  715. placeHolder_296,
  716. placeHolder_297,
  717. placeHolder_298,
  718. placeHolder_299,
  719. placeHolder_300,
  720. placeHolder_301,
  721. placeHolder_302,
  722. placeHolder_303,
  723. placeHolder_304,
  724. placeHolder_305,
  725. placeHolder_306,
  726. placeHolder_307,
  727. placeHolder_308,
  728. placeHolder_309,
  729. placeHolder_310,
  730. placeHolder_311,
  731. placeHolder_312,
  732. placeHolder_313,
  733. placeHolder_314,
  734. placeHolder_315,
  735. placeHolder_316,
  736. placeHolder_317,
  737. placeHolder_318,
  738. placeHolder_319,
  739. placeHolder_320,
  740. placeHolder_321,
  741. placeHolder_322,
  742. placeHolder_323,
  743. placeHolder_324,
  744. placeHolder_325,
  745. placeHolder_326,
  746. placeHolder_327,
  747. placeHolder_328,
  748. placeHolder_329,
  749. placeHolder_330,
  750. placeHolder_331,
  751. placeHolder_332,
  752. placeHolder_333,
  753. placeHolder_334,
  754. placeHolder_335,
  755. placeHolder_336,
  756. placeHolder_337,
  757. placeHolder_338,
  758. placeHolder_339,
  759. placeHolder_340,
  760. placeHolder_341,
  761. placeHolder_342,
  762. placeHolder_343,
  763. placeHolder_344,
  764. placeHolder_345,
  765. placeHolder_346,
  766. placeHolder_347,
  767. placeHolder_348,
  768. placeHolder_349,
  769. placeHolder_350,
  770. placeHolder_351,
  771. placeHolder_352,
  772. placeHolder_353,
  773. placeHolder_354,
  774. placeHolder_355,
  775. placeHolder_356,
  776. placeHolder_357,
  777. placeHolder_358,
  778. placeHolder_359,
  779. placeHolder_360,
  780. placeHolder_361,
  781. placeHolder_362,
  782. placeHolder_363,
  783. placeHolder_364,
  784. placeHolder_365,
  785. placeHolder_366,
  786. placeHolder_367,
  787. placeHolder_368,
  788. placeHolder_369,
  789. placeHolder_370,
  790. placeHolder_371,
  791. placeHolder_372,
  792. placeHolder_373,
  793. placeHolder_374,
  794. placeHolder_375,
  795. placeHolder_376,
  796. placeHolder_377,
  797. placeHolder_378,
  798. placeHolder_379,
  799. placeHolder_380,
  800. placeHolder_381,
  801. placeHolder_382,
  802. placeHolder_383,
  803. placeHolder_384,
  804. placeHolder_385,
  805. placeHolder_386,
  806. placeHolder_387,
  807. placeHolder_388,
  808. placeHolder_389,
  809. placeHolder_390,
  810. placeHolder_391,
  811. placeHolder_392,
  812. placeHolder_393,
  813. placeHolder_394,
  814. placeHolder_395,
  815. placeHolder_396,
  816. placeHolder_397,
  817. placeHolder_398,
  818. placeHolder_399,
  819. Error,
  820. Unauthorized,
  821. placeHolder_402,
  822. Forbidden,
  823. NotFound,
  824. NotAllowed,
  825. placeHolder_406,
  826. placeHolder_407,
  827. placeHolder_408,
  828. placeHolder_409,
  829. placeHolder_410,
  830. placeHolder_411,
  831. placeHolder_412,
  832. placeHolder_413,
  833. placeHolder_414,
  834. Unsupported,
  835. placeHolder_416,
  836. placeHolder_417,
  837. placeHolder_418,
  838. placeHolder_419,
  839. placeHolder_420,
  840. placeHolder_421,
  841. placeHolder_422,
  842. Locked,
  843. placeHolder_424,
  844. placeHolder_425,
  845. placeHolder_426,
  846. placeHolder_427,
  847. placeHolder_428,
  848. placeHolder_429,
  849. placeHolder_430,
  850. placeHolder_431,
  851. placeHolder_432,
  852. placeHolder_433,
  853. placeHolder_434,
  854. placeHolder_435,
  855. placeHolder_436,
  856. placeHolder_437,
  857. placeHolder_438,
  858. placeHolder_439,
  859. placeHolder_440,
  860. placeHolder_441,
  861. placeHolder_442,
  862. placeHolder_443,
  863. placeHolder_444,
  864. placeHolder_445,
  865. placeHolder_446,
  866. placeHolder_447,
  867. placeHolder_448,
  868. placeHolder_449,
  869. placeHolder_450,
  870. placeHolder_451,
  871. placeHolder_452,
  872. placeHolder_453,
  873. placeHolder_454,
  874. placeHolder_455,
  875. placeHolder_456,
  876. placeHolder_457,
  877. placeHolder_458,
  878. placeHolder_459,
  879. placeHolder_460,
  880. placeHolder_461,
  881. placeHolder_462,
  882. placeHolder_463,
  883. placeHolder_464,
  884. placeHolder_465,
  885. placeHolder_466,
  886. placeHolder_467,
  887. placeHolder_468,
  888. placeHolder_469,
  889. placeHolder_470,
  890. placeHolder_471,
  891. placeHolder_472,
  892. placeHolder_473,
  893. placeHolder_474,
  894. placeHolder_475,
  895. placeHolder_476,
  896. placeHolder_477,
  897. placeHolder_478,
  898. placeHolder_479,
  899. placeHolder_480,
  900. placeHolder_481,
  901. placeHolder_482,
  902. placeHolder_483,
  903. placeHolder_484,
  904. placeHolder_485,
  905. placeHolder_486,
  906. placeHolder_487,
  907. placeHolder_488,
  908. placeHolder_489,
  909. placeHolder_490,
  910. placeHolder_491,
  911. placeHolder_492,
  912. placeHolder_493,
  913. placeHolder_494,
  914. placeHolder_495,
  915. placeHolder_496,
  916. placeHolder_497,
  917. placeHolder_498,
  918. placeHolder_499,
  919. InternalError,
  920. NotImplemented,
  921. }
  922. class IOTDeviceOperateResult {
  923. bool succeeded;
  924. String? data;
  925. String? content;
  926. AjaxResultTypeEnum type;
  927. IOTDeviceOperateResult({
  928. this.succeeded = false,
  929. this.data,
  930. this.content,
  931. this.type = AjaxResultTypeEnum.Success,
  932. });
  933. factory IOTDeviceOperateResult.fromJson(Map<String, dynamic> map) {
  934. return IOTDeviceOperateResult(
  935. succeeded: map['Succeeded'],
  936. data: map['Data'],
  937. content: map['Content'],
  938. type: AjaxResultTypeEnum.values.firstWhere((e) => e.index == map['Type']),
  939. );
  940. }
  941. Map<String, dynamic> toJson() {
  942. final map = Map<String, dynamic>();
  943. map['Succeeded'] = succeeded;
  944. if (data != null) {
  945. map['Data'] = data;
  946. }
  947. if (content != null) {
  948. map['Content'] = content;
  949. }
  950. map['Type'] = type.index;
  951. return map;
  952. }
  953. }
  954. class UserBindDeviceRequest extends TokenRequest{
  955. String? userCode;
  956. String? machineNo;
  957. String? machineAddress;
  958. int type;
  959. String? userDeviceName;
  960. String? wifiName;
  961. int modeType;
  962. bool isAuto;
  963. String? areaCode;
  964. UserBindDeviceRequest({
  965. this.userCode,
  966. this.machineNo,
  967. this.machineAddress,
  968. this.type = 0,
  969. this.userDeviceName,
  970. this.wifiName,
  971. this.modeType = 0,
  972. this.isAuto = false,
  973. this.areaCode,
  974. String? token,
  975. }) : super(
  976. token: token,
  977. );
  978. factory UserBindDeviceRequest.fromJson(Map<String, dynamic> map) {
  979. return UserBindDeviceRequest(
  980. userCode: map['UserCode'],
  981. machineNo: map['MachineNo'],
  982. machineAddress: map['MachineAddress'],
  983. type: map['Type'],
  984. userDeviceName: map['UserDeviceName'],
  985. wifiName: map['WifiName'],
  986. modeType: map['ModeType'],
  987. isAuto: map['IsAuto'],
  988. areaCode: map['AreaCode'],
  989. token: map['Token'],
  990. );
  991. }
  992. Map<String, dynamic> toJson() {
  993. final map = super.toJson();
  994. if (userCode != null)
  995. map['UserCode'] = userCode;
  996. if (machineNo != null)
  997. map['MachineNo'] = machineNo;
  998. if (machineAddress != null)
  999. map['MachineAddress'] = machineAddress;
  1000. map['Type'] = type;
  1001. if (userDeviceName != null)
  1002. map['UserDeviceName'] = userDeviceName;
  1003. if (wifiName != null)
  1004. map['WifiName'] = wifiName;
  1005. map['ModeType'] = modeType;
  1006. map['IsAuto'] = isAuto;
  1007. if (areaCode != null)
  1008. map['AreaCode'] = areaCode;
  1009. return map;
  1010. }
  1011. }
  1012. class DeleteDeviceInfoRequest extends TokenRequest{
  1013. String? id;
  1014. DeleteDeviceInfoRequest({
  1015. this.id,
  1016. String? token,
  1017. }) : super(
  1018. token: token,
  1019. );
  1020. factory DeleteDeviceInfoRequest.fromJson(Map<String, dynamic> map) {
  1021. return DeleteDeviceInfoRequest(
  1022. id: map['Id'],
  1023. token: map['Token'],
  1024. );
  1025. }
  1026. Map<String, dynamic> toJson() {
  1027. final map = super.toJson();
  1028. if (id != null)
  1029. map['Id'] = id;
  1030. return map;
  1031. }
  1032. }
  1033. class UserDeviceInfoResult {
  1034. String? id;
  1035. String? userId;
  1036. String? deviceId;
  1037. String? userDeviceName;
  1038. String? wifiName;
  1039. bool isAuto;
  1040. String? areaCode;
  1041. String? machineAddress;
  1042. String? machineNo;
  1043. String? productNo;
  1044. int type;
  1045. int connectStatus;
  1046. int activityStatus;
  1047. DateTime? createdTime;
  1048. UserDeviceInfoResult({
  1049. this.id,
  1050. this.userId,
  1051. this.deviceId,
  1052. this.userDeviceName,
  1053. this.wifiName,
  1054. this.isAuto = false,
  1055. this.areaCode,
  1056. this.machineAddress,
  1057. this.machineNo,
  1058. this.productNo,
  1059. this.type = 0,
  1060. this.connectStatus = 0,
  1061. this.activityStatus = 0,
  1062. this.createdTime,
  1063. });
  1064. factory UserDeviceInfoResult.fromJson(Map<String, dynamic> map) {
  1065. return UserDeviceInfoResult(
  1066. id: map['Id'],
  1067. userId: map['UserId'],
  1068. deviceId: map['DeviceId'],
  1069. userDeviceName: map['UserDeviceName'],
  1070. wifiName: map['WifiName'],
  1071. isAuto: map['IsAuto'],
  1072. areaCode: map['AreaCode'],
  1073. machineAddress: map['MachineAddress'],
  1074. machineNo: map['MachineNo'],
  1075. productNo: map['ProductNo'],
  1076. type: map['Type'],
  1077. connectStatus: map['ConnectStatus'],
  1078. activityStatus: map['ActivityStatus'],
  1079. createdTime: map['CreatedTime'] != null ? DateTime.parse(map['CreatedTime']) : null,
  1080. );
  1081. }
  1082. Map<String, dynamic> toJson() {
  1083. final map = Map<String, dynamic>();
  1084. if (id != null) {
  1085. map['Id'] = id;
  1086. }
  1087. if (userId != null) {
  1088. map['UserId'] = userId;
  1089. }
  1090. if (deviceId != null) {
  1091. map['DeviceId'] = deviceId;
  1092. }
  1093. if (userDeviceName != null) {
  1094. map['UserDeviceName'] = userDeviceName;
  1095. }
  1096. if (wifiName != null) {
  1097. map['WifiName'] = wifiName;
  1098. }
  1099. map['IsAuto'] = isAuto;
  1100. if (areaCode != null) {
  1101. map['AreaCode'] = areaCode;
  1102. }
  1103. if (machineAddress != null) {
  1104. map['MachineAddress'] = machineAddress;
  1105. }
  1106. if (machineNo != null) {
  1107. map['MachineNo'] = machineNo;
  1108. }
  1109. if (productNo != null) {
  1110. map['ProductNo'] = productNo;
  1111. }
  1112. map['Type'] = type;
  1113. map['ConnectStatus'] = connectStatus;
  1114. map['ActivityStatus'] = activityStatus;
  1115. if (createdTime != null) {
  1116. map['CreatedTime'] = JsonRpcUtils.dateFormat(createdTime!);
  1117. }
  1118. return map;
  1119. }
  1120. }
  1121. class IOTDeviceSumaryYearInfo {
  1122. int totalUseDay;
  1123. double totalUseHour;
  1124. String? avgUseHour;
  1125. int avgSocre;
  1126. IOTDeviceSumaryYearInfo({
  1127. this.totalUseDay = 0,
  1128. this.totalUseHour = 0,
  1129. this.avgUseHour,
  1130. this.avgSocre = 0,
  1131. });
  1132. factory IOTDeviceSumaryYearInfo.fromJson(Map<String, dynamic> map) {
  1133. return IOTDeviceSumaryYearInfo(
  1134. totalUseDay: map['TotalUseDay'],
  1135. totalUseHour: double.parse(map['TotalUseHour'].toString()),
  1136. avgUseHour: map['AvgUseHour'],
  1137. avgSocre: map['AvgSocre'],
  1138. );
  1139. }
  1140. Map<String, dynamic> toJson() {
  1141. final map = Map<String, dynamic>();
  1142. map['TotalUseDay'] = totalUseDay;
  1143. map['TotalUseHour'] = totalUseHour;
  1144. if (avgUseHour != null) {
  1145. map['AvgUseHour'] = avgUseHour;
  1146. }
  1147. map['AvgSocre'] = avgSocre;
  1148. return map;
  1149. }
  1150. }
  1151. class IOTDeviceSumaryWeekInfo {
  1152. int totalUseDay;
  1153. double totalUseHour;
  1154. Map<DateTime,double>? dayHours;
  1155. IOTDeviceSumaryWeekInfo({
  1156. this.totalUseDay = 0,
  1157. this.totalUseHour = 0,
  1158. this.dayHours,
  1159. });
  1160. factory IOTDeviceSumaryWeekInfo.fromJson(Map<String, dynamic> map) {
  1161. return IOTDeviceSumaryWeekInfo(
  1162. totalUseDay: map['TotalUseDay'],
  1163. totalUseHour: double.parse(map['TotalUseHour'].toString()),
  1164. dayHours: map['DayHours']?.cast<DateTime,double>(),
  1165. );
  1166. }
  1167. Map<String, dynamic> toJson() {
  1168. final map = Map<String, dynamic>();
  1169. map['TotalUseDay'] = totalUseDay;
  1170. map['TotalUseHour'] = totalUseHour;
  1171. if (dayHours != null) {
  1172. map['DayHours'] = dayHours;
  1173. }
  1174. return map;
  1175. }
  1176. }
  1177. class IOTDeviceSumaryResult {
  1178. IOTDeviceSumaryYearInfo? year;
  1179. IOTDeviceSumaryWeekInfo? week;
  1180. IOTDeviceSumaryResult({
  1181. this.year,
  1182. this.week,
  1183. });
  1184. factory IOTDeviceSumaryResult.fromJson(Map<String, dynamic> map) {
  1185. return IOTDeviceSumaryResult(
  1186. year: map['Year'] != null ? IOTDeviceSumaryYearInfo.fromJson(map['Year']) : null,
  1187. week: map['Week'] != null ? IOTDeviceSumaryWeekInfo.fromJson(map['Week']) : null,
  1188. );
  1189. }
  1190. Map<String, dynamic> toJson() {
  1191. final map = Map<String, dynamic>();
  1192. if (year != null) {
  1193. map['Year'] = year;
  1194. }
  1195. if (week != null) {
  1196. map['Week'] = week;
  1197. }
  1198. return map;
  1199. }
  1200. }
  1201. class GetSummaryRequest extends TokenRequest{
  1202. int type;
  1203. String? userCode;
  1204. GetSummaryRequest({
  1205. this.type = 0,
  1206. this.userCode,
  1207. String? token,
  1208. }) : super(
  1209. token: token,
  1210. );
  1211. factory GetSummaryRequest.fromJson(Map<String, dynamic> map) {
  1212. return GetSummaryRequest(
  1213. type: map['Type'],
  1214. userCode: map['UserCode'],
  1215. token: map['Token'],
  1216. );
  1217. }
  1218. Map<String, dynamic> toJson() {
  1219. final map = super.toJson();
  1220. map['Type'] = type;
  1221. if (userCode != null)
  1222. map['UserCode'] = userCode;
  1223. return map;
  1224. }
  1225. }
  1226. class IOTDeviceVersionResult {
  1227. int type;
  1228. String? versionNo;
  1229. String? url;
  1230. IOTDeviceVersionResult({
  1231. this.type = 0,
  1232. this.versionNo,
  1233. this.url,
  1234. });
  1235. factory IOTDeviceVersionResult.fromJson(Map<String, dynamic> map) {
  1236. return IOTDeviceVersionResult(
  1237. type: map['Type'],
  1238. versionNo: map['VersionNo'],
  1239. url: map['Url'],
  1240. );
  1241. }
  1242. Map<String, dynamic> toJson() {
  1243. final map = Map<String, dynamic>();
  1244. map['Type'] = type;
  1245. if (versionNo != null) {
  1246. map['VersionNo'] = versionNo;
  1247. }
  1248. if (url != null) {
  1249. map['Url'] = url;
  1250. }
  1251. return map;
  1252. }
  1253. }
  1254. class GetDeviceVersionRequest extends GetSummaryRequest{
  1255. String? deviceCode;
  1256. GetDeviceVersionRequest({
  1257. this.deviceCode,
  1258. int type = 0,
  1259. String? userCode,
  1260. String? token,
  1261. }) : super(
  1262. type: type,
  1263. userCode: userCode,
  1264. token: token,
  1265. );
  1266. factory GetDeviceVersionRequest.fromJson(Map<String, dynamic> map) {
  1267. return GetDeviceVersionRequest(
  1268. deviceCode: map['DeviceCode'],
  1269. type: map['Type'],
  1270. userCode: map['UserCode'],
  1271. token: map['Token'],
  1272. );
  1273. }
  1274. Map<String, dynamic> toJson() {
  1275. final map = super.toJson();
  1276. if (deviceCode != null)
  1277. map['DeviceCode'] = deviceCode;
  1278. return map;
  1279. }
  1280. }
  1281. class IOTDeviceAttributeEscalationRequest extends TokenRequest{
  1282. String? userCode;
  1283. String? id;
  1284. String? clientId;
  1285. String? productNo;
  1286. int type;
  1287. int connect;
  1288. String? endpoint;
  1289. String? method;
  1290. String? deviceAttributesJson;
  1291. IOTDeviceAttributeEscalationRequest({
  1292. this.userCode,
  1293. this.id,
  1294. this.clientId,
  1295. this.productNo,
  1296. this.type = 0,
  1297. this.connect = 0,
  1298. this.endpoint,
  1299. this.method,
  1300. this.deviceAttributesJson,
  1301. String? token,
  1302. }) : super(
  1303. token: token,
  1304. );
  1305. factory IOTDeviceAttributeEscalationRequest.fromJson(Map<String, dynamic> map) {
  1306. return IOTDeviceAttributeEscalationRequest(
  1307. userCode: map['UserCode'],
  1308. id: map['Id'],
  1309. clientId: map['ClientId'],
  1310. productNo: map['ProductNo'],
  1311. type: map['Type'],
  1312. connect: map['Connect'],
  1313. endpoint: map['Endpoint'],
  1314. method: map['Method'],
  1315. deviceAttributesJson: map['DeviceAttributesJson'],
  1316. token: map['Token'],
  1317. );
  1318. }
  1319. Map<String, dynamic> toJson() {
  1320. final map = super.toJson();
  1321. if (userCode != null)
  1322. map['UserCode'] = userCode;
  1323. if (id != null)
  1324. map['Id'] = id;
  1325. if (clientId != null)
  1326. map['ClientId'] = clientId;
  1327. if (productNo != null)
  1328. map['ProductNo'] = productNo;
  1329. map['Type'] = type;
  1330. map['Connect'] = connect;
  1331. if (endpoint != null)
  1332. map['Endpoint'] = endpoint;
  1333. if (method != null)
  1334. map['Method'] = method;
  1335. if (deviceAttributesJson != null)
  1336. map['DeviceAttributesJson'] = deviceAttributesJson;
  1337. return map;
  1338. }
  1339. }
  1340. class IOTDeviceTopicInfoRequest extends TokenRequest{
  1341. String? deviceId;
  1342. bool deviceOpen;
  1343. IOTDeviceTopicInfoRequest({
  1344. this.deviceId,
  1345. this.deviceOpen = false,
  1346. String? token,
  1347. }) : super(
  1348. token: token,
  1349. );
  1350. factory IOTDeviceTopicInfoRequest.fromJson(Map<String, dynamic> map) {
  1351. return IOTDeviceTopicInfoRequest(
  1352. deviceId: map['DeviceId'],
  1353. deviceOpen: map['DeviceOpen'],
  1354. token: map['Token'],
  1355. );
  1356. }
  1357. Map<String, dynamic> toJson() {
  1358. final map = super.toJson();
  1359. if (deviceId != null)
  1360. map['DeviceId'] = deviceId;
  1361. map['DeviceOpen'] = deviceOpen;
  1362. return map;
  1363. }
  1364. }
  1365. class IOTReportAttributeEscalationRequest extends TokenRequest{
  1366. String? userCode;
  1367. String? id;
  1368. String? clientId;
  1369. String? productNo;
  1370. int type;
  1371. ReportType reportType;
  1372. ModeType mode;
  1373. DateTime? timestamp;
  1374. String? endpoint;
  1375. String? method;
  1376. String? reportAttributesJson;
  1377. IOTReportAttributeEscalationRequest({
  1378. this.userCode,
  1379. this.id,
  1380. this.clientId,
  1381. this.productNo,
  1382. this.type = 0,
  1383. this.reportType = ReportType.Day,
  1384. this.mode = ModeType.CPAP,
  1385. this.timestamp,
  1386. this.endpoint,
  1387. this.method,
  1388. this.reportAttributesJson,
  1389. String? token,
  1390. }) : super(
  1391. token: token,
  1392. );
  1393. factory IOTReportAttributeEscalationRequest.fromJson(Map<String, dynamic> map) {
  1394. return IOTReportAttributeEscalationRequest(
  1395. userCode: map['UserCode'],
  1396. id: map['Id'],
  1397. clientId: map['ClientId'],
  1398. productNo: map['ProductNo'],
  1399. type: map['Type'],
  1400. reportType: ReportType.values.firstWhere((e) => e.index == map['ReportType']),
  1401. mode: ModeType.values.firstWhere((e) => e.index == map['Mode']),
  1402. timestamp: map['Timestamp'] != null ? DateTime.parse(map['Timestamp']) : null,
  1403. endpoint: map['Endpoint'],
  1404. method: map['Method'],
  1405. reportAttributesJson: map['ReportAttributesJson'],
  1406. token: map['Token'],
  1407. );
  1408. }
  1409. Map<String, dynamic> toJson() {
  1410. final map = super.toJson();
  1411. if (userCode != null)
  1412. map['UserCode'] = userCode;
  1413. if (id != null)
  1414. map['Id'] = id;
  1415. if (clientId != null)
  1416. map['ClientId'] = clientId;
  1417. if (productNo != null)
  1418. map['ProductNo'] = productNo;
  1419. map['Type'] = type;
  1420. map['ReportType'] = reportType.index;
  1421. map['Mode'] = mode.index;
  1422. if (timestamp != null)
  1423. map['Timestamp'] = JsonRpcUtils.dateFormat(timestamp!);
  1424. if (endpoint != null)
  1425. map['Endpoint'] = endpoint;
  1426. if (method != null)
  1427. map['Method'] = method;
  1428. if (reportAttributesJson != null)
  1429. map['ReportAttributesJson'] = reportAttributesJson;
  1430. return map;
  1431. }
  1432. }
  1433. class IOTDeviceRegisterRequest extends TokenRequest{
  1434. String? deviceModel;
  1435. String? deviceSN;
  1436. String? deviceMac;
  1437. String? deviceKey;
  1438. String? name;
  1439. String? description;
  1440. IOTDeviceRegisterRequest({
  1441. this.deviceModel,
  1442. this.deviceSN,
  1443. this.deviceMac,
  1444. this.deviceKey,
  1445. this.name,
  1446. this.description,
  1447. String? token,
  1448. }) : super(
  1449. token: token,
  1450. );
  1451. factory IOTDeviceRegisterRequest.fromJson(Map<String, dynamic> map) {
  1452. return IOTDeviceRegisterRequest(
  1453. deviceModel: map['DeviceModel'],
  1454. deviceSN: map['DeviceSN'],
  1455. deviceMac: map['DeviceMac'],
  1456. deviceKey: map['DeviceKey'],
  1457. name: map['Name'],
  1458. description: map['Description'],
  1459. token: map['Token'],
  1460. );
  1461. }
  1462. Map<String, dynamic> toJson() {
  1463. final map = super.toJson();
  1464. if (deviceModel != null)
  1465. map['DeviceModel'] = deviceModel;
  1466. if (deviceSN != null)
  1467. map['DeviceSN'] = deviceSN;
  1468. if (deviceMac != null)
  1469. map['DeviceMac'] = deviceMac;
  1470. if (deviceKey != null)
  1471. map['DeviceKey'] = deviceKey;
  1472. if (name != null)
  1473. map['Name'] = name;
  1474. if (description != null)
  1475. map['Description'] = description;
  1476. return map;
  1477. }
  1478. }
  1479. class IOTDeviceBasicDataResult {
  1480. int timestamp;
  1481. IOTDeviceBasicDataResult({
  1482. this.timestamp = 0,
  1483. });
  1484. factory IOTDeviceBasicDataResult.fromJson(Map<String, dynamic> map) {
  1485. return IOTDeviceBasicDataResult(
  1486. timestamp: map['Timestamp'],
  1487. );
  1488. }
  1489. Map<String, dynamic> toJson() {
  1490. final map = Map<String, dynamic>();
  1491. map['Timestamp'] = timestamp;
  1492. return map;
  1493. }
  1494. }
  1495. class IOTDeviceBasicWeatherResult {
  1496. double weatherType;
  1497. double temperature;
  1498. double humidity;
  1499. String? location;
  1500. IOTDeviceBasicWeatherResult({
  1501. this.weatherType = 0,
  1502. this.temperature = 0,
  1503. this.humidity = 0,
  1504. this.location,
  1505. });
  1506. factory IOTDeviceBasicWeatherResult.fromJson(Map<String, dynamic> map) {
  1507. return IOTDeviceBasicWeatherResult(
  1508. weatherType: double.parse(map['WeatherType'].toString()),
  1509. temperature: double.parse(map['Temperature'].toString()),
  1510. humidity: double.parse(map['Humidity'].toString()),
  1511. location: map['Location'],
  1512. );
  1513. }
  1514. Map<String, dynamic> toJson() {
  1515. final map = Map<String, dynamic>();
  1516. map['WeatherType'] = weatherType;
  1517. map['Temperature'] = temperature;
  1518. map['Humidity'] = humidity;
  1519. if (location != null) {
  1520. map['Location'] = location;
  1521. }
  1522. return map;
  1523. }
  1524. }
  1525. class IOTWeatherRequest extends TokenRequest{
  1526. String? location;
  1527. IOTWeatherRequest({
  1528. this.location,
  1529. String? token,
  1530. }) : super(
  1531. token: token,
  1532. );
  1533. factory IOTWeatherRequest.fromJson(Map<String, dynamic> map) {
  1534. return IOTWeatherRequest(
  1535. location: map['Location'],
  1536. token: map['Token'],
  1537. );
  1538. }
  1539. Map<String, dynamic> toJson() {
  1540. final map = super.toJson();
  1541. if (location != null)
  1542. map['Location'] = location;
  1543. return map;
  1544. }
  1545. }
  1546. class IOTDeviceConnectRequest extends IOTDeviceRegisterRequest{
  1547. int deviceType;
  1548. String? iP;
  1549. IOTDeviceConnectRequest({
  1550. this.deviceType = 0,
  1551. this.iP,
  1552. String? deviceModel,
  1553. String? deviceSN,
  1554. String? deviceMac,
  1555. String? deviceKey,
  1556. String? name,
  1557. String? description,
  1558. String? token,
  1559. }) : super(
  1560. deviceModel: deviceModel,
  1561. deviceSN: deviceSN,
  1562. deviceMac: deviceMac,
  1563. deviceKey: deviceKey,
  1564. name: name,
  1565. description: description,
  1566. token: token,
  1567. );
  1568. factory IOTDeviceConnectRequest.fromJson(Map<String, dynamic> map) {
  1569. return IOTDeviceConnectRequest(
  1570. deviceType: map['DeviceType'],
  1571. iP: map['IP'],
  1572. deviceModel: map['DeviceModel'],
  1573. deviceSN: map['DeviceSN'],
  1574. deviceMac: map['DeviceMac'],
  1575. deviceKey: map['DeviceKey'],
  1576. name: map['Name'],
  1577. description: map['Description'],
  1578. token: map['Token'],
  1579. );
  1580. }
  1581. Map<String, dynamic> toJson() {
  1582. final map = super.toJson();
  1583. map['DeviceType'] = deviceType;
  1584. if (iP != null)
  1585. map['IP'] = iP;
  1586. return map;
  1587. }
  1588. }