diff --git a/frontend/mining-app/lib/presentation/providers/trading_providers.dart b/frontend/mining-app/lib/presentation/providers/trading_providers.dart index a06cd7aa..969e7002 100644 --- a/frontend/mining-app/lib/presentation/providers/trading_providers.dart +++ b/frontend/mining-app/lib/presentation/providers/trading_providers.dart @@ -154,10 +154,17 @@ class KlinesNotifier extends StateNotifier { (k) => !existingTimes.contains(k.time.millisecondsSinceEpoch) ).toList(); + // 如果去重后没有新数据,说明已经没有更多历史了 + if (uniqueNewKlines.isEmpty) { + state = state.copyWith(isLoadingMore: false, hasMoreHistory: false); + return; + } + final combinedKlines = [...uniqueNewKlines, ...state.klines]; // 按时间排序 combinedKlines.sort((a, b) => a.time.compareTo(b.time)); + // 判断是否还有更多历史:返回数据少于100条说明到底了 state = state.copyWith( klines: combinedKlines, isLoadingMore: false,