Skip to content

0.32.0

Latest

Choose a tag to compare

@3beuml 3beuml released this 20 Oct 12:18
· 2 commits to main since this release

0.32.0

这个版本最重要的变化:研究生课表现在可以用了。之前研究生的课表一直显示「教务登录态已失效」,
因为研究生的课表根本不在本科教务系统里——它在研究生院那套系统,需要单独登录一次。


一、新增:研究生课表

  • 自动识别学籍:用你的账号问一次本科教务,本科生走的还是原来那条路;研究生会自动切到研究生院的数据源。
    判不出来时(比如网络异常),课表页最下面有「我是研究生,课表在研究生院系统」可以手动切换。
  • 整学期课表:不再是"只能看本周",和本科生一样有整学期网格、翻周、课程详情,还能看到教室与主讲老师。
  • 官方作息时间:第 1~10 节的上下课时间按学校作息表显示(原来研究生课表只有"第 N 节"、没有时间)。
  • 教学周可校正:研究生系统不返回"现在是第几周",所以「课程表设置 → 教学周」里可以设置
    开学日期(第 1 周起始日)、当前周次、本学期总周次、每周起始日。本科生的这几项由教务校历自动填。

二、新增:断网也能看课表

  • 先显示、再刷新:进课表页先显示本地缓存(秒开),再在后台悄悄拉最新数据。
  • 内容没变时界面完全不动:不会闪、不会弹提示。
  • 拉不到时不报错:顶部只出现一行小字,例如「显示的是 14:20 的课表 · 点此重试」,
    而不是一条红色错误——避免让人误以为账号出了问题。
  • 登录过期:提示会写「研究生登录已过期,以下是 14:20 的课表 · 重新登录」,点它直接去重新登录。
  • 空教室:保留最近 7 天(今天 ~ 往后 6 天)的教室占用快照,教务取不到时仍可查看,并标注获取时间。

三、新增:今日页与桌面小组件支持研究生

  • 「今天」页会显示研究生的课(以前只认本科学期,研究生会看到"今天没有课");
  • 2×2「下一节课」、4×2「今明课表」都能显示研究生课程,外观与本科生完全一致;
  • 「电量与校园卡」组件不受影响。

四、界面上的清理

  • 课表页表头回到简洁样式:第 7 周 / 共 19 周;
  • 「登录研究生系统」页面只保留「重新登录」「完成登录」两个按钮;
  • 正式安装包里不再显示「自检工具」(一卡通/教室/鉴权/研究生探测/图书馆)——它们是排障用的,
    平时用不到,留着反而干扰。需要排查时我们会另外提供带自检的安装包。

五、研究生怎么登录(第一次用看这里)

研究生课表需要单独登录一次研究生院系统,因为它是另一套系统。

  1. 先正常登录 App:用学校统一身份认证(账号 + 密码)。
    登录后电费、校园卡等功能就都能用了。
  2. 进「课表」页:如果判定你是研究生,会看到「研究生课表」和「登录研究生系统」按钮。

    如果没看到这个入口,点页面最下面的「我是研究生,课表在研究生院系统」也一样。

  3. 点「登录研究生系统」:会打开学校自己的统一身份认证页面。
  4. 在这个页面上再输一次账号密码:
    这一次密码是输在学校自己的网页上的,App 不接触、不保存,只接收它发下来的登录状态。
  5. 登录成功、回到 App 后:课表会自动拉取并显示(如果没自动完成,点一下「完成登录」)。
  6. 以后就不用再登录了:登录状态存在本机。等它过期时,课表页顶部会提示,
    点一下那行提示就能重新登录。

如果教学周 / 日期对不上

研究生系统只告诉"第几周的第几节",不告诉我们"现在是第几周",所以偶尔会差一周。校正方法:

  1. 课表页右上角 ⚙ 课程表设置;
  2. 最上面「教学周」→ 看「当前周次」是不是本周;
  3. 不对就改「当前周次」,或直接把「开学日期(第 1 周周一)」设成学校校历上的那一周;
  4. 改完立刻生效,以后会按日期自动推算,不用再改。

六、已知限制

  • 研究生需要单独登录一次研究生院系统(也就是会输两次密码,一次给 App、一次给学校网页)。
    这是两套系统的现状,暂时无法合并。
  • 研究生账号没有教室占用功能(研究生院侧没有对应数据源)。
  • 空教室数据超过一定时间后仍会显示(并标注获取时间),不会自动隐藏——请以标注的时间为准。
  • 研究生的历史学期切换暂未支持(目前固定显示当前学期)。

七、升级说明

  • 可以直接覆盖安装,登录状态与本地数据都会保留;
  • 由于版本号升高,装了这个版本之后无法直接降级到旧版本(需卸载重装,会清空本地数据)。

八、致谢

感谢 @Inspire2431 同学:

  • 第一个把"研究生课表一直提示登录失效"这个问题说清楚,并给出了准确的判断(问题出在培养层次与数据源,不在登录状态);
  • 提了两个高质量的 PR(研究生课表数据源、会话 Cookie 与周次对齐),还附带真机证据;
  • 指出并复现了探针报告里两处会泄露凭据的脱敏漏洞;
  • 在这几个版本里反复真机验证,包括登录、翻周、离线缓存这些不好测的路径。

没有这些反馈,研究生这条链路不会这么快跑通。