✨ 功能特性
AgoraIn 提供全面的课堂签到管理功能,以下是所有支持的特性详解。
签到操作
✅ 一键打卡
教师在大屏客户端上点击学生姓名,瞬时完成签到。操作简单直观,适合课堂场景快速响应。
- 左键点击:完成签到
- 签到时间精确记录
- 支持连续快速点击多名学生
↩ 即时取消
签到误操作时可以立即撤销:
- 右键点击已签到学生即可取消
- 不影响其他学生的签到记录
- 取消后可重新签到
数据统计
📊 实时仪表盘
客户端实时展示签到统计数据:
| 指标 | 说明 |
|---|---|
| 签到人数 | 已签到学生数 / 总人数 |
| 出勤率 | 百分比显示,直观明了 |
| 最早签到 | 第一个完成签到的学生和时间 |
| 最晚签到 | 最后一个完成签到的学生和时间 |
🏆 排行榜
实时显示最早签到的 前 3 名 学生:
- 🥇 金牌 — 第一名
- 🥈 银牌 — 第二名
- 🥉 铜牌 — 第三名
- 排行榜实时更新,激励学生快速签到
多任务管理 (v2.7 新功能)
📋 独立任务管理
- 支持同时创建多个打卡任务
- 每个任务独立管理学生名单
- 标签页切换在不同任务之间快速跳转
🔄 后台同步
- 未打开的标签页自动在后台连接服务器
- 数据实时同步,不会遗漏任何签到
- 切换标签页时数据即时更新
远程签到
📱 短链接签到
- 教师在 Web 管理面板创建签到任务
- 系统自动生成短链接
- 教师分享链接给学生
- 学生点击链接即可完成签到
📷 二维码签到
- 客户端自动生成签到二维码
- 学生使用手机扫码完成签到
- 无需安装任何 App
- 基于 QRCoder 库生成
Web 管理面板
🌐 浏览器管理
不需要安装客户端,通过浏览器即可:
- 查看所有签到记录
- 创建和管理签到任务
- 设备分组管理
- 数据导出操作
📁 设备分组
服务器按照设备 UUID 自动分组:
- 每个客户端设备独立管理
- 一目了然的设备状态
- 便于多班级同时使用
数据管理
📤 CSV 导出
- 一键导出签到数据为 CSV 格式
- 兼容 Microsoft Excel 和 WPS
- 数据包含:学生姓名、签到时间、设备信息
📥 CSV 导入
- 从 CSV 文件批量导入学生名单
- 快速切换班级或课程
- 减少手动输入工作
🗑 一键清空
- 管理员三次确认后安全清空所有记录
- 防止误操作丢失数据
- 建议清空前先导出备份
安全机制
🔐 RSA 加密通信
客户端与服务器之间的通信安全由 RSA-2048 + SHA256 保证:
客户端 ──RSA 签名请求──▶ 服务器
客户端 ◀──RSA 验证响应── 服务器🛡 HMAC-SHA256
- 数据完整性校验
- 防止中间人篡改
- 请求签名验证
技术架构一览
| 组件 | 技术 | 版本 |
|---|---|---|
| 桌面客户端 | WPF (.NET) | .NET 10.0 |
| 服务器 | ASP.NET Core Minimal API | .NET 10.0 |
| 数据库 | SQLite (EF Core) | — |
| 通信安全 | RSA-2048 + HMAC-SHA256 | — |
| 二维码 | QRCoder | 1.6.0 |
| 架构模式 | MVVM | — |
| 数据格式 | JSON / CSV | — |
| 跨平台 | Kestrel Web Server | — |