/// 提示工具:统一封装 fluttertoast + flutter_easyloading library; import 'package:flutter/material.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:fluttertoast/fluttertoast.dart'; /// 显示成功提示 void showSuccessMessage(String message) { try { Fluttertoast.showToast( msg: message, toastLength: Toast.LENGTH_SHORT, gravity: ToastGravity.CENTER, ); } catch (_) { // Web 等无原生实现时静默降级,避免未捕获异常 } } /// 显示普通错误提示 void showErrorMessage(String message) { try { Fluttertoast.showToast( msg: message, toastLength: Toast.LENGTH_LONG, gravity: ToastGravity.CENTER, textColor: const Color.fromARGB(255, 255, 200, 200), ); } catch (_) { // Web 等无原生实现时静默降级,避免未捕获异常 } } /// 显示增强错误提示(带异常对象,仅 debug 输出详情) void showErrorMessageEnhanced(Object error) { // 在 debug 模式打印堆栈便于排查 assert(() { debugPrint('[paydemo] error: $error'); return true; }()); showErrorMessage(error.toString()); } /// 打开加载遮罩 void startLoading({String? status}) { EasyLoading.show(status: status ?? '支付处理中...'); } /// 关闭加载遮罩 void stopLoading() { EasyLoading.dismiss(); }