signup_model.dart 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. // ignore_for_file: constant_identifier_names
  2. import 'package:flutter/material.dart';
  3. import 'package:provider/provider.dart';
  4. import 'package:flutter/foundation.dart';
  5. import 'package:gozap_package/components/apiservices.dart';
  6. import 'package:gozap_package/models/user/user_model.dart';
  7. enum SignupModelStatus {
  8. Ended,
  9. Loading,
  10. Error,
  11. }
  12. class SignupModel extends ChangeNotifier {
  13. late SignupModelStatus _status;
  14. late String _errorCode;
  15. late String _errorMessage;
  16. String get errorCode => _errorCode;
  17. String get errorMessage => _errorMessage;
  18. SignupModelStatus get status => _status;
  19. SignupModel();
  20. SignupModel.instance() {
  21. // ignore: todo
  22. //TODO Add code here
  23. getter();
  24. }
  25. void getter() {
  26. _status = SignupModelStatus.Loading;
  27. notifyListeners();
  28. // ignore: todo
  29. //TODO Add code here
  30. _status = SignupModelStatus.Ended;
  31. notifyListeners();
  32. }
  33. Future<void> setter(BuildContext context,
  34. {Map<String, dynamic>? data, required Widget nextScreen}) async {
  35. _status = SignupModelStatus.Loading;
  36. notifyListeners();
  37. try {
  38. var resdata = await APIService(context).postData(
  39. "http://localhost/cygnusa/batterySwap/api/User/signup.php",
  40. {
  41. "name": data!["name"],
  42. "phonenumber": data["phonenumber"],
  43. "password": data["password"],
  44. "DEID": data["DEID"],
  45. },
  46. false);
  47. if (resdata != null) {
  48. UserModule userModule = UserModule.fromJson(resdata);
  49. // ignore: use_build_context_synchronously
  50. await Provider.of<userChangeNotifier>(context, listen: false)
  51. .set(context, userModule, true, nextScreen);
  52. }
  53. } catch (e) {
  54. if (kDebugMode) {
  55. print(e);
  56. }
  57. }
  58. _status = SignupModelStatus.Ended;
  59. notifyListeners();
  60. }
  61. void update() {
  62. _status = SignupModelStatus.Loading;
  63. notifyListeners();
  64. // ignore: todo
  65. //TODO Add code here
  66. _status = SignupModelStatus.Ended;
  67. notifyListeners();
  68. }
  69. void remove() {
  70. _status = SignupModelStatus.Loading;
  71. notifyListeners();
  72. // ignore: todo
  73. //TODO Add code here
  74. _status = SignupModelStatus.Ended;
  75. notifyListeners();
  76. }
  77. }