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

目录

开发文档

开发思路

provider.js

parser.js

源码


注:由于官方目前仍未解决X-Request-Width问题,暂时无法进行E2E测试,源码可供学习参考。

官方开发文档

开发思路

参考官方文档,AISchedule工具为我们提供了provider和parser函数,其中provider函数用于提取课程表整个HTML页面,parser函数用于解析提取出的HTML页面,将其中包含的信息按照官方提供的JSON格式封装返回即可。

provider.js

对于provider函数中要编写的内容,我们只需要使用F12工具定位课程表元素,填入id即可。小爱课程表——树维教务系统适配源码_第1张图片

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;
			}
		}

最终在浏览器课表页面右键运行函数,出现以下结果则表示开发完成。

小爱课程表——树维教务系统适配源码_第2张图片

 provider提取页面完成小爱课程表——树维教务系统适配源码_第3张图片

parser解析完成

小爱课程表——树维教务系统适配源码_第4张图片

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

至此开发工作完成,上传代码进行E2E测试无误后,通过审核即可使用。

源码

Invalided/XAAU_Schedule: 小爱课程表适配—西安航空学院教务系统 (github.com)

XAAU_Schedule: 小爱课程表适配—西安航空学院教务系统 (gitee.com)

你可能感兴趣的:(js)