v0.1.12 - Interactive Whiteboard Multi-Page System & Student Points Ledger
Release Notes v0.1.12
发布日期: 2026年7月26日
主要更新
1. 互动白板多页系统重构与体验优化 (Whiteboard Pagination System)
- 解耦设计意图与强隔离: 厘清白板 P1, P2, P3 分页与课程环节 (Lesson Segments) 的映射关系。白板 P1, P2, P3 作为独立多页画布(多场景/多环节板书隔离),重写
currentPage与pageId的渲染过滤逻辑,彻底解决在环节激活状态下组件和笔画跨页覆盖与污染的问题。 - 全套页面管理 (CRUD): 支持双击页码按钮或下拉菜单重命名页面、一键复制当前页及其画布组件(带坐标偏移)、安全删除页面(带二次确认警示及保底逻辑)与拖拽/左右移动重排序。
- 页面大纲与缩略图抽屉 (Page Outline & Thumbnail Drawer): 在底部导航栏增加大纲控制按钮,可一键唤起全套白板页面的高颜值网格缩略卡片,直观展示各页组件与笔画数量并支持快速跳转。
- 结构化持久化与 Socket.IO 多端同步: 白板页面配置持久化保存至
page_meta配置元素中,结合 Socket.IOwhiteboard-update实时推送page-change与page-meta-update事件,确保全班师生切页与大纲更新秒级同步。 - 顶部工具栏 UI 精效化: 将顶部工具栏中的“AI 助教”按钮重构为与其他工具完全一致的精简图标按钮(
<Wand2 size={16} />),提升工具栏空间利用率与视觉一致性。
2. 学生积分与学期末总积分架构重构 (Student Points Ledger & Semester Grading)
- 统一积分流水日志 (Points Audit Ledger): 新增
student_point_logs数据库日志表,记录每笔积分变动的学生、插件来源、维度、变动分值、原因及时间戳,并通过 EventBus (points.awarded) 和 Socket.IO 实时推送到前端成长轨迹。 - 动态积分维度注册表 (Points Dimension Registry): 引入
IPointsDimensionRegistryToken,支持内置维度(考勤出勤分、学习进度分、平时作业分、期末/大考得分)及第三方插件动态注册新积分维度(如 AI 练习分、互动抢答分、互评贡献分)。 - 学期末总积分动态加权计算与归档: 重构
/api/classes/:classId/semester-summary引擎,支持动态加载已注册维度的班级权重进行标准化求和,并将dimension_scores结构化快照存档至student_semester_reports。 - Plugin SDK 接入支持: 在
@openlearn/plugin-sdk导出IPointsDimensionRegistryToken与IPointsLedgerServiceToken,使插件开发者可无缝注册积分维度与记录积分变动。
3. 测试与验证 (Tests & Verification)
- 新增互动白板多页隔离与页面 CRUD 单元测试
src/features/whiteboard/__tests__/whiteboard-pagination.test.ts(6/6 tests passed)。 - 新增积分流水与维度注册表单元测试
packages/core/di/__tests__/points-ledger.test.ts(6/6 tests passed)。
版本说明
- 平台
openlearn-next由 0.1.11 升至 0.1.12(patch)。 @openlearn/plugin-sdk保持workspace:*自动关联。