Skip to content

9. 首次登录和初始化

初始化会创建学校、年级、班级和学期调度配置。推荐从首页进入,让系统先确认云端确实没有学校结构。

为什么从首页开始

打开自定义域名:

text
https://exam.example.com/

首页会先从云端同步配置。只有成功读取云端并确认没有年级和班级时,才显示“系统尚未初始化”和“开始初始化”。网络故障不会直接被当作未初始化,从而降低误操作风险。

请等待页面完成同步,不要在“正在同步班级配置”时连续刷新。

进入初始化登录

  1. 点击首页的 开始初始化
  2. 页面进入标题为“系统初始化”的登录页。
  3. 用户名填写 admin
  4. 密码填写 Vercel 中设置的 ADMIN_PASSWORD
  5. 点击 验证并开始初始化

首次验证会按需建立认证表、四个内置角色和超级管理员。内置角色包括超级管理员、年级管理员、班级管理员和只读用户。

V2.5.5 会在初始化向导最后修改超级管理员密码,并自动生成一次性显示的恢复密钥,不需要在部署环境变量中填写恢复密钥。

备用初始化地址

只有首页无法显示初始化入口、且已经确认 /api/time 与数据库连接正常时,才手动访问:

text
/login?mode=initialize&next=/admin%3Finitialize%3D1

不要把普通 /login 写成首选初始化入口。普通登录默认只进入后台,并不表达“先验证云端为空再初始化”的完整流程。

第一步:学校信息

在初始化向导中:

  1. 选择省份或地区。
  2. 填写学校名称,例如“第一中学”。
  3. 检查系统生成的完整校名。

完整校名会显示在考试安排预览和 A4 PDF 中。如果同意遥测,省份和完整校名也会发送到作者端。输入前应确认学校对该信息的使用要求。

第二步:年级和班级

按学校实际结构创建年级和班级。建议使用稳定、容易识别的名称,例如:

text
高一年级:1班、2班、3班
高二年级:1班、2班、3班
高三年级:1班、2班、3班

不要把临时教室号当作班级名称。设备以后可以重新绑定,但年级和班级是考试适用范围的基础数据。

继续下一步前检查:

  • 至少有一个年级;
  • 每个需要使用的年级至少有一个班级;
  • 名称没有多余空格或明显错别字;
  • 没有重复创建同一班级。

第三步:学期与调度

设置以下项目:

项目说明
学期开始日期周次计算的基准日期
周次模式统一周表,或 A/B 周交替
自动排除法定节假日启用后周测调度考虑内置节假日数据
默认运行模式仅大型考试、仅周测或自动调度

同时使用大型考试和周测时,通常选择“自动调度”。只展示正式大型考试的学校可以先选择“仅大型考试”,后续在系统设置中调整。

第四步:确认学校配置

确认页会显示完整校名、年级数量、学期开始日期、周次模式和运行模式。

检查无误后点击 查看使用文档

第五步:查看使用文档(可跳过)

  1. 等待系统加载作者端发布的文档列表。
  2. 可点击一份有效文档的 打开文档
  3. 也可直接点击 继续设置超级管理员密码

文档不再是初始化门槛。如果浏览器阻止新窗口,无需强制允许弹窗;系统会提示稍后从“系统公告 → 文档”手动获取链接,然后可以继续初始化。

阅读确认完成后,可以从“首页 → 系统公告 → 文档”或“管理后台 → 更多 → 查看公告 → 文档”再次打开。

第六步:修改超级管理员密码

依次填写:

  1. 当前密码,即部署时的 ADMIN_PASSWORD
  2. 新密码,至少 8 位且不能与当前密码相同;
  3. 再次输入新密码。

点击 完成初始化并修改密码。系统会先保存学校初始化数据,再修改密码并撤销旧会话。

如果学校数据已经保存,但密码校验失败,向导会保留并显示具体原因。修正后再次提交只重试改密,不会重复初始化或制造数据库冲突。

第七步:保存恢复密钥

密码修改成功后,项目会自动生成以 NVR- 开头的恢复密钥并弹窗展示。该明文只显示一次:

  1. 点击复制恢复密钥;
  2. 保存到可信密码管理器或学校受控的离线介质;
  3. 不要发送给普通管理员或放进截图;
  4. 勾选“我已保存”后完成初始化。

数据库仅保存恢复密钥的加盐哈希,系统之后无法再次显示原文。它只在所有超级管理员都忘记密码时使用,不能作为日常登录密码。

保存过程中不要关闭页面或重复点击。第 1 步在填写学校基本信息前不可关闭,第 7 步在确认保存恢复密钥前也不可关闭。

无法完成向导时的应急入口

只有常规初始化确实无法完成时,才访问:

text
/login?next=/admin%3FallowIncomplete%3D1

登录后可直接进入管理页,但右下角会持续显示不可关闭的“初始化尚未完整完成”提示,列出学校信息、年级、班级、学期规则或恢复密钥等遗漏项目。可点击 继续完整初始化,或先进入 年级与班级 补数据。补齐前不要把系统投入正式使用。

云端已有学校结构时,服务端会拒绝重复初始化。旧的 ?initialize=1 链接不会直接覆盖已有数据。

初始化后的安全操作

  1. 使用初始化第六步设置的新密码重新登录。
  2. 进入后台“用户与权限”。
  3. 按职责创建年级管理员或班级管理员。
  4. 只授予账号需要的数据范围。
  5. 不要多人共享超级管理员账号。

为当前设备选择班级

返回首页后,点击选择年级和班级。当前设备只显示绑定班级的周测,以及适用于该班级的大型考试。

一台教室设备应绑定自己的实际班级。管理员办公电脑若需要切换查看,可在本地设置中调整当前设备范围。

初始化失败时

页面如果显示数据库或同步错误,记录完整错误信息和请求 ID,然后查看故障排查。优先检查:

  • DATABASE_URL 是否为当前 Neon 项目的 Pooled 连接串;
  • 环境变量修改后是否重新部署;
  • Neon 项目是否正常运行;
  • 学校网络是否能访问自定义域名的 /api/*

下一章:部署验收 →

Novora 部署与维护文档