restrict v10

This commit is contained in:
tamakyi
2026-10-19 00:07:22 +08:00
parent 7e0e1cba49
commit efd5fce9a7
10 changed files with 92 additions and 32 deletions
+29
View File
@@ -391,3 +391,32 @@ admin6 当前处于 L2(到期次日),必要时 `unrestrict` 解除。
已把 `rules.html` 加进清单,编译 EXIT=0、`go test ./templates/` 通过。
⚠️ 以后新增**顶层**模板必须改 embed 指令;子目录下的文件已被目录项覆盖。
MEMORY.md 里那条错误认知已纠正。
### /rules 修复后验证:四语言全通过
`rules=200`(39KB);标题依次为「社区规则与内容边界 / 社群規則與內容界線 /
Community rules and content boundaries / コミュニティルールとコンテンツの境界」;
处置梯度段落存在。
发现规则页**没有任何入口**(页脚原本全是外链,无站内链接),已加
`<a href="/rules">` 到 `templates/base/footer.html` + `site.footer.rules`(四语言)。
编译 EXIT=0、checktpl OK、i18n 与 templates 测试全绿。**需再部署一次生效**。
补充(用户要求):处置条幅里「如有疑问请通过页脚找站长联系」后面再挂一个 `/rules` 链接,
用 `·` 分隔(`qlist.restrictionRulesLink`,四语言)。模板压成单行避免多余空白。
编译 EXIT=0、checktpl OK。仍需部署。
## 规则页扩展 + 注册强制同意(用户要求)
- **规则分两类**(关键设计):`rules.forbidden` 重写为
「一、严重违规(直接删内容 + 按情节封禁,**不适用分级**)」6 条(涉政/暴恐/色情涉未成年/违禁品赌博诈骗/侵害未成年人/隐私),
「二、社区冲突(**按影响面分级**)」4 条(挂人、辱骂、群体对立、垃圾广告)。
`rules.enforce` 相应说明「分级只适用于社区冲突;严重违规不走分级,涉法配合有关部门」。
四语言同步。这样避免「挂人只停分发、涉政也停分发」的错误预期。
- **注册强制同意**:`form.Register` 加 `AgreeRules string`(`form:"agree_rules" valid:"required"`,
msg `form.register.agreeRules`);注册页在 language 之后加 checkbox + `/rules` 链接(`target="_blank" rel="noopener"`)。
**服务端校验是必须的**:前端 required 可绕过,而这个勾选是「用户已知悉规则」的唯一凭证。
- 顺带同步 `dev/devcheck-e2e.py` 的三处注册 POST,加 `"agree_rules": "1"`,否则 e2e 注册步骤会全部失败。
验证:`go build ./...` EXIT=0;checktpl OK;i18n 与 templates 测试全绿。
未用 modal 而用新标签页:规则正文很长,iframe 弹窗体验差且要重复维护内容。