前端支持cms

This commit is contained in:
biss committed 2026-08-29 16:16:26 +08:00
1 parent 6b0c4d054d
commit f56a63d4ce
16 files changed
+439 -10

No files matched your search

+8
View File
@@ -10,6 +10,14 @@
初始化完成后,在 **Configuration → Features** 启用 `ElectionSystem.Cms.PublicContent`。该模块的数据迁移会自动创建下列固定公开栏目和公共元数据字段;停用模块不会删除已有公开内容。
## 公开前台接入
选举主程序的 Razor Pages 通过 CMS 主机的只读 `GET /api/public-content` 接口读取内容,绝不直连 CMS 数据库。该接口只允许固定公开内容类型,并且只返回已发布版本的标题、正文、发布时间和公开元数据;草稿、历史版本、选民资料、投票状态、线下计票和内部审计记录均不会返回。
开发环境中主程序默认读取 `http://localhost:5065`。如 CMS 使用其他地址,配置主程序的 `Cms:PublicContentBaseUrl`(部署时使用环境变量 `Cms__PublicContentBaseUrl`)。CMS 未初始化、模块未启用或短暂不可用时,公开前台显示可恢复的“内容服务暂不可用”提示,选举业务不受影响。
内容编辑完成后必须先发布,才会出现在公开首页和 `/content` 各固定栏目中;前台内容详情固定为 `/content/item/{内容 ID}`,不接受 CMS 编辑器自定义路由来覆盖选举系统路由。
## 首批内容类型
在 CMS 的 Content Definition 中创建以下类型,并统一启用 Title、HTML/Markdown 正文、SEO、Taxonomy、Autoroute、Publish Later、Archive Later 和版本历史: