// ==UserScript==
// @name 学堂云答题助手
// @namespace Violentmonkey Scripts
// @match scut.yuketang.cn/pro/lms/*
// @version 0.7
// @author cat1007
// @grant GM_xmlhttpRequest
// @require https://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js
// @require https://unpkg.com/axios/dist/axios.min.js
// @description 学堂云4.0答案查询
// @downloadURL https://update.greasyfork.icu/scripts/412429/%E5%AD%A6%E5%A0%82%E4%BA%91%E7%AD%94%E9%A2%98%E5%8A%A9%E6%89%8B.user.js
// @updateURL https://update.greasyfork.icu/scripts/412429/%E5%AD%A6%E5%A0%82%E4%BA%91%E7%AD%94%E9%A2%98%E5%8A%A9%E6%89%8B.meta.js
// ==/UserScript==
var url
var paraList
var sign
var classroomId
var id
var probs = []
var ans = []
var lid
function showPlane() {
var area = $('
')
$("body").append(area)
$("#launch").on("click", get)
$("#speed").on("click", speedUp)
}
function launch(ans) {
var ul = $('
')
for (let i = 0; i < ans.length; i++) {
let str = "题目"+ ans[i].index + ": "
for (let k = 0;k').text(str)
ul.append(li)
}
$("#plane").append(ul)
$("#launch").text("切换章节后重新选择")
}
function get() {
url = window.location.href
paraList = url.split("/")
sign = paraList[5]
classroomId = paraList[6]
id = paraList[8]
$("#ansList").remove("#ansList")
$("#launch").text("loading")
// 获取叶节点练习id
const idApi = "https://scut.yuketang.cn/mooc-api/v1/lms/learn/leaf_info/" + classroomId + "/" + id + "/?sign=" + sign + "&term=latest&uv_id=2627"
var headers = {
'university-id': '2627',
'x-csrftoken': 'G9oqKcclwAg8eNrKzdv12EL0PNrufEXE',
'xtbz': 'cloud'
}
axios.get(
idApi,
{ headers: headers }
).then(function (response) {
// 获取叶节点成功
lid = response.data.data.content_info.leaf_type_id
console.log(lid);
// 拉取练习列表
const excApi = "https://scut.yuketang.cn/mooc-api/v1/lms/exercise/get_exercise_list/" + lid + "/?term=latest&uv_id=2627"
axios.get(
excApi,
{ headers: headers }
).then(function (response) {
// 获取题目信息
probs = response.data.data.problems
ans = Array()
console.log(probs)
for (let i = 0; i < probs.length; i++) {
ans.push({
index: probs[i].index,
ansContent: probs[i].user.answer
})
}
launch(ans)
})
})
}
showPlane()
// 倍速播放功能
var playRate = 10
var video = null
function speedUp() {
console.log("speed up")
video = $(".xt_video_player")[0]
setInterval(function () {
video.playbackRate = playRate
}, 100)
}