fix: 更新诸多bug
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import 'package:get/get.dart';
|
||||
import 'package:easy_refresh/easy_refresh.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
|
||||
import '../../../services/api_service/kr_api.user.dart';
|
||||
import '../../../utils/kr_common_util.dart';
|
||||
@@ -85,6 +86,7 @@ class HIHelpController extends GetxController {
|
||||
int kr_page = 1;
|
||||
final int kr_size = 10;
|
||||
final EasyRefreshController refreshController = EasyRefreshController();
|
||||
final ScrollController kr_scrollController = ScrollController();
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
@@ -134,6 +136,7 @@ class HIHelpController extends GetxController {
|
||||
@override
|
||||
void onClose() {
|
||||
refreshController.dispose();
|
||||
kr_scrollController.dispose();
|
||||
super.onClose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,11 +25,10 @@ class HIHelpView extends GetView<HIHelpController> implements HasSwipeConfig {
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final ScrollController scrollController = ScrollController();
|
||||
|
||||
return HIBaseScaffold(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(left: 20),
|
||||
padding: const EdgeInsets.only(left: 0),
|
||||
child: Column(
|
||||
children: [
|
||||
Expanded(
|
||||
@@ -51,9 +50,9 @@ class HIHelpView extends GetView<HIHelpController> implements HasSwipeConfig {
|
||||
child: Padding(
|
||||
padding: EdgeInsets.only(right: 0.w), // 滚动条与内容间距
|
||||
child: HiFixedScrollbar(
|
||||
controller: scrollController,
|
||||
controller: controller.kr_scrollController,
|
||||
child: ListView.builder(
|
||||
controller: scrollController,
|
||||
controller: controller.kr_scrollController,
|
||||
padding: EdgeInsets.only(left: 40.w, right: 40.w),
|
||||
itemCount: controller.kr_messages.length,
|
||||
itemBuilder: (context, index) {
|
||||
|
||||
@@ -200,7 +200,9 @@ class KRHomeController extends GetxController with WidgetsBindingObserver {
|
||||
|
||||
// 检查当前是否已连接
|
||||
if (kr_isConnected.value) {
|
||||
KRLogUtil.kr_i('当前已连接,跳过自动连接', tag: 'QuickConnect');
|
||||
KRLogUtil.kr_i('当前已连接,同步线路信息', tag: 'QuickConnect');
|
||||
await _restoreSelectedNode();
|
||||
kr_updateConnectionInfo();
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1609,7 +1611,8 @@ class KRHomeController extends GetxController with WidgetsBindingObserver {
|
||||
|
||||
String actualTag;
|
||||
|
||||
if (kr_selectedCountryTag.value == 'auto') {
|
||||
if (kr_selectedCountryTag.value == 'auto' &&
|
||||
kr_cutSeletedTag.value.isNotEmpty) {
|
||||
actualTag = kr_cutSeletedTag.value;
|
||||
}
|
||||
// 🔧 优先策略:
|
||||
|
||||
@@ -21,6 +21,7 @@ class KRMessageController extends GetxController {
|
||||
controlFinishRefresh: true, // ⭐ 必须设置为 true
|
||||
controlFinishLoad: true, // 加载更多通常也需要手动控制
|
||||
);
|
||||
final ScrollController kr_scrollController = ScrollController();
|
||||
|
||||
@override
|
||||
void onInit() {
|
||||
@@ -86,6 +87,7 @@ class KRMessageController extends GetxController {
|
||||
@override
|
||||
void onClose() {
|
||||
refreshController.dispose();
|
||||
kr_scrollController.dispose();
|
||||
super.onClose();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,11 +26,10 @@ class KRMessageView extends GetView<KRMessageController>
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final ScrollController scrollController = ScrollController();
|
||||
|
||||
return HIBaseScaffold(
|
||||
child: Padding(
|
||||
padding: const EdgeInsets.only(left: 20),
|
||||
padding: const EdgeInsets.only(left: 0),
|
||||
child: Stack(
|
||||
children: [
|
||||
// 主要内容区域
|
||||
@@ -80,9 +79,9 @@ class KRMessageView extends GetView<KRMessageController>
|
||||
child: Padding(
|
||||
padding: EdgeInsets.only(right: 0.w),
|
||||
child: HiFixedScrollbar(
|
||||
controller: scrollController,
|
||||
controller: controller.kr_scrollController,
|
||||
child: ListView.builder(
|
||||
controller: scrollController,
|
||||
controller: controller.kr_scrollController,
|
||||
padding:
|
||||
EdgeInsets.only(left: 40.w, right: 40.w),
|
||||
itemCount: controller.kr_messages.length,
|
||||
|
||||
@@ -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