diff --git a/backend/internal/server/api_contract_test.go b/backend/internal/server/api_contract_test.go index f516aa42..27358865 100644 --- a/backend/internal/server/api_contract_test.go +++ b/backend/internal/server/api_contract_test.go @@ -646,12 +646,21 @@ func TestAPIContracts(t *testing.T) { "registration_email_suffix_whitelist": [], "promo_code_enabled": true, "password_reset_enabled": false, - "frontend_url": "", - "totp_enabled": false, - "totp_encryption_key_configured": false, - "smtp_host": "smtp.example.com", - "smtp_port": 587, - "smtp_username": "user", + "frontend_url": "", + "totp_enabled": false, + "totp_encryption_key_configured": false, + "login_agreement_enabled": false, + "login_agreement_mode": "modal", + "login_agreement_updated_at": "2026-03-31", + "login_agreement_documents": [ + {"id": "terms", "title": "服务条款", "content_md": ""}, + {"id": "usage-policy", "title": "使用政策", "content_md": ""}, + {"id": "supported-regions", "title": "支持的国家和地区", "content_md": ""}, + {"id": "service-specific-terms", "title": "服务特定条款", "content_md": ""} + ], + "smtp_host": "smtp.example.com", + "smtp_port": 587, + "smtp_username": "user", "smtp_password_configured": true, "smtp_from_email": "no-reply@example.com", "smtp_from_name": "Sub2API", @@ -880,12 +889,21 @@ func TestAPIContracts(t *testing.T) { "promo_code_enabled": true, "password_reset_enabled": false, "frontend_url": "", - "invitation_code_enabled": false, - "totp_enabled": false, - "totp_encryption_key_configured": false, - "smtp_host": "", - "smtp_port": 587, - "smtp_username": "", + "invitation_code_enabled": false, + "totp_enabled": false, + "totp_encryption_key_configured": false, + "login_agreement_enabled": false, + "login_agreement_mode": "modal", + "login_agreement_updated_at": "2026-03-31", + "login_agreement_documents": [ + {"id": "terms", "title": "服务条款", "content_md": ""}, + {"id": "usage-policy", "title": "使用政策", "content_md": ""}, + {"id": "supported-regions", "title": "支持的国家和地区", "content_md": ""}, + {"id": "service-specific-terms", "title": "服务特定条款", "content_md": ""} + ], + "smtp_host": "", + "smtp_port": 587, + "smtp_username": "", "smtp_password_configured": false, "smtp_from_email": "", "smtp_from_name": "", diff --git a/backend/internal/service/setting_service.go b/backend/internal/service/setting_service.go index 9dbbaa08..283a239b 100644 --- a/backend/internal/service/setting_service.go +++ b/backend/internal/service/setting_service.go @@ -249,16 +249,16 @@ func normalizeLoginAgreementDocumentID(raw string) string { lastSeparator := false for _, r := range raw { if (r >= 'a' && r <= 'z') || (r >= '0' && r <= '9') { - b.WriteRune(r) + _, _ = b.WriteRune(r) lastSeparator = false continue } if r == '-' || r == '_' || r == ' ' || r == '.' || r == '/' { if !lastSeparator && b.Len() > 0 { if r == '_' { - b.WriteRune('_') + _, _ = b.WriteRune('_') } else { - b.WriteRune('-') + _, _ = b.WriteRune('-') } lastSeparator = true }