fix(mining-app): 资产页面数据一致性修复与冗余估值隐藏

问题:
1. 总资产估值(顶部)使用 WebSocket 实时推送的价格和销毁倍数计算,
   而积分股列表项中的"≈ xxx 积分值"使用 API 返回的静态值计算,
   导致两处显示的积分值不一致(因自动销毁每分钟改变价格参数)。
2. 修复数据源统一后,积分股下方的"≈ xxx 积分值"与顶部总资产估值
   完全相同,显示冗余。

修改:
- _buildAssetList 中的 multiplier 和 currentPrice 改为优先使用
  WebSocket 实时值(_currentBurnMultiplier / _currentPrice),
  API 值仅作为 fallback,确保与 _calculateTotalAssetValue 一致
- 暂时隐藏积分股条目下方的"≈ xxx 积分值"显示(注释保留,便于恢复)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
hailin 2026-02-13 22:57:41 -08:00
parent 07f7f26948
commit d27f327f9c
1 changed files with 8 additions and 5 deletions

View File

@ -497,9 +497,12 @@ class _AssetPageState extends ConsumerState<AssetPage> {
final shareBalance = asset != null && currentShareBalance > 0
? currentShareBalance
: double.tryParse(asset?.shareBalance ?? '0') ?? 0;
final multiplier = double.tryParse(asset?.burnMultiplier ?? '0') ?? 0;
// 使 WebSocket
final multiplier = double.tryParse(
_currentBurnMultiplier != '0' ? _currentBurnMultiplier : (asset?.burnMultiplier ?? '0')) ?? 0;
final multipliedAsset = shareBalance * multiplier;
final currentPrice = double.tryParse(asset?.currentPrice ?? '0') ?? 0;
final currentPrice = double.tryParse(
_currentPrice != '0' ? _currentPrice : (asset?.currentPrice ?? '0')) ?? 0;
final isDark = AppColors.isDark(context);
//
@ -517,9 +520,9 @@ class _AssetPageState extends ConsumerState<AssetPage> {
title: '积分股',
amount: asset != null ? shareBalance.toString() : null,
isLoading: isLoading,
valueInCny: asset != null
? '${formatAmount((shareBalance * (1 + multiplier) * currentPrice).toString())} 积分值'
: null,
// valueInCny: asset != null
// ? '${formatAmount((shareBalance * (1 + multiplier) * currentPrice).toString())} 积分值'
// : null, // 使
// tag: asset != null ? '含倍数资产: ${formatCompact(multipliedAsset.toString())}' : null, //
growthText: asset != null ? '每秒 +${formatDecimal(perSecondEarning, 8)}' : null,
),