ZZU Grades Querier

Online demo

历程

2025 年 1 月:

期末考完了,各科的成绩陆续出了,也是比较关心成绩,隔三岔五地去教务系统上看,有一次对成绩单下方的“扫码验证”的二维码感兴趣,然后试了试,发现不需要登录就能查看我的成绩,也就是说,我只要知道别人的这个网址,就能知道 TA 的成绩。然后就去看这个网址的构成,发现并不复杂,就是后面跟着的杂乱无章的字符搞不懂,但直觉告诉我那是 Base64 编码,解码之后发现,哎,下划线隔成了学号,6位数字(下称 uID)和一个好多位的数字(后来知道了那是时间戳),然后我就每个数字都加 1,再编码,回车,哇,是我学号的下一位人的成绩。就这样发现了教务系统的这个小 Bug,也不能称之为 Bug,或许可以叫 Feature。

可是这多少是有点麻烦了,然后就想用 Python 写个小程序,输入学号就能直接告诉我成绩,可是我 Python 只会点皮毛,网络方面更是一窍不通,所以就让 AI 帮我写代码,然后我再小修小改,效果还不错。

2025 年 2 月:

我作为“产品经理”,想让界面变得好看,切合 Windows 11 的风格,也用上云母,但是干活的也是我,作为一个废物“程序员”,再 AI 的建议下试了好几个第三方库,也试过 PyQt,但都因为我不太会用或者是这样那样的 Bug,最终都放弃了。

此外,我还加了批量导出的功能,爬了整个专业的成绩。

2025 年 2 - 4 月:

因为有用手机查成绩的需求,所以一直想开发 Android APP,但是我太笨了,实在搞不懂,然后就一搁再搁。

其实想过用网页的,部署在 Github Pages 上,但 AI 给的代码有问题,我也不会搞,就认为不行,后来就考虑弄到 CloudFlare Workers 上,确实成功了,但是吧,workers.dev 被封了,只能挂梯,太难受了,抱着试一试的心态又让 AI 生成了份 html 代码,这次竟然跑成了(原先应该是没有写 UA 导致的问题),修修改改部署到了 Github 上,也就是现在的 Demo(Ver 0.0.1)。

2025 年 4 月:

部署成之后就有两大任务,界面美化(Ver 0.1.0 实现),支持更多的学号(因为 uID 是按学号顺序来的,只能根据已知的学号,uID 推得其余的,工作量还是很大的)。

又用“一个木函”APP 将这个网页转成了 APP,安装包仅 647KB,安装后也就几 MB,感觉也不见得比原生 APP 差,后续再改改,然后放到 release。

TO-DO List

  • 支持更多学号;

  • 增加排序功能;

  • 增加按学期筛选功能;

  • Release Android APP(在手机上我认为小而美的 APP 比使用浏览器的体验是更好的)。

DEMO 更新日志:

Ver 0.1.2_Alpha (2025.04.14):

引入“不蒜子”用作统计界面访问次数;引入 Google Analytics,统计访问量和“查询”函数调用次数。

Ver 0.1.1_Alpha (2025.04.13):

增添 favicon(借鉴 Excel 图标形状);优化 “Debug Mode” 激活方式,较先前更为优雅。

Ver 0.1.0_Alpha (2025.04.13):

焕新界面,简洁优雅;引入 list(显示受支持的学号), footer 和 “Debug Mode”。

Ver 0.0.1_Alpha (2025.04.12):

创建项目,代码由 AI 辅助生成。