开发者文档:https://ldtu0m3md0.feishu.cn/docs/doccnhZPl8KnswEthRXUz8ivnhb
GitHub:https://github.com/codelumos/xiaomi-aischedule-adapter
目前已适配的学校教务系统包括:
● 南京大学-研究生选课(金智教育)
● 南京大学-网上办事服务大厅-我的课表(金智教育)
● 北京中医药大学-教务管理系统(强智科技)
如果希望帮助适配自己学校教务系统,可以通过以下方式联系开发者:
E-Mail:[email protected]
首先,根据开发者文档里的说明,下载并安装好开发工具;然后,登陆开发账号,创建项目,打开教务系统,就可以开始开发适配工作了。
整个适配过程需要完成provider和parser两个函数,他们分别对应以下两个文件:
scheduleHtmlProvider.js
scheduleHtmlParser.js
其中,provider函数的作用是对课程页面进行预处理,截取课程信息的HTML片段,提供给parser函数,它的返回值应该是一个小于1MB的字符串。
parser函数的作用是从字符串中提取课程信息,它的返回值是一个符合约定格式的JSON字符串。
如果课程页面不是特别复杂的话,这部分一般比较简单。通过检查页面源代码,定位到课程表格的部分即可。
这里尽量只保留含有课程部分的关键信息,不要有其他的无关HTML片段。以南京大学研究生选课系统为例,只需要简单的一行代码:
function scheduleHtmlProvider(iframeContent = "", frameContent = "", dom = document) {
return dom.querySelector('#wdkbTable').outerHTML
}
这一步完成后,可以在网页中右键点击“运行函数”查看效果。如果成功的话,会弹出一个窗口显示提取的HTML片段:
并在控制台显示: