fix(frontend): 修复模型缓存价格设为0时不生效的问题

缓存价格更新函数使用 numValue > 0 判断是否手动设置,
导致输入 0 时被错误地当作清空处理。改为检查原始输入
是否为空字符串/null/undefined 来区分清空与有效输入。
This commit is contained in:
fawney19
2026-03-14 14:32:58 +08:00
parent b15ce9977a
commit 337cd0c505

View File

@@ -457,42 +457,41 @@ function confirmCustomInput(index: number) {
} }
function updateCacheCreation(index: number, value: string | number) { function updateCacheCreation(index: number, value: string | number) {
const numValue = parseFloatInput(value) if (value === '' || value === null || value === undefined) {
if (numValue > 0) {
cacheManuallySet[index] = { ...cacheManuallySet[index], creation: true }
localTiers.value[index].cache_creation_price_per_1m = numValue
} else {
// 清空时恢复自动计算 // 清空时恢复自动计算
cacheManuallySet[index] = { ...cacheManuallySet[index], creation: false } cacheManuallySet[index] = { ...cacheManuallySet[index], creation: false }
localTiers.value[index].cache_creation_price_per_1m = undefined localTiers.value[index].cache_creation_price_per_1m = undefined
} else {
const numValue = parseFloatInput(value)
cacheManuallySet[index] = { ...cacheManuallySet[index], creation: true }
localTiers.value[index].cache_creation_price_per_1m = numValue
} }
syncToParent() syncToParent()
} }
function updateCacheRead(index: number, value: string | number) { function updateCacheRead(index: number, value: string | number) {
const numValue = parseFloatInput(value) if (value === '' || value === null || value === undefined) {
if (numValue > 0) {
cacheManuallySet[index] = { ...cacheManuallySet[index], read: true }
localTiers.value[index].cache_read_price_per_1m = numValue
} else {
// 清空时恢复自动计算 // 清空时恢复自动计算
cacheManuallySet[index] = { ...cacheManuallySet[index], read: false } cacheManuallySet[index] = { ...cacheManuallySet[index], read: false }
localTiers.value[index].cache_read_price_per_1m = undefined localTiers.value[index].cache_read_price_per_1m = undefined
} else {
const numValue = parseFloatInput(value)
cacheManuallySet[index] = { ...cacheManuallySet[index], read: true }
localTiers.value[index].cache_read_price_per_1m = numValue
} }
syncToParent() syncToParent()
} }
function updateCache1h(index: number, value: string | number) { function updateCache1h(index: number, value: string | number) {
const numValue = parseFloatInput(value)
const tier = localTiers.value[index] const tier = localTiers.value[index]
if (numValue > 0) { if (value === '' || value === null || value === undefined) {
// 手动设置 1 小时缓存创建价格
cacheManuallySet[index] = { ...cacheManuallySet[index], cache1h: true }
tier.cache_ttl_pricing = [{ ttl_minutes: 60, cache_creation_price_per_1m: numValue }]
} else {
// 清空时恢复自动计算 // 清空时恢复自动计算
cacheManuallySet[index] = { ...cacheManuallySet[index], cache1h: false } cacheManuallySet[index] = { ...cacheManuallySet[index], cache1h: false }
tier.cache_ttl_pricing = undefined tier.cache_ttl_pricing = undefined
} else {
const numValue = parseFloatInput(value)
cacheManuallySet[index] = { ...cacheManuallySet[index], cache1h: true }
tier.cache_ttl_pricing = [{ ttl_minutes: 60, cache_creation_price_per_1m: numValue }]
} }
syncToParent() syncToParent()
} }