学习通作业提醒是一款本地版 Flutter App。用户可以绑定学习通和数你最灵账号,App 会在本机同步未完成作业/考试、展示截止时间、安排提醒通知,并把近期待办同步到手机桌面小组件。
- 版权归 HY 所有
- GitHub:https://github.com/mshzy/study_assistant
- 当前版本:1.0.7
- 开源协议:MIT License,详见 LICENSE
- 学习通账号密码登录,凭证仅保存在本机安全存储。
- 学习通登录后会尽量获取学生姓名,“我的”页优先显示真实姓名,获取不到时回退显示账号。
- 数你最灵账号登录,学校列表自动获取,支持按学校名称或学校代码关键字筛选。
- 本地同步学习通和数你最灵作业,学习通考试也会合并展示在“作业”页。
- 只展示未完成作业;已提交、待批阅、已完成或 completed 状态的作业会自动隐藏。
- 底部导航改为“作业 / 日历 / 统计 / 我的”,提醒设置和同步学习通统一放到“我的”的设置卡片中。
- 新增日历页和统计页,可按日期查看待办,并查看完成率、任务趋势和课程完成情况。
- “我的”页采用新版卡片式 UI,包含课程卡片、提醒设置、同步学习通、数据备份、帮助与反馈、关于我们、检查更新和 GitHub 源码入口。
- “添加平台账号”页面支持返回按钮,从“我的”进入后可以直接返回上一页。
- 支持自定义自动同步分钟数;过快同步会增加耗电量和网络请求次数。
- 自动同步会更新作业和最新截止时间,并在截止时间变化后重新安排提醒。
- 自动同步间隔采用小卡片式选择,不再使用拥挤的椭圆分段控件。
- 支持作业详情、返回主页、手动标记完成;手动完成后再次刷新不会重新显示。
- 未完成互评作业保留,已完成/已互评作业自动过滤。
- 支持自定义提醒时间,可按“几小时几分钟”精确到分钟设置、删除并保存多个提前提醒规则。
- 支持本地系统通知,包含锁屏提醒、精确闹钟和开机后恢复已安排提醒。
- 通知文案会显示“还剩 4 天 3 小时 5 分钟截止”这类易读格式。
- 提醒设置页提供通知权限、精确闹钟、锁屏提醒、后台与自启动的系统设置入口。
- 支持 Android 桌面小组件,显示近期待完成作业、课程名和剩余时间。
- 小组件点击可直接进入对应作业详情;旧版 deep link 也已兼容。
- 支持在 App 内检查 GitHub Release 最新版本,并打开 APK 下载/安装链接。
- “关于我们”展示版权、开源协议、版本号和 GitHub 源码入口。
- 打开 GitHub Release 页面:https://github.com/mshzy/study_assistant/releases
- 下载最新版本 APK,例如
study-assistant-v1.0.7.apk。 - 在 Android 手机上打开 APK,根据系统提示允许安装。
- 首次打开 App 后,按提示授予通知权限。为了准时提醒,建议在“提醒”页开启精确闹钟、锁屏提醒和后台/自启动相关权限。
- 打开 App,选择学习通或数你最灵登录。
- 登录数你最灵时,先在学校框搜索学校名称或学校代码,选择学校后输入学号和密码。
- 进入“我的”页,点击“同步学习通”,再点击刷新作业。
- App 会同步未完成作业和最新截止时间,数据只保存在本机。
- 可以在“自动同步”中选择 15 分钟、30 分钟、1 小时、关闭,或输入自定义分钟数。间隔太短会增加耗电和网络请求,建议不要低于 15 分钟。
- “作业”页只展示未完成作业。已完成/已互评作业会过滤,未完成互评作业会保留。
- 点击作业可查看详情,详情页可以返回主页,也可以手动标记完成。
- 手动标记完成后,后续刷新不会再次显示该作业。
- 进入“我的”页,点击“提醒设置”,可以勾选预设提醒,也可以输入“几小时几分钟”的自定义提醒时间。
- 保存提醒规则后,App 会为所有未完成作业重新安排本地通知。
- 长按 Android 桌面空白区域,选择“小组件”。
- 找到“学习通作业提醒”小组件并添加到桌面。
- 小组件会显示近期待完成作业、课程名和剩余时间。
- 点击小组件里的作业可直接进入 App 对应详情页。
- 学习通、数你最灵账号密码和作业数据只保存在本机,不会上传到任何自建服务器。
- 不绕过学习通验证码、风控或加密保护。
- 小组件不直接访问学习通或后端,只显示 App 写入的本地共享快照。
- 修复学习通姓名和头像获取逻辑:登录后先跟随学习通 SSO 地址完成 cookie 落地,再访问学习通个人首页解析用户信息。
- 修复学习通资料页 HTML 中
meta name="viewport"被误识别成姓名的问题。 - 学习通头像优先使用 SSO 返回的
pic,再回退到puid,最后才使用uid/cookie。 - 学习通头像会请求
160_160c/png尺寸,并解析photo.chaoxing.com跳转后的p.cldisk.com最终地址。 - “我的”页头像加载会携带学习通图片需要的
Referer和移动端User-Agent,修复 CDN 防盗链导致头像显示默认图的问题。 - 学习通学生姓名和头像 URL 会保存到本地安全存储,重启后仍可显示。
- 自动同步刷新学习通登录态时会回写新获取到的姓名和头像。
- 自动更新下载时显示进度条、百分比和已下载大小。
- 修复 App 内自动更新下载完成后被迅雷等第三方下载器接管的问题,安装更新时优先打开 Android 系统安装器。
- 更新 README 预览图为新版四屏界面总览。
- 已用测试账号验证姓名为“郜小展”,头像地址为
https://p.cldisk.com/star3/160_160c/05055cacb0d79d5f723c99d1beca393a.png。 - Android 版本更新为
versionName=1.0.7、versionCode=27。 - APK SHA256:
8BA3CAAF69F428805B92E0E1D3A515E8DB8BD17D2C02A26BE3533FCFA2BD9B5E。
- 重构主界面 UI,底部导航调整为“作业 / 日历 / 统计 / 我的”,新增日历页和统计页。
- 将“提醒设置”和“同步学习通”移动到“我的”页设置卡片中,减少底部导航拥挤。
- “我的”页新增课程卡片、检查更新入口和新版设置列表。
- 新增 App 内检查 GitHub Release 更新,支持直接打开 APK 下载/安装链接。
- 学习通登录后会保存并显示学生姓名,不再显示固定的“小明同学”。
- 修复从“我的”进入“添加平台账号”后没有返回按钮的问题。
- 修复多平台同步时单个平台失败会清空另一平台旧作业的问题,失败平台会保留上次同步结果。
- 修复学习通考试开始时间、UTC 时间解析和数字完成状态识别,减少时间偏差和状态误判。
- 修复互评作业与数你最灵英文状态的完成/未完成误判,避免未完成项目被提前隐藏。
- 修复登录成功但首次同步失败时仍停留在登录页的问题,并清理退出登录后的旧错误提示。
- 修复通知点击跳转作业详情和旧提醒取消匹配问题。
- Android 版本更新为
versionName=1.0.6、versionCode=17。 - APK SHA256:
5CC0B2E14490FD82D77ED542AD6A56CE6DBB95D0ECB46650B26D1C4EDB4B2088。
- 新增数你最灵作业提醒支持,登录时自动拉取学校列表并支持关键字筛选学校。
- 学习通考试合并到“作业”页展示,不再单独提供考试手动添加入口。
- 作业列表会过滤已提交待批阅、已完成和 completed 状态,避免交完后继续出现在待办里。
- 登录失败会在登录页直接显示明显提示,学校列表加载完成后页面会自动刷新。
- Android 版本更新为
versionName=1.0.5、versionCode=16。
- 优化自动同步时间选择 UI,移除拥挤的椭圆分段控件,改为独立小卡片。
- 新增提醒权限管理入口:通知权限、精确闹钟、锁屏提醒、后台与自启动。
- 优化提醒通知文案,显示易读的剩余时间。
- Android 通知支持锁屏展示,并保持高优先级提醒。
cd D:\code\study_assistant\local_app
flutter pub get
flutter run构建 APK:
cd D:\code\study_assistant\local_app
flutter build apk --release本项目采用 MIT License 开源,版权归 HY 所有。你可以在遵守 MIT License 的前提下使用、复制、修改、合并、发布、分发、再授权或销售本项目副本,但必须在软件副本或主要部分中保留原始版权声明和许可声明。
软件按“原样”提供,不提供任何明示或暗示担保。完整协议文本见 LICENSE。
