diff --git a/frontend/src/views/admin/SettingsView.vue b/frontend/src/views/admin/SettingsView.vue index 83f166b8f2..271ef3191f 100644 --- a/frontend/src/views/admin/SettingsView.vue +++ b/frontend/src/views/admin/SettingsView.vue @@ -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,