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

目录

开发文档

开发思路

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)

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值