Skip to content

helloaider/smart-roll-call

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎯 智能课堂点名器 v2.0.0

一个开箱即用的课堂点名工具,纯原生 HTML 单文件,无需安装任何依赖,双击即可使用。

预览截图1 预览截图2 预览截图3 预览截图4 预览截图5 预览截图6

✨ 功能特性

  • 批量点名(抽N人) — 一次抽取多人(1~50 人可配置),支持直接输入数字或用 +/- 按钮调整,支持全班、指定小组两种抽取范围,每种范围均可选择均衡抽取(优先被点少的学生)或完全随机;滚动定格后所有被选座位同时高亮,结果弹窗卡片式展示;「确认计入记录」才写入统计,关闭则放弃,不影响现有记录
  • 均衡抽取 — 优先从被点次数最少的同学中随机抽取,保证机会均等;本轮全部点完后自动进入下一轮并弹出提示
  • 全员随机 — 不考虑被点次数,每次从全班完全随机抽取,适合需要重复点名的场景
  • 随机抽小组 — 从所有小组中随机抽取一组,抽中后高亮该组全部座位并展示成员名单
  • 组内随机抽(抽1人) — 选定小组后可选择抽取模式:均衡抽取按轮次优先从本组被点次数最少的成员中随机抽取,保证组内机会均等,本轮全员点完后自动进入下一轮并弹出提示;完全随机则从组内所有有效成员中纯随机抽取,不计轮次;弹窗列表实时显示每组成员名单和当前轮次/剩余候选人数,点击行选中后通过底部按钮选择模式触发
  • 抽小组出场顺序 — 一次性随机打乱所有小组的出场顺序,适合答辩、汇报、展示等任何需要排序的场景;结果卡片展示完整排列,前三名金银铜牌标注,可「重新抽」直到满意,「复制结果」一键分享
  • 指定名单抽人 — 手动输入任意名单(支持换行/逗号分隔),从中随机抽取,名单内学生在座位表中存在时自动高亮;支持将常用名单(如学困生、优秀生)命名保存,下次一键加载,无需重复输入
  • 考勤/签到模式 — 「···」菜单 → 考勤/签到模式,复用座位表布局渲染考勤网格,逐格点击切换每位学生状态(到课 / 缺席 / 请假),鼠标悬停格子右上角显示下一个状态提示;底部实时显示人数汇总;点「保存考勤记录」后写入记录,考勤数据不计入被点次数,统计页「点名记录」tab 中以聚合行展示(到课 N、缺席 N、请假 N),导出 Excel 时同步包含;统计摘要卡片显示累计考勤次数
  • 今日排除 — 右键座位可临时将学生标记为「今日排除」,排除后不参与任何随机抽取;座位半透明显示,顶部提示条可一键批量恢复;☰ → 管理排除名单可逐个恢复;排除状态仅在当前会话有效,刷新即清空,不影响历史记录
  • 本次课记录 — 菜单「查看本次记录」可快速查看当天的点名结果(按时间倒序),无需进入统计页或设置日期筛选
  • 统计导出 — 在统计页面可导出当前筛选范围内的数据为 Excel,含点名统计、点名记录、课堂报告(今日点名流水+全员统计+公平性预警)等 Sheet(存在考勤数据时额外附加考勤明细和出勤汇总),标题行自动合并居中
  • 手动点名 — 双击座位直接标记/取消点名,hover 座位时底部显示「双击点名」提示,右键座位可查看或编辑学生介绍
  • 撤销上次点名 — 右下角「↩ 撤销上次」按钮,一键撤销最近一次点名记录,无需双击座位再确认,误点即时补救
  • 座位高亮 — 点名后对应座位实时高亮,全班一目了然
  • 被点次数 — 可开启座位右上角折角角标,显示每位学生的累计被点次数,次数越多颜色越深
  • 点名统计 — 支持按日期范围筛选(日历选择器,格子上显示每天点名次数,提供「今天」「本周」「本月」「全部」快捷按钮),查看每位学生被点次数、总次数、人均/最大/最小被点次数,支持排序,含备注列
  • 公平性预警 — 统计页自动标记被点次数明显偏高/偏低的学生(超过均值 1.5 个标准差),帮助老师及时发现不均衡情况
  • 趋势图 — 统计页趋势图 tab,折线图展示全班或单个学生的被点次数随时间变化,联动日期范围筛选
  • 抽取范围追踪 — 每条随机点名记录自动保存本次候选人名单,统计页「点名记录」可查看并悬停展示完整名单,方便核查随机公平性;导出 Excel 时同步包含抽取范围数据
  • 视角切换 — 支持教师视角与学生视角(180° 翻转)双向切换
  • 班委标识 — 红色下划线标注班长,绿色下划线标注组长
  • 小组背景色 — 支持为学生分组并设置背景色,颜色区分度高,可随时开关
  • 学生介绍 — 点名后在姓名旁弹出介绍卡片,支持文字介绍和学生照片;卡片底部显示进度条和倒计时数字,25 秒后自动消失;鼠标悬停卡片可暂停倒计时,移开后继续;有照片时可点击放大查看
  • 学生备注 — 可为每位学生添加仅老师可见的备注,座位左上角显示红点提示,备注内容在点名统计和导出Excel中同步展示
  • 多班级管理 — 支持在同一浏览器中管理多个班级,各班级的座位配置和点名记录完全独立隔离;顶部徽标显示当前班级,点击可切换、新增或删除班级,切换时自动保存当前班级数据
  • 点名记录导入/导出 — 支持将点名数据导出为Excel文件存档,可从导出文件恢复,方便跨设备迁移;导入时自动识别并提示不在当前座位表中的姓名
  • 一键清空记录 — 清除本轮所有点名记录
  • 数据持久化 — 所有点名记录与设置自动保存至浏览器本地,刷新不丢失
  • 粒子背景 — 动态粒子特效

🛠️ 快速配置工具

提供builder.html快速配置工具,无需修改代码即可完成所有配置:

  • 可视化编辑座位表 — 支持自定义行列数、学生姓名、班委角色、过道/讲台位置
  • 拖拽排序 — 直接拖拽学生座位格交换位置,也可与空格格互换,无需手动改名
  • 批量填入姓名 — 从 Excel 复制一列姓名后直接粘贴,按列优先顺序自动填入所有学生格,支持换行/逗号/分号分隔
  • 预设布局模板 — 提供标准教室、含过道、U型、研讨型等 8 种常见教室布局,一键生成,只需改名字
  • 小组管理 — 支持创建小组、分配成员、设置背景色,10 种预设颜色色相差异明显
  • 导入/导出 — 支持从已有点名器 HTML 或 Excel 文件导入配置,支持导出 XLSX(含小组背景色)
  • 学生备注/介绍编辑 — 在线编辑每位学生的备注/介绍文字,也可通过右键菜单直接在点名器中编辑
  • 网页参数配置 — 支持自定义网页标题(浏览器标签页名称)和选项卡图标(favicon)
  • 班级信息配置 — 支持配置班级标题和班级口号
  • 草稿自动保存 — 编辑内容自动保存到浏览器,刷新不丢失
  • 应用到点名器 — 从点名器菜单跳转到生成器编辑后,可直接应用回点名器无需重新生成

🚀 快速开始

  1. 下载index.htmlbuilder.html,放到同一目录
  2. 用浏览器打开builder.html配置座位表
  3. 点击「生成并下载点名器HTML」
  4. 双击下载的HTML文件开始点名

无需服务器,无需网络(导入导出表格除外),本地直接运行。 如需展示学生照片,将照片放入student_photos/目录,文件名与学生姓名一致(如张三.jpg)即可自动匹配。

📁 项目结构

index.html        # 点名器主文件
builder.html      # 快速配置工具
readme_images/    # README 预览截图
student_photos/   # 学生照片(文件名与学生姓名对应,如 张三.jpg)
examples/         # 示例表格(座位表、点名记录导入参考)

🌐 在线预览

https://helloaider.github.io/smart-roll-call/

📋 更新日志

v2.0

多班级管理

  • 新增多班级管理:支持在同一浏览器中管理多个班级,各班级座位配置和点名记录完全隔离;顶部徽标显示当前班级(多班级时),点击快速切换;☰ → 管理班级列表可新增、改名、删除班级;首次运行自动迁移现有数据

抽取方式

  • 新增批量点名(抽N人):一次抽取多人(1~50 人可配置),支持全班、指定小组两种抽取范围,每种范围均可选择均衡抽取或完全随机;滚动定格后所有被选座位同时高亮,「确认计入记录」才写入统计,关闭则放弃
  • 新增组内随机抽(抽1人):选定小组后支持两种模式——均衡抽取优先从本组被点次数最少的成员中抽取,保证组内机会均等,本轮全员点完后自动进入下一轮;完全随机从组内所有有效成员中纯随机抽取,不计轮次;弹窗列表显示每组成员预览、当前轮次和剩余候选人数,点击行选中后通过底部按钮触发
  • 新增随机抽小组:从所有小组中随机抽取一组,抽中后高亮该组全部座位并展示成员名单
  • 新增抽小组出场顺序:一次性随机打乱所有小组出场顺序,以卡片列表展示完整排列,前三名金银铜牌标注并显示每组成员名单;支持「重新抽」和「复制结果」
  • 指定名单抽人新增常用名单保存:可将名单命名保存(如学困生、优秀生),弹窗内直接加载,支持同名覆盖和删除管理

考勤

  • 新增考勤/签到模式:「···」菜单 → 考勤/签到模式,复用座位表布局渲染考勤网格,点击格子循环切换状态(到课 / 缺席 / 请假),底部实时汇总人数;保存后写入记录,考勤数据不计入被点次数;统计页「点名记录」以聚合行展示,导出 Excel 同步包含,统计摘要卡片显示累计考勤次数

统计与记录

  • 统计页新增趋势图 tab:折线图展示全班或单个学生被点次数随时间变化,联动日期范围筛选
  • 统计页点名统计新增公平性预警:自动标记被点次数明显偏高/偏低的学生(超过均值 1.5σ)
  • 统计导出 Excel 新增「课堂报告」Sheet:导出时自动附加今日点名流水、全员被点次数统计(含公平性预警)和统计摘要
  • 新增查看本次记录:菜单中一键查看当天点名记录(按时间倒序),无需进入统计页设置日期筛选

操作体验

  • 新增今日排除:右键座位可临时排除学生不参与本次抽取,排除状态仅当前会话有效(刷新清空),不影响历史记录;所有抽取模式均过滤排除名单;☰ → 管理排除名单可逐个或批量恢复
  • 新增撤销上次点名:右下角「↩ 撤销上次」按钮,一键撤销最近一次点名,误点即时补救
  • 介绍卡片新增倒计时可视化:卡片底部增加进度条和倒计时数字,25 秒后自动关闭

快速配置工具

  • 新增座位拖拽排序:直接拖拽学生格交换位置,支持与空格格互换
  • 新增批量填入姓名:从 Excel 复制一列姓名粘贴后一键填入,支持逗号/分号多种分隔符
  • 新增预设布局模板:提供 8 种常见教室布局(标准、含过道、U型、研讨型),讲台行自动合并显示

v1.6

  • 新增抽取范围追踪:均衡抽取、全员随机、组内随机抽、指定名单抽人时,自动记录本次参与随机的候选人名单
  • 统计页「点名记录」新增「抽取范围」列,显示候选人数量摘要,悬停查看完整名单,方便核查随机公平性
  • 导出 Excel 的点名记录 Sheet 同步包含「抽取范围」列,导入时向后兼容旧格式

v1.5

  • 新增随机抽小组:从所有小组中随机抽取一组,抽中后高亮该组全部座位并展示成员名单
  • 新增组内随机抽:选定小组后从组内成员中随机抽取一人,计入点名记录,显示剩余未点人数
  • 新增指定名单抽人:手动输入任意名单,从中随机抽取,名单内学生在座位表中存在时自动高亮

v1.4

  • 学生介绍支持照片显示:将照片放入student_photos/目录,文件名与学生姓名一致即可自动匹配,支持jpg/png/webp/gif等格式
  • 介绍卡片升级为图文混排:有照片时左图右文布局,纯文字或纯图片时自动适配,文字超出高度可滚动
  • 新增介绍卡片放大功能:有照片时卡片右上角出现放大按钮,点击后居中放大显示,再次点击还原
  • 新增学生备注功能:可为每位学生添加仅老师可见的备注,座位左上角红点提示,备注内容在点名统计和导出 Excel 中同步展示
  • 规范项目目录结构:新增student_photos/examples/目录,各类文件职责更清晰
  • 显示偏好配置弹窗优化:字号、行间距与设置面板对齐,选项左对齐,底部按钮样式修复

v1.3

  • 新增点名统计时间范围筛选:统计页面新增日历选择器,可按日期范围筛选统计数据,日历格子上显示每天的点名次数
  • 新增统计页面导出:可将当前筛选范围内的统计数据导出为Excel,含「点名统计」和「点名记录」两个Sheet,标题行自动合并居中加粗
  • 导出 Excel 统一优化:标题行、时间行自动合并居中,新增导出时间信息
  • 导入点名记录增强:导入时自动识别并提示不在当前座位表中的姓名和条数
  • 修复编辑座位信息时小组颜色未正确传递的问题
  • 修复从Excel导入座位表时Office主题色无法识别的问题
  • 小组预设颜色优化:提升相邻小组的颜色区分度

v1.2

  • 新增点名记录导入/导出,支持跨设备迁移
  • 随机点名重构为「均衡抽取」,优先从被点次数最少的同学中抽取,本轮结束后自动进入下一轮
  • 新增座位折角角标,显示累计被点次数
  • 新增右键菜单,可快速查看或编辑学生介绍
  • 新增点名统计弹框,支持排序
  • 新增网页标题可配置
  • 修复统计列表滚动穿透、最大/最小次数统计错误等问题

v1.1

  • 新增builder.html可视化快速配置工具
  • 支持从Excel/HTML 导入座位配置,支持导出XLSX
  • 支持从点名器菜单直接跳转编辑并应用配置
  • 修复过道合并、列宽等显示问题

v1.0

  • 初始开源版本
  • 支持随机点名、手动点名、视角切换、双主题、班委标识、学生介绍、记录管理

📄 License

MIT

📬 联系作者

如有任何使用问题或新需求,欢迎通过邮箱联系作者:20597475@qq.com

Packages

 
 
 

Contributors

Languages