fix: 更新诸多bug
This commit is contained in:
@@ -11,10 +11,10 @@ import '../../../utils/kr_common_util.dart';
|
||||
import '../../../localization/app_translations.dart';
|
||||
import '../../../utils/kr_log_util.dart';
|
||||
import 'package:flutter/foundation.dart';
|
||||
import '';
|
||||
import 'package:flutter/widgets.dart';
|
||||
|
||||
/// 订单状态控制器(参考 Tauri 项目实现)
|
||||
class KROrderStatusController extends GetxController {
|
||||
class KROrderStatusController extends GetxController with WidgetsBindingObserver {
|
||||
/// API服务
|
||||
final KRSubscribeApi kr_subscribeApi = KRSubscribeApi();
|
||||
final KRSubscribeService kr_subscribeService = KRSubscribeService();
|
||||
@@ -99,6 +99,9 @@ class KROrderStatusController extends GetxController {
|
||||
kr_checkPaymentStatus();
|
||||
// 启动轮询和倒计时
|
||||
kr_startCheckingPaymentStatus();
|
||||
|
||||
// 添加生命周期监听
|
||||
WidgetsBinding.instance.addObserver(this);
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -114,9 +117,25 @@ class KROrderStatusController extends GetxController {
|
||||
}
|
||||
kr_timer?.cancel();
|
||||
kr_countdownTimer?.cancel();
|
||||
// 移除生命周期监听
|
||||
WidgetsBinding.instance.removeObserver(this);
|
||||
super.onClose();
|
||||
}
|
||||
|
||||
@override
|
||||
void didChangeAppLifecycleState(AppLifecycleState state) {
|
||||
super.didChangeAppLifecycleState(state);
|
||||
if (state == AppLifecycleState.resumed) {
|
||||
if (kDebugMode) {
|
||||
print('📱 App 恢复前台,立即更新倒计时和订单状态');
|
||||
}
|
||||
// 立即触发一次倒计时更新
|
||||
kr_updateCountdown();
|
||||
// 立即检查一次订单状态
|
||||
kr_checkPaymentStatus();
|
||||
}
|
||||
}
|
||||
|
||||
/// 开始检查支付状态(参考 Tauri 项目:5秒轮询一次)
|
||||
void kr_startCheckingPaymentStatus() {
|
||||
if (kDebugMode) {
|
||||
|
||||
Reference in New Issue
Block a user