diff --git a/frontend/mining-app/lib/presentation/pages/asset/asset_page.dart b/frontend/mining-app/lib/presentation/pages/asset/asset_page.dart index 9a5ce4ce..6e865a5b 100644 --- a/frontend/mining-app/lib/presentation/pages/asset/asset_page.dart +++ b/frontend/mining-app/lib/presentation/pages/asset/asset_page.dart @@ -48,7 +48,10 @@ class _AssetPageState extends ConsumerState { /// 启动定时器(使用外部传入的每秒增长值) void _startTimerWithGrowth(AssetDisplay asset, String perSecondEarning) { // 防止重复启动 - if (_timerStarted && _refreshTimer != null) return; + if (_timerStarted && _refreshTimer != null) { + debugPrint('[AssetPage] Timer already started, skipping'); + return; + } _refreshTimer?.cancel(); _elapsedSeconds = 0; @@ -58,11 +61,14 @@ class _AssetPageState extends ConsumerState { _growthPerSecond = double.tryParse(perSecondEarning) ?? 0; _timerStarted = true; + debugPrint('[AssetPage] Starting timer: perSecondEarning=$perSecondEarning, growthPerSecond=$_growthPerSecond, initialDisplayValue=$_initialDisplayValue'); + _refreshTimer = Timer.periodic(const Duration(seconds: 1), (timer) { if (mounted) { setState(() { _elapsedSeconds++; }); + debugPrint('[AssetPage] Timer tick: $_elapsedSeconds, currentDisplayValue=$_currentDisplayValue'); } }); } @@ -105,10 +111,15 @@ class _AssetPageState extends ConsumerState { final perSecondEarning = shareAccount?.perSecondEarning ?? '0'; final hasValidGrowth = (double.tryParse(perSecondEarning) ?? 0) > 0; + // 调试日志 + debugPrint('[AssetPage] build: accountSequence=$accountSequence, asset=${asset != null}, shareAccount=${shareAccount != null}'); + debugPrint('[AssetPage] build: perSecondEarning=$perSecondEarning, hasValidGrowth=$hasValidGrowth, _timerStarted=$_timerStarted, _lastAccountSequence=$_lastAccountSequence'); + // 当数据加载完成时启动定时器 if (asset != null && hasValidGrowth) { // 账户切换或首次加载时重置并启动定时器 if (_lastAccountSequence != accountSequence) { + debugPrint('[AssetPage] Account changed or first load, resetting timer'); _lastAccountSequence = accountSequence; _lastAsset = asset; _resetTimer(); @@ -117,6 +128,7 @@ class _AssetPageState extends ConsumerState { }); } else if (!_timerStarted) { // 定时器未启动时启动(例如页面刚进入) + debugPrint('[AssetPage] Timer not started, starting now'); _lastAsset = asset; WidgetsBinding.instance.addPostFrameCallback((_) { if (mounted) _startTimerWithGrowth(asset, perSecondEarning); @@ -125,7 +137,10 @@ class _AssetPageState extends ConsumerState { _lastAsset = asset; } } else if (asset != null) { + debugPrint('[AssetPage] Asset loaded but no valid growth: perSecondEarning=$perSecondEarning'); _lastAsset = asset; + } else { + debugPrint('[AssetPage] Asset is null, waiting for data'); } return Scaffold(