Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2025 秋至少上过 5 节课的学生里,12.5% 七成以上的课一道都没交,37% 的学生贡献了 一半以上的「没交」;当堂那份「今天还没交过」把偶尔没来的和一直不动手的排在同一行。 - 看板接口给每个学生加 recentAttended:最近几节课(最多 5 节、不含今天、45 天内; 一节课 = 同班同日 ≥5 人做同一题)里交过几节,另给 recentLessons - 「今天还没交过」拆成「经常没交」(≥3 节可比且最多交过 1 节)和其他;表格加一列 「最近 N 节」;只给老师看,投影模式不出现 - 求助读老师端常驻 WebSocket 的 collabStore.requests(不改后端):求助的学生置顶, 状态显示「举手了 / 老师在帮」,点一下打开求助列表;求助提示不论布没布置题都显示 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2025 秋平均每节课有 14 个平时在用的学生一道都没交(三分之一),交了 3 次以上还没过的 平均不到 1 个;而老师原来只能一道题一道题打开统计弹窗看。 - 新表 class_lesson(迁移 0023,仅建表):一个班一天一行,存老师布置的 problem.id 与顺序; day 存东八区日历日文本,created_by CASCADE - GET /classroom/board:这个班今天的题 × 全班学生(通过与否不限今天、今天交了几次、 最后提交时间);不给班级时猜最近两小时提交人数最多的班,不记老师上次选的 - PUT /classroom/lesson:按展示题号布置,对不上的题号点名拒绝,空数组 = 清掉 - /me/class-activity 优先返回老师布置的题(source = teacher),否则照旧推断 - 前端 /classroom:没交过的名单置顶,按 没交过 → 卡住 → 在做 → 做完 排序,15 秒刷新; 投影模式只显示每题完成人数、不出名字;用户菜单给老师加入口 - 学生首页:老师布置的标题写「今天老师布置的题」,没人交时不显示 0/0 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>