fix: Token 统计支持 M 单位并修复 lint 错误

- 用户仪表盘 Token 统计卡片支持 K/M 单位自动切换
- 更新 formatTokensK 工具函数支持百万级显示
- 修复 setup.go 中未检查返回值的 errcheck 错误
This commit is contained in:
shaw
2026-01-06 10:13:12 +08:00
parent 9731b961d0
commit 752882a022
3 changed files with 12 additions and 6 deletions

View File

@@ -153,6 +153,10 @@ const formatBalance = (b: number) =>
const formatNumber = (n: number) => n.toLocaleString()
const formatCost = (c: number) => c.toFixed(4)
const formatTokens = (t: number) => (t >= 1000 ? `${(t / 1000).toFixed(1)}K` : t.toString())
const formatTokens = (t: number) => {
if (t >= 1_000_000) return `${(t / 1_000_000).toFixed(1)}M`
if (t >= 1000) return `${(t / 1000).toFixed(1)}K`
return t.toString()
}
const formatDuration = (ms: number) => ms >= 1000 ? `${(ms / 1000).toFixed(2)}s` : `${ms.toFixed(0)}ms`
</script>

View File

@@ -174,10 +174,12 @@ export function formatCostFixed(amount: number, fractionDigits: number = 4): str
}
/**
* 格式化 token 数量(>=1000 显示为 K保留 1 位小数)
* 格式化 token 数量(>=1M 显示为 M>=1K 显示为 K保留 1 位小数)
* @param tokens token 数量
* @returns 格式化后的字符串,如 "950", "1.2K"
* @returns 格式化后的字符串,如 "950", "1.2K", "3.5M"
*/
export function formatTokensK(tokens: number): string {
return tokens >= 1000 ? `${(tokens / 1000).toFixed(1)}K` : tokens.toString()
if (tokens >= 1_000_000) return `${(tokens / 1_000_000).toFixed(1)}M`
if (tokens >= 1000) return `${(tokens / 1000).toFixed(1)}K`
return tokens.toString()
}