package config import "time" // ModerationConfig 举报反馈服务配置 (spec §11.1) type ModerationConfig struct { AutoHideThreshold int CounterTTL time.Duration UserMarkerTTL time.Duration LockTTL time.Duration MaxDescriptionLen int MaxEvidenceCount int MaxContactLen int MaxReplyLen int MaxEvidenceSize int64 AllowedMimeTypes []string RateLimitUserPerDay int RateLimitIPPerDay int RateLimitDevPerDay int RateLimitFbUserDay int ClaimTimeout time.Duration PIIAnonymizeAfter time.Duration AutoArchiveAfter time.Duration RedisKeyPrefix string PathDCounterPolicy string } var Default = ModerationConfig{ AutoHideThreshold: 5, CounterTTL: 7 * 24 * time.Hour, UserMarkerTTL: 24 * time.Hour, LockTTL: 5 * time.Second, MaxDescriptionLen: 500, MaxEvidenceCount: 5, MaxContactLen: 320, MaxReplyLen: 2000, MaxEvidenceSize: 5 * 1024 * 1024, AllowedMimeTypes: []string{"image/png", "image/jpeg"}, RateLimitUserPerDay: 30, RateLimitIPPerDay: 200, RateLimitDevPerDay: 200, RateLimitFbUserDay: 5, ClaimTimeout: 15 * time.Minute, PIIAnonymizeAfter: 90 * 24 * time.Hour, AutoArchiveAfter: 90 * 24 * time.Hour, RedisKeyPrefix: "mod:report", PathDCounterPolicy: "preserve", }