diff --git a/frontend/mining-admin-web/src/app/(dashboard)/reports/page.tsx b/frontend/mining-admin-web/src/app/(dashboard)/reports/page.tsx
index a9347cb9..e63d0372 100644
--- a/frontend/mining-admin-web/src/app/(dashboard)/reports/page.tsx
+++ b/frontend/mining-admin-web/src/app/(dashboard)/reports/page.tsx
@@ -123,8 +123,8 @@ export default function ReportsPage() {
+{formatCompactNumber(report.newContribution)}
- {formatDecimal(report.dailyDistributed, 2)}
- {formatDecimal(report.dailyBurned, 2)}
+ {formatDecimal(report.dailyDistributed, 8)}
+ {formatDecimal(report.dailyBurned, 8)}
{formatDecimal(report.closePrice, 8)}
{formatCompactNumber(report.dailyVolume)}
diff --git a/frontend/mining-admin-web/src/app/(dashboard)/users/[accountSequence]/page.tsx b/frontend/mining-admin-web/src/app/(dashboard)/users/[accountSequence]/page.tsx
index a6377890..5a56987d 100644
--- a/frontend/mining-admin-web/src/app/(dashboard)/users/[accountSequence]/page.tsx
+++ b/frontend/mining-admin-web/src/app/(dashboard)/users/[accountSequence]/page.tsx
@@ -193,14 +193,14 @@ export default function UserDetailPage() {
{/* 个人算力 */}
个人算力 (70%)
- {formatDecimal(user?.contributions?.personal, 4)}
+ {formatDecimal(user?.contributions?.personal, 8)}
{/* 层级算力 */}
层级算力 (7.5%)
- {formatDecimal(user?.contributions?.teamLevel, 4)}
+ {formatDecimal(user?.contributions?.teamLevel, 8)}
@@ -243,7 +243,7 @@ export default function UserDetailPage() {
团队奖励 (7.5%)
- {formatDecimal(user?.contributions?.teamBonus, 4)}
+ {formatDecimal(user?.contributions?.teamBonus, 8)}
@@ -285,7 +285,7 @@ export default function UserDetailPage() {
{/* 有效算力 */}
有效算力 (贡献值)
- {formatDecimal(user?.effectiveContribution, 4)}
+ {formatDecimal(user?.effectiveContribution, 8)}
{/* 解锁状态汇总 */}
@@ -317,7 +317,7 @@ export default function UserDetailPage() {
挖矿余额
- {formatDecimal(user?.miningBalance, 4)}
+ {formatDecimal(user?.miningBalance, 8)}
@@ -331,7 +331,7 @@ export default function UserDetailPage() {
交易余额
- {formatDecimal(user?.tradingBalance, 4)}
+ {formatDecimal(user?.tradingBalance, 8)}
@@ -343,7 +343,7 @@ export default function UserDetailPage() {
冻结余额
- {formatDecimal(user?.frozenBalance, 4)}
+ {formatDecimal(user?.frozenBalance, 8)}
diff --git a/frontend/mining-admin-web/src/app/(dashboard)/users/page.tsx b/frontend/mining-admin-web/src/app/(dashboard)/users/page.tsx
index 02ad7045..f394d38f 100644
--- a/frontend/mining-admin-web/src/app/(dashboard)/users/page.tsx
+++ b/frontend/mining-admin-web/src/app/(dashboard)/users/page.tsx
@@ -182,11 +182,11 @@ export default function UsersPage() {
{/* 有效算力 */}
- {formatDecimal(user.effectiveContribution, 4)}
+ {formatDecimal(user.effectiveContribution, 8)}
{/* 挖矿余额 */}
- {formatDecimal(user.miningBalance, 4)}
+ {formatDecimal(user.miningBalance, 8)}
{/* 推荐人 */}
diff --git a/frontend/mining-admin-web/src/features/dashboard/components/realtime-panel.tsx b/frontend/mining-admin-web/src/features/dashboard/components/realtime-panel.tsx
index 6f6f36bd..1413295a 100644
--- a/frontend/mining-admin-web/src/features/dashboard/components/realtime-panel.tsx
+++ b/frontend/mining-admin-web/src/features/dashboard/components/realtime-panel.tsx
@@ -35,14 +35,14 @@ export function RealtimePanel() {
const items = [
{
label: '本分钟分配',
- value: formatDecimal(data?.currentMinuteDistribution, 4),
+ value: formatDecimal(data?.currentMinuteDistribution, 8),
unit: '股',
icon: Activity,
iconColor: 'text-green-500',
},
{
label: '本分钟销毁',
- value: formatDecimal(data?.currentMinuteBurn, 4),
+ value: formatDecimal(data?.currentMinuteBurn, 8),
unit: '股',
icon: Flame,
iconColor: 'text-orange-500',
diff --git a/frontend/mining-admin-web/src/features/system-accounts/components/account-card.tsx b/frontend/mining-admin-web/src/features/system-accounts/components/account-card.tsx
index c42ba2b0..14c4201e 100644
--- a/frontend/mining-admin-web/src/features/system-accounts/components/account-card.tsx
+++ b/frontend/mining-admin-web/src/features/system-accounts/components/account-card.tsx
@@ -44,7 +44,7 @@ export function AccountCard({ account }: AccountCardProps) {
)}
- {formatDecimal(balance, 4)}
+ {formatDecimal(balance, 8)}
{account.description || displayInfo.description}
diff --git a/frontend/mining-admin-web/src/features/system-accounts/components/accounts-table.tsx b/frontend/mining-admin-web/src/features/system-accounts/components/accounts-table.tsx
index 48ee9832..2702f610 100644
--- a/frontend/mining-admin-web/src/features/system-accounts/components/accounts-table.tsx
+++ b/frontend/mining-admin-web/src/features/system-accounts/components/accounts-table.tsx
@@ -94,7 +94,7 @@ export function AccountsTable({
{account.name || displayInfo.label}
- {formatDecimal(balance, 4)}
+ {formatDecimal(balance, 8)}
{account.contributionNeverExpires && (
永久
diff --git a/frontend/mining-admin-web/src/features/system-accounts/components/summary-cards.tsx b/frontend/mining-admin-web/src/features/system-accounts/components/summary-cards.tsx
index ef9c0a34..d50304c3 100644
--- a/frontend/mining-admin-web/src/features/system-accounts/components/summary-cards.tsx
+++ b/frontend/mining-admin-web/src/features/system-accounts/components/summary-cards.tsx
@@ -41,7 +41,7 @@ export function SummaryCards({ summary, isLoading = false }: SummaryCardsProps)
本地账户
{summary.systemAccounts.count}
- 总算力: {formatDecimal(summary.systemAccounts.totalContribution, 4)}
+ 总算力: {formatDecimal(summary.systemAccounts.totalContribution, 8)}
@@ -59,7 +59,7 @@ export function SummaryCards({ summary, isLoading = false }: SummaryCardsProps)
同步算力
{summary.syncedContributions.count}
- 总余额: {formatDecimal(summary.syncedContributions.totalBalance, 4)}
+ 总余额: {formatDecimal(summary.syncedContributions.totalBalance, 8)}
@@ -88,7 +88,7 @@ export function SummaryCards({ summary, isLoading = false }: SummaryCardsProps)
第 {summary.miningConfig.currentEra} 纪
- 剩余分发: {formatDecimal(summary.miningConfig.remainingDistribution, 2)}
+ 剩余分发: {formatDecimal(summary.miningConfig.remainingDistribution, 8)}
>
) : (
@@ -111,10 +111,10 @@ export function SummaryCards({ summary, isLoading = false }: SummaryCardsProps)
{summary.circulationPool ? (
<>
- {formatDecimal(summary.circulationPool.totalShares, 2)}
+ {formatDecimal(summary.circulationPool.totalShares, 8)}
- 总金额: {formatDecimal(summary.circulationPool.totalCash, 2)} USDT
+ 总金额: {formatDecimal(summary.circulationPool.totalCash, 8)} USDT
>
) : (
diff --git a/frontend/mining-admin-web/src/features/users/components/contribution-records-list.tsx b/frontend/mining-admin-web/src/features/users/components/contribution-records-list.tsx
index 80738375..84d32cb6 100644
--- a/frontend/mining-admin-web/src/features/users/components/contribution-records-list.tsx
+++ b/frontend/mining-admin-web/src/features/users/components/contribution-records-list.tsx
@@ -88,9 +88,9 @@ export function ContributionRecordsList({ accountSequence }: ContributionRecords
)}
{record.treeCount}
-
{formatDecimal(record.baseContribution, 2)}
+
{formatDecimal(record.baseContribution, 8)}
{formatPercent(record.distributionRate)}
-
{formatDecimal(record.amount, 4)}
+
{formatDecimal(record.amount, 8)}
{record.levelDepth !== null
? `L${record.levelDepth}`
diff --git a/frontend/mining-admin-web/src/features/users/components/mining-records-list.tsx b/frontend/mining-admin-web/src/features/users/components/mining-records-list.tsx
index 4dc622ef..f76a886e 100644
--- a/frontend/mining-admin-web/src/features/users/components/mining-records-list.tsx
+++ b/frontend/mining-admin-web/src/features/users/components/mining-records-list.tsx
@@ -56,7 +56,7 @@ export function MiningRecordsList({ accountSequence }: MiningRecordsListProps) {
{record.distributionMinute}
{formatPercent(record.contributionRatio)}
- +{formatDecimal(record.shareAmount, 4)}
+ +{formatDecimal(record.shareAmount, 8)}
{formatDecimal(record.priceSnapshot, 8)}
{formatDateTime(record.createdAt)}
diff --git a/frontend/mining-admin-web/src/features/users/components/planting-ledger.tsx b/frontend/mining-admin-web/src/features/users/components/planting-ledger.tsx
index 899f5834..a517cf4e 100644
--- a/frontend/mining-admin-web/src/features/users/components/planting-ledger.tsx
+++ b/frontend/mining-admin-web/src/features/users/components/planting-ledger.tsx
@@ -107,7 +107,7 @@ export function PlantingLedger({ accountSequence }: PlantingLedgerProps) {
总金额
-
{formatDecimal(data.summary.totalAmount, 2)}
+
{formatDecimal(data.summary.totalAmount, 8)}
有效认种量
@@ -159,28 +159,28 @@ export function PlantingLedger({ accountSequence }: PlantingLedgerProps) {
{item.originalAdoptionId || item.orderNo}
{formatNumber(item.treeCount)}
- {formatDecimal(item.contributionPerTree || '0', 4)}
- {formatDecimal(item.totalContribution || item.totalAmount || '0', 4)}
+ {formatDecimal(item.contributionPerTree || '0', 8)}
+ {formatDecimal(item.totalContribution || item.totalAmount || '0', 8)}
{item.distribution ? (
- ①{(item.distribution.personal.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.personal.amount, 2)}){item.distribution.personal.label}
+ ①{(item.distribution.personal.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.personal.amount, 8)}){item.distribution.personal.label}
- ②{(item.distribution.operation.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.operation.amount, 2)}){item.distribution.operation.label}
+ ②{(item.distribution.operation.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.operation.amount, 8)}){item.distribution.operation.label}
- ③{(item.distribution.province.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.province.amount, 2)}){item.distribution.province.label}
+ ③{(item.distribution.province.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.province.amount, 8)}){item.distribution.province.label}
- ④{(item.distribution.city.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.city.amount, 2)}){item.distribution.city.label}
+ ④{(item.distribution.city.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.city.amount, 8)}){item.distribution.city.label}
- ⑤{(item.distribution.team.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.team.amount, 2)}){item.distribution.team.label}
+ ⑤{(item.distribution.team.rate * 100).toFixed(0)}%({formatDecimal(item.distribution.team.amount, 8)}){item.distribution.team.label}
{item.distribution.team.distributed && (
- [已分配:{formatDecimal(item.distribution.team.distributed, 2)} / 待分配:{formatDecimal(item.distribution.team.unallocated, 2)}]
+ [已分配:{formatDecimal(item.distribution.team.distributed, 8)} / 待分配:{formatDecimal(item.distribution.team.unallocated, 8)}]
)}
diff --git a/frontend/mining-admin-web/src/features/users/components/trade-orders-list.tsx b/frontend/mining-admin-web/src/features/users/components/trade-orders-list.tsx
index 1b5d6719..82cee8d2 100644
--- a/frontend/mining-admin-web/src/features/users/components/trade-orders-list.tsx
+++ b/frontend/mining-admin-web/src/features/users/components/trade-orders-list.tsx
@@ -80,8 +80,8 @@ export function TradeOrdersList({ accountSequence }: TradeOrdersListProps) {
{formatDecimal(order.price, 8)}
-
{formatDecimal(order.quantity, 4)}
-
{formatDecimal(order.filledQuantity, 4)}
+
{formatDecimal(order.quantity, 8)}
+
{formatDecimal(order.filledQuantity, 8)}
{formatDateTime(order.createdAt)}
);
diff --git a/frontend/mining-admin-web/src/features/users/components/wallet-ledger.tsx b/frontend/mining-admin-web/src/features/users/components/wallet-ledger.tsx
index 96ff8c9f..6e691b01 100644
--- a/frontend/mining-admin-web/src/features/users/components/wallet-ledger.tsx
+++ b/frontend/mining-admin-web/src/features/users/components/wallet-ledger.tsx
@@ -111,37 +111,37 @@ export function WalletLedger({ accountSequence }: WalletLedgerProps) {
绿积分 可用
- {formatDecimal(data.summary.usdtAvailable, 4)}
+ {formatDecimal(data.summary.usdtAvailable, 8)}
绿积分 冻结
- {formatDecimal(data.summary.usdtFrozen, 4)}
+ {formatDecimal(data.summary.usdtFrozen, 8)}
待领取收益
- {formatDecimal(data.summary.pendingUsdt, 4)}
+ {formatDecimal(data.summary.pendingUsdt, 8)}
可结算收益
- {formatDecimal(data.summary.settleableUsdt, 4)}
+ {formatDecimal(data.summary.settleableUsdt, 8)}
已结算收益
- {formatDecimal(data.summary.settledTotalUsdt, 4)}
+ {formatDecimal(data.summary.settledTotalUsdt, 8)}
过期收益
- {formatDecimal(data.summary.expiredTotalUsdt, 4)}
+ {formatDecimal(data.summary.expiredTotalUsdt, 8)}
@@ -201,11 +201,11 @@ export function WalletLedger({ accountSequence }: WalletLedgerProps) {
)}
{isPositive ? '+' : ''}
- {formatDecimal(item.amount, 4)}
+ {formatDecimal(item.amount, 8)}
- {formatDecimal(item.balanceAfter, 4)}
+ {formatDecimal(item.balanceAfter, 8)}
{item.refOrderId || item.refTxHash || '-'}
diff --git a/frontend/mining-admin-web/src/lib/utils/format.ts b/frontend/mining-admin-web/src/lib/utils/format.ts
index 9be81417..20c0b8a4 100644
--- a/frontend/mining-admin-web/src/lib/utils/format.ts
+++ b/frontend/mining-admin-web/src/lib/utils/format.ts
@@ -1,6 +1,6 @@
import Decimal from 'decimal.js';
-export function formatNumber(value: number | string | undefined | null, decimals = 0): string {
+export function formatNumber(value: number | string | undefined | null, decimals = 8): string {
if (value === undefined || value === null) return '-';
const num = typeof value === 'string' ? parseFloat(value) : value;
if (isNaN(num)) return '-';
@@ -21,7 +21,7 @@ export function formatDecimal(value: string | number | undefined | null, precisi
}
}
-export function formatPercent(value: number | string | undefined | null, decimals = 2): string {
+export function formatPercent(value: number | string | undefined | null, decimals = 8): string {
if (value === undefined || value === null) return '-';
const num = typeof value === 'string' ? parseFloat(value) : value;
if (isNaN(num)) return '-';
@@ -33,10 +33,10 @@ export function formatCompactNumber(value: number | string | undefined | null):
const num = typeof value === 'string' ? parseFloat(value) : value;
if (isNaN(num)) return '-';
- if (num >= 1e12) return `${(num / 1e12).toFixed(2)}万亿`;
- if (num >= 1e8) return `${(num / 1e8).toFixed(2)}亿`;
- if (num >= 1e4) return `${(num / 1e4).toFixed(2)}万`;
- return formatNumber(num);
+ if (num >= 1e12) return `${(num / 1e12).toFixed(8)}万亿`;
+ if (num >= 1e8) return `${(num / 1e8).toFixed(8)}亿`;
+ if (num >= 1e4) return `${(num / 1e4).toFixed(8)}万`;
+ return formatNumber(num, 8);
}
export function formatPrice(value: string | number | undefined | null): string {
@@ -44,5 +44,5 @@ export function formatPrice(value: string | number | undefined | null): string {
}
export function formatShareAmount(value: string | number | undefined | null): string {
- return formatDecimal(value, 4);
+ return formatDecimal(value, 8);
}