Преглед изворни кода

[fit]修复快速点击同意隐私政策导致直接跳过新人流程的问题

云天逵 пре 7 месеци
родитељ
комит
0e71ab1ad8
2 измењених фајлова са 10 додато и 3 уклоњено
  1. 4 2
      lib/dialog/agreement_again_dialog.dart
  2. 6 1
      lib/dialog/agreement_dialog.dart

+ 4 - 2
lib/dialog/agreement_again_dialog.dart

@@ -39,8 +39,8 @@ class AgreementAgainDialog {
 class _AgreementAgainDialog extends Dialog {
   final VoidCallback cancelClick;
   final VoidCallback sureClick;
-
-  const _AgreementAgainDialog(this.cancelClick, this.sureClick);
+  bool _isClicked = false;
+   _AgreementAgainDialog(this.cancelClick, this.sureClick);
 
   @override
   Widget build(BuildContext context) {
@@ -148,6 +148,8 @@ class _AgreementAgainDialog extends Dialog {
                 children: [
                   Expanded(
                     child: sureText(StringName.privacyAgree, () {
+                      if (_isClicked) return;
+                      _isClicked = true;
                       sureClick();
                     }),
                   ),

+ 6 - 1
lib/dialog/agreement_dialog.dart

@@ -39,7 +39,7 @@ class AgreementDialog {
 class _AgreementDialog extends Dialog {
   final VoidCallback cancelClick;
   final VoidCallback sureClick;
-
+  bool _isClicked = false;
   _AgreementDialog(this.cancelClick, this.sureClick);
 
   @override
@@ -146,6 +146,11 @@ class _AgreementDialog extends Dialog {
 
                 SizedBox(width: 16.w),
                 sureText(StringName.privacyAgree, () {
+                  if (_isClicked) {
+                    return;
+                  }
+                  _isClicked = true;
+                  AgreementDialog.dismiss();
                   sureClick();
                 }),
               ],