fix(settings): 审计日志保留天数清空时回退默认值避免保存 400

audit_log_retention_days 用 v-model.number 绑定数字框,管理员清空输入框时
得到空串,后端 int 字段 ShouldBindJSON 解析空串失败返回 400,导致整次系统
设置保存被拒。payload 构建时对空/非法值回退默认 180(与后端
parseAuditLogRetentionDays("") 语义一致;显式 0 仍表示永久保留)。
This commit is contained in:
shaw
2026-07-16 15:19:19 +08:00
parent d67a2cad2b
commit 2d97207d41
+5 -1
View File
@@ -9559,7 +9559,11 @@ async function saveSettings() {
password_reset_enabled: form.password_reset_enabled,
totp_enabled: form.totp_enabled,
session_binding_enabled: form.session_binding_enabled,
audit_log_retention_days: form.audit_log_retention_days,
// 清空数字框时 v-model.number 会得到空串,后端 int 字段解析空串会 400 拒绝整次保存;
// 空/非法值回退默认 180(与后端 parseAuditLogRetentionDays("") 语义一致,0 仍表示永久保留)。
audit_log_retention_days: Number.isFinite(form.audit_log_retention_days)
? form.audit_log_retention_days
: 180,
login_agreement_enabled: form.login_agreement_enabled,
login_agreement_mode: form.login_agreement_mode,
login_agreement_updated_at: form.login_agreement_updated_at,