本项目面向高校数字化教学与在线课程任务管理场景。学生同时参与多门网络课程时,需要频繁切换页面查看视频、文档、作业、测验和考试,容易遗漏待办任务,也难以直观判断课程优先级和整体完成进度。项目因此设计了一套学习通课程助手,在用户授权账号范围内自动汇总课程与章节信息,识别未完成任务并进行优先级排序,同时将执行过程、答题情况和完成结果可视化,减少重复操作,提高在线学习任务的管理效率。项目主要用于个人学习研究和课程进度辅助。
点击空白处退出提示
本项目面向高校数字化教学与在线课程任务管理场景。学生同时参与多门网络课程时,需要频繁切换页面查看视频、文档、作业、测验和考试,容易遗漏待办任务,也难以直观判断课程优先级和整体完成进度。项目因此设计了一套学习通课程助手,在用户授权账号范围内自动汇总课程与章节信息,识别未完成任务并进行优先级排序,同时将执行过程、答题情况和完成结果可视化,减少重复操作,提高在线学习任务的管理效率。项目主要用于个人学习研究和课程进度辅助。
系统支持学习通账号登录、会话保持和课程列表获取。登录后可扫描各课程的章节完成率、待办数量、视频、文档、阅读、作业、测验及考试,并按照紧急程度标记为 P1、P2 或已完成。用户可选择课程创建任务,配置 1~2 倍播放速度、答题方式、答案覆盖率、自动提交或仅保存等选项。系统能够处理视频、音频、文档、阅读及测验任务,并支持本地题库、DeepSeek 官方接口和自定义 API Key 答题。任务运行期间通过 WebSocket 实时展示章节进度、视频播放进度、答题结果、答案来源和运行日志,同时提供暂停、恢复、停止、失败退分、历史记录及积分管理功能。
我负责项目的协议调研、系统架构、后端接口、任务执行适配、数据存储和前端交互实现。后端采用 FastAPI 构建 REST API 与 WebSocket 通道,通过 requests 模拟学习通请求,完成 AES 登录参数加密、MD5 播放进度签名及加密字体解析;使用 SQLite 保存用户、任务、积分、配置和题库数据。针对同步网络请求阻塞异步事件循环的问题,将耗时操作放入有界线程池;针对多用户 Cookie 串扰问题,为每个用户建立独立 Session,并加入锁、重试和缓存机制。任务控制采用 threading.Event 实现真正的暂停、恢复和取消,进度同时写入数据库并实时推送前端。安全方面实现了签名会话、HttpOnly Cookie、任务归属校验、登录限流、Cookie 加密存储及积分事务化扣除与退款。前端使用原生 HTML、CSS 和 JavaScript 实现响应式课程控制台。



评论