教务系统适配小爱课程表教程

相关链接

开发者文档: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字符串。

provider

  如果课程页面不是特别复杂的话,这部分一般比较简单。通过检查页面源代码,定位到课程表格的部分即可。

教务系统适配小爱课程表教程_第1张图片

  这里尽量只保留含有课程部分的关键信息,不要有其他的无关HTML片段。以南京大学研究生选课系统为例,只需要简单的一行代码:

function scheduleHtmlProvider(iframeContent = "", frameContent = "", dom = document) {
   
    return dom.querySelector('#wdkbTable').outerHTML
}

  这一步完成后,可以在网页中右键点击“运行函数”查看效果。如果成功的话,会弹出一个窗口显示提取的HTML片段:

教务系统适配小爱课程表教程_第2张图片

  并在控制台显示:

你可能感兴趣的:(编程开发,javascript)