目录
开发文档
开发思路
provider.js
parser.js
源码
注:由于官方目前仍未解决X-Request-Width问题,暂时无法进行E2E测试,源码可供学习参考。
官方开发文档
开发思路
参考官方文档,AISchedule工具为我们提供了provider和parser函数,其中provider函数用于提取课程表整个HTML页面,parser函数用于解析提取出的HTML页面,将其中包含的信息按照官方提供的JSON格式封装返回即可。
provider.js
对于provider函数中要编写的内容,我们只需要使用F12工具定位课程表元素,填入id即可。
讯享网
parser.js
官方内置了cheerio环境,并非jQuery,但两者语法相似,可参考Cheerio官方文档翻译 (juejin.cn)学习使用。
通过对上一步中提取出的HTML元素遍历,提取出课程名程、课程时间、教室等相关信息。由于课表中包含了单双周的情况导致课程时间不同,此处作以处理,数据封装等完整代码详见源码部分。
for (let i = 0; i < weeksData.length; i++) { let temp = weeksData[i]; let str = temp.replace('单', '').replace('双', '').split('-'); let addition = 1; if (temp.indexOf('单') != -1 || temp.indexOf('双') != -1) { addition = 2; } else if (temp.length == 1) { week.push(parseInt(temp)); } let begin = parseInt(str[0]); let end = parseInt(str[1]); for (; begin <= end;) { week.push(begin); begin += addition; } }
讯享网
最终在浏览器课表页面右键运行函数,出现以下结果则表示开发完成。


provider提取页面完成
parser解析完成

控制台输出如表示测试通过

至此开发工作完成,上传代码进行E2E测试无误后,通过审核即可使用。
源码
Invalided/XAAU_Schedule: 小爱课程表适配—西安航空学院教务系统 (github.com)
XAAU_Schedule: 小爱课程表适配—西安航空学院教务系统 (gitee.com)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/44723.html