auto_renewal_controller.dart 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. import 'package:flutter/cupertino.dart';
  2. import 'package:get/get.dart';
  3. import 'package:injectable/injectable.dart';
  4. import 'package:keyboard/base/base_controller.dart';
  5. import 'package:keyboard/data/repository/account_repository.dart';
  6. import 'package:keyboard/resource/string.gen.dart';
  7. import 'package:keyboard/utils/toast_util.dart';
  8. import '../../data/repository/store_repository.dart';
  9. import '../../dialog/tips_dialog.dart';
  10. import '../../utils/atmob_log.dart';
  11. import '../../utils/http_handler.dart';
  12. @injectable
  13. class AutoRenewalController extends BaseController {
  14. final tag = "AutoRenewalController";
  15. final AccountRepository accountRepository;
  16. final StoreRepository storeRepository;
  17. RxBool get hasAutoRenewal => storeRepository.hasAutoRenewal;
  18. AutoRenewalController(this.accountRepository, this.storeRepository) {
  19. AtmobLog.d(tag, '$tag....init');
  20. checkMemberAgreement();
  21. }
  22. @override
  23. void onInit() {
  24. super.onInit();
  25. AtmobLog.d(tag, '$tag....onInit');
  26. }
  27. @override
  28. void onReady() {
  29. super.onReady();
  30. AtmobLog.d(tag, '$tag....onReady');
  31. }
  32. @override
  33. void onClose() {
  34. super.onClose();
  35. AtmobLog.d(tag, '$tag....onClose');
  36. }
  37. void clickBack() {
  38. Get.back();
  39. }
  40. void clickUnSignAutoRenewal(){
  41. TipsDialog.show(
  42. title: StringName.tipsDialogTitle,
  43. desc: StringName.autoRenewalTipDialogDesc,
  44. btnConfirmText: StringName.dialogCancel,
  45. btnCancelText: StringName.dialogClose,
  46. btnCancel: () {
  47. unSignAutoRenewal();
  48. },
  49. );
  50. }
  51. Future<void> unSignAutoRenewal() async {
  52. AtmobLog.d(tag, '$tag....unSignAutoRenewal');
  53. try {
  54. await storeRepository.unSignMemberAgreement();
  55. ToastUtil.show("已关闭自动续费服务");
  56. checkMemberAgreement();
  57. } catch (error) {
  58. if (error is ServerErrorException) {
  59. ToastUtil.show(error.message);
  60. } else {
  61. ToastUtil.show("请重试");
  62. }
  63. }
  64. }
  65. Future<void> checkMemberAgreement() async {
  66. AtmobLog.d(tag, '$tag....checkMemberAgreement');
  67. try {
  68. await storeRepository.checkMemberAgreement();
  69. } catch (error) {
  70. if (error is ServerErrorException) {
  71. ToastUtil.show(error.message);
  72. } else {
  73. debugPrint("checkMemberAgreement failed: $error");
  74. }
  75. }
  76. }
  77. }