Compare commits
4
Commits
1e0652211b
..
master
No files matched your search
@@ -73,8 +73,8 @@
|
|||||||
- [x] 按活动规则汇总已确认线下票,生成候选人/议案选项得票、有效/无效/弃权/缺投统计及当选名单;线上投票接入后复用同一结果服务。
|
- [x] 按活动规则汇总已确认线下票,生成候选人/议案选项得票、有效/无效/弃权/缺投统计及当选名单;线上投票接入后复用同一结果服务。
|
||||||
- [ ] 建立结果审核、监票确认、发布和归档流程。
|
- [ ] 建立结果审核、监票确认、发布和归档流程。
|
||||||
- [x] SignalR 推送已确认线下计票的公开看板数据;断线后使用公开结果接口受控轮询兜底。
|
- [x] SignalR 推送已确认线下计票的公开看板数据;断线后使用公开结果接口受控轮询兜底。
|
||||||
- [ ] 公开看板显示活动状态、参与人数、参与率、数据更新时间和公开规则说明。
|
- [x] 公开看板显示活动状态、参与人数、数据更新时间和公开规则说明;`/results` 以受控轮询刷新。
|
||||||
- [ ] 候选人实时票数、排名和图表只在活动明确开启后公开;不得公开未确认线下结果。
|
- [x] 候选人实时票数只在活动明确开启后公开;接口与 SignalR 推送共用公开策略,且不会公开未确认线下结果。
|
||||||
- [x] CMS 公开信息基础:建立八类固定内容定义(选举公告、规则与政策、候选人公示、选民指南、结果公告、常见问题、资料下载、历史归档)及只读公开内容契约。
|
- [x] CMS 公开信息基础:建立八类固定内容定义(选举公告、规则与政策、候选人公示、选民指南、结果公告、常见问题、资料下载、历史归档)及只读公开内容契约。
|
||||||
- [x] 公开信息前端:提供八类内容的首页最新发布区、直接栏目菜单入口、目录/详情页、发布内容空状态与服务不可用提示;采用响应式中性政务信息风格。
|
- [x] 公开信息前端:提供八类内容的首页最新发布区、直接栏目菜单入口、目录/详情页、发布内容空状态与服务不可用提示;采用响应式中性政务信息风格。
|
||||||
- [ ] CMS:栏目、文章、公告、政策、操作指南、候选人公示、结果公告、媒体库与附件。
|
- [ ] CMS:栏目、文章、公告、政策、操作指南、候选人公示、结果公告、媒体库与附件。
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ dotnet user-secrets remove "Bootstrap:SystemAdministrator:Password" --project sr
|
|||||||
|
|
||||||
- `/admin/dashboard`:仅显示当前授权范围内的汇总。
|
- `/admin/dashboard`:仅显示当前授权范围内的汇总。
|
||||||
- `/admin/regions`:首次启动会自动导入随应用发布的 AreaCity 四级目录;村/社区使用本地确认目录。`/admin/region-import` 仅用于受控版本更新。
|
- `/admin/regions`:首次启动会自动导入随应用发布的 AreaCity 四级目录;村/社区使用本地确认目录。`/admin/region-import` 仅用于受控版本更新。
|
||||||
- `/admin/voters` 与 `/admin/voter-import`:按地域维护选民、预校验并确认 Excel 导入。选民列表使用每页 50 条的游标分页,并支持省→市→区县→镇街四级级联筛选。
|
- `/admin/voters` 与 `/admin/voter-import`:按地域维护选民、预校验并确认 Excel 导入。若身份信息不能进入本系统,`/admin/voter-import` 可按有权辖区登记未具名的补充人数并填写原因;它独立于选民档案,只用于登记总量展示,绝不用于线上资格、已投状态或重复投票判断。与具名名单并存时,汇总数必须只填未具名部分,避免重复统计。选民列表使用每页 50 条的游标分页,并支持省→市→区县→镇街四级级联筛选。
|
||||||
- `/admin/candidates`:维护候选人资料和服务端允许的状态转换。
|
- `/admin/candidates`:维护候选人资料和服务端允许的状态转换。
|
||||||
- `/admin/roles`:系统管理员授予地域管理员、计票员或监督员角色。
|
- `/admin/roles`:系统管理员授予地域管理员、计票员或监督员角色。
|
||||||
- `/admin/counting-stations`:建立辖区计票所,并向已获地域角色的人员分配具体计票所;列表同样使用游标分页及四级级联筛选。
|
- `/admin/counting-stations`:建立辖区计票所,并向已获地域角色的人员分配具体计票所;列表同样使用游标分页及四级级联筛选。
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
## 规则与权限
|
## 规则与权限
|
||||||
|
|
||||||
- 活动必须指定一个目标行政区。只有直接被分配至该行政区的省、市、区、镇或村管理员可创建、编辑及发布;系统管理员可以全局操作。上级管理员仍可以只读查看其下级范围的活动。
|
- 活动必须指定一个投票范围。创建页可停在省、市、区县、镇街或村社任一级;系统管理员还可选择“全国”。全国范围是系统保留的持久化范围,覆盖所有有效行政区,但不会改写 AreaCity 原始层级。只有直接被分配至目标行政区的省、市、区、镇或村管理员可创建、编辑及发布;全国范围仅系统管理员可创建、编辑及发布。上级管理员仍可以只读查看其下级范围的活动。
|
||||||
- 活动在草稿阶段依次配置议题、选项和计票所。发布后定义冻结,不能增删候选人、计票所或改变计票规则。
|
- 活动在草稿阶段依次配置议题、选项和计票所。发布后定义冻结,不能增删候选人、计票所或改变计票规则。
|
||||||
- 一个活动可以包含多个 `CandidateElection`(岗位/多席位竞选)及 `Proposition`(议案)议题。每个议题独立记录每个选项的有效票、弃权、无效票和系统计算的缺投数。
|
- 一个活动可以包含多个 `CandidateElection`(岗位/多席位竞选)及 `Proposition`(议案)议题。每个议题独立记录每个选项的有效票、弃权、无效票和系统计算的缺投数。
|
||||||
- 每个议题可配置席位数、最少/最多选择数、最高票/简单多数/绝对多数/特定比例门槛、计票分母(仅有效票或全部投出选票)以及平票后的人工复核或无结果处理。
|
- 每个议题可配置席位数、最少/最多选择数、最高票/简单多数/绝对多数/特定比例门槛、计票分母(仅有效票或全部投出选票)以及平票后的人工复核或无结果处理。
|
||||||
@@ -17,8 +17,8 @@
|
|||||||
|
|
||||||
## 对外公开
|
## 对外公开
|
||||||
|
|
||||||
- `GET /api/public/elections/{electionId}/results` 仅返回活动明确允许的数据。截止及结果发布前,默认只能按活动配置公开参与量;候选人或议案票数只有在 `PublishLiveCandidateTotals=true` 或最终结果发布后才返回。
|
- `GET /api/public/elections/{electionId}/results` 与 `/results` 公开看板仅返回活动明确允许的数据。截止及结果发布前,默认只能按活动配置公开参与量;候选人或议案票数只有在 `PublishLiveCandidateTotals=true` 或最终结果发布后才返回。开启实时票数必须同时开启参与量公开。
|
||||||
- SignalR 端点为 `/hubs/public-results`;客户端调用 `Subscribe(electionId)` 后接收 `resultUpdated`。推送只基于已确认的线下批次。
|
- SignalR 端点为 `/hubs/public-results`;客户端调用 `Subscribe(electionId)` 后接收 `resultUpdated`。Hub 订阅和推送与公开接口使用同一公开策略,不能借此读取未获准公开的票数。公开看板每 15 秒受控轮询接口,以便在实时连接不可用时仍可刷新。
|
||||||
- 每次确认、以及后台每分钟推进活动状态时都会更新公开数据。所有时间均为 UTC。
|
- 每次确认、以及后台每分钟推进活动状态时都会更新公开数据。所有时间均为 UTC。
|
||||||
|
|
||||||
## 管理 API
|
## 管理 API
|
||||||
|
|||||||
Loaded 3 of 38 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user