Skip to content

0.31.11

Pre-release
Pre-release

Choose a tag to compare

@3beuml 3beuml released this 20 Oct 08:22
· 19 commits to main since this release

⚠️ 预发布测试包,不是正式版。普通使用者请装最新正式版 0.31.0,不要装这个包。

请用本版(0.31.11):包含周次修复、界面清理、以及本版的缓存优先。
0.31.3 ~ 0.31.6 请勿再装。

本版的核心改动:先看缓存,再偷偷刷新

以前每次进课表/空教室都要等网络;现在:

情况 现在的表现
有缓存 立刻显示,不转圈、不显示"加载中"
后台刷新成功,内容没变 界面一个字都不动(只更新"获取时间")
后台刷新成功,内容有变 静默替换,不弹提示
刷新失败 不报红错,只在顶部一行小灰字:显示的是 14:20 的课表 · 点此重试
会话过期 研究生登录已过期,以下是 14:20 的课表 · 重新登录
从没成功取过 + 失败 才显示错误

时间一律写「获取于 HH:MM」/「14:20 的课表」,不写"数据截至"——我们只知道本地何时抓到,
不知道学校何时改过。

课表(本科 + 研究生)

  • 缓存有效期 24 小时(课表一学期基本不变),下拉/点刷新随时强制;
  • 刷新失败时保留缓存,只加一行灰字,不再把界面变成一条红色错误。

空教室

  • 只缓存当天(跨天自动失效),有效期 30 分钟;
  • 教务取不到时,仍能看到今天早上抓到的状态,并常显「获取于 HH:MM」
    —— 空教室是"此刻有没有课"的数据,不能让人误以为是实时的。

数据库

v6 → v7:同步表加内容指纹与缓存版本,新增教室占用快照表。升级不动旧数据。

请这样验

  1. 断网验缓存:先进课表页让它加载一次 → 开飞行模式 → 杀掉 App 重进课表页
    → 应立刻看到课表,顶部一行灰字「显示的是 … 的课表」;点那行会重试;
  2. 空教室:同样先打开一次(让它抓到今天的占用)→ 飞行模式重进 → 应看到教室列表 + 「获取于 HH:MM」;
  3. 正常联网:关掉飞行模式、点刷新 → 灰字消失,课表/教室照常;
  4. 内容没变时:连续点两次刷新,界面不应有任何闪烁或提示;
  5. 研究生:登录后进课表,表头 第 7 周 / 共 19 周,翻周正常;
  6. 升级后能正常启动(v7 迁移)。

已知限制(下一批)

  • 「今日」页与桌面小组件还没接研究生课表(它们按本科学期日期取数据,需要合并研究生课程);
  • 空教室「数据超过 1 小时就不再画占用格」的降级还没做(要先改格子渲染,避免把"未知"画成"空");
  • 「教室占用」研究生侧暂无数据源。

装了想退回正式版

本包 versionCode 高于正式版,Android 不允许直接降级安装:需先卸载再装正式版,
卸载会清掉登录状态与本地数据。

怎么反馈

请在 issue #2 用文字说明:断网时能否看到缓存课表、那行灰字是否出现、正常联网后是否消失。
不需要截图。