小爱课程表——树维教务系统适配源码

小爱课程表——树维教务系统适配源码目录 开发文档 开发思路 provider js parser js 源码 注 由于官方目前仍未解决 X Request Width 问题 暂时无法进行 E2E 测试 源码可供学习参考 官方开发文档 开发思路 参考官方文档

大家好,我是讯享网,很高兴认识大家。

目录

开发文档

开发思路

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)

小讯
上一篇 2025-03-29 08:21
下一篇 2025-02-13 23:18

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/44723.html