NKU-EAMIS for iOS(Workflow)
背景¶
之前用Python写了nku-eamis工具,可以在命令行下方便地查询一些教务系统中的信息。考虑到在电脑上使用存在着局限性,所以打算迁移到移动端,使得这个项目拥有一个小工具应有的便携性——随时随地都可以进行查询。
不过我既不会开发iOS程序,也不会开发Android程序,学习起来时间成本太高了点,所以一直很头疼该如何实现这个想法。
起初打算做个公众号,接入服务器,利用自动回复功能来实现查询功能,但是看了下微信给的Doc,发现后台给的权限不多,而且自己在web方面还差点能力,所以先暂时放下这条路子看看有没有其他方法。
后来想起来手机里一直躺着Workflow这个程序(仅限iOS,免费),通过它能够编出一些简单的实用程序,出于自用考虑,以及分享给他人使用的可行性(主要是考虑到免费,大家都能下载,不然就用Pythonista来写UI了),便决定了用Workflow。
介绍¶
本项目分为两部分:
- 服务器部分:将之前的NKU-EAMIS工具重写成能够进行HTTP响应的简单服务端,放在了本博客所在的服务器上保持运行;
- 客户端:通过iOS程序Workflow写出来的简单程序,能够在iOS上提供简单UI与用户进行交互.
原理相当简单,客户端发送GET/POST请求,服务端程序进行相关验证并运行后返回结果,客户端再根据结果展现在手机上。
下面是一个使用示例:
目前仅提供成绩、课表、考试安排的查询功能。(考虑到多人使用可能会严重增加服务器负载,所以目前还没有开放选课辅助功能,暂时内测中)
使用说明¶
- App Store中搜索安装Workflow
- 浏览器打开 「Workflow链接页面」 ,将页面中出现的链接复制并打开(这样做是出于更新程序方面的考虑)
- 第2步复制并打开的链接即是Workflow专用的分享链接,进入后点击
GET WORKFLOW
按钮,即会自动跳转到你的Workflow程序并保存本程序 - 按提示输入学号和密码,其他都不要再改动,点击上方的播放按钮即可运行客户端,根据UI选项便可进行相应操作
Others¶
- 本程序有自动检测更新的功能,未来开放新功能、或者因选课系统改版而进行修复时,无需重新下载,程序自身就能检测版本并更新
- 逐步尝试优化程序性能,争取能够开放选课辅助功能
- 未来可能根据实际情况,争取学习相关知识并做出适配范围更广的移动客户端(目前考虑微信小程序、iOS/Android程序等)
Last update: April 14, 2023