清除业务契约双读:抽奖/草稿/时间戳/邮件只认新格式,并删除 legacy 短代码改写。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-09-23 02:20:42 +08:00
parent 3b550f2124
commit 96314893bb
9 changed files with 23 additions and 281 deletions

View File

@@ -589,10 +589,11 @@ func TestMailTemplateGuards(t *testing.T) {
if cfg.BodyTemplate != defaultMailBody || cfg.SubjectTemplate != defaultMailSubject {
t.Fatal("defaults not applied")
}
cfg.BodyTemplate = legacyMailBody
customBody := "<p>{{code}}</p>"
cfg.BodyTemplate = customBody
cfg.applyTemplateDefaults()
if cfg.BodyTemplate != defaultMailBody {
t.Fatal("legacy default not upgraded")
if cfg.BodyTemplate != customBody {
t.Fatal("自定义正文不应被默认模板覆盖")
}
o := &Operations{cfg: &config.Config{SiteURL: "https://forum.example.com", DevMode: true}}
if e := o.validate(nil, "mail", &MailConfig{Port: 465, TLS: "tls", Timeout: 10, Retention: 30, BodyTemplate: "<script></script><p>no code</p>"}); e == nil || !strings.Contains(e.Error(), "{{code}}") {