login.m.dart 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788
  1. import 'authentication.m.dart';
  2. import 'notification.m.dart';
  3. import 'liveConsultation.m.dart';
  4. enum LoginStateEnum {
  5. Succeed,
  6. PasswordIncorrect,
  7. }
  8. class LoginResult {
  9. LoginStateEnum loginState;
  10. String? token;
  11. int? lockRemainingTimes;
  12. bool passwordExpired;
  13. String? accountName;
  14. LoginResult({
  15. this.loginState = LoginStateEnum.Succeed,
  16. this.token,
  17. this.lockRemainingTimes,
  18. this.passwordExpired = false,
  19. this.accountName,
  20. });
  21. factory LoginResult.fromJson(Map<String, dynamic> map) {
  22. return LoginResult(
  23. loginState: LoginStateEnum.values.firstWhere((e) => e.index == map['LoginState']),
  24. token: map['Token'],
  25. lockRemainingTimes: map['LockRemainingTimes'],
  26. passwordExpired: map['PasswordExpired'],
  27. accountName: map['AccountName'],
  28. );
  29. }
  30. Map<String, dynamic> toJson() {
  31. final map = Map<String, dynamic>();
  32. map['LoginState'] = loginState.index;
  33. if(token != null) {
  34. map['Token'] = token;
  35. }
  36. if(lockRemainingTimes != null) {
  37. map['LockRemainingTimes'] = lockRemainingTimes;
  38. }
  39. map['PasswordExpired'] = passwordExpired;
  40. if(accountName != null) {
  41. map['AccountName'] = accountName;
  42. }
  43. return map;
  44. }
  45. }
  46. class CommonLoginRequest {
  47. String? anyAccount;
  48. String? anyCode;
  49. String? password;
  50. Map<String,String>? headerMap;
  51. Platform platform;
  52. LoginSource loginSource;
  53. String? installVersion;
  54. CommonLoginRequest({
  55. this.anyAccount,
  56. this.anyCode,
  57. this.password,
  58. this.headerMap,
  59. this.platform = Platform.Windows,
  60. this.loginSource = LoginSource.PC,
  61. this.installVersion,
  62. });
  63. factory CommonLoginRequest.fromJson(Map<String, dynamic> map) {
  64. return CommonLoginRequest(
  65. anyAccount: map['AnyAccount'],
  66. anyCode: map['AnyCode'],
  67. password: map['Password'],
  68. headerMap: map['HeaderMap']?.cast<String,String>(),
  69. platform: Platform.values.firstWhere((e) => e.index == map['Platform']),
  70. loginSource: LoginSource.values.firstWhere((e) => e.index == map['LoginSource']),
  71. installVersion: map['InstallVersion'],
  72. );
  73. }
  74. Map<String, dynamic> toJson() {
  75. final map = Map<String, dynamic>();
  76. if(anyAccount != null) {
  77. map['AnyAccount'] = anyAccount;
  78. }
  79. if(anyCode != null) {
  80. map['AnyCode'] = anyCode;
  81. }
  82. if(password != null) {
  83. map['Password'] = password;
  84. }
  85. if(headerMap != null) {
  86. map['HeaderMap'] = headerMap;
  87. }
  88. map['Platform'] = platform.index;
  89. map['LoginSource'] = loginSource.index;
  90. if(installVersion != null) {
  91. map['InstallVersion'] = installVersion;
  92. }
  93. return map;
  94. }
  95. }
  96. class CheckLoginTypeRequest {
  97. String? anyAccount;
  98. CheckLoginTypeRequest({
  99. this.anyAccount,
  100. });
  101. factory CheckLoginTypeRequest.fromJson(Map<String, dynamic> map) {
  102. return CheckLoginTypeRequest(
  103. anyAccount: map['AnyAccount'],
  104. );
  105. }
  106. Map<String, dynamic> toJson() {
  107. final map = Map<String, dynamic>();
  108. if(anyAccount != null) {
  109. map['AnyAccount'] = anyAccount;
  110. }
  111. return map;
  112. }
  113. }
  114. class CommonSignUpRequest {
  115. String? anyAccount;
  116. String? anyCode;
  117. String? password;
  118. Map<String,String>? headerMap;
  119. CommonSignUpRequest({
  120. this.anyAccount,
  121. this.anyCode,
  122. this.password,
  123. this.headerMap,
  124. });
  125. factory CommonSignUpRequest.fromJson(Map<String, dynamic> map) {
  126. return CommonSignUpRequest(
  127. anyAccount: map['AnyAccount'],
  128. anyCode: map['AnyCode'],
  129. password: map['Password'],
  130. headerMap: map['HeaderMap']?.cast<String,String>(),
  131. );
  132. }
  133. Map<String, dynamic> toJson() {
  134. final map = Map<String, dynamic>();
  135. if(anyAccount != null) {
  136. map['AnyAccount'] = anyAccount;
  137. }
  138. if(anyCode != null) {
  139. map['AnyCode'] = anyCode;
  140. }
  141. if(password != null) {
  142. map['Password'] = password;
  143. }
  144. if(headerMap != null) {
  145. map['HeaderMap'] = headerMap;
  146. }
  147. return map;
  148. }
  149. }
  150. class CheckSMSVerificationCodeRequest {
  151. String? userPhone;
  152. String? verifyCode;
  153. CheckSMSVerificationCodeRequest({
  154. this.userPhone,
  155. this.verifyCode,
  156. });
  157. factory CheckSMSVerificationCodeRequest.fromJson(Map<String, dynamic> map) {
  158. return CheckSMSVerificationCodeRequest(
  159. userPhone: map['UserPhone'],
  160. verifyCode: map['VerifyCode'],
  161. );
  162. }
  163. Map<String, dynamic> toJson() {
  164. final map = Map<String, dynamic>();
  165. if(userPhone != null) {
  166. map['UserPhone'] = userPhone;
  167. }
  168. if(verifyCode != null) {
  169. map['VerifyCode'] = verifyCode;
  170. }
  171. return map;
  172. }
  173. }
  174. class SendSMSVerificationCodeRequest {
  175. String? userPhone;
  176. SendSMSVerificationCodeRequest({
  177. this.userPhone,
  178. });
  179. factory SendSMSVerificationCodeRequest.fromJson(Map<String, dynamic> map) {
  180. return SendSMSVerificationCodeRequest(
  181. userPhone: map['UserPhone'],
  182. );
  183. }
  184. Map<String, dynamic> toJson() {
  185. final map = Map<String, dynamic>();
  186. if(userPhone != null) {
  187. map['UserPhone'] = userPhone;
  188. }
  189. return map;
  190. }
  191. }
  192. class SendEmailVerificationCodeRequest {
  193. String? emailAddress;
  194. String? languageCode;
  195. SendEmailVerificationCodeRequest({
  196. this.emailAddress,
  197. this.languageCode,
  198. });
  199. factory SendEmailVerificationCodeRequest.fromJson(Map<String, dynamic> map) {
  200. return SendEmailVerificationCodeRequest(
  201. emailAddress: map['EmailAddress'],
  202. languageCode: map['LanguageCode'],
  203. );
  204. }
  205. Map<String, dynamic> toJson() {
  206. final map = Map<String, dynamic>();
  207. if(emailAddress != null) {
  208. map['EmailAddress'] = emailAddress;
  209. }
  210. if(languageCode != null) {
  211. map['LanguageCode'] = languageCode;
  212. }
  213. return map;
  214. }
  215. }
  216. class CheckEmailVerificationCodeRequest {
  217. String? emailAddress;
  218. String? verifyCode;
  219. CheckEmailVerificationCodeRequest({
  220. this.emailAddress,
  221. this.verifyCode,
  222. });
  223. factory CheckEmailVerificationCodeRequest.fromJson(Map<String, dynamic> map) {
  224. return CheckEmailVerificationCodeRequest(
  225. emailAddress: map['EmailAddress'],
  226. verifyCode: map['VerifyCode'],
  227. );
  228. }
  229. Map<String, dynamic> toJson() {
  230. final map = Map<String, dynamic>();
  231. if(emailAddress != null) {
  232. map['EmailAddress'] = emailAddress;
  233. }
  234. if(verifyCode != null) {
  235. map['VerifyCode'] = verifyCode;
  236. }
  237. return map;
  238. }
  239. }
  240. class RetrievePasswordByPhoneRequest {
  241. String? phone;
  242. String? verifyCode;
  243. String? newPassword;
  244. RetrievePasswordByPhoneRequest({
  245. this.phone,
  246. this.verifyCode,
  247. this.newPassword,
  248. });
  249. factory RetrievePasswordByPhoneRequest.fromJson(Map<String, dynamic> map) {
  250. return RetrievePasswordByPhoneRequest(
  251. phone: map['Phone'],
  252. verifyCode: map['VerifyCode'],
  253. newPassword: map['NewPassword'],
  254. );
  255. }
  256. Map<String, dynamic> toJson() {
  257. final map = Map<String, dynamic>();
  258. if(phone != null) {
  259. map['Phone'] = phone;
  260. }
  261. if(verifyCode != null) {
  262. map['VerifyCode'] = verifyCode;
  263. }
  264. if(newPassword != null) {
  265. map['NewPassword'] = newPassword;
  266. }
  267. return map;
  268. }
  269. }
  270. class RetrievePasswordByEmailRequest {
  271. String? mail;
  272. String? verifyCode;
  273. String? newPassword;
  274. RetrievePasswordByEmailRequest({
  275. this.mail,
  276. this.verifyCode,
  277. this.newPassword,
  278. });
  279. factory RetrievePasswordByEmailRequest.fromJson(Map<String, dynamic> map) {
  280. return RetrievePasswordByEmailRequest(
  281. mail: map['Mail'],
  282. verifyCode: map['VerifyCode'],
  283. newPassword: map['NewPassword'],
  284. );
  285. }
  286. Map<String, dynamic> toJson() {
  287. final map = Map<String, dynamic>();
  288. if(mail != null) {
  289. map['Mail'] = mail;
  290. }
  291. if(verifyCode != null) {
  292. map['VerifyCode'] = verifyCode;
  293. }
  294. if(newPassword != null) {
  295. map['NewPassword'] = newPassword;
  296. }
  297. return map;
  298. }
  299. }
  300. class VerifyAccountRequest {
  301. String? userName;
  302. VerifyAccountRequest({
  303. this.userName,
  304. });
  305. factory VerifyAccountRequest.fromJson(Map<String, dynamic> map) {
  306. return VerifyAccountRequest(
  307. userName: map['UserName'],
  308. );
  309. }
  310. Map<String, dynamic> toJson() {
  311. final map = Map<String, dynamic>();
  312. if(userName != null) {
  313. map['UserName'] = userName;
  314. }
  315. return map;
  316. }
  317. }
  318. class ModifyPasswordRequest extends CommonSignUpRequest{
  319. String? token;
  320. String? newPassword;
  321. ModifyPasswordRequest({
  322. this.token,
  323. this.newPassword,
  324. String? anyAccount,
  325. String? anyCode,
  326. String? password,
  327. Map<String,String>? headerMap,
  328. }) : super(
  329. anyAccount: anyAccount,
  330. anyCode: anyCode,
  331. password: password,
  332. headerMap: headerMap,
  333. );
  334. factory ModifyPasswordRequest.fromJson(Map<String, dynamic> map) {
  335. return ModifyPasswordRequest(
  336. token: map['Token'],
  337. newPassword: map['NewPassword'],
  338. anyAccount: map['AnyAccount'],
  339. anyCode: map['AnyCode'],
  340. password: map['Password'],
  341. headerMap: map['HeaderMap']?.cast<String,String>(),
  342. );
  343. }
  344. Map<String, dynamic> toJson() {
  345. final map = super.toJson();
  346. if(token != null)
  347. map['Token'] = token;
  348. if(newPassword != null)
  349. map['NewPassword'] = newPassword;
  350. return map;
  351. }
  352. }
  353. class GenerateNewPasswordRequest extends TokenRequest{
  354. GenerateNewPasswordRequest({
  355. String? token,
  356. }) : super(
  357. token: token,
  358. );
  359. factory GenerateNewPasswordRequest.fromJson(Map<String, dynamic> map) {
  360. return GenerateNewPasswordRequest(
  361. token: map['Token'],
  362. );
  363. }
  364. Map<String, dynamic> toJson() {
  365. final map = super.toJson();
  366. return map;
  367. }
  368. }
  369. enum AssociatedAccountResultEnum {
  370. Success,
  371. UserNotFind,
  372. UserNameIsEmpty,
  373. Error,
  374. }
  375. class StartAssociatedWithAccountResult {
  376. bool isSuccess;
  377. AssociatedAccountResultEnum state;
  378. StartAssociatedWithAccountResult({
  379. this.isSuccess = false,
  380. this.state = AssociatedAccountResultEnum.Success,
  381. });
  382. factory StartAssociatedWithAccountResult.fromJson(Map<String, dynamic> map) {
  383. return StartAssociatedWithAccountResult(
  384. isSuccess: map['IsSuccess'],
  385. state: AssociatedAccountResultEnum.values.firstWhere((e) => e.index == map['State']),
  386. );
  387. }
  388. Map<String, dynamic> toJson() {
  389. final map = Map<String, dynamic>();
  390. map['IsSuccess'] = isSuccess;
  391. map['State'] = state.index;
  392. return map;
  393. }
  394. }
  395. class StartAssociatedWithAccountRequest extends TokenRequest{
  396. String? wingUserName;
  397. String? thirdPartyUserId;
  398. String? languageCode;
  399. bool needPullData;
  400. StartAssociatedWithAccountRequest({
  401. this.wingUserName,
  402. this.thirdPartyUserId,
  403. this.languageCode,
  404. this.needPullData = false,
  405. String? token,
  406. }) : super(
  407. token: token,
  408. );
  409. factory StartAssociatedWithAccountRequest.fromJson(Map<String, dynamic> map) {
  410. return StartAssociatedWithAccountRequest(
  411. wingUserName: map['WingUserName'],
  412. thirdPartyUserId: map['ThirdPartyUserId'],
  413. languageCode: map['LanguageCode'],
  414. needPullData: map['NeedPullData'],
  415. token: map['Token'],
  416. );
  417. }
  418. Map<String, dynamic> toJson() {
  419. final map = super.toJson();
  420. if(wingUserName != null)
  421. map['WingUserName'] = wingUserName;
  422. if(thirdPartyUserId != null)
  423. map['ThirdPartyUserId'] = thirdPartyUserId;
  424. if(languageCode != null)
  425. map['LanguageCode'] = languageCode;
  426. map['NeedPullData'] = needPullData;
  427. return map;
  428. }
  429. }
  430. class AssociatedFeatureInfoDTO extends AssociatedInfoDTO{
  431. String? featureCode;
  432. AssociatedFeatureInfoDTO({
  433. this.featureCode,
  434. String? id,
  435. String? relationName,
  436. String? title,
  437. String? cTitle,
  438. String? eTitle,
  439. String? icon,
  440. String? description,
  441. String? url,
  442. int index = 0,
  443. }) : super(
  444. id: id,
  445. relationName: relationName,
  446. title: title,
  447. cTitle: cTitle,
  448. eTitle: eTitle,
  449. icon: icon,
  450. description: description,
  451. url: url,
  452. index: index,
  453. );
  454. factory AssociatedFeatureInfoDTO.fromJson(Map<String, dynamic> map) {
  455. return AssociatedFeatureInfoDTO(
  456. featureCode: map['FeatureCode'],
  457. id: map['Id'],
  458. relationName: map['RelationName'],
  459. title: map['Title'],
  460. cTitle: map['CTitle'],
  461. eTitle: map['ETitle'],
  462. icon: map['Icon'],
  463. description: map['Description'],
  464. url: map['Url'],
  465. index: map['Index'],
  466. );
  467. }
  468. Map<String, dynamic> toJson() {
  469. final map = super.toJson();
  470. if(featureCode != null)
  471. map['FeatureCode'] = featureCode;
  472. return map;
  473. }
  474. }
  475. class GetAssociatedAccountInfoResult {
  476. bool isSuccess;
  477. List<AssociatedFeatureInfoDTO>? accountInfoList;
  478. GetAssociatedAccountInfoResult({
  479. this.isSuccess = false,
  480. this.accountInfoList,
  481. });
  482. factory GetAssociatedAccountInfoResult.fromJson(Map<String, dynamic> map) {
  483. return GetAssociatedAccountInfoResult(
  484. isSuccess: map['IsSuccess'],
  485. accountInfoList: map['AccountInfoList'] != null ? (map['AccountInfoList'] as List).map((e)=>AssociatedFeatureInfoDTO.fromJson(e as Map<String,dynamic>)).toList() : null,
  486. );
  487. }
  488. Map<String, dynamic> toJson() {
  489. final map = Map<String, dynamic>();
  490. map['IsSuccess'] = isSuccess;
  491. if(accountInfoList != null) {
  492. map['AccountInfoList'] = accountInfoList;
  493. }
  494. return map;
  495. }
  496. }
  497. enum AssociateTypeEnum {
  498. FeedbackSystem,
  499. AgentAssessmentSystem,
  500. }
  501. class GetAssociatedAccountInfoRequest extends TokenRequest{
  502. AssociateTypeEnum? associateType;
  503. GetAssociatedAccountInfoRequest({
  504. this.associateType,
  505. String? token,
  506. }) : super(
  507. token: token,
  508. );
  509. factory GetAssociatedAccountInfoRequest.fromJson(Map<String, dynamic> map) {
  510. return GetAssociatedAccountInfoRequest(
  511. associateType: map['AssociateType'] != null ? AssociateTypeEnum.values.firstWhere((e) => e.index == map['AssociateType']) : null,
  512. token: map['Token'],
  513. );
  514. }
  515. Map<String, dynamic> toJson() {
  516. final map = super.toJson();
  517. if(associateType != null)
  518. map['AssociateType'] = associateType;
  519. return map;
  520. }
  521. }
  522. class ClearAssociatedWithAccountResult {
  523. bool isSuccess;
  524. AssociatedAccountResultEnum state;
  525. ClearAssociatedWithAccountResult({
  526. this.isSuccess = false,
  527. this.state = AssociatedAccountResultEnum.Success,
  528. });
  529. factory ClearAssociatedWithAccountResult.fromJson(Map<String, dynamic> map) {
  530. return ClearAssociatedWithAccountResult(
  531. isSuccess: map['IsSuccess'],
  532. state: AssociatedAccountResultEnum.values.firstWhere((e) => e.index == map['State']),
  533. );
  534. }
  535. Map<String, dynamic> toJson() {
  536. final map = Map<String, dynamic>();
  537. map['IsSuccess'] = isSuccess;
  538. map['State'] = state.index;
  539. return map;
  540. }
  541. }
  542. class ClearAssociatedWithAccountRequest extends TokenRequest{
  543. String? thirdPartyUserId;
  544. ClearAssociatedWithAccountRequest({
  545. this.thirdPartyUserId,
  546. String? token,
  547. }) : super(
  548. token: token,
  549. );
  550. factory ClearAssociatedWithAccountRequest.fromJson(Map<String, dynamic> map) {
  551. return ClearAssociatedWithAccountRequest(
  552. thirdPartyUserId: map['ThirdPartyUserId'],
  553. token: map['Token'],
  554. );
  555. }
  556. Map<String, dynamic> toJson() {
  557. final map = super.toJson();
  558. if(thirdPartyUserId != null)
  559. map['ThirdPartyUserId'] = thirdPartyUserId;
  560. return map;
  561. }
  562. }
  563. class GetScanCodeResult {
  564. int validSeconds;
  565. String? scanCode;
  566. GetScanCodeResult({
  567. this.validSeconds = 0,
  568. this.scanCode,
  569. });
  570. factory GetScanCodeResult.fromJson(Map<String, dynamic> map) {
  571. return GetScanCodeResult(
  572. validSeconds: map['ValidSeconds'],
  573. scanCode: map['ScanCode'],
  574. );
  575. }
  576. Map<String, dynamic> toJson() {
  577. final map = Map<String, dynamic>();
  578. map['ValidSeconds'] = validSeconds;
  579. if(scanCode != null) {
  580. map['ScanCode'] = scanCode;
  581. }
  582. return map;
  583. }
  584. }
  585. enum ScanLoginSource {
  586. PC,
  587. Web,
  588. US,
  589. }
  590. class GetScanCodeRequest {
  591. ScanLoginSource scanLoginSource;
  592. Platform platform;
  593. String? installVersion;
  594. GetScanCodeRequest({
  595. this.scanLoginSource = ScanLoginSource.PC,
  596. this.platform = Platform.Windows,
  597. this.installVersion,
  598. });
  599. factory GetScanCodeRequest.fromJson(Map<String, dynamic> map) {
  600. return GetScanCodeRequest(
  601. scanLoginSource: ScanLoginSource.values.firstWhere((e) => e.index == map['ScanLoginSource']),
  602. platform: Platform.values.firstWhere((e) => e.index == map['Platform']),
  603. installVersion: map['InstallVersion'],
  604. );
  605. }
  606. Map<String, dynamic> toJson() {
  607. final map = Map<String, dynamic>();
  608. map['ScanLoginSource'] = scanLoginSource.index;
  609. map['Platform'] = platform.index;
  610. if(installVersion != null) {
  611. map['InstallVersion'] = installVersion;
  612. }
  613. return map;
  614. }
  615. }
  616. class ConfirmScanRequest extends TokenRequest{
  617. String? scanCode;
  618. ConfirmScanRequest({
  619. this.scanCode,
  620. String? token,
  621. }) : super(
  622. token: token,
  623. );
  624. factory ConfirmScanRequest.fromJson(Map<String, dynamic> map) {
  625. return ConfirmScanRequest(
  626. scanCode: map['ScanCode'],
  627. token: map['Token'],
  628. );
  629. }
  630. Map<String, dynamic> toJson() {
  631. final map = super.toJson();
  632. if(scanCode != null)
  633. map['ScanCode'] = scanCode;
  634. return map;
  635. }
  636. }
  637. enum CheckConfirmScanState {
  638. Wait,
  639. Success,
  640. Expire,
  641. }
  642. class CheckConfirmScanStateResult {
  643. CheckConfirmScanState checkConfirmScanState;
  644. LoginResult? loginResult;
  645. CheckConfirmScanStateResult({
  646. this.checkConfirmScanState = CheckConfirmScanState.Wait,
  647. this.loginResult,
  648. });
  649. factory CheckConfirmScanStateResult.fromJson(Map<String, dynamic> map) {
  650. return CheckConfirmScanStateResult(
  651. checkConfirmScanState: CheckConfirmScanState.values.firstWhere((e) => e.index == map['CheckConfirmScanState']),
  652. loginResult: map['LoginResult'] != null ? LoginResult.fromJson(map['LoginResult']) : null,
  653. );
  654. }
  655. Map<String, dynamic> toJson() {
  656. final map = Map<String, dynamic>();
  657. map['CheckConfirmScanState'] = checkConfirmScanState.index;
  658. if(loginResult != null) {
  659. map['LoginResult'] = loginResult;
  660. }
  661. return map;
  662. }
  663. }
  664. class CheckConfirmScanStateRequest {
  665. String? scanCode;
  666. CheckConfirmScanStateRequest({
  667. this.scanCode,
  668. });
  669. factory CheckConfirmScanStateRequest.fromJson(Map<String, dynamic> map) {
  670. return CheckConfirmScanStateRequest(
  671. scanCode: map['ScanCode'],
  672. );
  673. }
  674. Map<String, dynamic> toJson() {
  675. final map = Map<String, dynamic>();
  676. if(scanCode != null) {
  677. map['ScanCode'] = scanCode;
  678. }
  679. return map;
  680. }
  681. }