Skip to content

Instantly share code, notes, and snippets.

@unbyte
Created June 24, 2021 03:02
Show Gist options
  • Select an option

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

Select an option

Save unbyte/2e5234b4a25a8de2c2a729947bdb2a29 to your computer and use it in GitHub Desktop.
auto-course-evaluation-2021-6.js
// WARNING: 请勿滥用,请勿随意转发,请尽量自己手动评教,这是对老师的尊重和对课程的负责
// WARNING:懒得加延时,所以后台会看到你一瞬间完成所有评教,后果自负
// 如果想要自定义分数,请在template里修改对应问题的content和score,具体有哪些值进了评教的页面你就知道了
// content和score是对应的,要改必须同步改。
// 这个自定义评分会应用到所有课程所有教师的评价上,所以如果有单独想要评价的就先评价完再用脚本。
// semester.id指的是当前学期的编号,不能改
// 修改template(或不改)之后,用浏览器进入 http://219.216.96.4/eams/quality/stdEvaluate.action
// 或者 https://webvpn.neu.edu.cn/http/77726476706e69737468656265737421a2a618d275613e1e275ec7f8/eams/quality/stdEvaluate.action
// 后,按 F12 打开浏览器的控制台,切换到 Console 界面,把代码粘贴到里面,再回车就可以自动评教了。评教完成页面会自动刷新。
const template = `
semester.id=48
result1_0.questionName=教学目标:我很清楚本课程的学习目标、安排和要求,对自己将要获得的知识和成果有预期。(6表示很符合,1表示很不符合)
result1_0.content=6
result1_0.score=100
result1_1.questionName=教学内容:教学内容与时俱进,在传授专业知识的同时,能恰当结合实践并融入学科前沿知识。(6表示很符合,1表示很不符合)
result1_1.content=6
result1_1.score=100
result1_2.questionName=教学手段:老师能合理运用课件或板书、信息技术和多媒体资源。(6表示很符合,1表示很不符合)
result1_2.content=6
result1_2.score=100
result1_3.questionName=教学态度:老师准备充分,授课认真,能吸引我专心听讲,并调动我学习兴趣。(6表示很符合,1表示很不符合)
result1_3.content=6
result1_3.score=100
result1_4.questionName=教学方法:老师讲课精彩,教学有启发性,经常鼓励我们思考和质疑,激励我们探索和创新。(6表示很符合,1表示很不符合)
result1_4.content=6
result1_4.score=100
result1_5.questionName=教学互动:老师能与我进行多方面交流,在课程学习过程中遇到的问题能从老师那里得到及时帮助。(6表示很符合,1表示很不符合)
result1_5.content=6
result1_5.score=100
result1_6.questionName=学习评价:注重课程过程性评价(考核),课程学习具有挑战性,使我收获能力和素质提高的成就感。(6表示很符合,1表示很不符合)
result1_6.content=6
result1_6.score=100
result1_7.questionName=能力培养:通过学习这门课程,提升了我发现问题、分析问题、解决问题的能力。(6表示很符合,1表示很不符合)
result1_7.content=6
result1_7.score=100
result1_8.questionName=立德树人:老师注重知识传授和价值引领,对我在道德修养、个人成长等方面产生积极影响。(6表示很符合,1表示很不符合)
result1_8.content=6
result1_8.score=100
result1_9.questionName=满意程度:我喜欢老师讲授的这门课,愿意推荐给其他同学,并希望继续修读老师讲授的其他课程。(6表示很符合,1表示很不符合)
result1_9.content=6
result1_9.score=100
result1_10.questionName=综合评价:对这门课程的总体评价。(6表示很符合,1表示很不符合)
result1_10.content=6
result1_10.score=100
result2_0.questionName=如果您还有其他任何意见建议或想对老师说的话,请在下面的空白处留言,我们珍视每一位同学的个性化思考,感谢您对此次评教的大力支持。
result2_0.content=
result1Num=11
result2Num=1
`.trim().replace(/\n/g,"&")
const data = ({lesson, teacher}) => `teacher.id=${teacher}&evaluationLesson.id=${lesson}&${template}`
const send = item => fetch(
"./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*="stdEvaluate!answer.action"]').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