fix(providers): 允许 max_probe_interval_minutes 设为 0 并修复零值被覆盖的问题

- 将 max_probe_interval_minutes 校验范围从 2-32 改为 0-32
- 修复 routes.py 中 max_probe_interval_minutes 和 cache_ttl_minutes
  使用 `or` 短路导致零值被默认值覆盖的问题,改用 is not None 判断
- 前端表单同步调整最小值约束和提示文案
- 新增零值校验的单元测试
This commit is contained in:
fawney19
2026-03-07 18:43:28 +08:00
parent 06b483f79d
commit 9cdcce1b5f
5 changed files with 35 additions and 12 deletions

View File

@@ -475,7 +475,7 @@ class EndpointAPIKeyCreate(BaseModel):
default=5, ge=0, le=60, description="缓存 TTL分钟0=禁用默认5分钟"
)
max_probe_interval_minutes: int = Field(
default=32, ge=2, le=32, description="熔断探测间隔(分钟),范围 2-32"
default=32, ge=0, le=32, description="熔断探测间隔(分钟),范围 0-32"
)
# 备注
@@ -631,7 +631,7 @@ class EndpointAPIKeyUpdate(BaseModel):
default=None, ge=0, le=60, description="缓存 TTL分钟0=禁用"
)
max_probe_interval_minutes: int | None = Field(
default=None, ge=2, le=32, description="熔断探测间隔(分钟),范围 2-32"
default=None, ge=0, le=32, description="熔断探测间隔(分钟),范围 0-32"
)
is_active: bool | None = Field(default=None, description="是否启用")
note: str | None = Field(default=None, max_length=500, description="备注说明")