代码拉取完成,页面将自动刷新
function scheduleHtmlParser(html) {
//除函数名外都可编辑
//传入的参数为上一步函数获取到的html
//可使用正则匹配
//可使用解析dom匹配,工具内置了$,跟jquery使用方法一样,直接用就可以了,参考:https://cnodejs.org/topic/5203a71844e76d216a727d2e
let Courses = {}
let result = []
const info = JSON.parse(html)
let addNewCourse = function(c,now_week){
if(!Courses[c.kcm]){
Courses[c.kcm] = []
}
Courses[c.kcm].push({
name: c.kcm,
position:c.jasmc?(c.jxlmc+c.jasmc.replace(c.jxlmc,'' )):c.jxlmc,
teacher:info.teachers_info[c.kcm],
weeks:[now_week],
day:c.skxq,
sections:[]
})
for(let i=c.ksjc;i<=c.jsjc;i++){
Courses[c.kcm][Courses[c.kcm].length-1].sections.push(i)
}
}
for(let week=0;week<info.maxWeekNum;week++){
const list = info.res[week].list
for(let c_num=0;c_num<list.length;c_num++){
if(!Courses[list[c_num].kcm]){
//插入
addNewCourse(list[c_num],week+1)
}else{
let is_new_course = true
for(let i=0;i<Courses[list[c_num].kcm].length;i++){
if(Courses[list[c_num].kcm][i].day==list[c_num].skxq){
is_new_course = false
Courses[list[c_num].kcm][i].weeks.push(week+1)
break
}
}
if(is_new_course){
//星期不符,视为本周另开课
addNewCourse(list[c_num],week+1)
}
}
}
}
//装填至result
for (let c_key in Courses) {
if (Courses.hasOwnProperty(c_key)) {
for(let i=0;i<Courses[c_key].length;i++){
result.push(Courses[c_key][i])
}
}
}
//console.log(result)
delete info['res'] //删除不需要的res数据
return {
courseInfos: result, // 原先的返回内容
time_info: info
}
//return result
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。