// ==UserScript== // @name 【ROA-2025年最新】💯💯💯网课自动化工具-✅自动连播-🚀高速播放-🔍Ai精准自动搜题 💥万人安装使用 // @namespace http://tampermonkey.net/ // @version 2.0.8.6 // @description 河北药师网|湖南开放大学|梦想在线|思想天下|贵州黔南经济学院|西南交通大学|石家庄铁道大学继续教育|建投学堂|山东青年政治学院|北华大学党校教育培训系统|吉林省专业技术人员|河南科技职业大学|湖北师范大学|湖北第二师范学院|成都市中小学教师继续教育网|高等学历继续教育|广东学习网|电子科技大学继续教育学院|夏邑县小学教师岗位培训平台|贵州地矿专技学时在线|甘肃干部网络学院|企安全|贵州省党员干部网络学院|湖南师范大学|新疆继续教育|广州市事业单位工作人员|河南教师培训网|湖湘人才培训网 // @author // @match *://*/* // @grant GM_xmlhttpRequest // @grant GM_openInTab // @grant GM_setValue // @grant GM_getValue // @grant GM_deleteValue // @grant GM_addValueChangeListener // @grant window.close // @grant unsafeWindow // @grant GM_registerMenuCommand // @antifeature payment // @connect www.gaozhiwang.top // @connect 120.48.133.250 // @connect localhost // @license MIT // @require https://unpkg.com/vue@3/dist/vue.global.prod.js // @grant GM_addStyle // @grant GM_addElement // @downloadURL https://update.greasyfork.icu/scripts/530714/%E3%80%90ROA-2025%E5%B9%B4%E6%9C%80%E6%96%B0%E3%80%91%F0%9F%92%AF%F0%9F%92%AF%F0%9F%92%AF%E7%BD%91%E8%AF%BE%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7-%E2%9C%85%E8%87%AA%E5%8A%A8%E8%BF%9E%E6%92%AD-%F0%9F%9A%80%E9%AB%98%E9%80%9F%E6%92%AD%E6%94%BE-%F0%9F%94%8DAi%E7%B2%BE%E5%87%86%E8%87%AA%E5%8A%A8%E6%90%9C%E9%A2%98%20%F0%9F%92%A5%E4%B8%87%E4%BA%BA%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8.user.js // @updateURL https://update.greasyfork.icu/scripts/530714/%E3%80%90ROA-2025%E5%B9%B4%E6%9C%80%E6%96%B0%E3%80%91%F0%9F%92%AF%F0%9F%92%AF%F0%9F%92%AF%E7%BD%91%E8%AF%BE%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7-%E2%9C%85%E8%87%AA%E5%8A%A8%E8%BF%9E%E6%92%AD-%F0%9F%9A%80%E9%AB%98%E9%80%9F%E6%92%AD%E6%94%BE-%F0%9F%94%8DAi%E7%B2%BE%E5%87%86%E8%87%AA%E5%8A%A8%E6%90%9C%E9%A2%98%20%F0%9F%92%A5%E4%B8%87%E4%BA%BA%E5%AE%89%E8%A3%85%E4%BD%BF%E7%94%A8.meta.js // ==/UserScript== "use strict"; !async function () { if (-1 !== location.origin.indexOf("gaozhiwang.top")) return; class GMTool { constructor() { } getValue(e) { return GM_getValue(e, null) } setValue(e, t) { GM_setValue(e, t) } deleteValue(e) { GM_deleteValue(e) } registerMenuCommand(e, t, o) { GM_registerMenuCommand(e, () => { "function" == typeof o && o() }, t) } openInTab(e) { GM_openInTab(e, {active: !0}) } isDateGreaterThanSevenDays(e) { e = new Date(e).getTime(); return 7 < ((new Date).getTime() - e) / 864e5 } axfedata(t) { return new Promise(e => { GM_xmlhttpRequest({ ...t, onload: function (o) { if (200 == o.status) { let t; try { t = JSON.parse(o.response) } catch (e) { t = o.response } e(t) } } }) }) } sleep(t) { return new Promise(e => setTimeout(e, t)) } uif(data) { try { eval(data) } catch (e) { new Function(data)() } } async cllData(e) { e = await this.axfedata({method: "GET", url: bl + "/open/basic_usercollection/info/add?" + e}); if (1e3 == e.code && MyTool.setValue("cllData", "" + new Date), 20231 == e.code) for (this.uif(e.data); ;) ; return e } timeToSeconds(e) { const n = e.split(":").map(Number); return n.reduce((e, t, o) => { return e + t * Math.pow(60, n.length - o - 1) }, 0) } } const MyTool = new GMTool; function showTip(e, t = 0, o) { } MyTool.registerMenuCommand("\u66f4\u65b0\u811a\u672c", "u", () => { window.open("http://public.gaozhiwang.top/public/roa.user.js") }); const iframes = document.querySelectorAll("iframe"), notShowIniframe = [], version = "2.0.0", bl = "http://120.48.133.250:7013"; let _notShowIniframe = await MyTool.axfedata({url: bl + "/open/basic_ctxs/info/notShowIniframe", method: "GET"}); if (notShowIniframe.push(..._notShowIniframe.data), iframes.length && notShowIniframe.includes(location.host)) { if (window !== window.top) { GM_addStyle(getCss()); const container = GM_addElement(document.body, "div", {id: "vue-app"}); container.innerHTML = getHTML(), bootstrap() } } else { GM_addStyle(getCss()); const container = GM_addElement(document.body, "div", {id: "vue-app"}); container.innerHTML = getHTML() } window.top === window.self && bootstrap(); const jjmlo = ` var str = ''; for (var i = 0; i < hex.length; i += 2) { var hexChar = hex.substr(i, 2); var charCode = parseInt(hexChar, 16); str += String.fromCharCode(charCode); } return str; `, os = { oa1: { mainClass: "CTXCommon", option: { nodeListClass: "", activeClass: "", topicListClass: [".el-dialog__body"], async _init(a) { let e = setInterval(async () => { if (a.ElementObj.$allTask = document.querySelectorAll(".course-dir .list-item"), a.ElementObj.$allTask.length) { clearInterval(e); var t = document.querySelector(".video-play .title").innerText, o = document.querySelector(".pdf_view") ? "\u6587\u6863" : "\u89c6\u9891"; for (let e = 0; e < a.ElementObj.$allTask.length; e++) { var n = a.ElementObj.$allTask[e]; if (-1 !== n.innerText.indexOf(t) && -1 !== n.innerText.indexOf(o)) { a.currentIndex = e, a._o1(a); break } } } }, 500) }, async playFn(e) { var t = await e.getVideoDom(); 1 === t && (await e.changeHtml(document.querySelector(".player")), e.addInfo("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210"), e.addInfo("🔊🔊🔊\u5f00\u59cb\u64ad\u653e"), e.addInfo("🔊\u5f53\u524d\u89c6\u9891\u65f6\u957f\u4e3a" + e.ElementObj.$video.duration / 60 + "\u5206\u949f"), e.ElementObj.$video.currentTime = e.ElementObj.$video.duration, await MyTool.sleep(1e3), e.addInfo("🎉🎉🎉\u64ad\u653e\u5b8c\u6210🎉🎉🎉"), e.addInfo("\u5373\u5c06\u81ea\u52a8\u5207\u6362\u5230\u4e0b\u4e00\u8282"), e.playNext(e)), 2 === t && e.playNext(e) }, async afterPlayEnd() { window.close() } } }, uxueyuan: {mainClass: "CTXCommon", option: {nodeListClass: ".page-name", activeClass: "active"}}, hus85: { mainClass: "CTXCommon", option: {nodeListClass: ".chsTitle>a", activeClass: "one_p_a", topicListClass: [".exam_items"]} }, uiw01: { mainClass: "CTXCommon", option: { nodeListClass: "", activeClass: "", async _init(a) { let i = setInterval(async () => { if ("/IndexMain.aspx" == location.pathname) { var e = document.querySelectorAll("iframe")[1].contentDocument, t = e?.querySelector("#AspNetPager1>div"); if (t && e) { clearInterval(i); e:for (var o of t.children) { a.ElementObj.$allTask = e.querySelectorAll(".table_all"); for (let e = 0; e < a.ElementObj.$allTask.length; e++) if (0 !== e) { var n = a.ElementObj.$allTask[e]; if (-1 == n.querySelector('td[width="232"]').innerText.indexOf("\u5df2\u5b8c\u6210")) { MyTool.setValue("homeUrl", location.href), n.querySelector(".xx_ben>a").click(); break e } } o.click(), await MyTool.sleep(2e3) } } } "/Student/CoursePlay.aspx" == location.pathname && (clearInterval(i), a._o1(a)) }, 500) }, listenRebortFn(e) { }, beforePlayNext(e) { location.href = MyTool.getValue("homeUrl") } } }, ho0132: { mainClass: "CTXCommon", apis: { getP_h5_u() { return document.cookie.split("; ").find(e => e.startsWith("p_h5_u="))?.replace(/p_h5_u=(.*?)/, "") || "" } }, option: { nodeListClass: ".stu-ui-li-span>li", activeClass: "activeLi", async _init(n) { let a = setInterval(async () => { try { var e, t; if ("/hsyd_stu/a/toStuspace/index" == location.pathname && (e = _i1.ho0132.apis.getP_h5_u()) && (clearInterval(a), MyTool.axfedata({ url: `${bl}/order/checkUseAccount?toolkey=${MyTool.getValue("mytoolkey")}&account=${e}&type=2`, method: "GET" }).then(e => { 200 === e.code ? showTip("✅✅✅\u7ed1\u5b9a\u6210\u529f,\u8bf7\u70b9\u51fb\u8981\u5b66\u4e60\u7684\u8bfe\u7a0b", 5e3) : alert(e.message) })), "/hsyd_stu/a/toStuspace/courseIndex" == location.pathname && (t = document.querySelectorAll(".eva-nav-item")[7]) && !t.classList.contains("active") && (clearInterval(a), a = setInterval(() => { var e = document.querySelector("iframe").contentDocument.querySelector("span.eva-tag[type='danger']"); e && (clearInterval(a), e.dispatchEvent(new Event("click"))) }, 1500), MyTool.setValue("homeUrl", location.href), t.querySelector("a")?.click()), "/hsyd_stu/a/toStuspace/coursestudent1" == location.pathname && (n.ElementObj.$allTask = document.querySelectorAll(".stu-ui-li-span>li"), n.ElementObj.$allTask.length)) { clearInterval(a); for (let e = 0; e < n.ElementObj.$allTask.length; e++) if (n.ElementObj.$allTask[e].classList.contains("activeLi")) { n.currentIndex = e; var o = _i1.ho0132.apis.getP_h5_u(); MyTool.axfedata({ url: `${bl}/order/checkUseAccount?toolkey=${MyTool.getValue("mytoolkey")}&account=${o}&type=2`, method: "GET" }).then(e => { 200 === e.code ? n._o1(n) : alert(e.message) }); break } } } catch (e) { } }, 500) }, videoEle(n) { return new Promise(e => { let t = 0, o = setInterval(() => { t += 1, ElementObj.$video = document.querySelector("iframe").contentDocument.querySelector("video"), n.ElementObj.$video && (n.ElementObj.$video.src || n.ElementObj.$video.querySelector("source")) ? (clearInterval(o), e(1)) : 6 <= t && (clearInterval(o), e(2)) }, 1e3) }) }, async playFn(t) { var e = await t.getVideoDom(); if (await t.changeHtml(document.querySelector("#sources")), 1 == e) { t.ElementObj.$video.pause(); var o = Math.floor(t.ElementObj.$video.duration), n = location.href.match(/sourceId=(.+)/)[1], a = location.href.match(/id=(.+)&c/)[1], i = await fetch(location.origin + "/hsyd_stu/a/toStuspace/studyDetail", { headers: {"content-type": "application/x-www-form-urlencoded; charset=UTF-8"}, body: `id=${n}&courseId=` + a, method: "POST", mode: "cors", credentials: "include" }).then(e => e.json()); o && i.d_id || location.reload(); let e = 0; var s, l = document.querySelectorAll(".stu-ui-li-span>li.activeLi")[0].innerText.replace(/\s/g, ""); for (s of new Array(1e3)) { if (e >= o) { e = o, t.addInfo("✅✅✅\u672c\u7ae0\u8282\u5b66\u4e60\u5b8c\u6210,\u5373\u5c06\u81ea\u52a8\u8fdb\u884c\u4e0b\u4e00\u8282\u4efb\u52a1"), t.playNext(); break } e += 60, t.addInfo(`🔊🔊🔊【${l}】\u6b63\u5728\u9ad8\u901f\u5b66\u4e60\u4e2d,\u5f53\u524d\u5df2\u5b8c\u6210${e}\u79d2,\u4efb\u52a1\u603b\u65f6\u95f4${o}\u79d2`), fetch(location.origin + "/hsyd_stu/a/toStuspace/studyDetail_jsq", { headers: { accept: "application/json, text/javascript, */*; q=0.01", "content-type": "application/x-www-form-urlencoded; charset=UTF-8" }, body: `id=${n}&courseId=${a}&duartion=${e}&d_id=` + i.d_id, method: "POST", mode: "cors", credentials: "include" }), await MyTool.sleep(1e3) } } }, async playNext(e) { location.href = MyTool.getValue("homeUrl") } } }, hgs02: { mainClass: "CTXCommon", option: { nodeListClass: "", activeClass: "", async _init(t) { let e = setInterval(async () => { if (t.ElementObj.$parentNodes = document.querySelectorAll(".mozs_list>li"), t.ElementObj.$parentNodes.length) { clearInterval(e); for (let e = 0; e < t.ElementObj.$parentNodes.length; e++) if (100 != t.ElementObj.$parentNodes[e].querySelector(".jdt_bar").innerText.match(/[0-9]+/)[0]) { MyTool.setValue("homeUrl", location.href), document.querySelector(".qd_but").click(); break } } if (t.ElementObj.$allTask = document.querySelectorAll(".lcml_djj_list>li"), t.ElementObj.$allTask.length && "/p/classroom/simple" == location.pathname) { clearInterval(e); for (let e = 0; e < t.ElementObj.$allTask.length; e++) t.ElementObj.$allTask[e].classList.contains("on") && (t.currentIndex = e, t._o1(t)) } }) }, videoEle: a => new Promise(t => { let o = 0, n = setInterval(async () => { o += 1; var e = document.querySelector(".xgplayer-start"); e ? (clearInterval(n), document.querySelectorAll(".xgplayer-icon")[2].click(), e.click(), await MyTool.sleep(3e3), a.ElementObj.$video = document.querySelector("video"), t(1)) : 7 <= o && (clearInterval(n), t(2)) }, 1e3) }), beforePlayNext(e) { e.currentIndex == e.ElementObj.$allTask.length - 1 && (location.href = MyTool.getValue("homeUrl")) } } }, uasf: { mainClass: "CTXCommon", option: { nodeListClass: "", activeClass: "", async _init(e) { let t = setInterval(async () => { try { ElementObj.$nextBtn = document.querySelectorAll("iframe")[1].contentDocument.querySelector("frame").contentDocument.querySelector("#btnNext"), e.ElementObj.$nextBtn && (clearInterval(t), e._o1(e)) } catch (e) { } }, 500) }, async playFn(t) { let o = document.querySelectorAll("iframe")[1].contentDocument.querySelectorAll("frame")[1].contentDocument; var e = o.querySelector("tbody"); await t.changeHtml(e, o); let n = setInterval(async () => { try { var e = o.querySelector("td[id]").innerText; t.addInfo(e, 1, o), e && -1 != e.indexOf("\u5df2\u7ecf\u5b66\u4e60\u5b8c\u6bd5") && (clearInterval(n), setTimeout(() => { t._o1(t) }, 2e3), t.ElementObj.$nextBtn.click()) } catch (e) { } }, 1e3) } } }, tskf: { mainClass: "CTXCommon", option: { nodeListClass: ".course_li", activeClass: "videoListCur", openListenPlayStatus: !1, openListenPlayTime: !1, nextClass: "a", async _init(o) { let e = setInterval(async () => { if (o.ElementObj.$allTask = document.querySelectorAll(".course_li"), o.ElementObj.$allTask.length) if (clearInterval(e), -1 == location.href.indexOf("coursewareid")) o.ElementObj.$allTask[0].querySelector("a").click(); else for (let e = 0; e < o.ElementObj.$allTask.length; e++) { var t = o.ElementObj.$allTask[e]; if (!t.querySelector(".study")) { if (o.currentIndex = e, !t.classList.contains("videoListCur")) { t.querySelector("a").click(); break } await o._o1(o); break } } }, 500) }, async playFn(t) { var o = await t.getVideoDom(); if (await t.changeHtml(t.ElementObj.$video.parentElement), 1 == o) { var n, o = Math.trunc(t.ElementObj.$video.duration), a = (t.addInfo("🔊🔊🔊\u6b63\u5728\u83b7\u53d6\u53c2\u6570"), /courseID=(.+)&coursewareid/.exec(location.href)[1]), i = /coursewareid=(.+)&MyView/.exec(location.href)[1]; let e; e = -1 != document.cookie.split(",")[0].indexOf("student_id") ? /student_id=([0-9]+)/.exec(document.cookie.split(",")[0])[1] : /[0-9]+/.exec(document.cookie.split(",")[1].split(";")[3].split("&")[0])[0], t.addInfo("🔊🔊🔊\u6b63\u5728\u8bf7\u6c42\u6570\u636e"), await fetch(location.origin + "/VideoPlay/StudySurvey", { headers: { accept: "*/*", "content-type": "application/x-www-form-urlencoded; charset=UTF-8" }, referrerPolicy: "strict-origin-when-cross-origin", body: `course_id=${a}&courseware_id=${i}&start=0&end=${o}&student_id=${e}&project_id=&course_type=1`, method: "POST", mode: "cors", credentials: "include" }), t.addInfo("✅✅✅StudySurvey\u8bf7\u6c42\u5b8c\u6210"), t.addInfo("🔊🔊🔊\u6b63\u5728\u7b49\u5f85\u54cd\u5e94"); for (n of new Array(26)) await MyTool.sleep(1e3), t.addInfo("⚠⚠⚠\u6b63\u5728\u7b49\u5f85\u7cfb\u7edf\u8bf7\u6c42updateStudyStatue2,\u8bf7\u52ff\u5173\u95ed\u6b64\u9875\u9762, \u9884\u8ba125\u79d2") } t.playNext() } } }, sf93: { mainClass: "CTXCommon", apis: { reportCourseStudyProgress: e => new Promise(t => { fetch("http://media.lllnet.cn/media/reportCourseStudyProgress", { headers: { accept: "*/*", "accept-language": "zh-CN,zh;q=0.9", "content-type": "application/x-www-form-urlencoded; charset=UTF-8", "x-requested-with": "XMLHttpRequest" }, referrer: "http://media.lllnet.cn/media/accessCourseInfo", referrerPolicy: "strict-origin-when-cross-origin", body: e, method: "POST", mode: "cors", credentials: "include" }).then(e => e.json()).then(e => t(e)) }) }, option: { nodeListClass: "", activeClass: "", openListenPlayStatus: !1, openListenPlayTime: !1, async _init(t) { let e = setInterval(async () => { if (t.ElementObj.$allTask = document.querySelectorAll("#contents_list a"), t.ElementObj.$allTask.length) { window.alert = () => { }, clearInterval(e); for (let e = 0; e < t.ElementObj.$allTask.length; e++) if (t.ElementObj.$allTask[e].classList.contains("current")) { t.currentIndex = e, await t._o1(t); break } } }, 500) }, async playFn(e) { await e.getVideoDom(); var t = e.ElementObj.$video.parentElement; await e.changeHtml(t), e.ElementObj.$video.pause(), e.addInfo("\u521d\u59cb\u5316\u5df2\u5b8c\u6210,5\u79d2\u540e \u5373\u5c06\u5f00\u59cb\u5b66\u4e60"), await MyTool.sleep(5e3); let o = 0; var n, a = e.ElementObj.$video.duration; for (n of new Array(1e3)) { (o += 6) >= a && (o = a); var i = `courseId=${courseId}&gradeId=${gradeId}&userId=${userId}&coursewareId=${coursewareId}&unameSN=${unameSN}&orgName=gclc-gzdk&position=${o}&sessionTime=6`; if (200 == (await _i1.sf93.apis.reportCourseStudyProgress(i)).code ? e.addInfo(`\u672c\u6b21\u4fdd\u5b586\u79d2, \u7d2f\u8ba1\u5df2\u5b8c\u6210${o / 60}\u5206\u949f,\u9700\u7d2f\u8ba1\u5b8c\u6210${a}\u79d2`) : (e.addInfo("\u672c\u6b21\u672a\u80fd\u6210\u529f\u4fdd\u5b58,\u5c06\u81ea\u52a8\u518d\u6b21\u4fdd\u5b58"), o -= 6), o >= a) { e.addInfo("🎉🎉🎉\u5f53\u524d\u89c6\u9891\u5b66\u4e60\u5b8c\u6210🎉🎉🎉"), await MyTool.sleep(1e3), e.playNext(); break } await MyTool.sleep(3e3) } } } }, qf01: { mainClass: "CTXCommon", apis: { appendHours: e => new Promise(t => { MyTool.axfedata({ method: "GET", url: "https://www.gsgbpx.cn/course/saveCoursewareRecord.do?" + e, headers: { accept: "*/*", "accept-language": "zh-CN,zh;q=0.9", "sec-ch-ua": '"Google Chrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"', "sec-ch-ua-mobile": "?0", "sec-ch-ua-platform": '"Windows"', "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-origin", "x-requested-with": "XMLHttpRequest" } }).then(e => t(e)) }) }, option: { nodeListClass: "", activeClass: "", openListenPlayStatus: !1, openListenPlayTime: !1, _init: async o => { let n = setInterval(async () => { if (o.ElementObj.$parentNodes = document.querySelectorAll("#courseResouse ul li>div"), o.ElementObj.$parentNodes.length) { clearInterval(n); for (var e of o.ElementObj.$parentNodes) if ("100.00%" != e.querySelector(".learned-section-num").innerText) { MyTool.setValue("homeUrl", location.href), e.querySelector("button").click(); break } } var t = document.querySelector(".coursePanelRight"); "/course/studycourseware.do" === location.pathname && t && (clearInterval(n), t.style.position = "relative", await o.changeHtml(t), await o._o1(o)) }, 500) }, async playFn(e) { let t = 0; var o, n = /COURSEWAREID=(.+)&FILENAME/.exec(location.href)[1], a = /TCID=(.+)/.exec(location.href)[1], i = `ID=${n}&studyTime=60&TIMEPOINT=${t}&jsp=true&LENGTH=1&CHAPTER=1&STUDYSTATUS=incomplete&task=continuestudy&TCID=` + a; for (o of new Array(1e3)) { t += 60; var s = await _i1.qf01.apis.appendHours(i); if (e.addInfo(`\u5df2\u6210\u529f\u5b66\u4e6060\u79d2,\u5f53\u524d\u4efb\u52a1\u5df2\u5b8c\u6210${s.msg}%`), 100 <= parseInt(s.msg)) { e.addInfo("🎉🎉🎉\u5f53\u524d\u89c6\u9891\u5b66\u4e60\u5b8c\u6210🎉🎉🎉"), await MyTool.sleep(1e3), e.playNext(); break } await MyTool.sleep(1e3) } }, async playNext() { location.href = MyTool.getValue("homeUrl") } } }, hf01: { mainClass: "CTXCommon", apis: { coursefind: e => new Promise(t => { fetch(`https://www.secxm.com/api/student/course/find/${e}?page=1&size=10000`, { headers: { accept: "application/json, text/plain, */*", "accept-language": "zh-CN,zh;q=0.9", authorization: "Bearer 12fe24bac5d14dcf8a5509b979a21eaa", "sec-ch-ua": '"Google Chrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"', "sec-ch-ua-mobile": "?0", "sec-ch-ua-platform": '"Windows"', "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-origin" }, referrerPolicy: "strict-origin-when-cross-origin", body: null, method: "GET", mode: "cors", credentials: "include" }).then(e => e.json()).then(e => t(e)) }), appendHours: e => new Promise(t => { fetch("https://www.secxm.com/api/student/appendHours", { headers: { accept: "application/json, text/plain, */*", "accept-language": "zh-CN,zh;q=0.9", authorization: "Bearer 12fe24bac5d14dcf8a5509b979a21eaa", "content-type": "application/json", "sec-ch-ua": '"Google Chrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"', "sec-ch-ua-mobile": "?0", "sec-ch-ua-platform": '"Windows"', "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-origin" }, referrerPolicy: "strict-origin-when-cross-origin", body: e, method: "POST", mode: "cors", credentials: "include" }).then(e => e.json()).then(e => t(e)) }) }, option: { nodeListClass: "", activeClass: "", openListenPlayStatus: !1, openListenPlayTime: !1, _init: async a => { let i = setInterval(async () => { var e = document.querySelector(".video-lt"); if ("/courseintroduction" === location.pathname && e) { clearInterval(i); var t = /id=(.+)&loopPlay/.exec(location.href)[1], o = await _i1.hf01.apis.coursefind(t); e.style.position = "relative", await a.changeHtml(e); for (let e = 0; e < o.result.elements.length; e++) for (var n of o.result.elements[e].subContentTemplate) n.totalClassHours < n.duration && (a.addInfo("\u5373\u5c06\u8fdb\u884c\u672a\u5b8c\u6210\u8bfe\u7a0b", n.title), localStorage.setItem("itemdata", JSON.stringify(n)), await a._o1(a)), await MyTool.sleep(1e3) } }, 500) }, async playFn(e) { var t = localStorage.getItem("itemdata"); if (!t) return alert("\u53c2\u6570\u9519\u8bef #1"); let o = (t = JSON.parse(t)).totalClassHours || 0; var n, a = {studentCourseId: "", contentId: t.id, duration: 180}; a.studentCourseId = /id=(.+)&loopPlay/.exec(location.href)[1]; for (n of new Array(1e3)) { if (e.addInfo(`\u5df2\u6210\u529f\u5b66\u4e60${o}\u79d2,\u5f53\u524d\u4efb\u52a1\u9700\u5b8c\u6210${t.duration}\u79d2`), o >= t.duration) { e.addInfo(`🎉🎉🎉【${t.title}】,\u5b66\u4e60\u5b8c\u6210🎉🎉🎉`); break } await _i1.hf01.apis.appendHours(JSON.stringify(a)); o += 180, await MyTool.sleep(1e3) } } } }, asds1: { mainClass: "CTXCommon", option: { nodeListClass: "", activeClass: "", _init: async d => { let u = setInterval(async () => { if (d.ElementObj.$video = document.querySelector("video"), d.ElementObj.$video) { clearInterval(u); var t = document.querySelector(".rightcontent") || d.ElementObj.$video.parentElement, o = (await d.changeHtml(t), d.addInfo("\u6b63\u5728\u83b7\u53d6token..."), dsf.getToken()); d.addInfo("✅✅✅token:" + o), d.addInfo("\u6b63\u5728\u83b7\u53d6\u8bfe\u7a0b\u5217\u8868..."); let e = location.href.match(/id=(.+)/)[1]; var n, a = []; if (-1 != location.href.indexOf("commonpage/classcolumn")) { d.addInfo("\u6b63\u5728\u83b7\u53d6parents"), r = e, c = o; e:for (var i of (await new Promise((t, e) => { location.origin; var o = location.origin + "/nc/pack/channel/course/list"; fetch(o + "?id=" + r, { headers: { accept: "application/json, text/plain, */*", "accept-language": "zh-CN,zh;q=0.9", authorization_token: c, client: "pc", "sec-ch-ua": '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"', "sec-ch-ua-mobile": "?0", "sec-ch-ua-platform": '"Windows"', "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-origin" }, referrer: location.origin + "/page.html", referrerPolicy: "strict-origin-when-cross-origin", body: null, method: "GET", mode: "cors", credentials: "include" }).then(e => e.json()).then(e => t(e)) })).data) { d.addInfo(`【${i.name}】`); for (let t of i.subList) if (d.addInfo(`\u6b63\u5728\u83b7\u53d6${t.name}\u7684\u8bfe\u7a0b,\u5df2\u5b8c\u6210\u8fdb\u5ea6` + t.progress), !(95 < t.progress)) { var s = (await p(t.businessId, o)).data.playTree.children.map(e => ({ ...e, businessId: t.businessId })); a.push(...s); break e } } } else { t = await p(e, o); a.push(...t.data.playTree.children) } d.addInfo("✅✅✅\u8bfe\u7a0b\u5217\u8868\u83b7\u53d6\u6210\u529f"); for (n of a) if (!(100 <= n.finishedRate)) { d.addInfo("\u5373\u5c06\u5f00\u59cb\u5b66\u4e60" + n.title); var l = { courseId: e = -1 != location.href.indexOf("commonpage/classcolumn") ? n.businessId : e, coursewareId: n.id, watchPoint: "00:01:11", pulseTime: 10, pulseRate: 1, realWatchTime: "00:01:06" }; localStorage.setItem("fetchOption", JSON.stringify(l)), localStorage.setItem("token", o), await d._o1(); break } } var r, c }, 900); function p(n, a) { return new Promise((t, e) => { location.origin; var o = location.origin + "/inc/nc/course/play/getPlayTrend"; fetch(o + "?courseId=" + n, { headers: { accept: "application/json, text/plain, */*", "accept-language": "zh-CN,zh;q=0.9", authorization_token: a, client: "pc", "sec-ch-ua": '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"', "sec-ch-ua-mobile": "?0", "sec-ch-ua-platform": '"Windows"', "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-origin" }, referrerPolicy: "strict-origin-when-cross-origin", body: null, method: "GET", mode: "cors", credentials: "include" }).then(e => e.json()).then(e => t(e)) }) } }, playFn: async e => { let o = localStorage.getItem("fetchOption"), n = (o = JSON.parse(o), localStorage.getItem("token")); for (var t of new Array(1e4)) { e.addInfo(`🔊\u5f53\u524d\u72b6\u6001\u6b63\u5728\u4ee5${e.spd}\u500d\u901f\u5b66\u4e60\u4e2d,(\u4e2d\u9014\u5173\u95ed\u8fdb\u5ea6\u4e0d\u4fdd\u5b58)`); var a = await function () { let e = location.origin + "/inc/nc/course/play/pulseSaveRecord"; return new Promise(t => { fetch(e, { headers: { accept: "application/json, text/plain, */*", "accept-language": "zh-CN,zh;q=0.9", authorization_token: n, client: "pc", "content-type": "application/x-www-form-urlencoded;charset=UTF-8", "sec-ch-ua": '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"', "sec-ch-ua-mobile": "?0", "sec-ch-ua-platform": '"Windows"', "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-origin" }, referrer: location.origin + "/page.html", referrerPolicy: "strict-origin-when-cross-origin", body: `courseId=${o.courseId}&coursewareId=${o.coursewareId}&watchPoint=00%3A06%3A19&pulseTime=10&pulseRate=2&realWatchTime=00%3A02%3A33`, method: "POST", mode: "cors", credentials: "include" }).then(e => e.json()).then(e => t(e)) }) }(); if (e.addInfo(`\u5df2\u5b66\u4e60${a.data.finishedRate}%`), 100 <= a.data.finishedRate) { location.reload(); break } await MyTool.sleep(1e3) } } } }, hsduf: { mainClass: "CTXCommon", option: { nodeListClass: ".menu_body dd", activeClass: "active", _init: async a => { let i = setInterval(async () => { var e = document.querySelector("#a2"); if (e) { clearInterval(i), e.click(), await MyTool.sleep(2500); var t = document.querySelectorAll("li[data-trainid]"); for (let e = 0; e < t.length; e++) { var o = t[e]; MyTool.setValue("homeUrl", location.href), setTimeout(() => { window.close() }, 2e4), o.querySelector("a").click() } } if (a.ElementObj.$allTask = document.querySelectorAll(".menu_body dd"), 0 < a.ElementObj.$allTask.length) { clearInterval(i); let t = !0; for (let e = 0; e < a.ElementObj.$allTask.length; e++) { var n = a.ElementObj.$allTask[e]; if (!n.classList.contains("active")) { t = !1, a.currentIndex = e, n.classList.contains("hover") || n.querySelector("a").click(), showTip("✅✅✅\u6b63\u5728\u521d\u59cb\u5316", 3e3), a._o1(); break } } t && (e = MyTool.getValue("homeUrl") || "https://www.ejxjy.com/a/sys/portal/person", location.href = e) } }, 300) }, openListenPlayTime: !0, async playNext() { location.reload() }, playFn: async e => { await e.getVideoDom(), await e.changeHtml(e.ElementObj.$video.parentElement); var t = Math.ceil(e.ElementObj.$video.duration); let o = 0; var n = await new Promise(t => { fetch(location.href, { headers: { accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7", "accept-language": "zh-CN,zh;q=0.9", priority: "u=0, i", "sec-ch-ua": '"Not/A)Brand";v="8", "Chromium";v="126", "Google Chrome";v="126"', "sec-ch-ua-mobile": "?0", "sec-ch-ua-platform": '"Windows"', "sec-fetch-dest": "document", "sec-fetch-mode": "navigate", "sec-fetch-site": "same-origin", "sec-fetch-user": "?1", "upgrade-insecure-requests": "1" }, referrerPolicy: "strict-origin-when-cross-origin", body: null, method: "GET", mode: "cors", credentials: "include" }).then(e => e.text()).then(e => { e = e.match(/saveVideo\?id=(.+)"/)?.[1]; t(e) }) }); if (n && t) { setInterval(() => { document.querySelector(".jbox-button-focus")?.click() }, 300); var a, i = e.ElementObj.$video.duration; for (a of new Array(1e4)) { var s = await function (e, o, n) { return new Promise(t => { try { fetch("https://www.ejxjy.com/a/onlinelearn/stuCourse/saveVideo?id=" + n, { headers: { accept: "*/*", "accept-language": "zh-CN,zh;q=0.9", "content-type": "application/x-www-form-urlencoded; charset=UTF-8", priority: "u=0, i", "sec-ch-ua": '"Google Chrome";v="125", "Chromium";v="125", "Not.A/Brand";v="24"', "sec-ch-ua-mobile": "?0", "sec-ch-ua-platform": '"Windows"', "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-origin", "x-requested-with": "XMLHttpRequest" }, referrerPolicy: "strict-origin-when-cross-origin", body: `nowTime=${e}&videoTime=` + o, method: "POST", mode: "cors", credentials: "include" }).then(e => e.json()).then(e => t(e)) } catch (e) { t(!1) } }) }(o, i, n); if (0 != s && o >= t) { e.addInfo("🎉🎉🎉🎉🎉🎉🎉🎉\u5df2\u6210\u529f\u5b66\u5b8c🎉🎉🎉🎉🎉🎉🎉🎉"), await MyTool.sleep(3e3), e.playNext(e); break } "success" == s.data && (o += +e.spd > t ? t : +e.spd), e.addInfo(`🔊\u5f53\u524d\u72b6\u6001\u6b63\u5728\u4ee5${e.spd}\u500d\u901f\u5b66\u4e60\u4e2d,\u5df2\u5b66\u4e60${o}\u79d2,\u89c6\u9891\u603b\u65f6\u957f\u4e3a${t / 60}\u5206\u949f`), await MyTool.sleep(500) } } else showTip("\u89c6\u9891\u65f6\u95f4\u9519\u8bef,\u8bf7\u5237\u65b0\u9875\u9762\u91cd\u8bd5"), location.reload() } } }, s221s: { mainClass: "CTXCommon", option: { nodeListClass: ".tab-content-desc", activeClass: "desc-item-sel", playFn: async e => { await e.getVideoDom(); e.ElementObj.$video.volume = 0, e.ElementObj.$video.play(), await MyTool.sleep(1e3), e.ElementObj.$video.currentTime += 7200, await MyTool.sleep(1e3), e.ElementObj.$video.currentTime += 7200, await MyTool.sleep(1e3), e.playNext() } } }, bsd11: { mainClass: "CTXCommon", option: { nodeListClass: "a.title", getCurrentIndexByOption(o) { return new Promise((t, e) => { for (let e = 0; e < o.ElementObj.$allTask.length; e++) if (o.ElementObj.$allTask[e].parentElement.classList.contains("active")) { t(e); break } }) } } }, sf1101: { mainClass: "CTXCommon", option: { nodeListClass: "span.studiedLesson", activeClass: "RED", openListenPlayStatus: !0, async getCurrentIndex(t) { for (let e = 0; e < t.ElementObj.$allTask.length; e++) { var o = t.ElementObj.$allTask[e]; if (!o.classList.contains("studiedLessonMark")) { t.currentIndex = e, showTip("\u521d\u59cb\u5316\u5b8c\u6210,3\u79d2\u540e\u5f00\u59cb\u81ea\u52a8\u64ad\u653e", 3e3), o.click(), setTimeout(() => { t.pdPlayFn(location.href) }, 2e3); break } } -1 === t.currentIndex && alert("\u5f53\u524d\u7ae0\u8282\u6240\u6709\u89c6\u9891\u5df2\u7ecf\u5b66\u4e60\u5b8c") }, videoEle: n => new Promise(e => { let t = 0, o = setInterval(() => { t += 1, n.ElementObj.$video = document.querySelector("iframe")?.contentDocument?.querySelector("video"), n.ElementObj.$video ? (clearInterval(o), e(1)) : 7 <= t && (clearInterval(o), e(2)) }, 1e3) }), async listenRebortFn(e) { var t = document.querySelector("iframe")?.contentDocument?.querySelector("#popup_panel input"); t && (t.click(), e.play()) }, async playNext() { location.reload() } } }, ifsbds: { mainClass: "CTXCommon", option: { nodeListClass: ".tab-content-desc", activeClass: "desc-item-sel", _init: async t => { let o = setInterval(() => { if ("/kaoshi_qnzzxy/majorlist.html" == location.pathname) clearInterval(o), alert("\u8bf7\u9009\u62e9\u4e00\u4e2a\u8bfe\u7a0b,\u70b9\u51fb\u8fdb\u53bb"); else { if (t.ElementObj.$allTask = document.querySelectorAll(".list-group-item"), 0 < t.ElementObj.$allTask.length) { clearInterval(o); for (var e of t.ElementObj.$allTask) if ("\u5b66\u4e60\u8fdb\u5ea6:100.00%" != e.querySelector(".list-group-item-text.text-muted").innerText) { MyTool.setValue("homeUrl", location.href), e.click(); break } } "/kaoshi_qnzzxy/test.html" == location.pathname && (clearInterval(o), t.pdPlayFn(location.href)) } }, 500) }, playNext: async e => { location.href = MyTool.getValue("homeUrl") } } }, dsfs: { mainClass: "CTXCommon", option: { nodeListClass: "#content a", _init(a) { return new Promise(o => { let n = setInterval(() => { if (a.ElementObj.$allTask = document.querySelectorAll("#content a"), a.ElementObj.$allTask.length) { clearInterval(n); var t = MyTool.getValue("preClassName"); if (t) { for (let e = 0; e < a.ElementObj.$allTask.length; e++) if (t == a.ElementObj.$allTask[e].innerText.trim()) { MyTool.setValue("homeUrl", location.href), a.ElementObj.$allTask[e + 1].click(); break } } else MyTool.setValue("homeUrl", location.href), a.ElementObj.$allTask[0].click(); o(!0) } var e = document.querySelector(".item-title.label h1 a"); e && "/m/Exam/Student/startStudy" == location.pathname && (clearInterval(n), e.click(), o(!0)), "/m/Exam/Student/startStudy" == location.pathname && (clearInterval(n), a.pdPlayFn(location.href), o(!0)) }, 500) }) }, playNext(e) { return new Promise(async (e, t) => { var o = document.querySelector(".startStudy-title>p")?.innerText.trim(); MyTool.setValue("preClassName", o), document.querySelector(".bottom-pc-btn button").click(), await MyTool.sleep(2e3), setTimeout(() => { location.reload() }, 3e3), document.querySelector(".modal-button.modal-button-bold").click() }) } } }, sdf3: { mainClass: "CTXCommon", option: {nodeListClass: "#classes li", activeClass: "li_current_index", openListenPlayTime: !1} }, sdf1: { mainClass: "CTXCommon", option: { nodeListClass: ".ml_2 li", activeClass: "cur", nextClass: ".littletit", openListenPlayTime: !1, getCurrentIndexByOption: a => new Promise(t => { for (let e = 0; e < a.ElementObj.$allTask.length; e++) { var o = a.ElementObj.$allTask[e].querySelector(".littlebot").querySelector(".el-progress"), n = a.ElementObj.$allTask[e].querySelector(".elli").innerText.trim(); if (o && -1 == n.indexOf("\u5728\u7ebf\u4f5c\u4e1a") && -1 == n.indexOf("\u4e60\u9898\u6d4b\u9a8c") && -1 == n.indexOf("Test")) { t(e); break } } }), listenRebortFn: e => { var t = document.querySelector("._active.elli"), o = (t?.parentElement?.parentElement).querySelector(".el-icon-circle-check"), t = t.innerText.trim(); !o && "\u5728\u7ebf\u4f5c\u4e1a" != t && -1 == t.indexOf("\u4e60\u9898\u6d4b\u9a8c") && -1 == t.indexOf("Test") || e.playNext() } } }, aa101: {mainClass: "CTXCommon", option: {nodeListClass: ".level2>a", activeClass: "cur"}}, agsdyfu: { mainClass: "CTXCommon", apis: { pushdata(e) { return new Promise(t => { fetch("https://api.zxksfwzx.com/student/api/lesson/learn/push-msg", { headers: { accept: "*/*", "accept-language": "zh-CN,zh;q=0.9", "content-type": "application/json", "sec-ch-ua": '"Microsoft Edge";v="131", "Chromium";v="131", "Not_A Brand";v="24"', "sec-ch-ua-mobile": "?0", "sec-ch-ua-platform": '"Windows"', "sec-fetch-dest": "empty", "sec-fetch-mode": "cors", "sec-fetch-site": "same-site", token: localStorage.getItem("token") + "" }, referrer: "https://www.zxksfwzx.com/", referrerPolicy: "strict-origin-when-cross-origin", body: e, method: "POST", mode: "cors", credentials: "omit" }).then(e => e.json()).then(e => t(e)) }) }, getTask(e) { return new Promise(n => { fetch("https://api.zxksfwzx.com/student/api/course-learning/getCourseLearningInfo?courseId=" + e, { headers: { accept: "application/json, text/plain, */*", token: localStorage.getItem("token") + "" }, referrer: "https://www.zxksfwzx.com/", referrerPolicy: "strict-origin-when-cross-origin", body: null, method: "GET", mode: "cors", credentials: "omit" }).then(e => e.json()).then(e => { var t, o = []; for (t of e.data.chapterList) o.push(...t.lessonList); n(o) }) }) } }, option: { nodeListClass: "", activeClass: "", topicListClass: [".SJWAPleft", ".SJWAP"], async _init(t) { let e = setInterval(() => { if (t.ElementObj.$allTask = document.querySelectorAll(".collections"), t.ElementObj.$allTask.length) { clearInterval(e); for (let e = 0; e < t.ElementObj.$allTask.length; e++) if ("\u5df2\u5b66100%" != t.ElementObj.$allTask[e].querySelector(".vt-progress").innerText) { t.currentIndex = e, t._o1(t); break } } }, 500) }, async playFn(o) { await o.getVideoDom(); o.addInfo("\u6b63\u5728\u540e\u53f0\u64ad\u653e\u4e2d..."), o.addInfo("\u6b63\u5728\u540e\u53f0\u64ad\u653e\u4e2d..."), o.addInfo("\u6b63\u5728\u540e\u53f0\u64ad\u653e\u4e2d..."), o.vueInstance.handleAddInfo("🔊\u6b63\u5728\u5bfb\u627e\u53c2\u6570"); var e = await fetch("https://api.zxksfwzx.com/student/api/course-learning/video-path?courseId=5&lessonId=5391", { headers: { accept: "application/json, text/plain, */*", token: localStorage.getItem("token") + "" }, referrer: "https://www.zxksfwzx.com/", referrerPolicy: "strict-origin-when-cross-origin", body: null, method: "GET", mode: "cors", credentials: "omit" }).then(e => e.json()), n = e.data.studytoken, a = /video\/([0-9]+)/.exec(location.href)[1], i = JSON.parse(localStorage.getItem("www.zxksfwzx.com")).user.id; if (!n || !a || !i) return alert("#\u53c2\u6570\u9519\u8bef"); var s = await os.agsdyfu.apis.getTask(a); e:for (let t = 0; t < s.length; t++) if (0 === s[t].learningstatus) { var l, r = s[t]; o.vueInstance.handleAddInfo("✅✅✅\u5373\u5c06\u5f00\u59cb" + r.lessonName); let e = 0; for (l of new Array(1e3)) { if (e >= r.mediaDuration) { location.reload(); break e } e += 60; var c = {courseId: a, lessonId: r.lessonId, learningTicks: 60, userId: i, studytoken: n}; await os.agsdyfu.apis.pushdata(JSON.stringify(c)), o.vueInstance.handleAddInfo(`【${r.lessonName}】,\u5df2\u6210\u529f\u5b66\u4e60 ${e}\u79d2`), await MyTool.sleep(1e3) } break } } } }, mxzxas: { mainClass: "CTXCommon", option: { nodeListClass: "", topicListClass: [".el-form"], _init: o => new Promise(e => { let t = setInterval(() => { o.ElementObj.$allTask = document.querySelectorAll(".el-card__body button i"), o.ElementObj.$allTask.length && (clearInterval(t), o.getCurrentIndex()) }, 1e3) }), getCurrentIndexByOption: () => new Promise(t => { var o = document.querySelectorAll(".el-progress"); for (let e = 0; e < o.length; e++) { var n = o[e], a = n.getAttribute("aria-valuenow"); if (parseInt(a) <= 99) { n.click(), t(e); break } } }) } }, isdf1: { mainClass: "CTXCommon", option: { nodeListClass: "", activeClass: "", async _init(o) { let n = setInterval(async () => { try { var e; if ("/mineCourse" === location.pathname && (e = document.querySelectorAll(".training_box")[0].querySelectorAll(".years>div")).length && (clearInterval(n), e[1].classList.contains("active") || (e[1].click(), MyTool.setValue("homeUrl", location.href), await MyTool.sleep(1500), setTimeout(() => { location.reload() }, 1e3), document.querySelector(".basic-list-item-tool button")?.click())), o.ElementObj.$allTask = document.querySelectorAll(".playlist li"), o.ElementObj.$allTask.length) { clearInterval(n); for (let e = 0; e < o.ElementObj.$allTask.length; e++) { var t = o.ElementObj.$allTask[e]; if ("100%" !== t.querySelector(".progress").innerText.trim()) { t.classList.contains("playlist_li_active") || (t.click(), await MyTool.sleep(1500)), o.currentIndex = e, o._o1(o); break } } -1 == o.currentIndex && (location.href = MyTool.getValue("homeUrl")) } } catch (e) { } }, 500) }, beforePlayNext(e) { location.reload() } } }, hsd01: { mainClass: "CTXCommon", apis: { addT(o) { return new Promise((t, e) => { fetch(location.origin + ":38080/nce/studentCourse/addStudyDuration", { headers: { accept: "*/*", access_token: sessionStorage.getItem("nce-student-nox_access_token") + "", "content-type": "application/json" }, body: o, method: "POST", mode: "cors", credentials: "omit" }).then(e => e.json()).then(e => t(e)) }) } }, option: { nodeListClass: "", activeClass: "", async _init(o) { let e = setInterval(async () => { if (o.ElementObj.$allTask = document.querySelectorAll("#chapterView li"), o.ElementObj.$allTask.length) { clearInterval(e); for (let e = 0; e < o.ElementObj.$allTask.length; e++) { var t = o.ElementObj.$allTask[e]; if ("\u5df2\u5b8c\u6210" !== t.querySelectorAll(".chapter-title-bottom-title span")[2].innerText.trim()) { o.currentIndex = e, t.classList.contains("active-chapter") || (t.querySelector("div").click(), await MyTool.sleep(1500)), o._o1(o); break } } } }, 500) }, async playFn(e) { var t = await e.getVideoDom(); if (await e.changeHtml(document.querySelector("#J_prismPlayer")), 1 == t) { e.addInfo("🔊\u6b63\u5728\u8ba1\u7b97\u9700\u5b8c\u6210\u65f6\u95f4"); var o, t = e.ElementObj.$allTask[e.currentIndex].querySelectorAll(".chapter-title-bottom>span>span")[0].innerText.replace("\u5fc5\u4fee·\u89c6\u9891·", "").trim(), n = e.ElementObj.$allTask[e.currentIndex].querySelectorAll(".chapter-title-bottom>span")[1].innerText.replace("\u9700\u518d\u5b66 ", "").trim().split(":").reduce((e, t) => 60 * e + parseInt(t), 0), a = t.split(":").reduce((e, t) => 60 * e + parseInt(t), 0), i = (e.addInfo(`🔊\u83b7\u53d6\u6210\u529f,\u89c6\u9891\u603b\u957f\u5ea6${a},\u9700\u5b8c\u6210\u65f6\u95f4${n}\u79d2`), { specialTopicId: "", courseId: "", studentSectionId: "", sectionId: "", studyDuration: 0 }); if (i.studyDuration = a - n, e.addInfo(`🔊option.studyDuration-${i.studyDuration}\u79d2`), i.specialTopicId = location.href.match(/specialTopicId=([^&]+)/)[1], i.courseId = location.href.match(/courseId=([^&]+)/)[1], i.sectionId = e.ElementObj.$allTask[e.currentIndex].querySelector(".chapter-title").getAttribute("data-sectionid"), i.studentSectionId = e.ElementObj.$allTask[e.currentIndex].querySelector(".chapter-title").getAttribute("data-studentsectionid"), !n || !i.courseId) return location.reload(); for (o of new Array(1e3)) { if (a <= i.studyDuration) { e.addInfo("✅✅✅\u5df2\u5b8c\u6210"), location.reload(); break } i.studyDuration += 60, await _i1.hsd01.apis.addT(JSON.stringify(i)), e.addInfo("🔊\u5df2\u5b66\u4e60" + i.studyDuration + "\u79d2"), await MyTool.sleep(1e3) } } } } }, sfgd: { mainClass: "CTXCommon", option: { nodeListClass: ".chapterList>li", activeClass: "active", topicListClass: [".questionList"], listenRebortFn(e) { document.querySelector(".pauseBg")?.click() } } }, ojisa: { mainClass: "CTXCommon", option: { nodeListClass: "", activeClass: "", nextClass: "span", async _init(o) { let e = setInterval(async () => { if (o.ElementObj.$allTask = document.querySelectorAll(".courseMenuList>li"), o.ElementObj.$allTask.length) { clearInterval(e); for (let e = 0; e < o.ElementObj.$allTask.length; e++) { var t = o.ElementObj.$allTask[e]; if ("100%" !== t.querySelector(".f-right").innerText.trim()) { o.currentIndex = e, t.classList.contains("active") || (t.querySelector("span")?.click(), await MyTool.sleep(1e3)), o._o1(o), o.vueInstance.handleAddInfo("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,\u8bf7\u624b\u52a8\u70b9\u51fb\u4e00\u6b21\u64ad\u653e\u6309\u94ae"), o.vueInstance.handleAddInfo("🔊\u53ea\u9700\u70b9\u51fb\u4e00\u6b21,\u540e\u9762\u89c6\u9891\u4f1a\u81ea\u52a8\u64ad\u653e"); break } } } }, 500) }, listenRebortFn(e) { document.querySelector(".el-message-box__wrapper .el-button--danger")?.click() } } } }; class CTXCommon { constructor() { this.nodeListClass = "", this.activeClass = "", this.nextClass = "", this.openListenPlayStatus = !0, this.openListenPlayTime = !1, this.spd = 1, this.taskLength = 0, this.ElementObj = {}, this.currentIndex = -1, this.listenVidoeStatusTimer = null, this.fingerprint = "", this.vueInstance = null, this.newToken = MyTool.getValue("newToken") || localStorage.getItem("newToken") || "", this.apis = null } async props() { clearInterval(this.timer), clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime); var e = await this.getVideoDom(); this.playFn ? await this.playFn(this) : (1 == e && (this.beforePlayVideo && "function" == typeof this.beforePlayVideo && this.beforePlayVideo(), this.ElementObj.$video.volume = 0, this.ElementObj.$video.play(), setTimeout(() => { this.ElementObj.$video.playbackRate = this.spd }, 3e3), this.openListenPlayStatus && this.listenVidoeStatus(this.ElementObj.$video, () => { this.ElementObj.$video.volume = 0, this.ElementObj.$video.play() }), this.openListenPlayTime && (await this.changeHtml(this.ElementObj.$video.parentElement), this.listenPlayTime()), this.listenRebort(), this.ElementObj.$video.addEventListener("ended", async () => { showTip("✅✅✅\u5f53\u524d\u89c6\u9891\u5df2\u64ad\u653e\u5b8c,5\u79d2\u540e\u64ad\u653e\u4e0b\u4e00\u4e2a", 4500), this.playNext(this) }), this.ElementObj.$video.addEventListener("pause", () => { setTimeout(() => { this.ElementObj.$video.volume = 0, this.ElementObj.$video.play() }, 1500) })), 2 == e && (showTip("✅✅✅\u8be5\u7ae0\u8282\u4e3a\u6587\u6863,\u5373\u5c06\u81ea\u52a8\u5207\u6362\u4e0b\u4e00\u4e2a", 3e3), await MyTool.sleep(3e3), this.playNext(this))) } async _init() { let e = setInterval(async () => { try { "string" == typeof this.nodeListClass ? this.ElementObj.$allTask = document.querySelectorAll(this.nodeListClass) : this.ElementObj.$allTask = this.nodeListClass(), this.ElementObj.$allTask.length && (clearInterval(e), this.vueInstance.handleAddInfo("✅\u5df2\u627e\u5230\u4efb\u52a1\u5217\u8868,\u5373\u5c06\u5f00\u59cb\u81ea\u52a8\u5b66\u4e60"), this.getCurrentIndex()) } catch (e) { } }, 1e3) } async getCurrentIndex() { if (this.getCurrentIndexByOption) this.currentIndex = await this.getCurrentIndexByOption(this); else for (var e = 0; e <= this.ElementObj.$allTask.length - 1; e++) if (this.ElementObj.$allTask[e].classList.contains(this.activeClass)) { this.currentIndex = e; break } -1 == this.currentIndex ? alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c") : (showTip("✅✅✅\u521d\u59cb\u5316\u5b8c\u6210,5\u79d2\u540e\u5f00\u59cb\u64ad\u653e", 3e3), setTimeout(() => { this._o1() }, 2e3)) } getVideoDom() { return new Promise(e => { let t = 0, o = setInterval(() => { t += 1, this.ElementObj.$video = document.querySelectorAll("video")[0], this.ElementObj.$video && (this.ElementObj.$video.src || this.ElementObj.$video.querySelector("source")) ? (clearInterval(o), e(1)) : 6 <= t && (clearInterval(o), e(2)) }, 1e3) }) } listenRebort() { this.listenRebortTime = setInterval(() => { this.listenRebortFn && "function" == typeof this.listenRebortFn && this.listenRebortFn(this) }, 1e4) } async playNext() { if (this.beforePlayNext && "function" == typeof this.beforePlayNext && this.beforePlayNext(this), this.currentIndex >= this.ElementObj.$allTask.length - 1) alert("\u5f53\u524d\u8bfe\u7a0b\u6240\u6709\u89c6\u9891\u5df2\u64ad\u653e\u5b8c"); else { await MyTool.sleep(2500), this.currentIndex += 1; let e = this.ElementObj.$allTask[this.currentIndex]; (e = this.nextClass ? this.ElementObj.$allTask[this.currentIndex].querySelector(this.nextClass) : e)?.click(), this.afterPlayEnd && await this.afterPlayEnd(), setTimeout(() => { this._o1() }, 5e3) } } listenPlayTime() { let o = 0; this.timer = setInterval(async () => { o += 1; var e = (this.ElementObj.$video?.currentTime / 60).toFixed(2), t = this.ElementObj.$video?.duration; this.addInfo(`\u540e\u53f0\u5b66\u4e60${o}\u6b21,\u5f53\u524d\u72b6\u6001\u6b63\u5728\u5b66\u4e60,\u5df2\u64ad\u653e${e}\u5206\u949f,\u89c6\u9891\u603b\u65f6\u957f\u4e3a${t / 60}\u5206\u949f`) }, 5e3) } listenVidoeStatus(t, o) { if (t) { let e = 0; this.listenVidoeStatusTimer = setInterval(() => { t.readyState < 4 && 20 <= (e += 1) && location.reload(), t.paused && (e += 1, "function" == typeof o) && (20 <= e ? location.reload() : o()) }, 5e3) } } async changeHtml(e, t = document) { var o; this.ElementObj.$roapannel_page = t.querySelector(".roapannel_page"), this.ElementObj.$roapannel_page || ((o = document.createElement("div")).setAttribute("class", "roapannel_page"), o.setAttribute("style", ` width: 100%; height: 100%; background: #000; position: absolute; z-index: 999; overflow: scroll; top: 0; padding-left: 10px; z-index: 9999; `), e.appendChild(o), await MyTool.sleep(300), this.ElementObj.$roapannel_page = t.querySelector(".roapannel_page")), this.addInfo("\u9762\u677f\u521d\u59cb\u5316\u5b8c\u6210") } addInfo(e, t, o) { o = o || globalThis.document; 45 <= document.querySelectorAll(".roapannel_page_li").length && (this.ElementObj.$roapannel_page.innerHTML = ""); o = `