现在我不那么困惑了,因为我幸运地变得比以前麻木了。——梭罗的《瓦尔登湖》

https://github.com/PeiPei233/zju-learning-assistant

ZJU Learning Assistant: 提高学习效率的理想工具

介绍

在现代的学习环境中,快速获取和管理学习资源是提高学习效率的关键。ZJU Learning Assistant (ZLA) 是一款专为浙江大学学生设计的工具,旨在帮助学生快速下载和管理课件,提供成绩更新提醒,并支持多操作系统。ZLA 的出现,大大简化了课件下载和管理的过程,让学生能够更专注于学习本身。

功能特点

ZJU Learning Assistant 提供了一系列强大的功能,使其成为浙江大学学生的理想学习助手:

  1. 跨平台支持:ZLA 兼容 Windows、Linux 和 Mac 操作系统,满足不同设备的需求。
  2. 批量下载课件:支持一键批量下载课程课件,节省时间和精力。
  3. 下载未开放课件:即使老师未开放下载权限,也能下载课件的预览版本。
  4. 智云课堂支持:从智云课堂下载 PPT 并自动导出为 PDF。
  5. 成绩更新提醒:实时获取最新成绩,避免错过任何更新。
  6. 任务栏图标菜单:显示学在浙大的待办事项,并提供导出功能。
  7. 暗黑模式:跟随系统设置,支持暗黑模式,保护视力。

安装和使用

下载和安装

Release 页面 下载适用于您操作系统的最新版本,并按照以下说明进行安装:

  • Windows:下载 .exe.msi 文件进行安装。
  • Linux:下载 .AppImage 文件,赋予可执行权限后运行,或下载 .deb 文件进行安装。
  • Mac:下载 .dmg 文件进行安装,或下载 .app.tar.gz 文件解压后运行。Intel 版本对应 x86_64,Apple Silicon 版本对应 aarch64

自行编译

如果您希望自行编译 ZLA,请按照以下步骤操作:

  1. 安装 Node.jsRust

  2. 克隆本仓库:

    1
    2
    git clone https://github.com/PeiPei233/zju-learning-assistant.git
    cd zju-learning-assistant
  3. 对于 Linux 用户,请使用以下命令安装依赖:

    1
    sudo apt update && sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libayatana-appindicator3-dev librsvg2-dev
  4. 运行 npm install 安装 Node.js 依赖。

  5. 运行 cargo install tauri-cli --version "^2.0.0" --locked 安装 Tauri CLI。

  6. 运行 cargo tauri build 进行编译,编译后的文件位于 src-tauri/target/release 目录下。

使用指南

登录

打开 ZLA 后,使用浙大统一身份认证进行登录。输入学号和密码,登录成功后即可使用各种功能。

下载课件

学在浙大

选择菜单中的学在浙大,按学年和学期筛选课程,选中课程后点击刷新按钮获取课件列表。选择所需课件并点击下载按钮,课件会加入下载队列并自动下载。

智云课堂

选择智云课堂,按日期选择课堂或搜索课程,选中课件后点击下载按钮。下载的课件图片会自动整合为 PDF。

成绩更新提醒

在成绩查询页面,点击同步按钮获取最新成绩。开启自动同步功能后,ZLA 会定时获取最新成绩并提醒用户。

导出待办事项

在任务栏图标菜单中查看学在浙大的待办事项,并可以导出为 iCalendar 文件。对于 macOS 用户,还可以导入到 日历 App 或 提醒事项 App。

安全性

ZLA 是一个爬虫工具,模拟登录学在浙大、获取课件列表和下载课件的过程。ZLA 不会将您的学号和密码上传到任何服务器,登录信息使用操作系统自带的密钥管理服务进行保存。

开发背景

ZLA 的开发初衷是为了方便学生下载课件并及时获取成绩更新。原本是使用 Python 编写的爬虫脚本,后来转为使用 Rust 重写,提升了性能和稳定性。开发过程中,得到了几位好友的大力支持和帮助。

免责声明

ZLA 模拟用户在浏览器中登录学在浙大、获取课件和下载课件的过程,不会妨碍学校系统的正常工作。请在使用过程中遵守学校的相关规定。

待办事项

  • 将任务栏菜单的 ToDo List 做成独立面板
  • 支持同步待办到 CalDAV 服务器
  • 批量下载导出智云课堂 PPT
  • 增量下载
  • 集成成绩更新推送
  • 多线程并行获取列表优化
  • 后台持续检测课件更新
  • 优化前端,添加课件筛选搜索功能

由于版权原因,ZLA 不会支持自动下载智云课堂视频。