信息公开前端
This commit is contained in:
1 parent
1f7603923e
commit
eebc5518c5
14 files changed
+174
-98
No files matched your search
@@ -62,6 +62,8 @@
|
|||||||
- 列表接口必须分页;导出必须遵守同一范围授权,不得绕过筛选或泄露跨组织数据。
|
- 列表接口必须分页;导出必须遵守同一范围授权,不得绕过筛选或泄露跨组织数据。
|
||||||
- 前端提示不代替后端校验。对异常状态应提供可理解的错误码和可恢复指引。
|
- 前端提示不代替后端校验。对异常状态应提供可理解的错误码和可恢复指引。
|
||||||
- 公共看板的数据最小化:只返回活动公开策略允许的数据,并明确标注数据更新时间与统计口径。
|
- 公共看板的数据最小化:只返回活动公开策略允许的数据,并明确标注数据更新时间与统计口径。
|
||||||
|
- 公开 CMS 当前固定八类内容:选举公告、规则与政策、候选人公示、选民指南、结果公告、常见问题、资料下载、历史归档。变更内容类型时,必须同步更新 CMS 定义、`PublicContentSections`、首页展示和主菜单入口,不能只新增后台类型或只展示其中三类。
|
||||||
|
- 公开端采用中性政务信息风格(白底、政务蓝、冷灰、清晰分隔),以任务和已发布信息为中心;不加载外部字体或追踪脚本,不用装饰性配色掩盖信息层级。八个公开栏目必须有直接可访问的菜单入口,且不得显示未发布内容、未确认计票数据或个人投票信息。
|
||||||
|
|
||||||
## 测试与验证
|
## 测试与验证
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
- 身份认证:OpenIddict 或 Keycloak,采用 OpenID Connect / OAuth 2.0
|
- 身份认证:OpenIddict 或 Keycloak,采用 OpenID Connect / OAuth 2.0
|
||||||
- 实时与任务:SignalR、Hangfire、Redis
|
- 实时与任务:SignalR、Hangfire、Redis
|
||||||
- 文件:MinIO 或 S3 兼容对象存储
|
- 文件:MinIO 或 S3 兼容对象存储
|
||||||
- 管理端:Vue 3 + Element Plus;公开站点:Nuxt 3(优先)
|
- 管理端:Vue 3 + Element Plus;公开站点:Nuxt 3(优先;当前基础实现为 Razor Pages 服务端渲染)
|
||||||
- 编辑与可视化:CKEditor 5 或 TinyMCE、ECharts、ClosedXML
|
- 编辑与可视化:CKEditor 5 或 TinyMCE、ECharts、ClosedXML
|
||||||
- 可观测性:Serilog + Seq 或 OpenSearch
|
- 可观测性:Serilog + Seq 或 OpenSearch
|
||||||
|
|
||||||
@@ -73,6 +73,8 @@
|
|||||||
- [ ] SignalR 推送公开看板数据,断线后使用受控轮询兜底。
|
- [ ] SignalR 推送公开看板数据,断线后使用受控轮询兜底。
|
||||||
- [ ] 公开看板显示活动状态、参与人数、参与率、数据更新时间和公开规则说明。
|
- [ ] 公开看板显示活动状态、参与人数、参与率、数据更新时间和公开规则说明。
|
||||||
- [ ] 候选人实时票数、排名和图表只在活动明确开启后公开;不得公开未确认线下结果。
|
- [ ] 候选人实时票数、排名和图表只在活动明确开启后公开;不得公开未确认线下结果。
|
||||||
|
- [x] CMS 公开信息基础:建立八类固定内容定义(选举公告、规则与政策、候选人公示、选民指南、结果公告、常见问题、资料下载、历史归档)及只读公开内容契约。
|
||||||
|
- [x] 公开信息前端:提供八类内容的首页最新发布区、直接栏目菜单入口、目录/详情页、发布内容空状态与服务不可用提示;采用响应式中性政务信息风格。
|
||||||
- [ ] CMS:栏目、文章、公告、政策、操作指南、候选人公示、结果公告、媒体库与附件。
|
- [ ] CMS:栏目、文章、公告、政策、操作指南、候选人公示、结果公告、媒体库与附件。
|
||||||
- [ ] CMS 支持草稿、审核、发布、下线、定时发布、版本历史、回滚、分类、标签、SEO。
|
- [ ] CMS 支持草稿、审核、发布、下线、定时发布、版本历史、回滚、分类、标签、SEO。
|
||||||
- [ ] 建立 CMS 内容与选举活动、公开看板、结果公告之间的关联。
|
- [ ] 建立 CMS 内容与选举活动、公开看板、结果公告之间的关联。
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ try {
|
|||||||
$notice = Invoke-WebRequest -Uri 'http://127.0.0.1:5055/content/notice' -UseBasicParsing -TimeoutSec 5
|
$notice = Invoke-WebRequest -Uri 'http://127.0.0.1:5055/content/notice' -UseBasicParsing -TimeoutSec 5
|
||||||
$interactive = Invoke-WebRequest -Uri 'http://127.0.0.1:5055/ballot-preview' -UseBasicParsing -TimeoutSec 5
|
$interactive = Invoke-WebRequest -Uri 'http://127.0.0.1:5055/ballot-preview' -UseBasicParsing -TimeoutSec 5
|
||||||
|
|
||||||
if ($homeResponse.Content -notmatch '公开内容以服务端渲染快速交付') { throw 'Home page content check failed.' }
|
if ($homeResponse.Content -notmatch '每一项正式信息') { throw 'Home page content check failed.' }
|
||||||
if ($notice.Content -notmatch '公开公告模板') { throw 'Notice page content check failed.' }
|
if ($notice.Content -notmatch '公开公告模板') { throw 'Notice page content check failed.' }
|
||||||
if ($interactive.Content -notmatch '投票交互预览') { throw 'Interactive component content check failed.' }
|
if ($interactive.Content -notmatch '投票交互预览') { throw 'Interactive component content check failed.' }
|
||||||
|
|
||||||
|
|||||||
Loaded 3 of 14 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user