第一次完整竞选
用两个 Google 账号(或先用 admin 配好一个 voter)走通:建用户 → 建竞选 → 加入 → 分票 → 结束 → 看排名。
1. 登记用户
用 admin 打开 /admin/users 或 /admin/users/new:
- 添加 voter 的 Google 邮箱。
- 填写部门、职位(须能对上下一步的规则,例如「技术部」+「部长」)。
- 角色选
voter。管理员自己保持admin。
2. 新建竞选
打开 /admin/campaigns/new:
-
填写名称。
-
候选人名簿每行一个展示名,例如:
张三
李四 -
至少一条规则,例如:部门
技术部、职位部长、票数3。无匹配的成员默认 1 票。 -
保存。邀请码等隐藏字段可留空(主流程不用)。
3. 开放投票
到 /campaigns/[id]/ballots 确认 ongoing 为进行中。若已结束,用「开启投票」。
4. 成员加入并投票
- 用 voter 账号登录。
- 打开
/campaigns,点「加入竞选」。 - 进入该场「投票」,把预览票数完整分给候选人(合计必须等于权重)。
- 提交。成功后不能再投。
管理员账号无法投票。需要第二角色时用 voter / moderator。
5. 结束并看结果
- admin 或 moderator 在选票管理里结束投票。
- 打开
/campaigns/[id]/result。进行中只会提示等待;结束后按分票合计排名,同票并列。
可选:批量入卷
选票管理里「为未进场的用户生成选票」只处理 role = voter 且尚未参与本场的用户,不会给 admin / moderator / candidate 角色自动入卷。