Riverside Schedule

电子科技大学研究生课表 APP,Flutter 实现,Android 0.2.1+3,Android 7.0 及以上。

课表周一至周日固定七列同屏,无横向滚动;课程条默认长度为125%,可在「我的 → 课表设置 → 课程条长度」调节为80%–200%,也可恢复默认;全表使用统一节次行高,同节数课程条等长。课程名最多两行,可省略,老师和教室完整换行。点击课程查看全称、老师、教室、节次、日期和上课周次。时间冲突用整列宽度的冲突列表展示,列表各项标注节次,避免窄列裁字。

底部只有日历和我的两个图标,透明液态玻璃风格悬浮 Dock,主题为蓝色,支持点击图标、拖动选中游标切换。页面本身不支持左右滑动切换。配色、课前提醒、手机日历和学期设置延续首版。

安装和导入

安装 dist/Riverside-Schedule-debug.apk。这是开发测试包;包名和原版签名保持一致,可覆盖安装并保留本地数据。

在「我的 → 从文件导入」选择学校课表查询页保存的 .html / .htm,或版本1的课表 JSON。先检查预览,再确认导入。文件最多2MB,UTF-8编码。学校 HTML 中分散周次会合并为同一星期、节次、老师和教室的一条安排。

HTML 不含学期开始日,因此仍须在「我的 → 课表设置」填写实际开始日和学期周数。默认课前15分钟提醒,可选5/10/15/30/60分钟。启用通知和手机日历时按页面提示授权。

学校入口连接 研究生课表查询页面,提供自绘认证入口及学校官方 WebView。已根据提供的实际HTML实现解析,实时个人登录和验证码流程仍需在本人手机上验证。文件导入不会冒充学校登录。详见 学校接入状态。

JSON样例:schedule.schema-v1.json。示例模式独立,不覆盖本人课表,也不创建通知或日历事件。

开发

源码在 mobile/;内部 Dart 包名保留 hepan_everyday,Android包名保留 com.example.hepan_everyday 以兼容升级。本机工具位于 .tools/,不会提交进Git。

$env:HEPAN_TOOLCHAIN_ROOT='C:/Users/david/Desktop/app/.tools'
. ./scripts/android-env.ps1
Set-Location mobile
flutter pub get
flutter test
flutter analyze

仓库根目录运行 ./scripts/build-android.ps1 构建,成功后复制 APK 到 dist/。

验证记录:0.2.1玻璃和长度设置、0.2.0课表改版验证。Windows模拟器如遇图形驱动崩溃,可仅在测试启动时使用软件渲染并关闭Impeller;交付APK保留默认手机渲染配置。首版通知和日历原生验证保存在 首版验证记录。

S
Description
利用Codex开发的个人课表软件
Readme
2.6 MiB
0.7.10版本
Latest
2026-10-30 11:35:55 +08:00
Languages
Dart 81.5%
Python 9.8%
Java 3.2%
Kotlin 2.7%
JavaScript 1.4%
Other 1.4%