fix: 状态更新

This commit is contained in:
2025-12-17 23:17:14 -08:00
parent 8f347d9183
commit 4f09267b4b
6 changed files with 37 additions and 18 deletions
@@ -1,6 +1,6 @@
import 'dart:async';
import 'dart:io' show Platform;
import 'package:kaer_with_panels/app/services/kr_subscribe_service.dart';
import 'package:get/get.dart';
import 'package:url_launcher/url_launcher.dart';
import '../../../services/api_service/kr_subscribe_api.dart';
@@ -11,11 +11,13 @@ import '../../../utils/kr_common_util.dart';
import '../../../localization/app_translations.dart';
import '../../../utils/kr_log_util.dart';
import 'package:flutter/foundation.dart';
import '';
/// 订单状态控制器(参考 Tauri 项目实现)
class KROrderStatusController extends GetxController {
/// API服务
final KRSubscribeApi kr_subscribeApi = KRSubscribeApi();
final KRSubscribeService kr_subscribeService = KRSubscribeService();
/// 支付是否成功
final RxBool kr_isPaymentSuccess = false.obs;
@@ -273,8 +275,14 @@ class KROrderStatusController extends GetxController {
kr_statusTitle.value = AppTranslations.kr_orderStatus.successTitle;
kr_statusDescription.value = AppTranslations.kr_orderStatus.successDescription;
kr_statusIcon.value = 'payment_success';
// 发送支付成功事件
KREventBus().kr_sendMessage(KRMessageType.kr_payment);
kr_subscribeService.kr_fetchAvailableSubscribes();
// 🔧 修复:移除自动发送事件,改为在用户点击返回按钮时发送
// 这样可以确保导航完成后才发送事件,避免旧控制器被销毁时收到事件
// KREventBus().kr_sendMessage(KRMessageType.kr_payment);
if (kDebugMode) {
print('✅ [OrderStatus] 订单完成,等待用户返回首页时触发刷新');
}
break;
case kr_statusClose:
@@ -8,6 +8,7 @@ import '../controllers/kr_order_status_controller.dart';
import 'package:kaer_with_panels/app/routes/app_pages.dart';
import 'package:kaer_with_panels/app/widgets/hi_base_scaffold.dart';
import 'package:kaer_with_panels/app/widgets/hi_help_entrance.dart';
import 'package:kaer_with_panels/app/utils/kr_event_bus.dart';
/// 订单状态视图
class KROrderStatusView extends GetView<KROrderStatusController> {
@@ -102,6 +103,7 @@ class KROrderStatusView extends GetView<KROrderStatusController> {
height: 48.h,
child: ElevatedButton(
onPressed: () {
KREventBus().kr_sendMessage(KRMessageType.kr_payment);
// 返回到首页(清空导航栈)
Get.offAllNamed(Routes.KR_HOME);
},