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:
parent
07f7f26948
commit
d27f327f9c
|
|
@ -497,9 +497,12 @@ class _AssetPageState extends ConsumerState<AssetPage> {
|
||||||
final shareBalance = asset != null && currentShareBalance > 0
|
final shareBalance = asset != null && currentShareBalance > 0
|
||||||
? currentShareBalance
|
? currentShareBalance
|
||||||
: double.tryParse(asset?.shareBalance ?? '0') ?? 0;
|
: 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 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);
|
final isDark = AppColors.isDark(context);
|
||||||
|
|
||||||
// 根据订单状态动态计算冻结原因
|
// 根据订单状态动态计算冻结原因
|
||||||
|
|
@ -517,9 +520,9 @@ class _AssetPageState extends ConsumerState<AssetPage> {
|
||||||
title: '积分股',
|
title: '积分股',
|
||||||
amount: asset != null ? shareBalance.toString() : null,
|
amount: asset != null ? shareBalance.toString() : null,
|
||||||
isLoading: isLoading,
|
isLoading: isLoading,
|
||||||
valueInCny: asset != null
|
// valueInCny: asset != null
|
||||||
? '${formatAmount((shareBalance * (1 + multiplier) * currentPrice).toString())} 积分值'
|
// ? '${formatAmount((shareBalance * (1 + multiplier) * currentPrice).toString())} 积分值'
|
||||||
: null,
|
// : null, // 暂时隐藏:与总资产估值使用相同数据源后,此处显示冗余
|
||||||
// tag: asset != null ? '含倍数资产: ${formatCompact(multipliedAsset.toString())}' : null, // 暂时隐藏
|
// tag: asset != null ? '含倍数资产: ${formatCompact(multipliedAsset.toString())}' : null, // 暂时隐藏
|
||||||
growthText: asset != null ? '每秒 +${formatDecimal(perSecondEarning, 8)}' : null,
|
growthText: asset != null ? '每秒 +${formatDecimal(perSecondEarning, 8)}' : null,
|
||||||
),
|
),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue