Skip to content

v1.2.0

Choose a tag to compare

@tempChanghong tempChanghong released this 01 Oct 16:38

NPClassworks v1.2.0 · Hitori(后藤一里)

image

版本概述

v1.2.0 是基于 v1.1.5 的学校互联与原生课堂工具更新,以 Hitori(后藤一里) 为代号,按正式版发布。

本次新增 NPEP 设备配对与学校管理、桌面通知投递、完整考试/日常远程切换、ExamAware 方案控制,以及原生噪音监测、学校年级/班级排程与统计报告。同时更新暖橙色图标,完善页面元信息与本地开发流程。原有作业、通知、考勤、模板及准备清单流程继续保留。

配套后端为 NPClassworksKV v1.2.0;桌面端为 NPEduTools InDev 20261002(Pre)。网页和 KV 按正式版准备,但 NPEP 的真实班级大屏、学校排程及长期运行现场验收仍未完成,原生联动建议先在单台设备试用。

新增功能

NPEP 学校设备互联

  • 学校后台设备管理:在学校管理页的 NPEP 设备互联区域管理配对、设备状态、暂停/恢复及撤销。完成配对即授权当前提供的学校互联能力,确认文案明确学校、班级与设备范围。
  • 状态与能力展示:显示连接信息、设备回执和当前支持的能力,区分历史操作结果与最近状态。连接成功不代表麦克风、ClassIsland 或 ExamAware 已经配置完成。
  • 完整考试/日常远程切换:学校后台可对单台设备发起切入考试或返回日常,联动桌面软件运行、Windows 登录自启动与自动录课暂停。受阻时展示执行步骤、原因和部分完成状态,支持核实与重试。
  • ExamAware 方案控制:查看和管理考试方案、向指定设备投递,核对方案摘要并明确请求开始放映,展示投递/放映回执。需要新版 NPEduTools 及 ExamAware 桥接 0.4.0。

通知同时送达网页与桌面

  • 统一弹窗设置:“网页大屏与 NPEduTools 弹窗提示”同时控制两个显示端。次要通知允许关闭弹窗,仍可接收;普通、重要、紧急通知仍须弹窗提示。
  • 原生通知回执:显示设备投递与处理情况。桌面端通过 HTTP 轮询收件,采用独立置顶窗口;普通及以上通知配合变暗遮罩,需手动关闭。
  • 默认显示一天:未填写失效时间的新通知默认在发布时间一天后停止显示,编辑器预览与后端保持一致。已有明确失效时间的通知不因本次升级统一重写。

原生噪音监测与学校排程

  • 班级大屏入口:从课堂工具进入噪声监测;原生接管后,网页负责开始/停止、显示最近状态和报告,由 NPEduTools 使用已保存的麦克风。
  • 明确采集边界:原生接管时停用旧网页采集和旧网页定时功能,避免两个端同时占用麦克风;失联不自动退回网页采集。关闭网页后,桌面会话可以继续运行。
  • 统计报告:展示有效采样时长、覆盖率、能量平均、峰值、削波和设备/算法来源;只上传统计,不上传录音。KV 每台设备保留最近 30 天、最多 200 份,页面显示最近 20 份。旧网页历史仍在原浏览器中,不混合为原生报告。
  • 学校定时规则:学校后台按年级或班级管理每周时段,支持继承、覆盖、停用、预览与修订冲突处理。桌面按 ClassIsland 学校时间执行;网页展示规则、执行状态和报告来源。
  • 手动停止与考试状态:手动停止自动会话可跳过当前时段并明确恢复;考试期间暂停自动监测。无法关联来源的报告标为未知,不能当作手动报告。

体验优化

  • 暖橙色品牌图标:更新真实路径 SVG、浏览器图标、PWA 图标、maskable 及单色资源,并保留可编辑母版与验证材料。
  • 统一版本与代号:关于页面、诊断信息和上报信息从应用版本元数据读取;本版统一为 v1.2.0 / Hitori(后藤一里),修正先前源码包仍显示 v1.1.0 的情况。
  • 网页显示最近设备状态:明确提示网络延迟、操作已受理与实际运行状态的区别,避免把按钮请求成功当作设备已完成操作。

Bug 修复与页面元信息

  • 调整开发依赖扫描范围,避免文档/生成缓存中的 HTML 被误当作应用入口,改善管理页动态模块加载问题。
  • 所有生产 SPA 页面共用 robots: noindex, follow 元信息,要求搜索引擎不收录页面;该指令不代替登录权限或访问控制。
  • 页面 canonical、Open Graph 和分享图地址由 VITE_SITE_ORIGIN 统一生成,默认使用前端地址 https://newfires.top,不再残留无关的 cs.newfires.top;API 地址独立配置。
  • 修正 PWA 通知角标资源、管理页配对文案和浏览器夹具,使通知与学校授权提示符合当前功能语义。

测试与发布保障

  • 本次版本与说明准备后,重新运行 654 项网页单元测试、ESLint、隔离生产构建与静态 PWA 校验,均通过;本轮没有重复全部浏览器或真实数据库验收。
  • 已合并功能完成 654 项网页单元测试、ESLint、生产构建与静态 PWA 资源校验;最新功能 CI 完成 152 项浏览器检查,以及真实全栈 37 项和独立 N1 配对验收 1 项。
  • 增加 NPEP 配对、通知、考试/日常切换、方案、原生噪音与学校排程的契约和跨端检查;统一入口联动网页、KV 和桌面测试。本地使用原生 PostgreSQL,避免依赖生产环境调试。
  • 自动 Claude 审查改为显式开启:安装对应 GitHub App、配置 API 密钥,并设置 CLAUDE_REVIEW_ENABLED=true 后运行。未配置时跳过,不影响构建、单元、浏览器或契约检查;跳过不表示完成 AI 审查。
  • 以上是既有功能验证证据,不将自动化结果描述为真实大屏验收,也不将 Release 草稿创建描述为生产部署完成。

升级说明

  1. 建议先更新 NPClassworksKV v1.2.0 并应用完整 Prisma 迁移,再更新前端。保持现有前端/API 分离部署方式;后端升级前备份数据库及 NPEP 配置身份。
  2. 已配对桌面升级至 NPEduTools InDev 20261002;使用方案功能时升级 ExamAware 桥接至 0.4.0。旧设备不一定支持新控制或学校排程,不能仅凭“在线”判断兼容。
  3. 前端开发使用 pnpm install --frozen-lockfile,配置 Windows 原生 PostgreSQL 与后端本地环境后运行 pnpm dev,统一启动前后端;仅启动网页使用 pnpm dev:web。生产构建使用 pnpm run build,完成后执行 pnpm pwa:validate。
  4. 大屏保存未提交内容后更新 PWA,不需要清除站点数据;以免丢失本机草稿、选班、设备绑定或离线待上传内容。旧页面需刷新/重新打开才能取得新代码。
  5. 首次部署 NPEP 可先保持关闭,核对原有业务后再启用单台设备;已经激活的服务保留原身份,不重复初始化。上线前检查已保存的年级/班级规则,避免新桌面接收意外时段。

使用边界与反馈

  • 原生噪音数值为 dBFS,不是校准声压级,不与旧网页评分混用,也不用于班级排名。当前不提供原音频上传、摄像头或跨班批量考试控制。
  • 自动排程依赖可靠的 ClassIsland 学校时间;规则离线租期与设备运行情况需以桌面提示为准,服务器禁用无法立即通知离线设备。
  • ExamAware 编辑器退出协商仍有已知问题;切换前保存并关闭编辑器,返回前结束放映,不强制结束未保存窗口。
  • v1.2.0 与旧版本之间的真实 PWA 升级、教室设备长期运行及学校排程现场验收仍需补充,不把已有其他版本升级测试视作本版实测。

问题请通过 GitHub Issues 反馈,附版本、复现步骤及脱敏诊断信息,不提交账号令牌、配对码或学生资料。

文件说明

文件 作用
release-v1.2.0.md 本版发版说明,可离线保存
GitHub Source code (zip / tar.gz) 发布标签对应的前端源码,发布后自动提供;需要安装依赖并构建,不是桌面安装包

本次不附带 NPEduTools、ExamAware 或 ClassIsland 安装包,也不附带数据库备份与服务器私有配置。

Full Changelog

查看前端完整变更:v1.1.5...v1.2.0