fix: Token 统计支持 M 单位并修复 lint 错误
- 用户仪表盘 Token 统计卡片支持 K/M 单位自动切换 - 更新 formatTokensK 工具函数支持百万级显示 - 修复 setup.go 中未检查返回值的 errcheck 错误
This commit is contained in:
@@ -39,8 +39,8 @@ func GetDataDir() string {
|
|||||||
// Try to check if writable by creating a temp file
|
// Try to check if writable by creating a temp file
|
||||||
testFile := dockerDataDir + "/.write_test"
|
testFile := dockerDataDir + "/.write_test"
|
||||||
if f, err := os.Create(testFile); err == nil {
|
if f, err := os.Create(testFile); err == nil {
|
||||||
f.Close()
|
_ = f.Close()
|
||||||
os.Remove(testFile)
|
_ = os.Remove(testFile)
|
||||||
return dockerDataDir
|
return dockerDataDir
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -153,6 +153,10 @@ const formatBalance = (b: number) =>
|
|||||||
|
|
||||||
const formatNumber = (n: number) => n.toLocaleString()
|
const formatNumber = (n: number) => n.toLocaleString()
|
||||||
const formatCost = (c: number) => c.toFixed(4)
|
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`
|
const formatDuration = (ms: number) => ms >= 1000 ? `${(ms / 1000).toFixed(2)}s` : `${ms.toFixed(0)}ms`
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -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 数量
|
* @param tokens token 数量
|
||||||
* @returns 格式化后的字符串,如 "950", "1.2K"
|
* @returns 格式化后的字符串,如 "950", "1.2K", "3.5M"
|
||||||
*/
|
*/
|
||||||
export function formatTokensK(tokens: number): string {
|
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()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user