Skip to content

Instantly share code, notes, and snippets.

@unbyte
Last active June 26, 2020 14:13
Show Gist options
  • Select an option

  • Save unbyte/b35bdbe471eaa57a9f69a33fb5a268df to your computer and use it in GitHub Desktop.

Select an option

Save unbyte/b35bdbe471eaa57a9f69a33fb5a268df to your computer and use it in GitHub Desktop.
自动评教
// WARNING: 请勿滥用,请勿随意转发,请尽量自己手动评教,这是对老师的尊重和对课程的负责
// WARNING:懒得加延时,所以后台会看到你一瞬间完成所有评教,后果自负
// 如果想要自定义分数,请在template里修改对应问题的content和score,具体有哪些值进了评教的页面你就知道了
// content和score是对应的,要改必须同步改。
// 这个自定义评分会应用到所有课程所有教师的评价上,所以如果有单独想要评价的就先评价完再用脚本。
// semester.id指的是当前学期的编号,不能改
// 修改template(或不改)之后,用浏览器进入 http://219.216.96.4/eams/quality/stdEvaluate.action 后
// 按 F12 打开浏览器的控制台,切换到 Console 界面,把代码粘贴到里面,再回车就可以自动评教了。评教完成页面会自动刷新。
const template = `
semester.id=31
result1_0.questionName=条理清楚,语言流畅
result1_0.content=优
result1_0.score=95
result1_1.questionName=结合实践讲解理论问题,不空洞
result1_1.content=优
result1_1.score=95
result1_2.questionName=积极回复学生的学习需求
result1_2.content=优
result1_2.score=95
result1_3.questionName=鼓励课堂讨论和提问,课堂学习很有效果
result1_3.content=优
result1_3.score=95
result1_4.questionName=授课认真,准备充分
result1_4.content=优
result1_4.score=95
result1_5.questionName=实践教学(实验课等)安排合理有效
result1_5.content=良
result1_5.score=85
result1_6.questionName=所讲内容联系学科前沿和发展方向
result1_6.content=良
result1_6.score=85
result1_7.questionName=所讲述内容激活了我的思维
result1_7.content=良
result1_7.score=85
result1_8.questionName=现代教学手段的运用(多媒体教学等)
result1_8.content=优
result1_8.score=95
result1_9.questionName=您想再次听该老师授课么?
result1_9.content=优
result1_9.score=95
result1_10.questionName=您对该课程的满意程度
result1_10.content=优
result1_10.score=95
result1Num=11
result2Num=0
`.trim().replace(/\n/g,"&")
const data = ({lesson, teacher}) => `teacher.id=${teacher}&evaluationLesson.id=${lesson}&${template}`
const send = item => fetch(
"http://219.216.96.4/eams/quality/stdEvaluate!finishAnswer.action", {
method: 'POST',
credentials : 'include',
headers: {"Content-Type": "application/x-www-form-urlencoded"},
body: data(item)
})
let todo = []
const exp = /Lesson\.id=(\d+)&teacher\.id=(\d+)/
$('a[href^="/eams/quality"]').each((_, a)=>{
const tmp = a.href.match(exp)
todo.push({lesson: tmp[1], teacher: tmp[2]})
})
Promise
.allSettled(todo.map(i => send(i)))
.then(_ => location.reload())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment