Skip to content

V2.7.1 ​

本版本以官方仓库 main 分支代码为准。

更新日期:2026年8月4日

新高考选科与分科分发 ​

  • 大型考试分考试支持按班级选科策略分发:语文、数学、外语默认对适用范围内全部班级可见;物理、化学、生物、思想政治、历史、地理等选择性科目按班级选科组合自动限定到命中班级。
  • 系统设置新增“分科模式”开关:开启时按选科过滤,未分科班级读取全部 9 门科目;关闭时恢复按考试范围直接下放的老逻辑。
  • 批量添加分考试时自动为选择性科目写入适用班级范围,例如“物化地”班级只绑定物理、化学、地理。
  • 展示端调度增加旧数据兜底过滤:历史分考试即使没有保存班级范围,已分科班级也会按科目名自动过滤。
  • 班级管理修复“再选四选二”限制:再选科目最多 2 门,完整分科为 1 门首选 + 2 门再选;高一等未分科班级可清空为未分科。
  • 大型考试页面新增选科分发状态说明,提示精简为规则、进度和待处理班级三类。

科目体系统一 ​

  • 新增统一科目源,大型考试、批量添加、快速发布、周测计划、临时考试等选择框使用完全一致的科目列表。
  • 删除科目选择框中的“英语”,统一显示和保存为“外语”,旧数据自动迁移。
  • 统一“政治”为“思想政治”,并兼容旧数据名称。

权限与后台 ​

  • 年级管理员可进入系统设置,并下放批量添加分考试的自定义考试组/时间组管理与周测日历编辑;周测日历的年级和班级列表按账号授权范围过滤。
  • 强制作用域可见性:年级/班级管理员只能操作被授权的年级与班级,界面和 API 双重校验。
  • 班级管理员只能管理自己创建的快速临时考试;正式考试、他人快速考试及转正式仍需对应权限。
  • 修复作用域委托、周测计划激活和快速考试提前结束等边界问题。

同步与稳定性 ​

  • 新增全局云端写入同步队列:考试、设备、插件、认证写入统一排队,带进度提示,可合并相同操作。
  • 批量添加分考试重写为高考预设工作流:预设模板、科目上限、排序与原生选择器。
  • 增加强制发件箱校验,避免无效的“幽灵保存”残留。
  • 新增分层 API 限流(登录、班级绑定、考试发件箱等),限流期间同步队列进度保持不丢。
  • 修复登录锁定倒计时:前端可靠识别 429 LOGIN_LOCKED,倒计时状态同步刷新。
  • 兼容 Neon BIGINT 返回数字字符串的登录查询问题;按账号隔离待同步队列,保留首次登录改密会话。
  • 移除接口数据缓存导致的陈旧数据问题,绕过 Service Worker 对 API 数据的缓存;权限对比兼容 JSON 键顺序差异。
  • ClassIsland 插件兼容旧密钥,修复配对迁移与加载动画。

数据看板 ​

  • 新增按账号权限作用域过滤的考试数据看板。
  • 设置中的“数据屏”调整位置,并入管理后台仪表盘标签页。
  • 管理后台仪表盘重新设计,支持主题与动画布局;命令中心 UI 新增深色/浅色主题。

品牌与体验 ​

  • 接入完整 Novora 图标包,更新 PWA/favicon 图标。
  • 统一“正在载入 / 正在获取权限 / 正在载入展示设计”等黑底过渡页为品牌加载页。
  • 系统设置页底部新增作者水印,“关于”中展示作者名称与 GitHub 仓库链接。
  • 统一 HelpTip 图标位置、批量添加预览卡片配色与安全边距。

部署与工程 ​

  • 新增 Docker / NAS 部署支持(Dockerfile、docker-compose.yml、DEPLOY_NAS.md)。
  • 重构:pi/exams.ts 拆分为 pi/_exams/*,设置页、周测面板和管理后台按领域拆分。
  • 接入 ESLint + Prettier;单测扩展至 400+ 并通过,新增 Neon 数据库集成测试。

Novora 部署与维护文档