fix: 修复端点 header_rules 无法清空的问题

- updateEndpoint 接口的 header_rules 类型改为支持 null
- rulesToHeaderRules 返回 null 而非 undefined 以正确清除规则
- 将 header 规则操作类型文案"设置"改为"覆写"
This commit is contained in:
fawney19
2026-01-16 20:06:20 +08:00
parent b807c16395
commit 3cdf471473
2 changed files with 6 additions and 4 deletions

View File

@@ -46,7 +46,7 @@ export async function updateEndpoint(
data: Partial<{
base_url: string
custom_path: string | null
header_rules: HeaderRule[]
header_rules: HeaderRule[] | null
max_retries: number
is_active: boolean
config: Record<string, any>

View File

@@ -109,7 +109,7 @@
</SelectTrigger>
<SelectContent :side-offset="4">
<SelectItem value="set">
设置
覆写
</SelectItem>
<SelectItem value="drop">
删除
@@ -492,7 +492,8 @@ function loadRulesFromEndpoint(endpoint: ProviderEndpoint): EditableRule[] {
}
// 将可编辑规则数组转换为 API 需要的 HeaderRule[]
function rulesToHeaderRules(rules: EditableRule[]): HeaderRule[] | undefined {
// 返回 null 表示显式清除所有规则,返回数组表示设置规则
function rulesToHeaderRules(rules: EditableRule[]): HeaderRule[] | null {
const result: HeaderRule[] = []
for (const rule of rules) {
@@ -505,7 +506,8 @@ function rulesToHeaderRules(rules: EditableRule[]): HeaderRule[] | undefined {
}
}
return result.length > 0 ? result : undefined
// 返回 null 而不是 undefined确保后端能正确清除规则
return result.length > 0 ? result : null
}
// 添加新规则