Skip to content

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请求,服务端程序进行相关验证并运行后返回结果,客户端再根据结果展现在手机上。

下面是一个使用示例:

demo

目前仅提供成绩、课表、考试安排的查询功能。(考虑到多人使用可能会严重增加服务器负载,所以目前还没有开放选课辅助功能,暂时内测中)

使用说明

  1. App Store中搜索安装Workflow
  2. 浏览器打开 「Workflow链接页面」 ,将页面中出现的链接复制并打开(这样做是出于更新程序方面的考虑)
  3. 第2步复制并打开的链接即是Workflow专用的分享链接,进入后点击GET WORKFLOW按钮,即会自动跳转到你的Workflow程序并保存本程序
  4. 按提示输入学号和密码,其他都不要再改动,点击上方的播放按钮即可运行客户端,根据UI选项便可进行相应操作

Others

  • 本程序有自动检测更新的功能,未来开放新功能、或者因选课系统改版而进行修复时,无需重新下载,程序自身就能检测版本并更新
  • 逐步尝试优化程序性能,争取能够开放选课辅助功能
  • 未来可能根据实际情况,争取学习相关知识并做出适配范围更广的移动客户端(目前考虑微信小程序、iOS/Android程序等)

Last update: April 14, 2023