ソースを参照

[modify]调整toast

zk 1 年間 前
コミット
435d088683
2 ファイル変更15 行追加9 行削除
  1. 5 6
      lib/module/store/controller.dart
  2. 10 3
      lib/utils/toast_util.dart

+ 5 - 6
lib/module/store/controller.dart

@@ -178,16 +178,15 @@ class StoreController extends BaseController implements PaymentStatusCallback {
 
   void errorPayToast(int errno) {
     if (errno == AgilePayCode.payCodeNotSupport) {
-      ToastUtil.showToast(StringName.storePayNotSupport.tr, addPostFrame: true);
+      ToastUtil.showToast(StringName.storePayNotSupport.tr);
     } else if (errno == AgilePayCode.payCodeCancelError) {
-      ToastUtil.showToast(StringName.storePayUserCancel.tr, addPostFrame: true);
+      ToastUtil.showToast(StringName.storePayUserCancel.tr);
     } else if (errno == AgilePayCode.payCodeWxEnvError) {
-      ToastUtil.showToast(StringName.storePayWxEvnError.tr, addPostFrame: true);
+      ToastUtil.showToast(StringName.storePayWxEvnError.tr);
     } else if (errno == AgilePayCode.payCodeNotConnectStore) {
-      ToastUtil.showToast(StringName.storePayNotConnectstore.tr,
-          addPostFrame: true);
+      ToastUtil.showToast(StringName.storePayNotConnectstore.tr);
     } else {
-      ToastUtil.showToast(StringName.storePayError.tr, addPostFrame: true);
+      ToastUtil.showToast(StringName.storePayError.tr);
     }
   }
 

+ 10 - 3
lib/utils/toast_util.dart

@@ -1,4 +1,4 @@
-import 'package:flutter/scheduler.dart';
+import 'package:flutter/cupertino.dart';
 import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
 
 class ToastUtil {
@@ -9,8 +9,15 @@ class ToastUtil {
       SmartToastType? displayType = SmartToastType.normal,
       bool? addPostFrame}) {
     if (msg != null) {
-      SmartDialog.showToast(msg,
-          displayType: displayType, displayTime: displayTime);
+      if (addPostFrame == true) {
+        WidgetsBinding.instance.addPostFrameCallback((_) {
+          SmartDialog.showToast(msg,
+              displayType: displayType, displayTime: displayTime);
+        });
+      } else {
+        SmartDialog.showToast(msg,
+            displayType: displayType, displayTime: displayTime);
+      }
     }
   }
 }