// ==UserScript==
// @name 【💯💯💯2024】网络教育、专业技术、继续教育等视频学习伴侣
// @namespace http://tampermonkey.net/
// @version 6.7.8.5
// @description 后台继续播放📺高倍数🤖自动挂机无人值守🔥继续教育🎗️远程教育,企安全,甘肃干部,贵州省党员干部网络学院,江西专技学习网,河南省专业技术人员,🦄云南省执业药师协会、湖南师范大学、安徽专技网,教师专业发展培训网,河南教师培训网、建投学堂、山东青年政治学院、云南省执业药师、📕青书学堂、温州继续教育网、👀苏州专业、石家庄铁道大学、华北电力大学、❤河北机电、宁夏专业技术人员、青岛市专业技术人员、黑龙江省网络助学平台、浙里学习、👻云课程、🌈山东干部网络学院,河北教师教育网、🎊东营市继续教育网专业科目培训平台、百年树人、会计人员继续教育🥇深i学、国家智慧教育公共服务平台、济宁市高级职业学校(省级继续教育基地)、基础教育进修网、高等学历继续教育网络学习平台、🐱🚀河南专技在线、青岛大学、和学在线、湖南农民大学生⏩全国煤炭行业现代远程教育培训网❤️浙江文化干部🤖新营造MOOC💯广州市中小学教师继续教育网❤️贵州省建设行业职业技能管理中心、广州市干部培训❤️长春工业大学🎉西安工业大学168网校🥇在线壹佰分🎉一点通🎉上海开放大学🔉专业技术人员继续教育网📺卫生健康人才职业技能培养学习平台✅株洲教师教育网络学院1️⃣安徽专业技术人员🔥广东省教师继续教育信息管理平台🎗️河北干部网络学院↗️西安工业大学🔛江西科技学院、河南华夏基础😉九江学院继续教育学院成教平台🎉国家开放大学,江西专技在线
// @author
// @match *://*/*
// @grant GM_xmlhttpRequest
// @grant GM_openInTab
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_deleteValue
// @grant GM_addValueChangeListener
// @grant window.close
// @noframes
// @icon https://www.zhihuishu.com/favicon.ico
// @connect www.gaozhiwang.top
// @connect 47.115.205.88
// @connect localhost
// @antifeature payment
// @license MIT
// ==/UserScript==
"use strict";
var __awaiter = this && this.__awaiter || function (e, a, r, s) {
return new (r = r || Promise)(function (n, t) {
function i(e) {
try {
o(s.next(e))
} catch (e) {
t(e)
}
}
function l(e) {
try {
o(s.throw(e))
} catch (e) {
t(e)
}
}
function o(e) {
var t;
e.done ? n(e.value) : ((t = e.value) instanceof r ? t : new r(function (e) {
e(t)
})).then(i, l)
}
o((s = s.apply(e, a || [])).next())
})
};
!function () {
const version = "6.6.5";
let basehost = "http://www.gaozhiwang.top", bserUrl = "http://47.115.205.88:7001";
const panelcss = `
.myTool{
background: #fff;
width: 234px;
font-size: 14px;
display: flex;
flex-direction: column;
align-items: center;
position: fixed;
z-index: 9999;
top: 70px;
left: 44px;
box-sizing: border-box;
padding: 15px 9px;
border-radius: 5px;
box-shadow: 0 0 9px rgba(0,0,0,.5);
}
.controls{
position: absolute;
right: 12px;
font-size: 27px;
top: 9px;
cursor: pointer;
transition: all 0.4s;
}
.controls:hover{
color: #1f74c;
transform: rotate(360deg);
}
.myTool-content{
transition: all 0.4s;
overflow: hidden;
}
.mytoolkeyipt{
width: 130px;
height: 22px !important;
outline: none;
padding: 0px 3px;
border: 1px solid #757575FF;
border-radius: 3px;
font-size: 13px;
padding: 0px 3px;
margin-right: 5px;
margin-top: 2px;
}
.addkey-btn{
color: #fff;
background: #1f74ca;
}
.removkey-btn{
color: #000;
display: none;
background: #eee;
}
.handleKeyBtn{
width: 54px;
height: 24px;
margin-top: 2px;
border: none;
font-size: 12px;
border-radius: 2px;
cursor: pointer;
}
.handleSpeedUp{
background: orange;
font-size: 12px;
color: #fff;
padding: 4px 15px;
border-radius: 5px;
margin: 0 auto;
max-width: 80px;
margin-top: 10px;
cursor: pointer;
text-align: center;
}
.ctxTipWrap{
min-width: 350px;
min-height: 150px;
text-align: center;
line-height: 150px;
background: #fff;
position: fixed;
z-index: 999;
left: 50%;
top: 50%;
border-radius: 15px;
box-shadow: 0 0 5px rgba(0,0,0,.6);
display:none;
}
.cxtsection{
width: 100%;
box-sizing: border-box;
padding: 0 5px;
margin-bottom: 2px;
}
.cxtsection .ctx-title{
text-align: left;
margin-top: 12px;
font-size: 12px;
color: #4e5969;
border-left: 2px solid #1f74ca;
border-radius: 2px;
padding-left: 3px;
line-height: 16px;
}
.ctxsection2{
display: flex;
justify-content: space-between;
}
.ctxsection2 .speed-select{
width: 50%;
height: 22px !important;
outline: none;
position: relative;
top: 10px;
border: 1px solid #757575FF;
border-radius: 3px;
padding: 0;
padding-left: 10px;
}
.ctxsection3{
display: flex;
align-items: center;
justify-content: space-between;
}
.feedbackBtn{
font-size: 13px;
position: relative;
top: 5px;
cursor: pointer;
color: #000;
}
a{
text-decoration: none;
}
`;
class GMTool {
constructor() {
}
getValue(e) {
return GM_getValue(e, null)
}
setValue(e, t) {
GM_setValue(e, t)
}
deleteValue(e) {
GM_deleteValue(e)
}
openInTab(e) {
GM_openInTab(e, {active: !0})
}
isDateGreaterThanSevenDays(e) {
e = new Date(e).getTime();
return 7 < ((new Date).getTime() - e) / 864e5
}
fetchData(e) {
return new Promise(t => {
GM_xmlhttpRequest(Object.assign(Object.assign({}, e), {
onload: function (e) {
200 == e.status && t(JSON.parse(e.response))
}
}))
})
}
sleep(t) {
return new Promise(e => setTimeout(e, t))
}
}
const MyTool = new GMTool;
let ElementObj = {}, Internetcourse = {
zhihuishu: {id: 1, mainClass: "zhihuishu", name: "智慧树", host: ["zhihuishu.com"]},
uxueyuan: {
id: 2,
mainClass: "CTXCommon",
name: "U学院",
host: ["ua.ulearning.cn"],
option: {nodeListClass: ".page-name", activeClass: "active"}
},
ningmengwencai: {
id: 3,
mainClass: "ningmengwencai",
name: "柠檬文才",
host: ["www.wencaischool.net", "study.wencaischool.net", "learning.wencaischool.net"]
},
xuexitong: {id: 4, mainClass: "xuexitong", name: "学习通", host: []},
henanxinxueyuan: {
id: 5,
mainClass: "CTXCommon",
name: "河南新闻出版学校",
host: ["218.29.91.122:81"],
option: {
nodeListClass: ".collapseCont", activeClass: "", getCurrentIndexByOption() {
return new Promise(t => {
for (let e = 0; e < ElementObj.$allTask.length; e++) "[完成]" == ElementObj.$allTask[e].childNodes[0].childNodes[0].childNodes[2].firstChild.innerText && t(e)
})
}
}
},
fujianshifan: {id: 6, mainClass: "fujianshifan", name: "福建师范继续教育", host: ["neo.fjnu.cn"]},
gxcic: {
id: 7,
mainClass: "gxcic",
name: "广西住房城乡建设行业专业人员继续教育平台",
host: ["jxjy.gxcic.net:9092"]
},
luohexueyuan: {
id: 8,
mainClass: "CTXCommon",
name: "漯河学院",
host: ["xxpt1.cloudwis.tech", "lhycjy.cloudwis.tech", "ycjy.cloudwis.tech", "hnlg.crjxjy.net"],
option: {
nodeListClass: "li.catalog-box", activeClass: "activeCss", videoEle: () => new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
}, 1e3)
}), _init: l => new Promise(e => {
let i = setInterval(() => __awaiter(this, void 0, void 0, function* () {
if (ElementObj.$allTask = document.querySelectorAll("li.catalog-box .play-c"), ElementObj.$allTask.length) {
clearInterval(i), ElementObj.$handleSpeedUp.style.display = "none";
for (let e = 0; e < ElementObj.$allTask.length; e++) {
var t = ElementObj.$allTask[e];
if ("已学习" != t.parentElement.querySelector(".c-999").getAttribute("data-original-title")) {
var n = t.parentElement.querySelector(".activeCss");
showTip("初始化完成,即将开始播放"), n || (t.click(), yield MyTool.sleep(2e3)), l.currentIndex = e, l.handleClickSpeedUp();
break
}
}
}
}), 1e3)
})
}
},
mengxiangzaixian: {
id: 9,
mainClass: "CTXCommon",
name: "梦想在线",
host: ["www.mxdxedu.com"],
option: {
nodeListClass: "", _init: () => new Promise(e => {
let t = setInterval(() => {
ElementObj.$allTask = document.querySelectorAll(".el-card__body button i"), ElementObj.$allTask.length && (clearInterval(t), ElementObj.$handleSpeedUp.style.display = "none", toolOption.CtxMain.getCurrentIndex())
}, 1e3)
}), getCurrentIndexByOption: () => new Promise(t => {
var n = document.querySelectorAll(".el-progress");
for (let e = 0; e < n.length; e++) {
var i = n[e], l = i.getAttribute("aria-valuenow");
if (parseInt(l) <= 99) {
i.click(), t(e);
break
}
}
})
}
},
fjsf2: {id: 6, mainClass: "fjsf2", name: "fjnu", host: ["nto.fjnu.cn"]},
liangyijiaoyu: {id: 11, mainClass: "liangyijiaoyu", name: "良医教育", host: ["www.sclyedu.com"]},
zjzx: {id: 12, mainClass: "zjzx", name: "安徽专业技术人员继续教育在线", host: ["www.zjzx.ah.cn"]},
zxpxmr: {id: 13, mainClass: "zxpxmr", name: "全国文化和旅游市场在线培训系统", host: ["zxpx.mr.mct.gov.cn"]},
ggfw: {id: 14, mainClass: "ggfw", name: "广东远程职业培训平台", host: ["ggfw.hrss.gd.gov.cn"]},
liangshizaixian: {id: 15, mainClass: "liangshizaixian", name: "良师在线", host: []},
gzjxjy: {
id: 16,
mainClass: "gzjxjy",
name: "贵州省专业技术人员继续教育平台",
host: ["gzjxjy.gzsrs.cn", "www.gzjxjy.gzsrs.cn"],
runtype: -1
},
mingshiclass: {id: 17, mainClass: "mingshiclass", name: "名师课堂", host: ["saas.mingshiclass.com"]},
qiangshi: {id: 18, mainClass: "qiangshi", name: "强师", host: ["zjdx-kfkc.webtrn.cn/", "zjdx-kfkc.webtrn.cn"]},
lanzhgoulgjs: {
id: 19,
mainClass: "lanzhgoulgjs",
name: "兰州理工大学教师",
host: ["gs.chinamde.cn", "gansu.chinamde.cn", "jilin.chinamde.cn", "ahptc.chinamde.cn", "gc.chinamde.cn"]
},
beijingjiaoshi: {id: 20, mainClass: "beijingjiaoshi", name: "北京教师学习网", host: []},
qingyangzgzjzj: {
id: 21,
mainClass: "qingyangzgzjzj",
name: "甘肃庆阳继续教育",
host: ["xjaks.zgzjzj.com", "xjbz.zgzjzj.com", "jyrcjypt.zgzjzj.com", "wws.zgzjzj.com", "gsmtdzj.zgzjzj.com", "qingyang.zgzjzj.com", "lzksj.zgzjzj.com", "pl.zgzjzj.com", "www.zgzjzj.com", "bys.zgzjzj.com", "www.zgzjzj.com"]
},
lanzhouwenli: {id: 22, mainClass: "lanzhouwenli", name: "兰州文理学院继续教育", host: ["jxjypt.luas.edu.cn"]},
xuexituqiang: {
id: 23,
mainClass: "CTXCommon",
name: "学习图强",
host: ["user.hzboolan.cn"],
option: {
activeClass: "lesson-in",
nodeListClass: ".lesson",
playNext: t => __awaiter(this, void 0, void 0, function* () {
var e;
yield sleep(1500), t.currentIndex >= ElementObj.$allTask.length - 1 || (t.currentIndex += 1, yield sleep(2e3), null != (e = document.querySelector(".el-message-box__btns button")) && e.click(), setTimeout(() => {
t.handleClickSpeedUp()
}, 5e3))
})
}
},
guojiazhihuijiaoyu: {
id: 24,
mainClass: "guojiazhihuijiaoyu",
name: "国家智慧教育公共服务平台",
host: ["teacher.vocational.smartedu.cn", "core.teacher.vocational.smartedu.cn"]
},
lanzhouchengren: {
id: 25,
mainClass: "lanzhouchengren",
name: "兰州大学成人教育",
host: ["lms.hactcm.edu.cn", "lzjtujxjyxylms.sccchina.net", "zgkydxlms.sccchina.net", "courseresource.zhihuishu.com", "lzulms.chinaedu.net", "cjlzulms.sccchina.net", "cjlzu.sccchina.net"]
},
tsbtchinamde: {
id: 26,
mainClass: "tsbtchinamde",
name: "天水博通职业技术培训学校",
host: ["btln.tsbtgs.cn", "tsbt.chinamde.cn", "btzjc.tsbtgs.cn", "www.tsbtgs.cn"]
},
henangongshe: {
id: 27,
mainClass: "henangongshe",
name: "河南省专业技术人员学习公社",
host: [],
remark: "和北京教师一样的"
},
zjzjsrc: {
id: 28,
mainClass: "zjzjsrc",
name: "浙江省住房和城乡建设行业专业技术人员继续教育系统",
host: ["zj.zjjsrc.cn", "2j.zjjsrc.cn"]
},
lzrejxjy: {
id: 29,
mainClass: "lzrejxjy",
name: "兰州资源环境职业技术大学",
host: ["zjyxzhpx-kfkc.webtrn.cn", "ddwh-kfkc.webtrn.cn", "learn.courshare.cn", "sfrz.cug.edu.cn", "lzrejxjy.webtrn.cn", "zjyxldpx-kfkc.webtrn.cn", "ttedu-kfkc.webtrn.cn", "hnssydw-kfkc.webtrn.cn", "ptucjrc-kfkc.cep.webtrn.cn"]
},
xuzhouyikedaxue: {
id: 30,
mainClass: "xuzhouyikedaxue",
name: "徐州医科大学",
host: ["cjyxljy.xzhmu.edu.cn", "cj1047-kfkc.webtrn.cn"]
},
xibeisfzyjy: {
id: 31,
mainClass: "xibeisfzyjy",
name: "西北师范大学专业技术人员继续教育基地",
host: ["sdzj.nweduline.com", "xbsd.lt-edu.net", "preview.dccloud.com.cn"]
},
zgrtvu: {id: 32, mainClass: "zgrtvu", name: "自贡开发大学", host: ["zgrtvu.peixunyun.cn", "ua.peixunyun.cn"]},
henandikuang: {
id: 33,
mainClass: "henandikuang",
name: "郑州市专业技术人员继续教育专",
host: ["dkgc.zyk.ghlearning.com", "zzszyk.user.hnhhlearning.com"]
},
tazhuanjipx: {
id: 34,
mainClass: "tazhuanjipx",
name: "泰安市专业技术人员续教育培训平台",
host: ["ta.zhuanjipx.com", "sdta-zyk.yxlearning.com", "sdta-gxk.yxlearning.com"]
},
henanzhuanjipeixun: {
id: 35, mainClass: "CTXCommon", name: "河南专技培训", host: ["www.jxjyedu.org.cn"], apis: {
getID(e) {
return new Promise(t => {
fetch(location.origin + "/student/single_video.jsp?" + e, {
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",
"sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": '"Windows"',
"sec-fetch-dest": "iframe",
"sec-fetch-mode": "navigate",
"sec-fetch-site": "same-origin",
"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 = /"single_video_save.jsp", {id:([0-9]+), duration:total, studylong:studylong, position:current}/.exec(e)[1];
t(e)
})
})
}, savejsp(e, n) {
return new Promise(t => {
fetch(location.origin + "/student/single_video_save.jsp", {
headers: {
accept: "*/*",
"accept-language": "zh-CN,zh;q=0.9",
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
"sec-ch-ua": '"Chromium";v="130", "Google Chrome";v="130", "Not?A_Brand";v="99"',
"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: `id=${e}&duration=${n}&studylong=${n}&position=` + n,
method: "POST",
mode: "cors",
credentials: "include"
}).then(e => e.text()).then(e => t(e))
})
}
}, option: {
nodeListClass: "", openListenPlayStatus: !1, _init(o) {
return __awaiter(this, void 0, void 0, function* () {
let l = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e, t, n, i;
try {
ElementObj.$allTask = document.querySelectorAll("tbody tr"), ElementObj.$allTask.length ? (clearInterval(l), showTip("⚠️⚠️⚠️正在初始化", 1500), ElementObj.$allTask.forEach((e, t) => {
1 < t && (e = e.querySelectorAll("td")[2].innerText, 100 != parseInt(e)) && -1 == o.currentIndex && (o.currentIndex = t)
}), t = location.href, GM_setValue("homeUrl", t), showTip("⚠️⚠初始化完成,5秒后开始播放", 3e3), n = ElementObj.$allTask[o.currentIndex].querySelectorAll("td")[3].querySelector("a"), yield sleep(200), n.click(), yield sleep(1500), document.querySelector("input.textbtn").click(), setTimeout(() => {
window.close()
}, 4500)) : (i = null == (e = document.querySelector("iframe")) ? void 0 : e.contentDocument, ElementObj.$video = null == i ? void 0 : i.querySelector("video"), ElementObj.$video && (clearInterval(l), o.handleClickSpeedUp()), ElementObj.$handleSpeedUp.style.display = "none")
} catch (e) {
}
}), 500)
})
}, videoEle() {
return new Promise(t => {
let n = 0, i = setInterval(() => {
n += 1;
var e = null == (e = document.querySelector("iframe")) ? void 0 : e.contentDocument;
ElementObj.$video = null == e ? void 0 : e.querySelector("video"), ElementObj.$video && ElementObj.$video.duration ? (clearInterval(i), t(1)) : 7 <= n && (clearInterval(i), t(2))
}, 1e3)
})
}, playFn(l) {
return __awaiter(this, void 0, void 0, function* () {
showTip("视频加载中..."), yield l.getVideoDom();
var e = Math.trunc(ElementObj.$video.duration), t = ElementObj.$video.src,
n = new URLSearchParams(location.href), i = n.get("cid"), n = n.get("sid"),
t = (showTip("🔊🔊🔊正在请求数据...."), yield Internetcourse.henanzhuanjipeixun.apis.getID(`video=${t}&cid=${i}&sid=` + n));
t && e && (yield Internetcourse.henanzhuanjipeixun.apis.savejsp(t, e), showTip("🔊🔊🔊学习完成,即将自动切换下一个...."), setTimeout(() => {
window.close()
}, 2500), MyTool.openInTab(MyTool.getValue("homeUrl")))
})
}
}
},
zhejiangtjj: {
id: 32,
mainClass: "zhejiangtjj",
name: "浙江统计教育培训在线学习中心",
host: ["edu.tjj.zj.gov.cn"]
},
guizhouzxjxjy: {
id: 37,
mainClass: "CTXCommon",
name: "贵州继续教育网",
host: ["guizhou.zxjxjy.com"],
option: {
nodeListClass: ".lcml_djj_list li",
activeClass: "on",
playFn: t => __awaiter(this, void 0, void 0, function* () {
clearInterval(t.timer), clearInterval(t.listenVidoeStatusTimer), clearInterval(t.listenRebortTime);
yield t.getVideoDom();
var e = document.querySelector(".xgplayer-icon-play");
null != e && e.click(), showTip("正在加载视频", 2e3), yield sleep(2e3), yield t.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), t.playNext(t)
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})
})
}
},
jiangxizhipeizaixian: {
id: 38,
mainClass: "jiangxizhipeizaixian",
name: " 江西职业培训",
host: ["jiangxi.zhipeizaixian.com"]
},
anhuijixujyzx: {id: 39, mainClass: "anhuijixujyzx", name: " 安徽继续教育在线", host: ["main.ahjxjy.cn"]},
lanzhoudxgs: {id: 40, mainClass: "lanzhoudxgs", name: " 兰州大学教育培训", host: ["gsjzlzu.sccchina.net"]},
jidianshejijiaoyu: {
id: 41,
mainClass: "jidianshejijiaoyu",
name: "继续教育学习平台",
host: ["sdjj.ct-edu.com.cn", "scjylearning.o-learn.cn", "gzmtulearning.o-learn.cn", "xueyastu.o-learn.cn"]
},
henanzhujianjy: {
id: 42,
mainClass: "henanzhujianjy",
name: "河南省住建专业技术人员继续教育",
host: ["zjpx.icitpower.com:8080"]
},
sipingnengcun: {
id: 43,
mainClass: "CTXCommon",
name: "四平农村成人高等专科学校",
host: ["www.jxuxue.com"],
option: {
nodeListClass: ".videolist_item", openListenPlayTime: !1, getCurrentIndexByOption() {
return new Promise(e => {
for (var t = 0; t < ElementObj.$allTask.length; t++) if (!ElementObj.$allTask[t].querySelector(".el-progress").classList.contains("is-success")) {
e(t);
break
}
})
}
}
},
ycjyluteducn: {
id: 44,
mainClass: "ycjyluteducn",
name: "兰州理工大学现代远程教育学习平台",
host: ["ycjy.lut.edu.cn", "gdou.scnu.edu.cn", "bjtudx-kfkc.webtrn.cn"]
},
gdrcjxjyw: {
id: 45,
mainClass: "gdrcjxjyw",
name: "广东人才继续教育网",
host: ["gdjyw.ahsjxjy.com", "www.rcjxjy.com"]
},
shandongqlteacher: {
id: 46,
mainClass: "CTXCommon",
name: "山东省教师教育网",
host: ["player.qlteacher.com"],
option: {
nodeListClass: "app-course-catalogue.ng-star-inserted .ant-list-items li",
getCurrentIndexByOption() {
return new Promise(t => {
for (let e = 0; e < ElementObj.$allTask.length; e++) ElementObj.$allTask[e].querySelector("div.align-items-center") || t(e)
})
}
}
},
shixuetong: {
id: 47,
mainClass: "shixuetong",
name: "师学通",
host: ["cn202451010.stu.teacher.com.cn", "cn202432064.stu.teacher.com.cn", "pn202461048.stu.teacher.com.cn", "cas.study.yanxiu.jsyxsq.com", "cn202443051.stu.teacher.com.cn", "cn202446001.stu.teacher.com.cn", "cr202434029.stu.teacher.com.cn", "cn202434010.stu.teacher.com.cn", "cn202434009.stu.teacher.com.cn", "cn202423008.stu.teacher.com.cn", "cr202434006.stu.teacher.com.cn", "pn202433016.stu.teacher.com.cn", "cn202443009.stu.teacher.com.cn", "tr202364028.stu.teacher.com.cn", "pn202313066.stu.teacher.com.cn", "tn202361055.stu.teacher.com.cn", "cn202334050.stu.teacher.com.cn", "pr202341083.stu.teacher.com.cn", "cr202353008.stu.teacher.com.cn", "cn202321002.stu.teacher.com.cn", "pn202333116.stu.teacher.com.cn", "cn202343141.stu.teacher.com.cn", "cr202343116.stu.teacher.com.cn", "cn202343132.stu.teacher.com.cn", "cn202337049.stu.teacher.com.cn", "tn202346009.stu.teacher.com.cn", "tn202343108.stu.teacher.com.cn", "qr202310001.stu.teacher.com.cn"]
},
shandongenhualvyou: {
id: 48,
mainClass: "shandongenhualvyou",
name: "山东省文化和旅游厅继续教育公共服务平台",
host: ["123.232.43.194:8088"]
},
gansugongwuyuan: {
id: 49,
mainClass: "gansugongwuyuan",
name: "甘肃省公务员网络培训网",
host: ["gwypx.gsdj.gov.cn", "gsgwypx.com.cn", "www.gsgwypx.com.cn:83", "www.gsgwypx.com.cn:86", "www.gsgwypx.com.cn:89", "www.gsgwypx.com.cn:90", "www.gsgwypx.com.cn:92", "www.gsgwypx.com.cn:91"]
},
wlmqcol: {id: 50, mainClass: "wlmqcol", name: "乌鲁木齐建设职业培训中心", host: ["www.wlmqcol.com"]},
shandongzhuanyejisu: {
id: 51,
mainClass: "shandongzhuanyejisu",
name: "山东省专业技术人员继续教育公需课平台",
host: ["zjshpx-kfkc.webtrn.cn", "sdsz.train.yxlearning.com"]
},
chongqingzhuanye: {
id: 52,
mainClass: "chongqingzhuanye",
name: "重庆专业技术人员继续教育",
host: ["mooc1.cqrspx.cn", "cqrl.21tb.com"]
},
jiaoyuganbuwang: {
id: 53,
mainClass: "jiaoyuganbuwang",
name: "中国教育干部网络学院",
host: ["study.enaea.edu.cn"]
},
zhijiaoyun: {id: 54, mainClass: "shandongzhuanyejisu", name: "职教云", host: ["course.icve.com.cn"]},
zhijiaoyun2: {id: 54, mainClass: "zhijiaoyun2", name: "职教云 版本2", host: ["zjy2.icve.com.cn"]},
zaixianxuexi: {id: 55, mainClass: "zaixianxuexi", name: "在线学习", host: ["rsjapp.mianyang.cn"]},
anquanshengchanzx: {
id: 56,
mainClass: "CTXCommon",
name: "北京市应用职业技能培训",
host: ["www.zaixian100f.com1111111111111111"],
option: {
nodeListClass: "", activeClass: "", videoEle: () => new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelector("#vjs_video_3_html5_api"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
}, 1e3)
}), _init(a) {
return __awaiter(this, void 0, void 0, function* () {
let o = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e;
try {
var t = document.querySelectorAll(".chapter_j>span"),
n = document.querySelectorAll(".first-box");
if (ElementObj.$allTask = t.length ? t : n, ElementObj.$allTask.length) {
clearInterval(o), showTip("正在初始化"), ElementObj.$handleSpeedUp.style.display = "none";
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
var l = ElementObj.$allTask[i].querySelector("li");
if (l && l.classList.contains("currse")) {
a.currentIndex = i;
break
}
if (ElementObj.$allTask[i].classList.contains("text-color")) {
a.currentIndex = i;
break
}
}
-1 != a.currentIndex && ("/course/lesson" != location.pathname && null != (e = ElementObj.$allTask[a.currentIndex].querySelector("li")) && e.click(), showTip("初始化完成,5秒后开始播放"), a.handleClickSpeedUp())
}
} catch (e) {
}
}), 500)
})
}, listenRebortFn(e) {
if ("none" != document.querySelector(".mask.mask_bg").style.display) e.playNext(e); else {
var t = ElementObj.$video.currentTime / 60, n = ElementObj.$video.duration / 60,
i = document.querySelector(".vjs-remaining-time-display");
if (i) if ("0:00" == i.innerText) return void e.playNext(e);
n <= t && e.playNext(e)
}
}, playNext(t) {
return __awaiter(this, void 0, void 0, function* () {
if (yield sleep(2e3), !(t.currentIndex >= ElementObj.$allTask.length - 1)) {
t.currentIndex += 1;
let e = ElementObj.$allTask[t.currentIndex].querySelector("li");
null !== (e = "/course/lesson" == location.pathname ? ElementObj.$allTask[t.currentIndex] : e) && void 0 !== e && e.click(), setTimeout(() => {
t.handleClickSpeedUp()
}, 2e3)
}
})
}
}
},
guojiakaifangdaxue: {
id: 57,
mainClass: "guojiakaifangdaxue",
name: "国家开放大学",
host: ["lms.ouchn.cn", "xczxzdbf.moodle.qwbx.ouchn.cn", "moodle.syxy.ouchn.cn"]
},
jjjxjy: {
id: 58,
mainClass: "jjjxjy",
name: "九江学院继续教育学院成教平台",
host: ["hunau.web2.superchutou.com", "jjxy.web2.superchutou.com", "fskjxy.web2.superchutou.com"]
},
csustcj: {
id: 59,
mainClass: "CTXCommon",
name: "江西科技学院,长沙理工大学高等学历继续教育教学管理平台",
host: ["csustcj.edu-edu.com.cn", "cws.edu-edu.com"],
option: {nodeListClass: ".ivu-tree-children .render-content__video", activeClass: "activeVideo"}
},
xiangongyedx: {
id: 60,
mainClass: "xiangongyedx",
name: "西安工业大学",
host: ["nwu.168wangxiao.com", "xatu.168wangxiao.com", "md.168wangxiao.com", "xawl.168wangxiao.com"]
},
hebeiganbu: {
id: 62,
mainClass: "hebeiganbu",
name: "河北干部网络学院",
host: ["hebgb.gwypx.com.cn", "www.hebgb.gov.cn"]
},
gdedujsxx: {
id: 63,
mainClass: "gdedujsxx",
name: "广东省教师继续教育信息管理平台",
host: ["jsglpt.gdedu.gov.cn", "jsxx.gdedu.gov.cn"]
},
wsjkrczyjn: {
id: 57,
mainClass: "CTXCommon",
name: "卫生健康人才职业技能培养学习平台",
host: ["learn.wjrc.shjy.ouchn.edu.cn"],
option: {nodeListClass: ".setionItem", activeClass: "active"}
},
zhuzhouteacher: {
id: 64,
mainClass: "zhuzhouteacher",
name: "株洲教师教育网络学院",
host: ["www.zhuzhouteacher.com"]
},
zhuanyejishuryjxjy: {
id: 65,
mainClass: "zhuanyejishuryjxjy",
name: "专业技术人员继续教育网",
host: ["gp.chinahrt.com"]
},
yinghuaxuetang: {
id: 65,
mainClass: "yinghuaxuetang",
name: "英华学堂",
host: ["mooc.ycust.com", "mooc.wuhues.com"]
},
yidiantong: {
id: 66,
mainClass: "CTXCommon",
name: "一点通",
host: ["www.yidiankai.net"],
option: {
nodeListClass: ".keshi", openListenPlayTime: !1, getCurrentIndexByOption() {
return new Promise(e => {
for (var t = 0; t <= ElementObj.$allTask.length - 1; t++) if (ElementObj.$allTask[t].classList.contains("active")) {
e(t);
break
}
})
}, nextClass: "a"
}
},
shanghaikaifangdx: {id: 67, mainClass: "shanghaikaifangdx", name: "上海开放大学", host: ["l.shou.org.cn"]},
gzgbjy: {id: 68, mainClass: "gzgbjy", name: "广州市干部培训网络学院", host: ["gzgbjy.gzswdx.gov.cn"]},
jixujiaoyuzaixian: {id: 69, mainClass: "jixujiaoyuzaixian", name: "继续教育在线", host: ["ce.jllpa.cn"]},
guizhoujianshezyjs: {
id: 70,
mainClass: "guizhoujianshezyjs",
name: "贵州省建设行业职业技能管理中心专业技术人员继续教育基地",
host: ["ware.cdeledu.com"]
},
zaixian100f: {
id: 71, mainClass: "CTXCommon", name: "在线壹佰分", host: ["www.zaixian100f.com"], option: {
nodeListClass: "", activeClass: "", videoEle: () => new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelector("#vjs_video_3_html5_api"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
}, 1e3)
}), _init(a) {
return __awaiter(this, void 0, void 0, function* () {
let o = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e;
try {
var t = document.querySelectorAll(".chapter_j>span"),
n = document.querySelectorAll(".first-box");
if (ElementObj.$allTask = t.length ? t : n, ElementObj.$allTask.length) {
clearInterval(o), showTip("正在初始化"), ElementObj.$handleSpeedUp.style.display = "none";
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
var l = ElementObj.$allTask[i].querySelector("li");
if (l && l.classList.contains("currse")) {
a.currentIndex = i;
break
}
if (ElementObj.$allTask[i].classList.contains("text-color")) {
a.currentIndex = i;
break
}
}
-1 != a.currentIndex && ("/course/lesson" != location.pathname && null != (e = ElementObj.$allTask[a.currentIndex].querySelector("li")) && e.click(), showTip("初始化完成,5秒后开始播放"), a.handleClickSpeedUp())
}
} catch (e) {
}
}), 500)
})
}, listenRebortFn(e) {
if ("none" != document.querySelector(".mask.mask_bg").style.display) e.playNext(e); else {
var t = ElementObj.$video.currentTime / 60, n = ElementObj.$video.duration / 60,
i = document.querySelector(".vjs-remaining-time-display");
if (i) if ("0:00" == i.innerText) return void e.playNext(e);
n <= t && e.playNext(e)
}
}, playNext(t) {
return __awaiter(this, void 0, void 0, function* () {
if (yield sleep(2e3), !(t.currentIndex >= ElementObj.$allTask.length - 1)) {
t.currentIndex += 1;
let e = ElementObj.$allTask[t.currentIndex].querySelector("li");
null !== (e = "/course/lesson" == location.pathname ? ElementObj.$allTask[t.currentIndex] : e) && void 0 !== e && e.click(), setTimeout(() => {
t.handleClickSpeedUp()
}, 2e3)
}
})
}
}
},
gzteacher: {
id: 72,
mainClass: "gzteacher",
name: "广州市中小学教师继续教育网",
host: ["study.gzteacher.com", "gdipx.yanxiu.com"]
},
moocxinyingzao: {id: 73, mainClass: "moocxinyingzao", name: "新营造", host: ["mooc.xinyingzao.cn"]},
zhejiangzjelib: {
id: 74,
mainClass: "zhejiangzjelib",
name: "浙江文化干部网络学院",
host: ["train.wht.zjelib.cn"]
},
jlnkylllnet: {id: 77, mainClass: "jlnkylllnet", name: "吉林省农科院专业技术人员", host: ["jlnky.lllnet.cn"]},
dongbeishifandaxue: {
id: 76,
mainClass: "dongbeishifandaxue",
name: "东北师范大学中小学教师网络培训平台",
host: ["cn202341126.stu.t-px.cn", "cn202341125.stu.t-px.cn"]
},
quanguomeotan: {
id: 78,
mainClass: "CTXCommon",
name: "全国煤炭行业现代远程教育培训网",
host: ["www.coaledu.net"],
option: {nodeListClass: ".row1 a.subset-class", activeClass: "on"}
},
qzjystudy: {
id: 79,
mainClass: "qzjystudy",
name: "济宁市高级职业学校(省级继续教育基地)",
host: ["jnrcpx.qzjystudy.com", "jnzjpx.qzjystudy.com"]
},
jsjxjypt: {
id: 80,
mainClass: "CTXCommon",
name: "基础教育进修网",
host: ["www.jsjxjypt.com"],
option: {nodeListClass: ".videoRight ul li", activeClass: "li1"}
},
GlivePro: {
id: 81,
mainClass: "GlivePro",
name: "基础教育进修网",
host: ["glivepro.gaodun.com", "cloud.gaodun.com"]
},
gaodengxueli: {
id: 82,
mainClass: "gaodengxueli",
name: "高等学历继续教育网络学习平台",
host: ["kc.jxjypt.cn"],
option: {nodeListClass: ".course-list-txt dd i", activeClass: "fa-youtube-play"}
},
henanzhuanjizaixian: {
id: 83,
mainClass: "henanzhuanjizaixian",
name: "河南专技在线",
host: ["hnzj.user.ghlearning.com"]
},
hunannmdxs: {id: 84, mainClass: "hunannmdxs", name: "湖南农民大学生", host: ["study.ouchn.cn"]},
hexuezaixianjxjyzx: {
id: 85,
mainClass: "CTXCommon",
name: "和学在线,青岛大学",
host: ["student.jxjyzx.qdu.edu.cn", "student.hexuezx.cn"],
option: {
nodeListClass: ".list_text:not(.color_catalog)",
activeClass: "bai_color_text_icon",
afterPlayEnd: () => new Promise(t => {
setTimeout(() => {
var e = document.querySelector(".el-message-box .el-button--primary");
null != e && e.click(), t(!0)
}, 3e3)
})
}
},
shenixue: {
id: 86,
mainClass: "CTXCommon",
name: "深i学",
host: ["www.zhi-niao.com", "szxy.szzhdj.gov.cn"],
option: {
nodeListClass: ".jss299", activeClass: "jss300", playNext: () => new Promise(e => {
setTimeout(() => {
ElementObj.$allTask = document.querySelectorAll(".jss299");
for (var e of ElementObj.$allTask) if (!e.querySelector(".jss303")) {
e.click(), setTimeout(() => {
toolOption.CtxMain.handleClickSpeedUp()
}, 3e3);
break
}
}, 3e3)
})
}
},
dongaokauji: {
id: 87,
mainClass: "dongaokauji",
name: "东奥会计继续教育",
host: ["jxjycwweb.dongao.cn", "study.dongao.cn"]
},
btzjpx: {
id: 88,
mainClass: "CTXCommon",
name: "包头市住建行业从业人员在线学习系统",
host: ["www.btzjpx.com"],
option: {
nodeListClass: ".classBox",
openListenPlayStatus: !1,
getCurrentIndexByOption: () => new Promise(e => {
for (var t = 0; t <= ElementObj.$allTask.length - 1; t++) "rgb(240, 247, 254)" == ElementObj.$allTask[t].style.background && e(t)
})
}
},
bainianshuren: {id: 89, name: "百年树人", mainClass: "bainianshuren", host: ["js.cc-edu.cn"]},
dyyxlearning: {
id: 90,
name: "东营市继续教育网专业科目培训平台",
mainClass: "dyyxlearning",
host: ["sddy.zyk.yxlearning.com"]
},
hebeijiaoshijiaoyuwang: {
id: 91,
name: "河北教师教育网",
mainClass: "hebeijiaoshijiaoyuwang",
host: ["qy18.gpa.enetedu.com"]
},
shangdongganbu: {id: 92, name: "山东干部网络学院", mainClass: "shangdongganbu", host: ["gbwlxy.dtdjzx.gov.cn"]},
yunketang: {
id: 93,
name: "云课堂",
mainClass: "yunketang",
host: ["01wx.net", "www.01wx.net"],
option: {nodeListClass: ".el-collapse-item__content div.file-item", activeClass: "file-item-active"}
},
guojiazhongxiaoxue: {
id: 94, name: "国家中小学智慧教育平台", mainClass: "CTXCommon", host: ["basic.smartedu.cn"], option: {
nodeListClass: "", activeClass: "", _init(o) {
return __awaiter(this, void 0, void 0, function* () {
let l = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
if (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$parentNodes = document.querySelectorAll(".fish-collapse-item"), ElementObj.$allTask = document.querySelectorAll(".resource-item"), ElementObj.$parentNodes.length || ElementObj.$allTask.length) {
if (clearInterval(l), 1 == (ElementObj.$parentNodes.length ? 1 : 2)) {
showTip("学习准备中~", 1e4);
for (var t of ElementObj.$parentNodes) {
t.querySelector(".fish-collapse-header").click();
var n = t.querySelectorAll(".fish-collapse-header");
let e = 0;
if (1 < n.length) {
for (var i of n) 0 != e && (i.click(), e += 1, yield sleep(250));
e = 0
}
yield sleep(300)
}
ElementObj.$allTask = document.querySelectorAll(".resource-item");
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if ("已学完" != ElementObj.$allTask[e].querySelector("i").title) {
o.currentIndex = e;
break
}
} else for (e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("resource-item-active")) {
o.currentIndex = e;
break
}
-1 != o.currentIndex && (ElementObj.$allTask[o.currentIndex].click(), showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
o.handleClickSpeedUp()
}, 3e3))
}
} catch (e) {
}
}), 1e3)
})
}, playNext(e) {
return __awaiter(this, void 0, void 0, function* () {
e.currentIndex >= ElementObj.$allTask.length - 1 || (yield sleep(2500), e.currentIndex += 1, ElementObj.$allTask[e.currentIndex].click(), setTimeout(() => {
e.handleClickSpeedUp()
}, 3e3))
})
}, listenRebortFn() {
var e, t = document.querySelectorAll(".fish-btn.fish-btn-primary")[1],
t = (null != t && t.click(), document.querySelector(".fish-modal-root"));
null != (e = null == t ? void 0 : t.parentElement) && e.removeChild(t)
}
}
},
huaxiajiaoshiyanpei: {
id: 95,
name: "河南华夏基础教育学院",
mainClass: "huaxiajiaoshiyanpei",
host: ["dc.huaxiajiaoshiyanpei.com", "dz.huaxiajiaoshiyanpei.com"]
},
zhelixuexi: {id: 96, name: "浙里学习", mainClass: "zhelixuexi", host: ["www.zjce.gov.cn"]},
fhswifer: {id: 97, name: "S云课堂网校", mainClass: "fhswifer", host: ["msykt.begowx.com"]},
shdfuruuwsor: {
id: 98,
name: "青岛市专业技术人员继续教育平台",
mainClass: "CTXCommon",
host: ["www.qdjxjy.com.cn", "www.qdjxjy.org.cn"],
option: {
nodeListClass: ".simple-list li",
openListenPlayStatus: !1,
openListenPlayTime: !0,
_init: () => new Promise(n => {
let i = setInterval(() => {
var e = document.querySelector(".el-message-box__wrapper");
if (e && "none" != e.style.display && document.querySelector(".el-message-box__btns .el-button--primary").click(), ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask = document.querySelectorAll(".simple-list li"), 0 < ElementObj.$allTask.length) {
clearInterval(i);
for (var t = 0; t <= ElementObj.$allTask.length - 1; t++) if ("完成" != ElementObj.$allTask[t].querySelectorAll("div div")[2].innerText) {
"rgb(255, 165, 0)" != ElementObj.$allTask[t].querySelector(".el-tooltip").style.color && ElementObj.$allTask[t].click(), toolOption.CtxMain.pdPlayFn(location.href), n(t);
break
}
}
})
}),
playNext: () => new Promise(e => {
for (var t = 0; t <= ElementObj.$allTask.length - 1; t++) if ("rgb(255, 165, 0)" == ElementObj.$allTask[t].querySelector(".el-tooltip").style.color) {
if ("完成" != ElementObj.$allTask[t].querySelectorAll("div div")[2].innerText) return toolOption.CtxMain.pdPlayFn(location.href), !1;
ElementObj.$allTask[t + 1].click(), e(!0);
break
}
}),
listenRebortFn: () => {
"完成" == document.querySelector(".el-tooltip[style]").parentElement.querySelectorAll("div div")[1].innerText && location.reload()
}
}
},
cnjiewhr34iuiehs: {
id: 99,
name: "黑龙江省网络助学平台",
mainClass: "CTXCommon",
host: ["hljzhuxue.zikao.com.cn", "xh.hljzhuxue.com"],
option: {
nodeListClass: ".menu ul>li dl",
openListenPlayStatus: !1,
getCurrentIndexByOption: () => new Promise(e => {
e(1)
}),
playNext: () => new Promise(e => {
var t = MyTool.getValue("preVideoSrc");
ElementObj.$video.src == t ? toolOption.CtxMain.play() : (MyTool.setValue("preVideoSrc", ElementObj.$video.src), setTimeout(() => {
location.reload()
}, 3e3))
})
}
},
rrhisdgf283y7jvdf: {
id: 100,
name: "宁夏专业技术人员继续教育在线培训平台",
mainClass: "rrhisdgf283y7jvdf",
host: ["gp.chinahrt.com", "videoadmin.chinahrt.com"]
},
f6872: {id: 101, name: "隆泰达培训", mainClass: "f6872", host: ["study.tjtcact.com", "www.tjtcact.com"]},
a782: {
id: 102,
name: "河北省专业技术人员继续教育管理系统",
mainClass: "rrhisdgf283y7jvdf",
host: ["webzyjs.heb12333.cn", "contentzyjs.heb12333.cn", "edu.chinahrt.com"]
},
su862v: {
id: 103,
name: "中山教师研修网",
mainClass: "CTXCommon",
host: ["m.zsjsjy.com"],
option: {
nodeListClass: "#m-chapter-ul li a",
openListenPlayStatus: !1,
openListenPlayTime: !0,
activeClass: "z-crt"
}
},
bfuew28: {
id: 105,
name: "苏州专业技术人才教育网",
mainClass: "CTXCommon",
host: ["zjjspx-kfkc.webtrn.cn"],
option: {
nodeListClass: "", openListenPlayStatus: !1, videoEle: () => new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelectorAll("iframe")[2].contentDocument.querySelector("iframe").contentDocument.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
}, 1e3)
}), _init: () => new Promise(e => {
let t = setInterval(() => {
var e = document.querySelectorAll("iframe")[2];
e && (ElementObj.$allTask = e.contentDocument.querySelectorAll(".s_point"), 0 < ElementObj.$allTask.length) && (clearInterval(t), ElementObj.$handleSpeedUp.style.display = "none", toolOption.CtxMain.getCurrentIndex())
})
}), getCurrentIndexByOption: () => new Promise(e => {
for (var t = 0; t <= ElementObj.$allTask.length - 1; t++) if (ElementObj.$allTask[t].classList.contains("s_pointerct")) {
e(t);
break
}
}), listenRebortFn: () => {
var e = document.querySelector(".layui-layer-btn0");
null != e && e.click(), ElementObj.$video.play()
}
}
},
sd199: {
id: 104,
name: "沈阳建筑大学,青书学堂",
mainClass: "CTXCommon",
host: ["degree.qingshuxuetang.com"],
option: {
nodeListClass: "", openListenPlayStatus: !1, videoEle: () => new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelectorAll("video")[1], ElementObj.$video && ElementObj.$video.src ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
}, 1e3)
}), _init: i => new Promise(e => {
let t = 10, n = setInterval(() => {
t < 0 && (showTip("🔊未找到目录,请在此界面手动更换一个视频", 4e3), clearInterval(n)), ElementObj.$allTask = document.querySelectorAll("ul a[id]"), 0 < ElementObj.$allTask.length && (clearInterval(n), ElementObj.$handleSpeedUp.style.display = "none", i.getCurrentIndex()), t += 1
}, 500)
}), getCurrentIndexByOption: () => new Promise(e => {
for (var t = document.querySelector(".learn-title").innerText.replace(/ /g, ""), n = 0; n <= ElementObj.$allTask.length - 1; n++) if (ElementObj.$allTask[n].innerText.replace(/ /g, "") == t) {
e(n);
break
}
})
}
},
f13v: {
id: 106,
mainClass: "CTXCommon",
name: "河北机电职业技术学院",
host: ["hbjd.cj-edu.com"],
option: {nodeListClass: ".el-menu li", activeClass: "is-active", openListenPlayStatus: !1}
},
g32f: {
id: 107,
mainClass: "CTXCommon",
name: "华北电力大学",
host: ["hbdldxpx.sccchina.net"],
option: {
nodeListClass: ".bb_e8edf0_dash div[id]",
activeClass: "cur",
openListenPlayStatus: !1,
_init: () => new Promise(e => {
let t = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), ElementObj.$handleSpeedUp.style.display = "none", toolOption.CtxMain.handleClickSpeedUp())
})
}),
playNext: () => new Promise(e => {
document.querySelector("a.btItem.Next").click()
})
}
},
ss10: {
id: 107, mainClass: "CTXCommon", name: "石家庄铁道大学继续教育", host: ["jxjy.stdu.edu.cn"], option: {
nodeListClass: ".menu_body span>a.chapter", _init: () => new Promise(n => {
let i = setInterval(() => {
var e;
if (ElementObj.$parentNodes = null == (e = null == (e = document.querySelector("iframe")) ? void 0 : e.contentDocument) ? void 0 : e.querySelectorAll(".class-wrapper"), ElementObj.$parentNodes && ElementObj.$parentNodes.length) {
clearInterval(i);
var t = localStorage.getItem("curClassName");
for (let e = 0; e < ElementObj.$parentNodes.length; e++) if (ElementObj.$parentNodes[e].querySelector(".kcmc").innerText.trim() == t) {
ElementObj.$parentNodes[e + 1].querySelector("input.btn").click();
break
}
n(!0)
}
"/student/IndexWlkc_BootStrap.aspx" == location.pathname && (clearInterval(i), ElementObj.$parentNodes = null == (e = null == (e = document.querySelector("iframe")) ? void 0 : e.contentDocument) ? void 0 : e.querySelectorAll(".menu_body span>a[title]"), ElementObj.$parentNodes && ElementObj.$parentNodes.length && ElementObj.$parentNodes[0].click(), n(!0)), ElementObj.$allTask = document.querySelectorAll(".menu_body span>a.chapter"), ElementObj.$allTask.length && (clearInterval(i), e = document.querySelector(".glyphicon-home").innerText.trim(), localStorage.setItem("curClassName", e), toolOption.CtxMain.getCurrentIndex(), n(!0))
}, 1e3)
}), getCurrentIndexByOption: () => new Promise(t => {
for (let e = 0; e < ElementObj.$allTask.length; e++) if ("rgb(51, 122, 183)" == ElementObj.$allTask[e].style.color) {
t(e);
break
}
}), playFn: r => __awaiter(this, void 0, void 0, function* () {
var e = /wlkcID=(.+)&wlk/.exec(location.search)[1], t = /wlkckkID=(.+)&/.exec(location.search)[1],
n = /zjid=(.+)/.exec(location.search)[1],
i = document.querySelector("#lbl_videoTime").innerText.trim(),
l = unsafeWindow.__VIEWSTATE.value, o = unsafeWindow.__VIEWSTATEGENERATOR.value,
a = unsafeWindow.__EVENTVALIDATION.value;
e && t && n && i && l && o && a && (yield fetch(`http://jxjy.stdu.edu.cn/student/BootStrap_Video.aspx?wlkcID=${e}&wlkckkID=${t}&zjid=` + n, {
credentials: "include",
headers: {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0",
Accept: "*/*",
"Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2",
"X-Requested-With": "XMLHttpRequest",
"X-MicrosoftAjax": "Delta=true",
"Cache-Control": "no-cache",
"Content-Type": "application/x-www-form-urlencoded; charset=utf-8"
},
body: `ScriptManager1=UpdatePanel%7CbtnYXXXSJ&__EVENTTARGET=&__EVENTARGUMENT=&postLearnTime=${Number(i)}&shijiLearnTime=${Number(i)}&learnTime=${Number(i)}&videoState=pause&__VIEWSTATE=${encodeURIComponent(l)}&__VIEWSTATEGENERATOR=${o}&__EVENTVALIDATION=${encodeURIComponent(a)}&__ASYNCPOST=true&btnYXXXSJ=`,
method: "POST",
mode: "cors"
}), toolOption.CtxMain.playNext(r))
}), playNext: t => new Promise(e => __awaiter(this, void 0, void 0, function* () {
var e;
t.currentIndex >= ElementObj.$allTask.length - 1 ? location.href = "http://jxjy.stdu.edu.cn/student/IndexTemplate_BootStrap.aspx" : (yield sleep(2e3), t.currentIndex += 1, null != (e = ElementObj.$allTask[t.currentIndex]) && e.click(), setTimeout(() => {
t.handleClickSpeedUp()
}, 2e3))
}))
}
},
rs01: {
id: 108, mainClass: "CTXCommon", name: "优课在线", host: ["www.uooc.net.cn"], option: {
activeClass: "", nodeListClass: "", _init(n) {
return __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e;
ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask = document.querySelectorAll(".rank-3>li"), -1 != location.pathname.indexOf("/home/course/") && 0 < ElementObj.$allTask.length ? (clearInterval(t), n.getCurrentIndex()) : (e = document.querySelector(".navBtn2"), -1 != location.pathname.indexOf("/home/course/") && e && (clearInterval(t), setTimeout(() => {
n._init()
}, 2e3), e.click()), "/home/learn/index" == location.pathname && (e = document.querySelector(".basic.active")) && (clearInterval(t), e.nextElementSibling.querySelector(".basic").click(), setTimeout(() => {
n.pdPlayFn(location.href)
}, 3e3)))
}), 1e3)
})
}, getCurrentIndexByOption() {
return new Promise(e => {
for (var t of ElementObj.$allTask) {
var n = t.querySelector("a");
if (-1 == n.innerText.indexOf("测试")) if (!t.querySelector(".basic").classList.contains("looked")) {
MyTool.setValue("homeUrl", location.href), n.click();
break
}
}
e(0)
})
}, playNext() {
return __awaiter(this, void 0, void 0, function* () {
location.href = MyTool.getValue("homeUrl")
})
}, listenRebortFn() {
var e = document.querySelector(".vjs-big-play-button");
null != e && e.click(), ElementObj.$video.volume = 0, ElementObj.$video.play()
}
}
},
das01: {
id: 109,
name: "华中师范大学教师研修平台",
mainClass: "CTXCommon",
host: ["hzsdadmin.zhihuiteacher.com"],
option: {
nodeListClass: "ul>li:first-child",
activeClass: "list",
openListenPlayStatus: !1,
_init: () => new Promise(t => {
let n = setInterval(() => {
if (ElementObj.$handleSpeedUp.style.display = "none", "/online/learn" == location.pathname) {
var e = document.querySelector(".toStudy");
if (e) return clearInterval(n), setTimeout(() => {
window.close()
}, 1e4), e.click(), void t(!0)
}
"/admin/lock/Study" == location.pathname && (ElementObj.$allTask = document.querySelectorAll("ul>li"), ElementObj.$allTask.length) && (clearInterval(n), toolOption.CtxMain.getCurrentIndex(), t(!0))
}, 500)
}),
listenRebortFn: () => {
var e, t = document.querySelector(".layui-input");
t && (e = t.getAttribute("data-num3"), t.value = e, document.querySelector(".layui-layer-btn0").click())
},
playNext: t => new Promise(e => __awaiter(this, void 0, void 0, function* () {
var e;
t.currentIndex >= ElementObj.$allTask.length - 1 ? location.href = "http://hzsdadmin.zhihuiteacher.com/online/learn" : (yield sleep(2500), t.currentIndex += 1, null != (e = ElementObj.$allTask[t.currentIndex]) && e.click(), setTimeout(() => {
t.handleClickSpeedUp()
}, 5e3))
}))
}
},
aa101: {
id: 110,
name: "福建师范大学高等教育自学考试网络助学平台",
mainClass: "CTXCommon",
host: ["xuexi.zikao365.com"],
option: {nodeListClass: ".level2>a", activeClass: "cur"}
},
sdf1: {
id: 111,
name: "河南科技职业大学",
mainClass: "CTXCommon",
host: ["havust.jijiaox.com"],
option: {
nodeListClass: ".ml_2 li",
activeClass: "cur",
nextClass: ".littletit",
openListenPlayTime: !1,
getCurrentIndexByOption: () => new Promise(t => {
for (let e = 0; e < ElementObj.$allTask.length; e++) {
var n = ElementObj.$allTask[e].querySelector(".littlebot").querySelector(".el-progress"),
i = ElementObj.$allTask[e].querySelector(".elli").innerText.trim();
if (n && -1 == i.indexOf("在线作业") && -1 == i.indexOf("习题测验") && -1 == i.indexOf("Test")) {
t(e);
break
}
}
}),
listenRebortFn: () => {
var e = document.querySelector("._active.elli"),
t = (null == (t = null == e ? void 0 : e.parentElement) ? void 0 : t.parentElement).querySelector(".el-icon-circle-check"),
e = e.innerText.trim();
!t && "在线作业" != e && -1 == e.indexOf("习题测验") && -1 == e.indexOf("Test") || toolOption.CtxMain.playNext()
}
}
},
sdf3: {
id: 112,
name: "吉林省专业技术人员",
mainClass: "CTXCommon",
host: ["jlzj.ylxue.net"],
option: {nodeListClass: "#classes li", activeClass: "li_current_index", openListenPlayTime: !1}
},
dsfs: {
id: 112, name: "北华大学党校教育培训系统", mainClass: "CTXCommon", host: ["wldx.beihua.edu.cn"], option: {
nodeListClass: "#content a", _init() {
return new Promise(n => {
let i = setInterval(() => {
if (ElementObj.$allTask = document.querySelectorAll("#content a"), ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask.length) {
clearInterval(i);
var t = MyTool.getValue("preClassName");
if (t) {
for (let e = 0; e < ElementObj.$allTask.length; e++) if (t == ElementObj.$allTask[e].innerText.trim()) {
MyTool.setValue("homeUrl", location.href), ElementObj.$allTask[e + 1].click();
break
}
} else MyTool.setValue("homeUrl", location.href), ElementObj.$allTask[0].click();
n(!0)
}
var e = document.querySelector(".item-title.label h1 a");
e && "/m/Exam/Student/startStudy" == location.pathname && (clearInterval(i), e.click(), n(!0)), "/m/Exam/Student/startStudy" == location.pathname && (clearInterval(i), toolOption.CtxMain.pdPlayFn(location.href), n(!0))
}, 500)
})
}, playNext(e) {
return new Promise((e, t) => __awaiter(this, void 0, void 0, function* () {
var e = document.querySelector(".startStudy-title>p"),
e = null == e ? void 0 : e.innerText.trim();
MyTool.setValue("preClassName", e), document.querySelector(".bottom-pc-btn button").click(), yield sleep(2e3), setTimeout(() => {
location.reload()
}, 3e3), document.querySelector(".modal-button.modal-button-bold").click()
}))
}
}
},
bsd11: {
id: 114,
name: "河南教师培训网",
mainClass: "CTXCommon",
host: ["www.teachersedu.cn"],
option: {
nodeListClass: "a.title", getCurrentIndexByOption() {
return new Promise((t, e) => {
for (let e = 0; e < ElementObj.$allTask.length; e++) if (ElementObj.$allTask[e].parentElement.classList.contains("active")) {
t(e);
break
}
})
}
}
},
s221s: {
id: 115,
name: "广州市事业单位工作人员网上学习平台",
mainClass: "CTXCommon",
host: ["www.gzrspx.cn"],
option: {
nodeListClass: ".tab-content-desc",
activeClass: "desc-item-sel",
playFn: e => __awaiter(this, void 0, void 0, function* () {
yield e.getVideoDom();
ElementObj.$video.volume = 0, ElementObj.$video.play(), yield sleep(1e3), ElementObj.$video.currentTime += 7200, yield sleep(1e3), ElementObj.$video.currentTime += 7200, yield sleep(1e3), e.playNext()
})
}
},
ifsbds: {
id: 116,
name: "山东青年政治学院",
mainClass: "CTXCommon",
host: ["testonline.bjxtwlkj.com"],
option: {
nodeListClass: ".tab-content-desc",
activeClass: "desc-item-sel",
_init: () => __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => {
if (ElementObj.$handleSpeedUp.style.display = "none", "/kaoshi_qnzzxy/majorlist.html" == location.pathname) clearInterval(t); else {
if (ElementObj.$allTask = document.querySelectorAll(".list-group-item"), 0 < ElementObj.$allTask.length) {
clearInterval(t);
for (var e of ElementObj.$allTask) if ("学习进度: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(t), toolOption.CtxMain.pdPlayFn(location.href))
}
}, 500)
}),
playNext: e => __awaiter(this, void 0, void 0, function* () {
location.href = MyTool.getValue("homeUrl")
})
}
},
sfps: {
id: 117, name: "温州继续教育网", mainClass: "CTXCommon", host: ["www.wzjxjy.cn"], option: {
nodeListClass: "",
activeClass: "",
openListenPlayStatus: !0,
_init: n => __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
if (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask = document.querySelectorAll(".lesson li"), ElementObj.$allTask.length) {
clearInterval(t);
for (var e of ElementObj.$allTask) if (!e.classList.contains("history")) {
MyTool.setValue("homeUrl", location.href), e.querySelector("a").click();
break
}
}
"/course-section-video-play" == location.pathname && (clearInterval(t), window.alert = () => {
}, n.handleClickSpeedUp())
}), 200)
}),
playNext: e => __awaiter(this, void 0, void 0, function* () {
window.alert = () => {
}, location.href = MyTool.getValue("homeUrl")
}),
listenRebortFn: () => __awaiter(this, void 0, void 0, function* () {
var e = document.querySelector("#checkCode");
e.innerText && (document.querySelector("#inputCode").value = e.innerText, yield sleep(1500), document.querySelector(".Button1.Button").click()), window.alert = () => !1, ElementObj.$video && ElementObj.$video.currentTime >= ElementObj.$video.duration && toolOption.CtxMain.playNext()
})
}
},
sf1101: {
id: 118,
name: "建投学堂",
mainClass: "CTXCommon",
host: ["jgxt.zflclass.com"],
option: {
nodeListClass: "span.studiedLesson",
activeClass: "RED",
openListenPlayStatus: !0,
getCurrentIndex(n) {
return __awaiter(this, void 0, void 0, function* () {
for (let e = 0; e < ElementObj.$allTask.length; e++) {
var t = ElementObj.$allTask[e];
if (!t.classList.contains("studiedLessonMark")) {
n.currentIndex = e, showTip("初始化完成,3秒后开始自动播放", 3e3), t.click(), setTimeout(() => {
n.pdPlayFn(location.href)
}, 2e3);
break
}
}
n.currentIndex
})
},
videoEle: () => new Promise(t => {
let n = 0, i = setInterval(() => {
var e;
n += 1, ElementObj.$video = null == (e = null == (e = document.querySelector("iframe")) ? void 0 : e.contentDocument) ? void 0 : e.querySelector("video"), ElementObj.$video ? (clearInterval(i), t(1)) : 7 <= n && (clearInterval(i), t(2))
}, 1e3)
}),
listenRebortFn(t) {
var n;
return __awaiter(this, void 0, void 0, function* () {
var e = null == (n = null == (n = document.querySelector("iframe")) ? void 0 : n.contentDocument) ? void 0 : n.querySelector("#popup_panel input");
e && (e.click(), t.play())
})
},
playNext() {
return __awaiter(this, void 0, void 0, function* () {
location.reload()
})
}
}
},
usd01: {
id: 119, name: "雨课堂", mainClass: "CTXCommon", host: ["www.yuketang.cn"], option: {
nodeListClass: "", activeClass: "", _init: s => __awaiter(this, void 0, void 0, function* () {
let r = setInterval(() => __awaiter(this, void 0, void 0, function* () {
if (ElementObj.$handleSpeedUp.style.display = "none", document.querySelector(".iconfont.icon-fujian")) clearInterval(r), showTip("判断此视频章节为非视频,即将自动跳过", 3e3), yield sleep(2500), s.playNext(); else if (ElementObj.$video = document.querySelector("video"), ElementObj.$video) clearInterval(r), document.querySelector(".xt_video_player_common_icon").click(), s.handleClickSpeedUp(); else if (-1 != location.pathname.indexOf("/v2/web/studentLog")) {
clearInterval(r);
var e = location.pathname.replace("/v2/web/studentLog/", "");
e:for (var t of new Array(100)) {
var n = yield function (e) {
let n = document.cookie.split(";")[0].replace("csrftoken=", "");
return new Promise(t => {
fetch(e, {
headers: {
accept: "application/json, text/plain, */*",
"accept-language": "zh-CN,zh;q=0.9",
"classroom-id": "19933500",
priority: "u=1, 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",
"university-id": "2760",
"uv-id": "2760",
"x-client": "web",
"x-csrftoken": n,
"xt-agent": "web",
xtbz: "ykt"
},
referrerPolicy: "strict-origin-when-cross-origin",
body: null,
method: "GET",
mode: "cors",
credentials: "include"
}).then(e => e.json()).then(e => t(e))
})
}(`https://www.yuketang.cn/v2/api/web/logs/learn/${e}?actype=15&page=0&offset=20&sort=-1`);
if (!n.data.activities) break;
var i, l = n.data.activities.map(e => e.courseware_id), o = yield function (e) {
let n = document.cookie.split(";")[0].replace("csrftoken=", "");
return new Promise(t => {
fetch("https://www.yuketang.cn/mooc-api/v1/lms/learn/course/pub_new_pro", {
headers: {
accept: "application/json, text/plain, */*",
"accept-language": "zh-CN,zh;q=0.9",
"classroom-id": "19933500",
"content-type": "application/json;charset=UTF-8",
priority: "u=1, 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",
"university-id": "2760",
"uv-id": "2760",
"x-csrftoken": n,
"xt-agent": "web",
xtbz: "ykt"
},
referrerPolicy: "strict-origin-when-cross-origin",
body: e,
method: "POST",
mode: "cors",
credentials: "include"
}).then(e => e.json()).then(e => t(e))
})
}(JSON.stringify({cid: e, new_id: l}));
for (i of n.data.activities) {
var a = i.courseware_id;
if (o.data[a] && 1 != o.data[a].total_done) {
a = `https://www.yuketang.cn/v2/web/xcloud/video-student/${e}/` + i.content.leaf_id;
MyTool.setValue("homeUrl", location.href), location.href = a;
break e
}
}
0
}
}
}), 500)
}), playNext: () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅即将切换下一个章节"), yield sleep(2e3), location.href = MyTool.getValue("homeUrl")
})
}
},
sdhfks01: {
id: 120,
name: "马鞍山市专业技术人员经济、工程类继续教育培训网",
mainClass: "CTXCommon",
host: ["px.mastc.edu.cn"],
option: {
nodeListClass: ".video .chapterhead.chapterhead1 li",
activeClass: "current",
getCurrentIndexByOption: () => new Promise(e => {
var t = document.querySelector(".video_header .video_number").innerText.replace(/\u7b2c|\u8bb2/g, "");
e(Number(t) - 1)
}),
playNext(n) {
return new Promise(e => {
if (!(n.currentIndex >= ElementObj.$allTask.length - 1)) {
showTip("✅✅✅即将自动切换下一节");
let t = setInterval(() => {
var e = document.querySelector(".el-message-box__btns button");
e && (n.currentIndex += 1, clearInterval(t), setTimeout(() => {
n.handleClickSpeedUp()
}, 4e3), e.click())
}, 500)
}
})
}
}
},
s01r: {
id: 121,
name: "安徽专技网",
mainClass: "CTXCommon",
host: ["ah.peixun.city", "ah.zhuanjipx.com", "ahzj.59iedu.com", "jxjy.ahhjsoft.com"],
option: {
nodeListClass: ".video .chapterhead.chapterhead1 li",
activeClass: "current",
openListenPlayTime: !0,
_init: i => __awaiter(this, void 0, void 0, function* () {
let n = setInterval(() => __awaiter(this, void 0, void 0, function* () {
if (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask = document.querySelectorAll(".ul-course li"), "jxjy.ahhjsoft.com" === location.host && ElementObj.$allTask) clearInterval(n), showTip("🔊🔊🔊仅支持公需课4、公需课3", 4e3); else if (ElementObj.$allTask = document.querySelectorAll(".zdBox"), "ah.zhuanjipx.com" === location.host && ElementObj.$allTask.length) {
clearInterval(n), showTip("🔊🔊🔊正在初始化", 4e3), i.classType = 3;
for (let e = 0; e < ElementObj.$allTask.length; e++) if (ElementObj.$allTask[e].classList.contains("childBox_item_on")) {
i.currentIndex = e, showTip("✅✅✅初始化完成,开始播放", 2e3), i.handleClickSpeedUp();
break
}
} else {
var e = document.querySelectorAll(".ant-collapse-item");
if (0 < e.length) {
clearInterval(n), showTip("🔊🔊🔊正在初始化", 4e3), i.classType = 4;
for (var t of e) t.classList.contains("ant-collapse-item-active") || (t.querySelector(".ant-collapse-header").click(), yield sleep(100));
ElementObj.$allTask = document.querySelectorAll(".video_box_k_t_lx");
for (let e = 0; e < ElementObj.$allTask.length; e++) if (ElementObj.$allTask[e].classList.contains("video_box_k_active")) {
i.currentIndex = e, showTip("✅✅✅初始化完成,开始播放", 2e3), i.handleClickSpeedUp();
break
}
}
}
}), 300)
}),
playFn: i => __awaiter(this, void 0, void 0, function* () {
var e;
yield i.getVideoDom(), 2 !== i.classType && 3 !== i.classType || (clearInterval(i.timer), clearInterval(i.listenVidoeStatusTimer), clearInterval(i.listenRebortTime), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), i.playNext(i)
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 4 === i.classType && (yield i.changeHtml($el("#video-content-box")), yield i.getVideoDom(), i.addInfo("✅✅✅✅✅✅✅✅初始化完成,即将开始播放✅✅✅✅✅✅✅✅✅"), yield sleep(1e3), showTip("🔉课件正在学习,请务点击或长时间隐藏"), ElementObj.$video.volume = 0, null != (e = document.querySelector(".vjs-big-play-button")) && e.click(), ElementObj.$video.play(), setTimeout(() => __awaiter(this, void 0, void 0, function* () {
var t = Math.ceil(ElementObj.$video.duration);
if (t) {
let e = 0;
for (var n of new Array(1e4)) {
if (e >= t) {
ElementObj.$video.currentTime = t - 10, yield sleep(1e3), ElementObj.$video.currentTime = t, i.addInfo("🎉🎉🎉🎉🎉🎉🎉🎉已成功学完🎉🎉🎉🎉🎉🎉🎉🎉"), yield sleep(3e3), i.playNext();
break
}
n % 60 == 0 && 0 < n && (ElementObj.$video.currentTime = e), e += +toolOption.accelerator > t ? t : +toolOption.accelerator, i.addInfo(`🔊当前状态正在以${toolOption.accelerator}倍速学习中,已学习${e}秒,视频总时长为${t / 60}分钟`), yield sleep(1e3)
}
}
}), 2e3))
}),
playNext(e) {
return __awaiter(this, void 0, void 0, function* () {
location.reload()
})
}
}
},
hsduf: {
id: 122, name: "湖南师范大学", mainClass: "CTXCommon", host: ["www.ejxjy.com"], option: {
nodeListClass: ".menu_body dd",
activeClass: "active",
_init: o => __awaiter(this, void 0, void 0, function* () {
let l = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = "none";
var e = document.querySelector("#a2");
if (e) {
clearInterval(l), e.click(), yield MyTool.sleep(2500);
var t = document.querySelectorAll("li[data-trainid]");
for (let e = 0; e < t.length; e++) {
var n = t[e];
MyTool.setValue("homeUrl", location.href), setTimeout(() => {
window.close()
}, 2e4), n.querySelector("a").click()
}
}
if (ElementObj.$allTask = document.querySelectorAll(".menu_body dd"), 0 < ElementObj.$allTask.length) {
clearInterval(l);
let t = !0;
for (let e = 0; e < ElementObj.$allTask.length; e++) {
var i = ElementObj.$allTask[e];
if (!i.classList.contains("active")) {
t = !1, o.currentIndex = e, i.classList.contains("hover") || i.querySelector("a").click(), showTip("✅✅✅正在初始化", 3e3), o.handleClickSpeedUp();
break
}
}
t && (e = MyTool.getValue("homeUrl") || "https://www.ejxjy.com/a/sys/portal/person", location.href = e)
}
}), 300)
}),
openListenPlayTime: !0,
nextClass: "a",
playFn: a => __awaiter(this, void 0, void 0, function* () {
yield a.getVideoDom(), yield a.changeHtml(ElementObj.$video.parentElement);
var e = Math.ceil(ElementObj.$video.duration);
let t = 0;
var n = yield 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 = null == (e = e.match(/saveVideo\?id=(.+)"/)) ? void 0 : e[1];
t(e)
})
});
if (n && e) {
setInterval(() => {
var e = document.querySelector(".jbox-button-focus");
null != e && e.click()
}, 300);
var i, l = ElementObj.$video.duration;
for (i of new Array(1e4)) {
var o = yield function (e, n, i) {
return new Promise(t => {
try {
fetch("https://www.ejxjy.com/a/onlinelearn/stuCourse/saveVideo?id=" + i, {
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=` + n,
method: "POST",
mode: "cors",
credentials: "include"
}).then(e => e.json()).then(e => t(e))
} catch (e) {
t(!1)
}
})
}(t, l, n);
if (0 != o && t >= e) {
a.addInfo("🎉🎉🎉🎉🎉🎉🎉🎉已成功学完🎉🎉🎉🎉🎉🎉🎉🎉"), yield sleep(3e3), a.playNext(a);
break
}
"success" == o.data && (t += +toolOption.accelerator > e ? e : +toolOption.accelerator), a.addInfo(`🔊当前状态正在以${toolOption.accelerator}倍速学习中,已学习${t}秒,视频总时长为${e / 60}分钟`), yield sleep(500)
}
} else showTip("视频时间错误,请刷新页面重试"), location.reload()
})
}
},
pa1: {
id: 123,
name: "卫生健康系统安全生产培训平台",
mainClass: "CTXCommon",
host: ["aqscpx.91huayi.com"],
option: {
activeClass: "", nodeListClass: "", _init: o => __awaiter(this, void 0, void 0, function* () {
let l = setInterval(() => {
ElementObj.$handleSpeedUp.style.display = "none";
var e, t = document.querySelectorAll(".navItem");
if (0 < t.length && (null != (e = t[1].querySelector("span")) && e.classList.contains("active") || t[1].click()), ElementObj.$parentNodes = null == (t = null == (e = document.querySelector("iframe")) ? void 0 : e.contentDocument) ? void 0 : t.querySelectorAll(".itemList .contentItem"), 0 < ElementObj.$parentNodes.length) {
clearInterval(l);
for (var n of ElementObj.$parentNodes) if (n.querySelector(".ready")) {
MyTool.setValue("homeUrl", location.href), n.querySelector("a").click();
break
}
} else if (ElementObj.$allTask = document.querySelectorAll(".listGroup .listItem"), 0 < ElementObj.$allTask.length) {
clearInterval(l);
let e = !0;
for (var i of ElementObj.$allTask) {
i = i.querySelector("button");
if ("未学习" === i.innerText) {
e = !1, setTimeout(() => {
o.handleClickSpeedUp()
}, 3e3), i.querySelector(".text").click();
break
}
}
e && (location.href = MyTool.getValue("homeUrl") || "https://aqscpx.91huayi.com/Exercise/ExerciseHome/index")
}
}, 500)
})
}
},
bj1: {
id: 124, name: "北京干部网络学院", mainClass: "CTXCommon", host: ["bjce.bjdj.gov.cn"], option: {
nodeListClass: "", activeClass: "", _init: r => __awaiter(this, void 0, void 0, function* () {
let a = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e;
if (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$parentNodes = document.querySelectorAll(".iv-personal-course-content li"), ElementObj.$parentNodes.length) {
clearInterval(a);
e:for (var t of new Array(2)) {
for (let e = 0; e < ElementObj.$parentNodes.length; e++) {
var n = ElementObj.$parentNodes[e],
i = n.querySelector(".ivu-progress-text span").innerText;
if (100 != parseInt(i)) {
MyTool.setValue("homeUrl", location.href), n.querySelectorAll(".iv-course-myClass span")[1].click();
break e
}
}
document.querySelector(".iv-page-next").click(), showTip("🔊正在切换下一页...", 3e3), yield sleep(3e3)
}
} else if (ElementObj.$allTask = null == (e = document.querySelector(".iv-course-play-detail-menu-item")) ? void 0 : e.querySelectorAll("li"), 0 < ElementObj.$allTask.length) {
clearInterval(a);
for (let e = 0; e < ElementObj.$allTask.length; e++) {
var l = ElementObj.$allTask[e], o = l.querySelector(".iv-fs-12").innerText;
if (100 != parseInt(o)) {
r.currentIndex = e, l.click(), showTip("✅✅✅正在初始化", 3e3), setTimeout(() => {
r.handleClickSpeedUp()
}, 3e3);
break
}
}
}
}), 300)
}), playNext(t) {
return __awaiter(this, void 0, void 0, function* () {
var e;
t.currentIndex >= ElementObj.$allTask.length - 1 ? (e = MyTool.getValue("homeUrl") || "https://bjce.bjdj.gov.cn/#/personalSpace/MyCourse", window.open(e), window.close()) : (t.currentIndex += 1, null != (e = ElementObj.$allTask[t.currentIndex]) && e.click(), setTimeout(() => {
t.handleClickSpeedUp()
}, 2e3))
})
}
}
},
sd2: {
id: 125,
name: "云南省执业药师协会",
mainClass: "CTXCommon",
host: ["ynysw.ynysw.org"],
option: {nodeListClass: ".numCHapter", activeClass: "active"}
},
sfd9: {
id: 126,
name: "江西省专业技术人员继续教育网络学习平台,江西专技学习网",
mainClass: "CTXCommon",
host: ["jxzjstu.zpwedu.com", "jxzj.zpwedu.com"],
option: {
nodeListClass: ".videoList .item",
activeClass: "active",
_init: n => __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = "none";
var e = document.querySelector("iframe");
if ("jxzj.zpwedu.com" === location.host && e && (location.href = e.src), ElementObj.$allTask = document.querySelectorAll(".videoList .item"), 0 < ElementObj.$allTask.length && "jxzjstu.zpwedu.com" === location.host) {
clearInterval(t);
for (let e = 0; e < ElementObj.$allTask.length; e++) if (ElementObj.$allTask[e].classList.contains("active")) {
n.currentIndex = e, showTip("✅✅✅初始化完成,3秒后自动播放", 3e3), setTimeout(() => {
n.handleClickSpeedUp()
}, 2e3);
break
}
}
}), 300)
}),
beforePlayVideo() {
var e = document.querySelector(".pv-icon-volumeon");
null != e && e.click()
}
}
},
hds1: {
id: 127,
name: "教师专业发展培训网",
mainClass: "CTXCommon",
host: ["www.edueva.org", "video.edueva.org", "xjnu.edueva.org", "xjnuvideo.edueva.org"],
option: {
nodeListClass: ".ml.tab-info a",
activeClass: "dd_active",
_init: s => __awaiter(this, void 0, void 0, function* () {
let r = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = "none";
var e = document.querySelectorAll(".content_unit");
if (e.length) {
clearInterval(r);
e:for (var t of e) {
t.click(), yield MyTool.sleep(2e3);
var n, t = document.querySelector(".note>p").innerText;
if (!(-1 < t.indexOf("恭喜您已完成"))) for (n of document.querySelectorAll("#watchcourseTable tbody tr")) {
var i, l = n.querySelectorAll("td")[5], o = n.querySelectorAll("td")[6];
if (l.innerText.trim() != o.innerText.trim() && "已完成" != o.innerText.trim()) {
n.querySelector(".studyBegin").click(), yield MyTool.sleep(2e3), null != (l = document.querySelector(".layui-layer-btn1")) && l.click(), yield MyTool.sleep(1e3), ElementObj.$allTask = document.querySelectorAll("#Div_CourseProgress tr:not([style])");
for (i of ElementObj.$allTask) if ("100%" != i.querySelector(".fa6").innerText) {
MyTool.deleteValue("learnStatus");
var a = i.querySelector(".star").href;
MyTool.openInTab(a), GM_addValueChangeListener("learnStatus", (e, t, n, i) => {
"done" === n && (MyTool.deleteValue("learnStatus"), location.reload())
});
break e
}
}
}
}
} else ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(r), showTip("✅✅✅初始化完成,3秒后自动播放", 3e3), s.pdPlayFn(location.href))
}), 300)
}),
playNext() {
return __awaiter(this, void 0, void 0, function* () {
MyTool.setValue("learnStatus", "done"), yield sleep(1e3), window.close()
})
},
listenRebortFn() {
var e = document.querySelector("a.btn-ProofOk");
null != e && e.click()
}
}
},
asds1: {
id: 128, name: "贵州省党员干部网络学院", mainClass: "CTXCommon", host: ["gzwy.gov.cn"], option: {
nodeListClass: "", activeClass: "", _init: m => __awaiter(this, void 0, void 0, function* () {
let c = setInterval(() => __awaiter(this, void 0, void 0, function* () {
if (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$video = document.querySelector("video"), ElementObj.$video) {
clearInterval(c);
var t = document.querySelector(".rightcontent") || ElementObj.$video.parentElement,
n = (yield m.changeHtml(t), m.addInfo("正在获取token..."), dsf.getToken());
m.addInfo("✅✅✅token:" + n), m.addInfo("正在获取课程列表...");
let e = location.href.match(/id=(.+)/)[1];
var i, l = [];
if (-1 != location.href.indexOf("commonpage/classcolumn")) {
m.addInfo("正在获取parents"), s = e, d = n;
e:for (var o of (yield new Promise((t, e) => {
location.origin;
var n = location.origin + "/nc/pack/channel/course/list";
fetch(n + "?id=" + s, {
headers: {
accept: "application/json, text/plain, */*",
"accept-language": "zh-CN,zh;q=0.9",
authorization_token: d,
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) {
m.addInfo(`【${o.name}】`);
for (let t of o.subList) if (m.addInfo(`正在获取${t.name}的课程,已完成进度` + t.progress), !(95 < t.progress)) {
var a = (yield u(t.businessId, n)).data.playTree.children.map(e => Object.assign(Object.assign({}, e), {businessId: t.businessId}));
l.push(...a);
break e
}
}
} else {
t = yield u(e, n);
l.push(...t.data.playTree.children)
}
m.addInfo("✅✅✅课程列表获取成功");
for (i of l) if (!(100 <= i.finishedRate)) {
m.addInfo("即将开始学习" + i.title);
var r = {
courseId: e = -1 != location.href.indexOf("commonpage/classcolumn") ? i.businessId : e,
coursewareId: i.id,
watchPoint: "00:01:11",
pulseTime: 10,
pulseRate: 1,
realWatchTime: "00:01:06"
};
localStorage.setItem("fetchOption", JSON.stringify(r)), localStorage.setItem("token", n), yield m.handleClickSpeedUp();
break
}
}
var s, d
}), 900);
function u(i, l) {
return new Promise((t, e) => {
location.origin;
var n = location.origin + "/inc/nc/course/play/getPlayTrend";
fetch(n + "?courseId=" + i, {
headers: {
accept: "application/json, text/plain, */*",
"accept-language": "zh-CN,zh;q=0.9",
authorization_token: l,
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: l => __awaiter(this, void 0, void 0, function* () {
let n = localStorage.getItem("fetchOption"), i = (n = JSON.parse(n), localStorage.getItem("token"));
for (var e of new Array(1e4)) {
l.addInfo(`🔊当前状态正在以${toolOption.accelerator}倍速学习中,(中途关闭进度不保存)`);
var t = yield 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: i,
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=${n.courseId}&coursewareId=${n.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 (l.addInfo(`已学习${t.data.finishedRate}%`), 100 <= t.data.finishedRate) {
location.reload();
break
}
yield sleep(1e3)
}
})
}
},
sdfs: {
id: 129,
name: "云南省建设注册考试中心综合服务平台",
mainClass: "CTXCommon",
host: ["gwd.ynjspx.cn"],
option: {
nodeListClass: ".n-collapse-transition .cursor-pointer",
activeClass: "bg-[#1C2630]",
openListenPlayStatus: !1,
openListenPlayTime: !1,
_init: n => __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => {
if (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$parentNodes = document.querySelectorAll(".items-center.justify-between.border-solid"), 0 < ElementObj.$parentNodes.length) {
clearInterval(t), showTip("正在初始化");
for (var e of ElementObj.$parentNodes) e.nextSibling.childNodes.length || e.click();
ElementObj.$allTask = document.querySelectorAll(".n-collapse-transition .cursor-pointer"), n.getCurrentIndex()
}
}, 500)
})
}
},
yrt5: {
id: 130,
name: "甘肃省专业技术人员继续教育培训",
mainClass: "CTXCommon",
host: ["training.gszj.edufe.cn"],
option: {
nodeListClass: ".n-collapse-transition .cursor-pointer",
activeClass: "bg-[#1C2630]",
openListenPlayStatus: !1,
openListenPlayTime: !1,
_init: i => __awaiter(this, void 0, void 0, function* () {
let n = setInterval(() => {
ElementObj.$handleSpeedUp.style.display = "none";
var e = document.querySelectorAll("ul>li");
if (e.length && -1 != location.pathname.indexOf("/plan/courses")) {
clearInterval(n);
for (var t of e) if ("100%" != t.querySelector(".CourseList_per_1kb87BEO").innerText) {
MyTool.setValue("homeUrl", location.href), t.querySelectorAll("button")[1].click();
break
}
}
if (ElementObj.$allTask = document.querySelectorAll(".AsideChapter_Item_2dfPMpnP"), ElementObj.$allTask.length) {
clearInterval(n);
for (let e = 0; e < ElementObj.$allTask.length; e++) if (ElementObj.$allTask[e].querySelector(".AsideChapter_ItemState_2nxPLU4r")) {
i.currentIndex = e, i.handleClickSpeedUp();
break
}
}
}, 500)
}),
playNext(t) {
return __awaiter(this, void 0, void 0, function* () {
var e;
t.currentIndex >= ElementObj.$allTask.length - 1 ? (e = MyTool.getValue("homeUrl"), window.open(e)) : (t.currentIndex += 1, null != (e = ElementObj.$allTask[t.currentIndex]) && e.click(), setTimeout(() => {
t.handleClickSpeedUp()
}, 2e3))
})
}
}
},
wgsf: {
id: 131,
name: "江西专技在线",
mainClass: "CTXCommon",
host: ["jxzj-kfkc.webtrn.cn"],
option: {
nodeListClass: "",
activeClass: "",
openListenPlayStatus: !1,
openListenPlayTime: !1,
_init: n => __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => {
ElementObj.$handleSpeedUp.style.display = "none";
var e = null == (e = document.querySelectorAll("iframe")[4].contentDocument) ? void 0 : e.querySelector(".btn.btn-solid-primary.btn-sm");
if (e && e.click(), ElementObj.$allTask = null == (e = document.querySelectorAll("iframe")[2].contentDocument) ? void 0 : e.querySelectorAll(".s_point"), ElementObj.$allTask.length) {
clearInterval(t);
for (let e = 0; e < ElementObj.$allTask.length; e++) if (ElementObj.$allTask[e].classList.contains("s_pointerct")) {
n.currentIndex = e, n.handleClickSpeedUp();
break
}
}
}, 500)
}),
videoEle() {
return new Promise(t => {
let n = 0, i = setInterval(() => {
try {
6 <= n && (clearInterval(i), t(2)), n += 1;
var e = document.querySelectorAll("iframe")[2].contentDocument.querySelectorAll("iframe")[0].contentDocument;
ElementObj.$video = null == e ? void 0 : e.querySelector("video"), ElementObj.$video && (clearInterval(i), t(1))
} catch (e) {
}
}, 1e3)
})
}
}
},
hf01: {
id: 132, name: "企安全", mainClass: "CTXCommon", host: ["www.secxm.com"], 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: o => __awaiter(this, void 0, void 0, function* () {
let l = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = "none";
var e = document.querySelector(".video-lt");
if ("/courseintroduction" === location.pathname && e) {
clearInterval(l);
var t = /id=(.+)&loopPlay/.exec(location.href)[1],
n = yield Internetcourse.hf01.apis.coursefind(t);
e.style.position = "relative", yield o.changeHtml(e);
for (let e = 0; e < n.result.elements.length; e++) for (var i of n.result.elements[e].subContentTemplate) i.totalClassHours < i.duration && (o.addInfo("即将进行未完成课程", i.title), localStorage.setItem("itemdata", JSON.stringify(i)), yield o.handleClickSpeedUp(o)), yield MyTool.sleep(1e3)
}
}), 500)
}),
playFn(l) {
return __awaiter(this, void 0, void 0, function* () {
var t = localStorage.getItem("itemdata");
if (t) {
let e = (t = JSON.parse(t)).totalClassHours || 0;
var n, i = {studentCourseId: "", contentId: t.id, duration: 180};
i.studentCourseId = /id=(.+)&loopPlay/.exec(location.href)[1];
for (n of new Array(1e3)) {
if (l.addInfo(`已成功学习${e}秒,当前任务需完成${t.duration}秒`), e >= t.duration) {
l.addInfo(`🎉🎉🎉【${t.title}】,学习完成🎉🎉🎉`);
break
}
yield Internetcourse.hf01.apis.appendHours(JSON.stringify(i));
e += 180, yield MyTool.sleep(1e3)
}
}
})
}
}
},
qf01: {
id: 133,
name: "甘肃干部网络学院",
mainClass: "CTXCommon",
host: ["www.gsgbpx.cn"],
apis: {
appendHours: e => new Promise(t => {
MyTool.fetchData({
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: i => __awaiter(this, void 0, void 0, function* () {
let n = setInterval(() => __awaiter(this, void 0, void 0, function* () {
if (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$parentNodes = document.querySelectorAll("#courseResouse ul li>div"), ElementObj.$parentNodes.length) {
clearInterval(n);
for (var e of 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", yield i.changeHtml(t), yield i.handleClickSpeedUp(i))
}), 500)
}),
playFn(a) {
return __awaiter(this, void 0, void 0, function* () {
let e = 0;
var t, n = /COURSEWAREID=(.+)&FILENAME/.exec(location.href)[1],
i = /TCID=(.+)/.exec(location.href)[1],
l = `ID=${n}&studyTime=60&TIMEPOINT=${e}&jsp=true&LENGTH=1&CHAPTER=1&STUDYSTATUS=incomplete&task=continuestudy&TCID=` + i;
for (t of new Array(1e3)) {
e += 60;
var o = yield Internetcourse.qf01.apis.appendHours(l);
if (a.addInfo(`已成功学习60秒,当前任务已完成${o.msg}%`), 100 <= parseInt(o.msg)) {
a.addInfo("🎉🎉🎉当前视频学习完成🎉🎉🎉"), yield MyTool.sleep(1e3), a.playNext();
break
}
yield MyTool.sleep(1e3)
}
})
},
playNext() {
return __awaiter(this, void 0, void 0, function* () {
location.href = MyTool.getValue("homeUrl")
})
}
}
},
sf93: {
id: 134,
name: "贵州地矿专技学时在线",
mainClass: "CTXCommon",
host: ["gzdk.lllnet.cn", "media.lllnet.cn"],
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, _init(t) {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
if (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask = document.querySelectorAll("#contents_list a"), ElementObj.$allTask.length) {
window.alert = () => {
}, clearInterval(e);
for (let e = 0; e < ElementObj.$allTask.length; e++) if (ElementObj.$allTask[e].classList.contains("current")) {
t.currentIndex = e, yield t.handleClickSpeedUp(t);
break
}
}
}), 500)
})
}, playFn(o) {
return __awaiter(this, void 0, void 0, function* () {
yield o.getVideoDom();
var e = ElementObj.$video.parentElement;
yield o.changeHtml(e), ElementObj.$video.pause(), o.addInfo("初始化已完成,5秒后 即将开始学习"), yield MyTool.sleep(5e3);
let t = 0;
var n, i = ElementObj.$video.duration;
for (n of new Array(1e3)) {
(t += 6) >= i && (t = i);
var l = `courseId=${courseId}&gradeId=${gradeId}&userId=${userId}&coursewareId=${coursewareId}&unameSN=${unameSN}&orgName=gclc-gzdk&position=${t}&sessionTime=6`;
if (200 == (yield Internetcourse.sf93.apis.reportCourseStudyProgress(l)).code ? o.addInfo(`本次保存6秒, 累计已完成${t / 60}分钟,需累计完成${i}秒`) : (o.addInfo("本次未能成功保存,将自动再次保存"), t -= 6), t >= i) {
o.addInfo("🎉🎉🎉当前视频学习完成🎉🎉🎉"), yield MyTool.sleep(1e3), o.playNext();
break
}
yield MyTool.sleep(3e3)
}
})
}
}
},
wsre: {
id: 135,
name: "教师研修平台",
mainClass: "CTXCommon",
host: ["course.teacheredu.cn", "www.bcvet.cn"],
option: {
nodeListClass: "", activeClass: "", openListenPlayStatus: !1, openListenPlayTime: !1, _init(n) {
return __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = "none";
var e = document.querySelector("iframe");
if (e && (clearInterval(t), location.href = e.src), ElementObj.$allTask = document.querySelectorAll("#li_menu_1_0_id dd span"), ElementObj.$allTask.length) {
clearInterval(t);
for (let e = 0; e < ElementObj.$allTask.length; e++) if (ElementObj.$allTask[e].classList.contains("b_sel")) {
n.currentIndex = e, yield n.handleClickSpeedUp(n);
break
}
}
}), 500)
})
}
}
}
}, speedArr = [1, 2, 3, 5, 10, 16], toolOption = {accelerator: 1, CtxMain: null, SchoolType: -1};
class Main {
constructor() {
this.studentType = 1, this.speedStatus = 0, this.isAdaptive = 1, this.listenVidoeStatusTimer = null, this.init()
}
init() {
setTimeout(() => {
var e = MyTool.getValue("schoolInfoColletion");
(!e || (e = new Date(e)).getDate() < (new Date).getDate()) && this.colletionSchoolData()
}, 2500)
}
updateSpeedElement(e) {
0 != this.speedStatus && (ElementObj.$video.playbackRate = e)
}
handleClickSpeedUp(e, t = !0) {
return __awaiter(this, void 0, void 0, function* () {
var e = localStorage.getItem("mytoolkey") || MyTool.getValue("mytoolkey");
e ? (this.speedStatus = 1, 200 != (e = yield fetchData({
method: "GET",
url: bserUrl + (`/speedup?toolkey=${e}&canuse=` + toolOption.SchoolType)
})).code ? (this.isAdaptive = 0, showTip("🔉🔉🔉" + e.message, 5e3, !0)) : (this.speedStatus = 1, this.isAdaptive = 1, toolOption.CtxMain.play(), t && this.randomListen())) : window.open(basehost)
})
}
handleAddKey(t) {
return __awaiter(this, void 0, void 0, function* () {
var e;
ElementObj.$ipt.value ? (e = yield fetchData({
method: "GET",
url: bserUrl + "/vertifykey?toolkey=" + ElementObj.$ipt.value
})).data && (localStorage.setItem("mytoolkey", ElementObj.$ipt.value), localStorage.setItem("_localSpeed", toolOption.accelerator.toString()), MyTool.setValue("mytoolkey", ElementObj.$ipt.value), MyTool.setValue("mytoolkeyInfo", e.data), t(ElementObj.$ipt.value)) : window.open(basehost)
})
}
handleRemoveKey() {
MyTool.setValue("mytoolkey", null), localStorage.removeItem("mytoolkey"), localStorage.removeItem("_localSpeed"), ElementObj.$title3.innerText = "绑定key:", ElementObj.$mytoolkey.style.display = "none", ElementObj.$ctxsection2.style.display = "none", ElementObj.$nokey.style.display = "block", ElementObj.$ipt.style.display = "block", ElementObj.$addKey.style.display = "block", ElementObj.$removeKey.style.display = "none", ElementObj.$handleSpeedUp.style.background = "orange", ElementObj.$handleSpeedUp.innerText = "点击加速", this.updateSpeedElement(1)
}
stopSpeedUp() {
this.speedStatus = 0, toolOption.CtxMain.updateSpeedElement(1), ElementObj.$handleSpeedUp.style.background = "orange", ElementObj.$handleSpeedUp.innerText = "点击加速", showTip("🔉停止加速成功")
}
handleChangeCtxSpeed(e) {
var t, n = localStorage.getItem("mytoolkey");
n ? 0 != this.isAdaptive && (n = speedArr, t = Number(e), e) && n.includes(t) && (toolOption.accelerator = t, localStorage.setItem("_localSpeed", t.toString()), ElementObj.$video) && (ElementObj.$video.playbackRate = t) : window.open(basehost)
}
colletionSchoolData() {
return __awaiter(this, void 0, void 0, function* () {
var e = localStorage.getItem("mytoolkey") || MyTool.getValue("mytoolkey");
200 == (yield fetchData({
method: "GET",
url: bserUrl + `/colletionschool?schoolType=${toolOption.SchoolType}&toolkey=` + e
})).code && MyTool.setValue("schoolInfoColletion", "" + new Date)
})
}
randomListen() {
setTimeout(() => {
var e = localStorage.getItem("mytoolkey");
!ElementObj.$video || ElementObj.$video.paused || e || ElementObj.$video.pause()
}, 5e3)
}
listenVidoeStatus(t, n) {
if (t) {
let e = 0;
this.listenVidoeStatusTimer = setInterval(() => {
t.readyState < 4 && 20 <= (e += 1) && location.reload(), t.paused && (e += 1, "function" == typeof n) && (20 <= e ? location.reload() : n())
}, 5e3)
}
}
changeHtml(t) {
return __awaiter(this, void 0, void 0, function* () {
var e;
ElementObj.$ctxstatsbox = document.querySelector(".ctxstatsbox"), ElementObj.$ctxstatsbox || ((e = document.createElement("div")).setAttribute("class", "ctxstatsbox"), e.setAttribute("style", `
width: 100%;
height: 100%;
background: #eae9e9;
position: absolute;
z-index: 999;
overflow: scroll;
top: 0;
padding-left: 10px;
z-index: 9999;
`), t.appendChild(e), yield sleep(300), ElementObj.$ctxstatsbox = document.querySelector(".ctxstatsbox")), this.addInfo("🔉初始化已完成,正在播放")
})
}
addInfo(e, t) {
15 <= document.querySelectorAll(".ctxstatsbox_li").length && (ElementObj.$ctxstatsbox.innerHTML = "");
t = `
${e}`;
ElementObj.$ctxstatsbox.innerHTML += t
}
listenPageHide() {
let t;
document.addEventListener("visibilitychange", () => {
if (document.hidden) {
let e = 0;
t = setInterval(() => {
5 <= (e += 1) && this.addInfo("⚠️⚠️⚠️请勿长时间隐藏该学习页面", 0)
}, 5e3)
} else clearInterval(t)
})
}
pdPlayFn(e) {
var t = MyTool.getValue("spanClassName") || [];
-1 == t.indexOf(e) && (t.push(e), MyTool.setValue("spanClassName", t)), this.handleClickSpeedUp()
}
getVideoDom() {
return new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelectorAll("video")[0], ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
}, 1e3)
})
}
}
class Answer {
constructor() {
this.EleObj = {}, this.init()
}
init() {
this.EleObj.$numbers = document.querySelectorAll(".number"), this.EleObj.$close = document.querySelectorAll(".el-dialog__header>button")[4], this.EleObj.$numbers.length && this.eachTopic()
}
eachTopic() {
return __awaiter(this, void 0, void 0, function* () {
document.querySelectorAll(".topic-item")[1].click(), sleep(1100), 1 < this.EleObj.$numbers.length ? (this.EleObj.$numbers[1].click(), setTimeout(() => {
document.querySelectorAll(".topic-item")[1].click(), this.EleObj.$close.click(), ElementObj.$video.play()
}, 1e3)) : (this.EleObj.$close.click(), ElementObj.$video.play())
})
}
}
class CTXCommon extends Main {
constructor(e) {
super(), this.taskLength = 0, this.currentIndex = -1, this.nodeListClass = e.nodeListClass, this.activeClass = e.activeClass || "", this.nextClass = e.nextClass || "", this.openListenPlayStatus = "boolean" != typeof e.openListenPlayStatus || e.openListenPlayStatus, this.openListenPlayTime = "boolean" == typeof e.openListenPlayTime && e.openListenPlayTime, this.afterPlayEnd = e.afterPlayEnd, this.getCurrentIndexByOption = e.getCurrentIndexByOption, this.playNext = e.playNext || this.playNext, this.listenRebortFn = e.listenRebortFn, this.getVideoDom = "function" == typeof e.videoEle ? e.videoEle : this.getVideoDom, this.playFn = e.playFn, this.beforePlayVideo = e.beforePlayVideo, this.getCurrentIndex = e.getCurrentIndex ? e.getCurrentIndex.bind(this, this) : this.getCurrentIndex, e._init ? e._init(this) : this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll(this.nodeListClass), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
if (this.getCurrentIndexByOption) this.currentIndex = yield this.getCurrentIndexByOption(); else for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains(this.activeClass)) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 2e3))
})
}
getVideoDom() {
return new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelectorAll("video")[0], ElementObj.$video && (ElementObj.$video.src || ElementObj.$video.querySelector("source")) ? (clearInterval(n), e(1)) : 6 <= t && (clearInterval(n), e(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer), clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
this.playFn ? this.playFn(this) : (1 == e && (this.beforePlayVideo && "function" == typeof this.beforePlayVideo && this.beforePlayVideo(), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.openListenPlayStatus && this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), this.openListenPlayTime && (yield this.changeHtml(ElementObj.$video.parentElement), this.listenPlayTime()), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext(this)
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext(this)))
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
this.listenRebortFn && "function" == typeof this.listenRebortFn && this.listenRebortFn(this)
}, 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (!(this.currentIndex >= ElementObj.$allTask.length - 1)) {
yield sleep(2500), this.currentIndex += 1;
let e = ElementObj.$allTask[this.currentIndex];
null !== (e = this.nextClass ? ElementObj.$allTask[this.currentIndex].querySelector(this.nextClass) : e) && void 0 !== e && e.click(), this.afterPlayEnd && (yield this.afterPlayEnd()), setTimeout(() => {
this.handleClickSpeedUp()
}, 5e3)
}
})
}
listenPlayTime() {
let n = 0;
this.timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
n += 1;
var e = null == (e = ElementObj.$video) ? void 0 : e.currentTime, e = (e / 60).toFixed(2),
t = null == (t = ElementObj.$video) ? void 0 : t.duration;
this.addInfo(`后台学习${n}次,当前状态正在学习,已播放${e}分钟,视频总时长为${t / 60}分钟`)
}), 5e3)
}
}
class fujianshifan extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = 0, this.currentMidiaType = "video", this._init()
}
_init() {
let i = document.querySelectorAll(".section");
new Promise(n => {
i.forEach((e, t) => {
e.childNodes[0].click(), sleep(20), t == i.length - 1 && n(!0)
})
}).then(e => {
setTimeout(() => {
ElementObj.$allStudyTask = document.querySelectorAll(".section li"), this.getCurrentIndex()
}, 2e3)
})
}
getCurrentIndex() {
let n = document.querySelector(".active").id;
ElementObj.$allStudyTask.forEach((e, t) => {
e.id == n && (this.currentIndex = t)
})
}
play() {
ElementObj.$allStudyTask[this.currentIndex].click(), setTimeout(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (this.currentMidiaType = "video", this.handlePlayVideo()) : (this.currentMidiaType = "doc", this.handlePlayDoc())
}, 2e3)
}
nextPlay() {
sleep(1e3), this.currentIndex += 1, this.handleClickSpeedUp()
}
handlePlayVideo() {
this.updateSpeedElement(toolOption.accelerator), ElementObj.$video.play(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", ElementObj.$video.addEventListener("ended", () => {
this.nextPlay()
}, !1)
}
handlePlayDoc() {
ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功";
var e = null == (e = document.querySelector("#lg-counter-all")) ? void 0 : e.innerHTML;
let t = document.querySelector(".lg-actions>.lg-next"), n = Number(e), i = setInterval(() => {
n <= 0 || !t ? (clearInterval(i), this.nextPlay()) : (t.click(), --n)
}, 1e3)
}
}
class ningmengwencai extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = 0, this._init()
}
_init() {
ElementObj.$allTask = document.querySelectorAll(".childSection"), this.taskLength = ElementObj.$allTask.length, this.getCurrentIndex()
}
getCurrentIndex() {
ElementObj.$allTask.forEach((e, t) => {
e.className.includes("active") && (this.currentIndex = t)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask[this.currentIndex].click(), yield sleep(2e3), ElementObj.$video = document.querySelector("video"), this.updateSpeedElement(toolOption.accelerator);
var e = document.querySelector(".layui-layer-btn0");
e && e.click(), ElementObj.$video.play(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", ElementObj.$video.addEventListener("ended", () => {
this.currentIndex += 1, this.currentIndex > ElementObj.$allTask.length || (document.querySelector("#saveBtn").click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 2500))
}, !1)
})
}
}
class gxcic extends Main {
constructor() {
super(), this.parentIndex = 0, this.currentIndex = 0, this.currentTaskEle = null, this.taskLength = 0, this.timer = null, this._init()
}
_init() {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTaskParentNodes = null === document || void 0 === document ? void 0 : document.querySelectorAll(".ant-collapse-item"), ElementObj.$allTask = null === document || void 0 === document ? void 0 : document.querySelectorAll(".course-detail-content-section-info-text"), ElementObj.$allTask.length && ElementObj.$allTaskParentNodes.length && (clearInterval(e), this.getCurrentIndex())
}), 1e3)
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTaskParentNodes.forEach((e, t) => {
e.className.includes("ant-collapse-item-active") && (this.parentIndex = t)
}), ElementObj.$allTask.forEach((e, t) => {
e.className.includes("course-detail-current") && (this.currentIndex = t, this.currentTaskEle = e)
}), this.currentTaskEle && showTip("初始化完成,可点击加速")
})
}
getVideoDom() {
return new Promise(e => {
let t = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer), yield this.getVideoDom(), ElementObj.$video.play(), this.updateSpeedElement(toolOption.accelerator), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", this.lisRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
var e = this.currentTaskEle.parentElement.parentElement.nextSibling;
e ? (this.currentIndex += 1, this.currentTaskEle = e) : (this.parentIndex += 1, this.currentIndex += 1, ElementObj.$allTaskParentNodes[this.parentIndex].lastChild.firstChild.firstChild.click(), yield sleep(1500), ElementObj.$allTask = null === document || void 0 === document ? void 0 : document.querySelectorAll(".course-detail-content-section-info-text"), this.currentTaskEle = ElementObj.$allTask[this.currentIndex]), this.currentTaskEle.click(), yield sleep(5e3), this.handleClickSpeedUp()
}), !1), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.play()
}, 1500)
})
})
}
lisRebort() {
this.timer = setInterval(() => {
var e = document.querySelector(".sdk-ia-message-confirm"),
e = (null != e && e.click(), document.querySelector(".sdk-ia-number-verify-image"));
e && (document.querySelector(".sdk-ia-number-input input").value = e.innerText, document.querySelector(".sdk-ia-number-button").click())
}, 5e3)
}
}
class fjsf2 extends Main {
constructor() {
super(), this.taskLength = 0, this.parentIndex = 0, this.currentIndex = 0, this.currentMidiaType = "video", this._init()
}
_init() {
ElementObj.$allTaskParentNodes = null === document || void 0 === document ? void 0 : document.querySelectorAll(".section");
document.querySelectorAll(".section");
this.getCurrentIndex()
}
getCurrentIndex() {
ElementObj.$allTaskParentNodes.forEach((e, n) => {
let i = e.querySelectorAll("li");
null !== i && void 0 !== i && i.forEach((e, t) => {
e.className.includes("active") && (this.parentIndex = n, this.currentIndex = t, ElementObj.$allTask = i)
})
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask[this.currentIndex].click(), yield sleep(2e3), document.querySelector(".lg-close") ? (this.currentMidiaType = "doc", this.handlePlayDoc()) : (this.currentMidiaType = "video", this.handlePlayVideo())
})
}
nextPlay() {
return __awaiter(this, void 0, void 0, function* () {
if (yield sleep(1e3), this.currentIndex >= ElementObj.$allTask.length - 1) {
if (this.parentIndex += 1, this.currentIndex = 0, this.parentIndex >= ElementObj.$allTaskParentNodes.length) return;
var e = ElementObj.$allTaskParentNodes[this.parentIndex].querySelectorAll("li");
e.length ? ElementObj.$allTask = e : (ElementObj.$allTaskParentNodes[this.parentIndex].childNodes[0].click(), yield sleep(300), ElementObj.$allTask = ElementObj.$allTaskParentNodes[this.parentIndex].querySelectorAll("li"))
} else this.currentIndex += 1;
this.handleClickSpeedUp()
})
}
handlePlayVideo() {
ElementObj.$video = document.querySelector("video"), this.updateSpeedElement(toolOption.accelerator), ElementObj.$video.play(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", ElementObj.$video.addEventListener("ended", () => {
this.nextPlay()
}, !1)
}
handlePlayDoc() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", yield sleep(1500);
var e = document.querySelector(".lg-toggle-thumb");
e && (e.click(), document.querySelectorAll(".lg-thumb-item").length), yield sleep(2e3), document.querySelector(".lg-close").click(), this.nextPlay()
})
}
}
class zjzx extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = 0, this._init()
}
_init() {
ElementObj.$allTask = document.querySelectorAll(".nLi"), this.getCurrentIndex()
}
getCurrentIndex() {
ElementObj.$allTask.forEach((e, t) => {
e.querySelector("li").classList.contains("active") && (this.currentIndex = t)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$video = document.querySelector("video"), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", ElementObj.$video.addEventListener("ended", () => {
setTimeout(() => {
this.handleClickSpeedUp()
}, 5e3)
})
})
}
}
class zxpxmr extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = 0, this._init()
}
_init() {
window.alert = function () {
return !1
};
let e = setInterval(() => {
ElementObj.$allTask = document.querySelectorAll(".kecheng_play_mian_list_item"), ElementObj.$allTask.length && (showTip("🔉初始化完成,可点击加速", 3e3), clearInterval(e), this.getCurrentIndex())
}, 1e3)
}
getCurrentIndex() {
ElementObj.$allTask.forEach((e, t) => {
e.classList.contains("kecheng_play_mian_list_item_progress_playing") && (this.currentIndex = t)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$video = document.querySelector("video"), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$video.play(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", this.simulationClick(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
var e;
clearInterval(this.timer), this.currentIndex >= ElementObj.$allTask.length - 1 || (this.currentIndex += 1, e = document.querySelector("#btn-sure"), yield sleep(2e3), null != e && e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 5e3))
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.play()
}, 1e3)
})
})
}
simulationClick() {
var e = new KeyboardEvent("keydown", {keyCode: 8, which: 8});
this.timer = setInterval(() => {
try {
document.dispatchEvent(e)
} catch (e) {
}
}, 3e3)
}
}
class ggfw extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = 0, this._init()
}
_init() {
ElementObj.$parentNodes = document.querySelectorAll(".learnList"), ElementObj.$parentNodes.length && this.selectOneClass(), new Promise(e => {
let t = setInterval(() => {
ElementObj.$allTask = document.querySelectorAll(".courseItem"), ElementObj.$allTask.length && (clearInterval(t), this.getCurrentIndex(), e(!0))
}, 1e3)
}).then(e => {
ElementObj.$handleSpeedUp.style.display = "none";
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$video = document.querySelector("video"), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.setAttribute("autoplay", "autoplay");
var e = document.querySelector(".volume-icon");
e.click(), yield sleep(500), e.click(), ElementObj.$video && (clearInterval(t), showTip("🔉初始化完成,即将自动播放", 3e3), yield sleep(300), document.querySelector(".prism-big-play-btn").click(), yield this.handleClickSpeedUp())
}), 1e3)
})
}
getCurrentIndex() {
ElementObj.$allTask.forEach((e, t) => {
e.classList.contains("active") && (this.currentIndex = t)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(3e3), localStorage.setItem("ctx-status", ""), ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功"
}, 1500), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer), ElementObj.$allTask = document.querySelectorAll(".courseItem"), yield sleep(300), this.currentIndex >= ElementObj.$allTask.length - 1 ? (localStorage.setItem("ctx-status", "done"), document.querySelector(".sc-box").click(), yield sleep(1500), document.querySelectorAll(".menu-box ul li")[3].click(), yield sleep(2e3), window.location.reload()) : (this.currentIndex += 1, this.handleClickSpeedUp(), yield sleep(2500), ElementObj.$allTask[this.currentIndex].click())
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.play()
}, 1e3)
})
})
}
selectOneClass() {
let e = setTimeout(() => __awaiter(this, void 0, void 0, function* () {
clearInterval(e), document.querySelector("#tab-second").click(), yield sleep(2500), ElementObj.$parentNodes = document.querySelectorAll(".course_item"), yield sleep(200), ElementObj.$parentNodes[0].click()
}), 3e3)
}
}
class mingshiclass extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = 0, this.parentIndex = -1, this._init()
}
_init() {
document.querySelector(".title-box .setMealName") ? this.selectOneClass() : this.initPlayPage()
}
initPlayPage() {
new Promise(e => {
let t = setInterval(() => {
ElementObj.$allTask = document.querySelectorAll(".course-list .course-item"), ElementObj.$allTask.length && (clearInterval(t), this.getCurrentIndex(), e(!0))
}, 1e3)
}).then(e => new Promise(e => __awaiter(this, void 0, void 0, function* () {
ElementObj.$video = document.querySelector("video"), yield sleep(3e3), ElementObj.$video && (showTip("🔉初始化完成,播放开始", 3e3), e(!0))
}))).then(e => {
this.handleClickSpeedUp()
})
}
getCurrentIndex() {
ElementObj.$allTask.forEach((e, t) => {
e.querySelector(".course-name").classList.contains("play-status") && (this.currentIndex = t)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$video = document.querySelector("video"), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.setAttribute("autoplay", "autoplay"), ElementObj.$video.volume = 0, yield sleep(3500), document.querySelector(".play_btn").click(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
var e;
this.currentIndex >= ElementObj.$allTask.length - 1 ? (e = document.querySelector(".back-img"), sleep(200), e.click(), setTimeout(() => {
location.reload()
}, 3e3)) : (this.currentIndex += 1, e = ElementObj.$allTask[this.currentIndex], yield sleep(5e3), null != e && e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 2e3))
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.play()
}, 3e3)
})
})
}
selectOneClass() {
let e = setTimeout(() => __awaiter(this, void 0, void 0, function* () {
clearInterval(e), ElementObj.$parentNodes = document.querySelectorAll(".content-box>.course-list>div"), yield sleep(200), ElementObj.$parentNodes.forEach((e, t) => {
if ("未完成" == e.querySelector(".course_item_brief").lastChild.innerText && -1 == this.parentIndex) return this.parentIndex = t, !0
}), yield sleep(200), ElementObj.$parentNodes[this.parentIndex].click(), setTimeout(() => {
this.initPlayPage()
}, 2500)
}), 1e3)
}
}
mingshiclass.ctxid = 17;
class qiangshi extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
try {
var e = document.querySelectorAll("iframe")[2].contentWindow.document.querySelectorAll("iframe")[0].contentWindow;
this._document = e.document
} catch (e) {
}
let t = setInterval(() => {
try {
var e = document.querySelector(".contentIframe").contentWindow;
ElementObj.$allTask = e.document.querySelectorAll(".s_point"), ElementObj.$allTask.length && (clearInterval(t), this.getCurrentIndex())
} catch (e) {
}
}, 1e3)
}
getCurrentIndex() {
ElementObj.$allTask.forEach((e, t) => {
e.querySelector(".item_done_icon").classList.contains("done_icon_show") || -1 != this.currentIndex || (this.currentIndex = t)
}), -1 != this.currentIndex && (showTip("⚠️⚠️⚠️初始化完成,即将开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500), ElementObj.$handleSpeedUp.style.display = "none")
}
getVideoDom() {
return new Promise(t => {
let n = setInterval(() => {
try {
var e = document.querySelectorAll("iframe")[2].contentDocument.querySelectorAll("iframe")[0].contentDocument;
ElementObj.$video = null == e ? void 0 : e.querySelector("video"), ElementObj.$video && (clearInterval(n), t(!0))
} catch (e) {
}
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask[this.currentIndex].click(), yield sleep(3500), yield this.getVideoDom(), ElementObj.$video.volume = 0;
var e = this._document.querySelector("#player_pause");
null != e && e.click(), ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = localStorage.getItem("_localSpeed") || toolOption.accelerator
}, 3e3), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
this.currentIndex >= ElementObj.$allTask.length - 1 || (this.currentIndex += 1, showTip("⚠️⚠️⚠️正在切换课程", 3500), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play(), ElementObj.$video.playbackRate = localStorage.getItem("_localSpeed") || toolOption.accelerator
}, 1500)
})
})
}
}
qiangshi.ctxid = 18;
class lanzhgoulgjs extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
let n = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e = document.querySelectorAll(".chapterlist .drop p"),
t = document.querySelectorAll(".chapterlist .videoList p");
(e.length || t.length) && (clearInterval(n), ElementObj.$allTask = e.length ? e : t, this.getCurrentIndex())
}), 1e3)
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
let n = [];
ElementObj.$allTask.forEach((e, t) => {
var e = e.querySelector(".class_percent");
e ? (e = e.innerText, n.push(parseInt(e))) : n.push(0)
}), n.reverse();
for (var e = 0; e <= n.length - 1; e++) if (n[e] < 98) {
this.currentIndex = n.length - e - 1;
break
}
if (0 == this.currentIndex) {
ElementObj.$allTask[1].querySelector("a").click(), yield sleep(4e3), ElementObj.$allTask = document.querySelectorAll(".chapterlist .drop p"), yield sleep(200);
var t = ElementObj.$allTask[0].querySelector(".class_percent").innerText;
if (!(parseInt(t) < 98)) return;
this.currentIndex = 0
}
-1 != this.currentIndex && (ElementObj.$handleSpeedUp.style.display = "none", showTip("🔉🔉🔉初始化完成,5s后开始播放", 3e3), this.pdPlayFn(location.href))
})
}
getVideoDom() {
return new Promise(n => {
let i = setInterval(() => {
ElementObj.$video = document.querySelector("video");
var e = ElementObj.$video.src, t = document.querySelector("iframe");
e && (clearInterval(i), n(1)), t && (clearInterval(i), n(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
var e, t = ElementObj.$allTask[this.currentIndex].querySelector("a"),
t = (yield sleep(300), t.click(), yield sleep(3e3), yield this.getVideoDom());
1 == t && (clearInterval(this.listenVidoeStatusTimer), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0, yield sleep(200), ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), e = document.querySelector(".ckplayer-ckplayer"), this.changeHtml(e), this.reloadPage(), this.listenPageHide(), this.listenAbnormal(1), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
location.reload()
}))), 2 == t && (e = document.querySelector("#thirdplayer"), this.changeHtml(e), this.reloadPage(), this.listenPageHide(), this.listenAbnormal(0))
})
}
reloadPage() {
return __awaiter(this, void 0, void 0, function* () {
let e = 180, t = setInterval(() => {
e <= 0 && (clearInterval(t), location.reload()), --e
}, 1e3)
})
}
listenAbnormal(t) {
showTip("🔉课件正在学习,请务点击或长时间隐藏");
let n = 0;
setInterval(() => {
n += 1, 0 == t ? this.addInfo(`后台学习${n}次,当前状态正在学习`) : (e = (ElementObj.$video.currentTime / 60).toFixed(2), this.addInfo(`后台学习${n}次,当前状态正在学习,已播放${e}分钟`));
var e = document.querySelector(".layui-layer-btn0");
e && location.reload()
}, 5e3)
}
changeHtml(t) {
return __awaiter(this, void 0, void 0, function* () {
var e = document.createElement("div");
e.setAttribute("class", "ctxstatsbox"), e.setAttribute("style", `
width: 796px;
height: 545px;
background: #eae9e9;
position: absolute;
z-index: 10;
overflow: scroll;
top: 0;
padding-left: 10px;
`), t.appendChild(e), yield sleep(300), ElementObj.$ctxstatsbox = document.querySelector(".ctxstatsbox"), this.addInfo("🔉初始化已完成,正在播放"), this.addInfo("⚠️⚠️⚠️课程采用倒着播放,请勿手动更换课程", 0)
})
}
addInfo(e, t) {
15 <= document.querySelectorAll(".ctxstatsbox_li").length && (ElementObj.$ctxstatsbox.innerHTML = "");
t = `${e}`;
ElementObj.$ctxstatsbox.innerHTML += t
}
listenPageHide() {
let t;
document.addEventListener("visibilitychange", () => {
if (document.hidden) {
let e = 0;
t = setInterval(() => {
5 <= (e += 1) && this.addInfo("⚠️⚠️⚠️请勿长时间隐藏该学习页面", 0)
}, 5e3)
} else clearInterval(t)
})
}
}
class beijingjiaoshi extends Main {
constructor() {
super(), this.taskLength = 0, this.topIndex = 0, this.parentIndex = -1, this.currentIndex = -1, this.videoplaying = -1, this.timer = null, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
var e, t = document.querySelector(".item_btn");
if (ElementObj.$topNode = document.querySelectorAll(".el-collapse-item__header"), t) yield sleep(2e3), t.click(), setTimeout(() => {
window.close()
}, 1500); else if (ElementObj.$topNode.length) e:for (var n of ElementObj.$topNode) {
n.classList.contains("is-active") || (n.click(), yield sleep(1500));
for (e of n.parentElement.nextSibling.querySelectorAll("tr.el-table__row")) if ("100%" != e.querySelector(".el-progress-bar__inner").style.width) {
MyTool.setValue("homeUrl", location.href), e.querySelector(".btn.to-study").click();
break e
}
} else {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask = document.querySelectorAll(".course-info .video-title"), ElementObj.$allTask.length && (clearInterval(e), this.getCurrentIndex())
}), 1e3)
}
})
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$topNode = document.querySelectorAll(".el-collapse-item"), yield sleep(200);
let t = ElementObj.$topNode.length, i = setInterval(() => __awaiter(this, void 0, void 0, function* () {
this.topIndex >= t - 1 && clearInterval(i), yield sleep(2e3);
var e = ElementObj.$topNode[this.topIndex];
0 != this.topIndex && e.querySelector(".item-title-col").click(), yield sleep(300), ElementObj.$parentNodes = e.querySelectorAll(".el-table__row"), yield sleep(300), ElementObj.$parentNodes.forEach((t, n) => __awaiter(this, void 0, void 0, function* () {
var e;
"课程:100%" != t.querySelector(".course_num").innerText && -1 == this.parentIndex && (clearInterval(i), this.parentIndex = n, e = t.querySelector(".to-study"), yield sleep(200), e.click(), setTimeout(() => {
window.close()
}, 1500))
})), this.topIndex += 1
}), 3e3)
})
}
getDoing() {
return new Promise(n => {
let i = !1;
ElementObj.statusEles = document.querySelectorAll(".li-item .el-progress-bar__inner"), ElementObj.statusEles.forEach((e, t) => {
e = e.style.width;
parseInt(e) <= 98 && 0 == i && (i = !0, n(t))
}), i || n(0)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask.forEach((e, t) => {
"100%" != e.querySelector(".four").innerText && -1 == this.currentIndex && (this.currentIndex = t)
}), ElementObj.$handleSpeedUp.style.display = "none", showTip("🔉初始化完成,5秒后开始播放", 3e3);
var e = ElementObj.$allTask[this.currentIndex];
yield sleep(200), e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500)
})
}
getVideoDom() {
return new Promise(e => {
let t = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer), yield this.getVideoDom(), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0;
var e = document.querySelector(".xgplayer-start");
yield sleep(200), e.click(), ElementObj.$video.playbackRate = toolOption.accelerator, this.punchCard(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", this.listenVidoeStatus(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
var e;
this.currentIndex >= ElementObj.$allTask.length - 1 ? (setTimeout(() => {
window.close()
}, 1500), e = MyTool.getValue("homeUrl"), location.replace(e)) : (this.currentIndex += 1, e = ElementObj.$allTask[this.currentIndex], yield sleep(300), e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500))
})), ElementObj.$video.addEventListener("pause", () => {
}), ElementObj.$video.addEventListener("playing", () => {
}), ElementObj.$video.addEventListener("waiting", () => {
})
})
}
listenVidoeStatus() {
this.timer = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video && ElementObj.$video.paused && (ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0, ElementObj.$video.play())
}, 3e3)
}
punchCard() {
setInterval(() => {
var e = document.querySelector("#comfirmClock");
e && e.click()
}, 5e3)
}
}
class qingyangzgzjzj extends Main {
constructor() {
super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this._init()
}
_init() {
let e = setInterval(() => {
ElementObj.$parentNodes = document.querySelectorAll(".swiper-slide"), ElementObj.$parentNodes.length && (clearInterval(e), this.getParentIndex())
}, 1e3)
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip("正在初始化", 1500), ElementObj.$parentNodes.forEach((e, t) => {
e = e.querySelector(".progresstext").innerText;
parseInt(e) < 97 && -1 == this.parentIndex && (this.parentIndex = t, ElementObj.$parentNodes[this.parentIndex].querySelector(".left-img").click())
}), -1 != this.parentIndex && this.getCurrentIndex()
})
}
_getParentIndex() {
let e = 0;
for (var t = 0; t <= ElementObj.$parentNodes.length - 1; t++) {
var n = ElementObj.$parentNodes[t].querySelector(".progresstext").innerText;
if (parseInt(n) < 95) {
e = t;
break
}
}
return e
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask = document.querySelectorAll(".class-catlog ul li ul li"), yield sleep(2e3), ElementObj.$allTask[0].click(), this.currentIndex = 0, ElementObj.$handleSpeedUp.style.display = "none", showTip("🔉初始化完成,5秒后自动开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 3e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer), clearInterval(this.timer2), yield this.getVideoDom(), ElementObj.$video = document.querySelector("video"), ElementObj.$video.volume = 0, ElementObj.$video.currentTime = 0, ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$video.play(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", this.listenVidoeStatus(), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
this.playNext()
}))
})
}
getVideoDom() {
return new Promise(e => {
let t = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
}, 1e3)
})
}
listenVidoeStatus() {
this.timer = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video && ElementObj.$video.paused && (ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0, ElementObj.$video.play())
}, 3e3)
}
listenRebort() {
this.timer2 = setInterval(() => {
var e;
"100%" == (null == (e = document.querySelector(".progress")) ? void 0 : e.querySelectorAll("span")[1].innerText.trim()) && location.reload()
}, 3e3)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask = document.querySelectorAll(".class-catlog ul li ul li"), yield sleep(1500), this.currentIndex >= ElementObj.$allTask.length - 1 && location.reload()
})
}
}
class lanzhouwenli extends Main {
constructor() {
super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this._init()
}
_init() {
let e = setInterval(() => {
ElementObj.$allTask = document.querySelectorAll(".video"), ElementObj.$allTask.length && (clearInterval(e), this.getCurrentIndex())
}, 1e3)
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask.forEach((e, t) => {
e = e.querySelector(".el-progress__text").innerText;
parseInt(e) < 96 && -1 == this.currentIndex && (this.currentIndex = t)
}), -1 != this.currentIndex && (showTip("🔉🔉🔉初始化完成,即将开始播放", 3e3), yield sleep(2e3), ElementObj.$allTask[this.currentIndex].click(), yield sleep(2500), this.handleClickSpeedUp())
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
yield this.getVideoDom(), document.querySelector(".volume-icon").classList.add("mute"), ElementObj.$video.volume = 0, yield sleep(200), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$video.play(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
var e;
yield sleep(1500), this.currentIndex >= ElementObj.$allTask.length - 1 && (this.parentIndex += 1, yield sleep(200), ElementObj.$parentNodes[this.parentIndex].querySelector(".left-img").click(), this.parentIndex >= ElementObj.$parentNodes.length - 1) || (e = document.querySelector(".videoleft img"), yield sleep(200), e.click(), showTip("正在切换课程", 3e3), setTimeout(() => __awaiter(this, void 0, void 0, function* () {
this.currentIndex += 1;
var e = ElementObj.$allTask[this.currentIndex];
yield sleep(2e3), null != e && e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 5e3)
}), 5500))
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.play()
}, 4e3)
})
})
}
getVideoDom() {
return new Promise(e => {
let t = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
}, 1e3)
})
}
}
class guojiazhihuijiaoyu extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e = document.querySelectorAll(".video-title .four");
e.length && (clearInterval(t), ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask = e, this.getCurrentIndex())
}), 1e3)
}
getCurrentIndex() {
ElementObj.$allTask.forEach((e, t) => {
"100%" != e.innerText && -1 == this.currentIndex && (this.currentIndex = t)
}), -1 == this.currentIndex && (this.currentIndex = 0), showTip("🔉🔉🔉初始化完成,即将开始自动播放", 3e3), this.handleClickSpeedUp()
}
play() {
return __awaiter(this, void 0, void 0, function* () {
var e = ElementObj.$allTask[this.currentIndex];
yield sleep(300), e.click(), yield sleep(3e3), document.querySelector("video").volume = 0;
document.querySelector(".xgplayer-icon-play").click(), yield this.getVideoDom(), ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator, this.listenVidoeStatus();
e = document.querySelector(".layui-layer-btn0");
e && e.click(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", this.listenTopic(), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
var e = document.querySelector(".layui-layer-btn0");
yield sleep(3e3), e && e.click(), this.currentIndex += 1, setTimeout(() => {
this.handleClickSpeedUp()
}, 5e3)
}))
})
}
listenTopic() {
setInterval(() => {
try {
document.querySelector("#submit") && this.answerTopic()
} catch (e) {
}
}, 5e3)
}
answerTopic() {
return __awaiter(this, void 0, void 0, function* () {
var e = document.querySelectorAll(".choice li")[0];
yield sleep(200), e.click();
let t = document.querySelector("#submit");
yield sleep(1e3), t.click(), yield sleep(2e3), t = document.querySelector("#submit"), yield sleep(200), t.click(), yield sleep(4500);
e = document.querySelector(".layui-layer-btn0");
yield sleep(200), e.click()
})
}
listenVidoeStatus() {
this.timer = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video && ElementObj.$video.paused && (ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0, ElementObj.$video.play())
}, 1e4)
}
}
class lanzhouchengren extends Main {
constructor() {
super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.videoplaying = 3, this.loadedCount = 0, this.type = 1, this._init()
}
_init() {
let e = setInterval(() => {
"/courseVideo/index" == location.pathname ? ElementObj.$allTask = document.querySelectorAll(".ant-tree-node-content-wrapper-normal .chapter-tree-level2") : ElementObj.$allTask = document.querySelectorAll(".activity li"), ElementObj.$allTask.length && (clearInterval(e), this.getCurrentIndex())
}, 1e3)
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
if ("/courseVideo/index" == location.pathname) {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) {
var t = ElementObj.$allTask[e].querySelector(".right");
if (!t) {
this.currentIndex = e;
break
}
if ("已完成" != t.querySelector(".percent-text").innerText) {
this.currentIndex = e;
break
}
}
if (-1 == this.currentIndex) return;
ElementObj.$allTask[e].click()
} else ElementObj.$allTask.forEach((e, t) => {
e.classList.contains("cur") && (this.currentIndex = t)
}), -1 == this.currentIndex && (this.currentIndex = 0);
ElementObj.$handleSpeedUp.style.display = "none", showTip("🔉初始化完成,5秒后开始播放", 3e3), yield sleep(3e3), this.handleClickSpeedUp()
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
var e = yield this.getVideoDom();
yield sleep(200), 1 == e && setTimeout(() => __awaiter(this, void 0, void 0, function* () {
this.currentIndex += 1;
var e = ElementObj.$allTask[this.currentIndex], e = null == e ? void 0 : e.querySelector("h3");
yield sleep(2e3), null != e && e.click()
}), 3e3), 2 == e && (ElementObj.$video.volume = 0, ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$video.play(), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", "/venus/study/activity/video/study.do" == location.pathname && (this.listenVidoeStatus(ElementObj.$video, () => {
var e = ElementObj.$allTask[this.currentIndex], e = null == e ? void 0 : e.querySelector("h3");
null != e && e.click()
}), this.reloadPage()), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
this.videoplaying = 1, setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1e3)
}), ElementObj.$video.addEventListener("playing", () => {
this.videoplaying = 2
}))
})
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.videoplaying = 3, yield sleep(1500), !(this.currentIndex >= ElementObj.$allTask.length - 1)) {
this.currentIndex += 1;
var t = ElementObj.$allTask[this.currentIndex];
let e;
"/courseVideo/index" == location.pathname ? (null !== (e = t) && void 0 !== e && e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 3e3)) : (e = null == t ? void 0 : t.querySelector("h3"), yield sleep(2e3), null !== e && void 0 !== e && e.click())
}
})
}
getVideoDom() {
return new Promise(e => {
let t = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$myFrame = document.querySelector("#myFrame"), ElementObj.$video && (clearInterval(t), this.type = 2, e(2)), ElementObj.$myFrame && (clearInterval(t), this.type = 1, e(1))
}, 1e3)
})
}
reloadPage() {
return __awaiter(this, void 0, void 0, function* () {
let e = 600, t = 0, n = setInterval(() => {
t += 1, e <= 0 && (clearInterval(n), location.reload()), --e
}, 1e3)
})
}
}
class tsbtchinamde extends Main {
constructor() {
super(), this.taskLength = 0, this.studyType = 1, this.currentIndex = -1, this._init()
}
_init() {
let n = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e = document.querySelectorAll(".chapterlist .item p"),
t = document.querySelectorAll(".chapterlist .chapter-li .drop p");
(e.length || t.length) && (clearInterval(n), ElementObj.$allTask = t.length ? t : e, this.getCurrentIndex(), ElementObj.$handleSpeedUp.style.display = "none")
}), 1e3)
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
let n = [];
ElementObj.$allTask.forEach((e, t) => {
var e = e.querySelector(".class_percent");
e ? (e = e.innerText, n.push(parseInt(e))) : n.push(0)
}), n.reverse();
for (var e = 0; e <= n.length - 1; e++) if (n[e] < 98) {
this.currentIndex = n.length - e - 1;
break
}
if (0 == this.currentIndex) {
ElementObj.$allTask[1].querySelector("a").click(), yield sleep(4e3), ElementObj.$allTask = document.querySelectorAll(".chapterlist .drop p"), yield sleep(200);
var t = ElementObj.$allTask[0].querySelector(".class_percent").innerText;
if (!(parseInt(t) < 98)) return;
this.currentIndex = 0
}
-1 != this.currentIndex && (ElementObj.$handleSpeedUp.style.display = "none", showTip("🔉🔉🔉初始化完成,5s后开始播放", 3e3), this.handleClickSpeedUp())
})
}
getVideoDom() {
return new Promise(e => {
let t = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video.src ? (clearInterval(t), e(1)) : (clearInterval(t), e(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer);
var e = ElementObj.$allTask[this.currentIndex].querySelector("a"),
e = (yield sleep(300), e.click(), this.studyType = yield this.getVideoDom(), 1 == this.studyType && (ElementObj.$video.volume = 0, ElementObj.$video.setAttribute("muted", "muted"), yield sleep(200), ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
})), 1 == this.studyType ? $el("#player") : $el("#thirdplayer"));
this.changeHtml(e), this.reloadPage(), this.listenPageHide(), 1 == this.studyType ? this.listenAbnormal(1) : this.listenAbnormal(0), setTimeout(() => {
this.addInfo("⚠️⚠️⚠️课程采用倒着播放,请勿手动更换课程", 0)
}, 1e3), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
location.reload()
}))
})
}
reloadPage() {
return __awaiter(this, void 0, void 0, function* () {
let e = 360, t = setInterval(() => {
e <= 0 && (clearInterval(t), location.reload()), --e
}, 1e3)
})
}
listenAbnormal(t) {
showTip("🔉课件正在学习,请务点击或长时间隐藏");
let n = 0;
setInterval(() => {
n += 1, 0 == t && this.addInfo(`后台学习${n}次,当前状态正在学习`), 1 == t && (e = (ElementObj.$video.currentTime / 60).toFixed(2), this.addInfo(`后台学习${n}次,当前状态正在学习,已播放${e}分钟`));
var e = document.querySelector(".layui-layer-btn0");
e && location.reload()
}, 5e3)
}
}
tsbtchinamde.ctxid = 26;
class zjzjsrc extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this.wrapParentIndex = 0, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e;
"/member/project_toMyCourseList.page" == location.pathname && (clearInterval(t), document.querySelectorAll("td .btn-xs")[this.wrapParentIndex].click(), yield sleep(2e3), e = yield this.getParentIndex(), null != (e = document.querySelectorAll(".panel-body")[0].querySelectorAll("tbody tr")[e].querySelector(".btn-xs[name='btn1']")) && e.click(), yield sleep(2e3), ElementObj.$allTask = document.querySelectorAll(".btn-xs[name='btn1']"), this.step2()), ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), ElementObj.$handleSpeedUp.style.display = "none", this.handleClickSpeedUp())
}), 1e3)
})
}
getParentIndex() {
var a;
return __awaiter(this, void 0, void 0, function* () {
let e = -1;
for (var t = document.querySelectorAll(".panel-body")[0].querySelectorAll("tbody tr"), n = 0; n <= t.length - 1; n++) {
var i = "2j.zjjsrc.cn" === location.host ? 4 : 6;
if ("未开始学习" == t[n].querySelectorAll("td")[i].innerText) {
e = n;
break
}
}
if (-1 == e) {
var l = document.querySelector("#option1").lastChild,
o = null == (a = document.querySelector("#option1")) ? void 0 : a.querySelector("a[title='Go to next page']");
if (l.classList.contains("active")) return e;
o.click(), yield sleep(2e3), e = yield this.getParentIndex()
}
return e
})
}
getCurrentIndex() {
showTip("正在初始化"), ElementObj.$handleSpeedUp.style.display = "none";
var e = document.querySelectorAll(".progress-bar");
let t = -1;
for (var n = 0; n <= e.length - 1; n++) {
var i = e[n].style.width;
if (100 != parseInt(i)) {
t = n;
break
}
}
return t
}
step2() {
var e;
return __awaiter(this, void 0, void 0, function* () {
let t = 0,
n = null == (e = document.querySelector("#myModal .panel-body")) ? void 0 : e.querySelectorAll("tbody tr"),
i = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e = n[t].querySelector(".btn-xs[name='btn2']"),
e = (null != e && e.click(), yield sleep(500), this.getCurrentIndex());
-1 != e && (clearInterval(i), e = document.querySelectorAll("#myModal1 tbody tr")[e].querySelector("a"), GM_openInTab(e.href, {active: !0}), localStorage.setItem("learnStatus", "-1"), "2j.zjjsrc.cn" === location.host && window.addEventListener("storage", e => {
"learnStatus" === e.key && "done" === e.newValue && location.reload()
}), "2j.zjjsrc.cn" !== location.host) && setTimeout(() => {
window.close()
}, 15e3), t++
}), 2e3)
})
}
getVideoDom() {
return new Promise(e => {
let t = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer), yield this.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.setAttribute("muted", "muted"), yield sleep(200), ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator, this.changeHtml($el("#example_video_1")), this.listenPlayTime(), this.listenPageHide(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
this.videoplaying = -1, "2j.zjjsrc.cn" === location.host ? localStorage.setItem("learnStatus", "done") : GM_openInTab("https://zj.zjjsrc.cn/member/project_toMyCourseList.page", {active: !0}), setTimeout(() => {
window.close()
}, 15e3)
})), ElementObj.$video.addEventListener("pause", () => {
clearInterval(void 0), setTimeout(() => {
document.querySelector(".vjs-play-control").click()
}, 100)
})
})
}
listenPlayTime() {
let n = 0;
this.timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
n += 1;
var e = null == (e = ElementObj.$video) ? void 0 : e.currentTime, e = (e / 60).toFixed(2),
t = null == (t = ElementObj.$video) ? void 0 : t.duration;
this.addInfo(`后台学习${n}次,当前状态正在学习,已播放${e}分钟,视频总时长为${t / 60}分钟`)
}), 5e3)
}
}
zjzjsrc.ctxid = 26;
class gzjxjy extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
let e = setInterval(() => {
ElementObj.$allTask = document.querySelectorAll(".el-step"), ElementObj.$allTask.length && (clearInterval(e), this.getCurrentIndex())
}, 1e3)
}
getCurrentIndex() {
let n = -1;
ElementObj.$allTask.forEach((e, t) => {
e.querySelector(".status-tip") || -1 != this.currentIndex || (this.currentIndex = t), e.classList.contains("active") && (n = t)
}), n != this.currentIndex && ElementObj.$allTask[this.currentIndex].querySelector(".step-title").click(), showTip("✅✅✅初始化完成,即将开始自动播放"), ElementObj.$handleSpeedUp.style.display = "none", this.handleClickSpeedUp()
}
play() {
return __awaiter(this, void 0, void 0, function* () {
yield this.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功"
}, 3e3), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer), this.currentIndex >= ElementObj.$allTask.length - 1 || (this.currentIndex += 1, yield sleep(500), ElementObj.$allTask[this.currentIndex].querySelector(".step-title").click(), showTip("✅✅✅5秒后自动切换下一个", 4500), setTimeout(() => {
location.reload()
}, 5e3))
})), ElementObj.$video.addEventListener("pause", () => __awaiter(this, void 0, void 0, function* () {
yield sleep(1e3);
var e = document.querySelector(".dialog-footer button");
e ? e.click() : setTimeout(() => {
ElementObj.$video.play()
}, 1e3)
}))
})
}
getVideoDom() {
return new Promise(e => {
let t = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
}, 1e3)
})
}
}
class gzjxjy_Answer {
constructor() {
this.currentIndex = 0, this.$allTask = document.querySelectorAll(".question-title"), this.currentTask = {
type: 1,
topicName: "",
option: []
}, this.timer = 0, this._init()
}
_init() {
let e = setInterval(() => {
this.timer += 1, 1920 < this.timer && (this.submit(), clearInterval(e))
}, 1e3), t = setInterval(() => {
this.$allTask = document.querySelectorAll(".question-title"), this.$allTask.length && (clearInterval(t), showTip("🔉初始化完成,可点击加速", 3e3), this.play())
}, 1e3)
}
play() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(2e3);
var e = this.$allTask[this.currentIndex], t = e.querySelector(".show-text");
this.currentTask.topicName = t.innerText, ElementObj.$ctxTopicName = document.querySelector(".cxtsection3 .ctxtopic-name"), ElementObj.$ctxTopicName.innerText = this.currentTask.topicName, this.currentTask.option = [];
let n = e.querySelectorAll(".el-radio__label"),
i = (n.length ? this.currentTask.type = 1 : (this.currentTask.type = 2, n = e.querySelectorAll(".el-checkbox__label")), n.forEach((e, t) => {
this.currentTask.option.push(e.innerText)
}), yield this.searchDate(this.currentTask)), l = 0,
o = setInterval(() => __awaiter(this, void 0, void 0, function* () {
if (l >= n.length) {
if (clearInterval(o), yield sleep(2e3), this.currentIndex >= this.$allTask.length - 1) return;
this.currentIndex += 1, this.play()
}
-1 != i.indexOf("" + l) && n[l].click(), l += 1
}), 500)
})
}
searchDate(n) {
return __awaiter(this, void 0, void 0, function* () {
var e = yield fetchData({url: bserUrl + ("/searchtopic?topicname=" + n.topicName), method: "GET"});
let t = ["0"];
return e.result.topickey ? t = e.result.topickey.split(",") : (2 == n.type && (t = ["0", "1", "2"]), e = `
`, ElementObj.$myTool.innerHTML += e), t
})
}
saveTopic() {
new Promise(t => __awaiter(this, void 0, void 0, function* () {
var e = yield fetchData({
method: "GET",
url: bserUrl + ("/savetopic?topic=" + JSON.stringify(this.currentTask))
});
t(e)
}))
}
submit() {
document.querySelector(".btn-submit").click()
}
}
class lzrejxjy extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$handleSpeedUp.style.display = "none";
var e = document.querySelectorAll(".my-center2RM .pull-left a.trans")[1];
e ? (clearInterval(t), GM_setValue("homeUrl", location.href), null != e && e.click(), showTip("🔉正在初始化"), yield sleep(2e3), ElementObj.$parentNodes = document.querySelectorAll(".class2Li"), this.findParentIndex()) : document.querySelectorAll(".learn-menu-cell").length && (clearInterval(t), this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
var n;
return __awaiter(this, void 0, void 0, function* () {
"zjdx-kfkc.webtrn.cn" != location.host && ((e = document.querySelectorAll(".learn-menu-cell")[1]).classList.contains("learn-menu-cur") || e.querySelector("a").click(), yield sleep(3e3));
for (var e = document.querySelector(".contentIframe"), t = (ElementObj._document = e.contentWindow.document, ElementObj.$allTask = ElementObj._document.querySelectorAll(".s_point"), showTip("正在初始化"), ElementObj.$handleSpeedUp.style.display = "none", 0); t <= ElementObj.$allTask.length - 1; t++) if (!ElementObj.$allTask[t].querySelector(".item_done_icon").classList.contains("done_icon_show")) {
this.currentIndex = t;
break
}
-1 == this.currentIndex ? (e = GM_getValue("homeUrl", null), GM_openInTab(e, {active: !0}), setTimeout(() => {
window.close()
}, 1500)) : (null != (n = ElementObj.$allTask[this.currentIndex]) && n.click(), showTip("初始化完成,5秒后开始播放"), this.handleClickSpeedUp())
})
}
findParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = "none";
let i;
ElementObj.$parentNodes.forEach((e, t) => {
var n = e.querySelector(".color-theme").innerText;
parseInt(n) <= 98 && -1 == this.currentIndex && (this.currentIndex = t, i = e.querySelector("a.btn-theme"))
}), -1 != this.currentIndex && (i.click(), setTimeout(() => {
window.close()
}, 1500))
})
}
getVideoDom() {
return new Promise(t => {
let n = 0, i = setInterval(() => {
7 < n && (clearInterval(i), t(2));
var e = null == (e = ElementObj._document.querySelector("#mainFrame")) ? void 0 : e.contentWindow.document;
ElementObj.$video = null == e ? void 0 : e.querySelector("video"), ElementObj.$video && (clearInterval(i), t(1)), n += 1
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
2 == e && this.playNext(), 1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.setAttribute("muted", "muted"), yield sleep(200), ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator, this.listenRebort(), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}))
})
}
updateSpeedElement(e) {
localStorage.setItem("_localSpeed", e.toString()), ElementObj.$video.playbackRate = e
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
let e = document.querySelector(".layui-layer-btn0");
e && setTimeout(() => {
e.click(), ElementObj.$video.play()
}, 3e3)
}, 1e4)
}
playNext() {
var e;
this.currentIndex >= ElementObj.$allTask.length - 1 ? (e = GM_getValue("homeUrl", null), GM_openInTab(e, {active: !0}), setTimeout(() => {
window.close()
}, 1500)) : (this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), showTip("🔉正在切换课程"), setTimeout(() => {
this.handleClickSpeedUp()
}, 5e3))
}
}
lzrejxjy.ctxid = 29;
class xuzhouyikedaxue extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this.parentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
var e = document.querySelector("#courseware_main_menu").querySelector("a");
e && (clearInterval(t), e.click(), this.findParentIndex())
} catch (e) {
}
}), 1e3)
})
}
findParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip("🔉正在初始化", 2500), yield sleep(4500), ElementObj.$handleSpeedUp.style.display = "none";
var e = document.querySelector(".contentIframe").contentWindow.document;
ElementObj.$parentNodes = e.querySelectorAll(".vcon li"), ElementObj.$parentNodes.forEach((e, t) => {
e = e.querySelector("span");
(e.classList.contains("undo") || e.classList.contains("doing")) && -1 == this.parentIndex && (this.parentIndex = t)
}), -1 != this.parentIndex && (ElementObj.$parentNodes[this.parentIndex].querySelector("a").click(), this.getCurrentIndex())
})
}
getCurrentIndex() {
var t;
return __awaiter(this, void 0, void 0, function* () {
showTip("正在初始化", 2500), yield sleep(4500);
var e = document.querySelector(".contentIframe");
ElementObj._document = e.contentWindow.document, ElementObj.$allTask = ElementObj._document.querySelectorAll(".menub"), this.currentIndex = 0, null != (t = ElementObj.$allTask[this.currentIndex]) && t.click(), showTip("初始化完成,5秒后开始播放"), this.handleClickSpeedUp()
})
}
getVideoDom() {
return new Promise(t => {
let n = setInterval(() => {
var e = document.querySelector(".contentIframe"),
e = (ElementObj._document = e.contentWindow.document, ElementObj._document.querySelector("#mainFrame").contentDocument);
ElementObj.$video = e.querySelector("video"), ElementObj.$video ? (clearInterval(n), t(1)) : (e.querySelector("#content_frame"), clearInterval(n), t(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer2), unsafeWindow.alert = () => {
};
var e = yield this.getVideoDom();
this.listenRebort(), 1 == e && (ElementObj.$video.volume = 0, yield sleep(200), ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3)
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
yield sleep(3e3), this.playNext()
}))), 2 == e && (this.timer2 = setTimeout(() => {
this.playNext()
}, 7e3))
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var e = document.querySelector(".layui-layer-btn a");
e && (e.click(), ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3))
}, 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅播放完成,正在切换课程", 3500), this.currentIndex >= ElementObj.$allTask.length - 1 ? (this.parentIndex += 1, ElementObj.$parentNodes[this.parentIndex].querySelector("a").click(), setTimeout(() => {
this.getCurrentIndex()
}, 4500)) : (this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
}
xuzhouyikedaxue.ctxid = 26;
class xibeisfzyjy extends Main {
constructor() {
super(), this.studyType = 2, this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.swiperIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let i = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
var e = document.querySelectorAll(".el-tree-node"),
t = document.querySelectorAll(".m-chapterList .section"),
n = ((e.length || t.length) && (this.studyType = e.length ? 2 : 1, ElementObj.$allTask = e.length ? e : t, clearInterval(i), this.getCurrentIndex()), ElementObj.$parentNodes = document.querySelectorAll(".project-courseBottom"), ElementObj.$parentNodes.length && (clearInterval(i), this.getParentIndex()), location.host);
"preview.dccloud.com.cn" == n && (clearInterval(i), yield sleep(1500), window.close())
} catch (e) {
}
}), 1e3)
})
}
getParentIndex() {
for (var e = 0; e <= ElementObj.$parentNodes.length - 1; e++) if ("已学习" != ElementObj.$parentNodes[e].querySelector("span")) {
this.parentIndex = e;
break
}
this.parentIndex, ElementObj.$parentNodes[e].querySelector(".project-courseButton").click()
}
getSwiperIndex() {
var n;
return __awaiter(this, void 0, void 0, function* () {
if (ElementObj.$video = document.querySelector("video"), yield sleep(200), ElementObj.$video) if (ElementObj.$swiperItem = document.querySelectorAll(".public-articleSlideList"), ElementObj.$swiperItem.length) {
for (var e, t = 0; t <= ElementObj.$swiperItem.length - 1; t++) if ("已学习" != ElementObj.$swiperItem[t].querySelector(".video-status").innerText) {
this.swiperIndex = t;
break
}
-1 == this.swiperIndex ? this.playNext() : 0 == this.swiperIndex ? this.handleClickSpeedUp() : (ElementObj.$swiperItem[this.swiperIndex].querySelector(".el-icon-video-play").click(), showTip("⚠️⚠️⚠️正在初始化", 3500), e = null == (n = document.querySelector(".el-message-box__btns")) ? void 0 : n.lastChild, yield sleep(2e3), e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 5e3))
} else this.handleClickSpeedUp(); else ElementObj.$docs = document.querySelectorAll(".abcd"), ElementObj.$docs.length && this.playDoc()
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = "none", showTip("正在初始化", 2500), yield sleep(3500);
let n = 1 == this.studyType ? "section-cur" : "study";
ElementObj.$allTask.forEach((e, t) => {
1 == this.studyType && e.classList.contains(n) && (this.currentIndex = t), 2 == this.studyType && "已学习" != e.querySelector("i").title && -1 == this.currentIndex && (this.currentIndex = t)
}), -1 != this.currentIndex && (2 == this.studyType && -1 != this.currentIndex && this.playNext(this.currentIndex - 1), showTip("⚠️⚠️⚠️初始化,请稍后", 3e3), 1 == this.studyType && this.handleClickSpeedUp(), 2 == this.studyType) && this.getSwiperIndex()
})
}
getVideoDom() {
return new Promise(e => {
let t = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
if (clearInterval(this.listenVidoeStatusTimer), clearInterval(this.timer), yield this.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.setAttribute("muted", "muted"), yield sleep(200), ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), 2 == this.studyType) {
let e = yield this.getDocIndex();
setTimeout(() => {
this.eachPlayDoc(e)
}, 3e3), this.changeHtml($el("#video")), this.listenPageHide(), this.listenPlayTime(), this.reloadPage()
}
this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3)
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
var e;
showTip("🔉正在切换课程", 2500), 2 == this.studyType && (this.swiperIndex >= ElementObj.$swiperItem.length - 1 ? location.reload() : (this.swiperIndex += 1, ElementObj.$swiperItem[this.swiperIndex].querySelector(".el-icon-video-play").click(), showTip("⚠️⚠️⚠️正在切换视频", 5e3), e = null == (e = document.querySelector(".el-message-box__btns")) ? void 0 : e.lastChild, yield sleep(2e3), e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 5e3))), 1 != this.studyType || this.currentIndex >= ElementObj.$allTask.length - 1 || (this.currentIndex += 1, null != (e = ElementObj.$allTask[this.currentIndex].querySelector("a")) && e.click())
}))
})
}
getDocIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$docs = document.querySelectorAll(".abcd .file-box"), yield sleep(200);
let e = -1;
for (var t = 0; t <= ElementObj.$docs.length - 1; t++) if ("( 已完成 )" != ElementObj.$docs[t].querySelector(".fs12").innerText) {
e = t;
break
}
return e
})
}
playDoc(e) {
return __awaiter(this, void 0, void 0, function* () {
var e = yield this.getDocIndex();
-1 == e ? this.playNext() : this.eachPlayDoc(e, () => {
setTimeout(() => __awaiter(this, void 0, void 0, function* () {
this.playNext()
}), 2e3)
})
})
}
eachPlayDoc(t = 0, n) {
if (-1 != t) {
let e = setInterval(() => {
t >= ElementObj.$docs.length - 1 && (clearInterval(e), "function" == typeof n) && n(), ElementObj.$docs[t].querySelector("button").click(), t += 1
}, 2e3)
}
}
playNext(t) {
var n;
return __awaiter(this, void 0, void 0, function* () {
var e;
null != t && (this.currentIndex = t), this.currentIndex >= ElementObj.$allTask.length - 1 || (this.currentIndex += 1, null != (e = ElementObj.$allTask[this.currentIndex].querySelectorAll("span")[1]) && e.click(), yield sleep(2e3), (e = null == (n = document.querySelector(".el-message-box__btns")) ? void 0 : n.lastChild) && e.click(), showTip("⚠️⚠️⚠️正在切换下一节", 4e3), setTimeout(() => {
this.getSwiperIndex()
}, 4500))
})
}
listenPlayTime() {
showTip("🔉课件正在学习,请务点击或长时间隐藏");
let t = 0;
this.timer = setInterval(() => {
t += 1;
var e = (ElementObj.$video.currentTime / 60).toFixed(2);
this.addInfo(`后台学习${t}次,当前状态正在学习,已播放${e}分钟`)
}, 5e3)
}
reloadPage() {
return __awaiter(this, void 0, void 0, function* () {
let e = 360, t = setInterval(() => {
e <= 0 && (clearInterval(t), location.reload()), --e
}, 1e3)
})
}
}
xibeisfzyjy.ctxid = 26;
class henangongshe extends Main {
constructor() {
super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.videoplaying = -1, this.timer = null, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e = document.querySelectorAll("#bxkBtudyDiv a");
e.length && (clearInterval(t), this.getParentIndex(e)), ElementObj.$allTask = document.querySelectorAll(".course-info .video-title"), ElementObj.$allTask.length && (clearInterval(t), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none"
}), 1e3)
})
}
getParentIndex(i) {
return __awaiter(this, void 0, void 0, function* () {
i[0].click(), showTip("⚠️⚠️⚠️正在初始化", 3e3), yield sleep(3e3), ElementObj.$parentNodes = document.querySelectorAll("tbody tr");
for (var e = 0; e <= ElementObj.$parentNodes.length - 1; e++) {
var t = ElementObj.$parentNodes[e].querySelector("span").innerText;
if (parseInt(t) <= 98) {
this.parentIndex = e;
break
}
}
if (-1 == this.parentIndex) {
i[1].click(), yield sleep(3e3), ElementObj.$parentNodes = document.querySelectorAll("tbody tr");
for (e = 0; e <= ElementObj.$parentNodes.length - 1; e++) {
var n = ElementObj.$parentNodes[e].querySelector("span").innerText;
if (parseInt(n) <= 98) {
this.parentIndex = e;
break
}
}
}
-1 != this.parentIndex && (GM_setValue("homeUrl", location.href), ElementObj.$parentNodes[this.parentIndex].querySelector("button").click(), setTimeout(() => {
window.close()
}, 5500))
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip("⚠️⚠️⚠️正在初始化", 3500), ElementObj.$allTask.forEach((e, t) => {
"100%" != e.querySelector(".four").innerText && -1 == this.currentIndex && (this.currentIndex = t)
}), ElementObj.$handleSpeedUp.style.display = "none", showTip("🔉初始化完成,5秒后开始播放", 3e3);
var e = ElementObj.$allTask[this.currentIndex];
yield sleep(200), e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500)
})
}
getVideoDom() {
return new Promise(e => {
let t = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), yield this.getVideoDom(), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0;
var e = document.querySelector(".xgplayer-start");
yield sleep(200), e.click(), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", this.punchCard(), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
var e;
this.currentIndex >= ElementObj.$allTask.length - 1 ? (setTimeout(() => {
window.close()
}, 1500), e = GM_getValue("homeUrl", null), GM_openInTab(e, {active: !0})) : (this.currentIndex += 1, e = ElementObj.$allTask[this.currentIndex], yield sleep(300), e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500))
}))
})
}
punchCard() {
setInterval(() => {
var e = document.querySelector("#comfirmClock");
e && e.click()
}, 5e3)
}
updateSpeedElement(e) {
localStorage.setItem("_localSpeed", e.toString()), ElementObj.$video.playbackRate = e
}
}
class zgrtvu extends Main {
constructor() {
super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.videoplaying = -1, this.timer = null, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e = document.querySelector(".head_right button");
e && (clearInterval(t), e.click()), ElementObj.$allTask = document.querySelectorAll(".page-name"), ElementObj.$allTask.length && (clearInterval(t), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none"
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip("⚠️⚠️⚠️正在初始化", 3500), ElementObj.$allTask.forEach((e, t) => {
e.classList.contains("complete") || -1 != this.currentIndex || (this.currentIndex = t)
}), ElementObj.$handleSpeedUp.style.display = "none", showTip("🔉初始化完成,5秒后开始播放", 3e3);
var e = ElementObj.$allTask[this.currentIndex];
yield sleep(200), e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500)
})
}
getVideoDom() {
return new Promise(e => {
let t = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), yield this.getVideoDom(), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0;
var e = document.querySelector(".mejs__overlay-button");
yield sleep(200), e.click(), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", this.punchCard(), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
var e;
this.currentIndex >= ElementObj.$allTask.length - 1 ? (setTimeout(() => {
window.close()
}, 1500), e = document.querySelector(".back-btn"), yield sleep(200), e.click()) : (this.currentIndex += 1, e = ElementObj.$allTask[this.currentIndex], yield sleep(300), e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500))
}))
})
}
punchCard() {
setInterval(() => {
var e = document.querySelector(".btn-submit");
e && e.click()
}, 5e3)
}
}
class henandikuang extends Main {
constructor() {
super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.videoplaying = -1, this.timer = null, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$parentNodes = document.querySelectorAll(".state-l"), ElementObj.$parentNodes.length ? (clearInterval(e), ElementObj.$parentNodes[0].querySelector(".btn span").click()) : (ElementObj.$parentNodes = document.querySelectorAll(".course-card-item"), ElementObj.$parentNodes.length && (clearInterval(e), this.getParentIndex()), ElementObj.$allTask = document.querySelectorAll(".pt5 li"), ElementObj.$allTask.length && (clearInterval(e), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none")
}), 1e3)
})
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
let e = -1;
for (var t = 0; t < ElementObj.$parentNodes.length - 1; t++) {
var n = ElementObj.$parentNodes[t].querySelector(".progress-bar").style.width;
if (parseInt(n) < 98) {
e = t;
break
}
}
-1 != e && ElementObj.$parentNodes[t].querySelector("a").click()
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip("⚠️⚠️⚠️正在初始化", 1500), ElementObj.$allTask.forEach((e, t) => {
e = e.querySelector(".badge").innerText;
100 != parseInt(e) && -1 == this.currentIndex && (this.currentIndex = t)
}), showTip("⚠️⚠初始化完成,5秒后开始播放", 3e3);
var e = ElementObj.$allTask[this.currentIndex];
yield sleep(200), e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500)
})
}
getVideoDom() {
return new Promise(e => {
let t = setInterval(() => {
ElementObj.$video = document.querySelectorAll("video")[1], ElementObj.$video && (clearInterval(t), e(!0))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), yield this.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
var e;
this.currentIndex >= ElementObj.$allTask.length - 1 ? (e = document.querySelector("a.back"), yield sleep(200), e.click()) : (this.currentIndex += 1, e = ElementObj.$allTask[this.currentIndex], yield sleep(300), e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500))
}))
})
}
}
class tazhuanjipx extends Main {
constructor() {
super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.videoplaying = -1, this.timer = null, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
this.handleClickSpeedUp()
})
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
this.handleClickSpeedUp()
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip("⚠️⚠️⚠️正在初始化", 1500), ElementObj.$allTask.forEach((e, t) => {
e = e.querySelector(".badge").innerText;
100 != parseInt(e) && -1 == this.currentIndex && (this.currentIndex = t)
}), showTip("⚠️⚠初始化完成,5秒后开始播放", 3e3);
var e = ElementObj.$allTask[this.currentIndex];
yield sleep(200), e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500)
})
}
getVideoDom() {
return new Promise(e => {
let t = setInterval(() => {
ElementObj.$video = document.querySelectorAll("video")[1] || document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer), clearInterval(this.listenVidoeStatusTimer), yield this.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", this.listenTopic(), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
this.currentIndex >= ElementObj.$allTask.length - 1 || setTimeout(() => {
this.handleClickSpeedUp()
}, 4500)
}))
})
}
listenTopic() {
this.timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e = document.querySelectorAll(".ccQuestionList li");
e.length && (clearInterval(this.timer), (MyTool.getValue("isRight") ? e[1] : e[0]).click(), yield sleep(3e3), (e = document.querySelector("#rightBtn")) ? (MyTool.setValue("isRight", !0), e.click()) : (MyTool.setValue("isRight", !1), null != (e = $el("#wrongBtn")) && e.click()))
}), 1e4)
}
}
class zhejiangtjj extends Main {
constructor() {
super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.videoplaying = -1, this.timer = null, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let i = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
var e, t = document.querySelectorAll(".course_2"),
n = document.querySelectorAll("tbody tr.el-table__row");
(t.length || n.length) && (clearInterval(i), ElementObj.$parentNodes = t.length ? t : n, e = t.length ? 1 : 2, this.getParentIndex(e)), ElementObj.$allTask = document.querySelectorAll(".page-name"), ElementObj.$allTask.length && (clearInterval(i), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none"
} catch (e) {
}
}), 1e3)
})
}
getParentIndex(t) {
return __awaiter(this, void 0, void 0, function* () {
showTip("⚠️⚠️⚠️正在初始化", 1500);
let n = 1 == t ? 0 : -1;
var e;
ElementObj.$parentNodes.forEach((e, t) => {
t > n && (e = e.querySelector(".el-progress__text").innerText, 100 != parseInt(e)) && -1 == this.currentIndex && (this.currentIndex = t)
}), -1 == this.currentIndex && 2 == t ? (GM_openInTab("https://edu.tjj.zj.gov.cn/#/personal?componentId=ClassList&type=classlist", {active: !0}), setTimeout(() => {
window.close()
}, 3500)) : (showTip("⚠️⚠初始化完成,5秒后开始播放", 3e3), e = ElementObj.$parentNodes[this.currentIndex].querySelector("button"), yield sleep(200), e.click(), setTimeout(() => {
location.reload()
}, 3e3))
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip("⚠️⚠️⚠️正在初始化", 3500), ElementObj.$allTask.forEach((e, t) => {
e.classList.contains("complete") || -1 != this.currentIndex || (this.currentIndex = t)
}), ElementObj.$handleSpeedUp.style.display = "none", showTip("🔉初始化完成,5秒后开始播放", 3e3);
var e = ElementObj.$allTask[this.currentIndex];
yield sleep(200), e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500)
})
}
getVideoDom() {
return new Promise(t => {
let n = setInterval(() => {
var e = null == (e = document.querySelector("#playerFrame")) ? void 0 : e.contentDocument;
ElementObj.$video = e.querySelector("video"), ElementObj.$video && (clearInterval(n), t(!0))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), yield this.getVideoDom(), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0;
var e = document.querySelector(".mejs__overlay-button");
yield sleep(200), e.click(), ElementObj.$video.playbackRate = toolOption.accelerator, ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", this.punchCard(), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
var e;
this.currentIndex >= ElementObj.$allTask.length - 1 ? (setTimeout(() => {
window.close()
}, 3500), e = document.querySelector(".back-btn"), yield sleep(200), e.click()) : (this.currentIndex += 1, e = ElementObj.$allTask[this.currentIndex], yield sleep(300), e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500))
}))
})
}
punchCard() {
setInterval(() => {
var e = document.querySelector(".btn-submit");
e && e.click()
}, 5e3)
}
}
class jiangxizhipeizaixian extends Main {
constructor() {
super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.timer = null, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll(".units_wrap_box___1ncip"), ElementObj.$allTask.length && (clearInterval(e), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none"
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip("⚠️⚠️⚠️正在初始化", 1500), ElementObj.$allTask.forEach((e, t) => {
var n = e.querySelector(".progress_get_on___3TDga"), e = e.querySelector(".not_start___3dAwS");
(n || e) && -1 == this.currentIndex && (this.currentIndex = t)
}), -1 == this.currentIndex && (this.currentIndex = 0), showTip("⚠️⚠初始化完成,5秒后开始播放", 3e3), ElementObj.$allTask[this.currentIndex].click(), showTip("⚠️⚠初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500)
})
}
getVideoDom() {
return new Promise(e => {
let t = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), yield this.getVideoDom(), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3500), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
var e;
this.currentIndex >= ElementObj.$allTask.length - 1 || (this.currentIndex += 1, e = ElementObj.$allTask[this.currentIndex], yield sleep(300), e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500))
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
}, 1e4)
}
}
class anhuijixujyzx extends Main {
constructor() {
super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.timer = null, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let n = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e;
try {
ElementObj.$btn_dropdown = document.querySelector(".btn_dropdown"), null != (e = ElementObj.$btn_dropdown) && e.click();
var t = document.querySelector(".btn.btn-green");
t && (clearInterval(n), yield sleep(300), t.click()), ElementObj.$allTask = document.querySelectorAll(".list-order ul li a:not(.toggle_lesson)"), ElementObj.$allTask.length && (clearInterval(n), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none"
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
var e;
return __awaiter(this, void 0, void 0, function* () {
showTip("⚠️⚠️⚠️初始化完成,5秒后开始播放", 1500), yield sleep(1500), "none" != $el("#sectionlist").style.display && null != (e = ElementObj.$btn_dropdown) && e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500)
})
}
getIndex() {
let e = 0;
for (var t = 0; t <= ElementObj.$allTask.length - 1; t++) if (ElementObj.$allTask[t].parentElement.classList.contains("current")) {
e = t;
break
}
return e
}
getVideoDom() {
return new Promise(e => {
let t = setInterval(() => {
ElementObj.$video = document.querySelectorAll("video"), 1 < ElementObj.$video.length ? ElementObj.$video = document.querySelectorAll("video")[1] : ElementObj.$video = document.querySelectorAll("video")[0], ElementObj.$video ? (clearInterval(t), e(1)) : (clearInterval(t), e(2))
}, 3e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.timer);
var e = yield this.getVideoDom();
1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3500), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", this.listenPlayTime(), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == e && (showTip("🔉检测到没有视频,3秒后自动切换下一个", 3e3), yield sleep(3e3), e = this.getIndex(), (document.querySelector(".preNext.next") || (e = ElementObj.$allTask[e + 1], yield sleep(200), e)).click())
})
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
})
}
listenPlayTime() {
showTip("🔉课件正在学习,请务点击或长时间隐藏");
let t = 0;
this.timer = setInterval(() => {
t += 1;
let e = document.querySelector(".btn.btn-green");
e && (clearInterval(this.timer), showTip("🔉检测到视频已学完,3秒后自动切换下一个"), setTimeout(() => {
e.click()
}, 3e3))
}, 3e3)
}
}
class lanzhoudxgs extends Main {
constructor() {
super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.timer = null, this.listenVidoeStatusTimer = null, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e;
try {
ElementObj.$btn_dropdown = document.querySelector("#catalogA"), null != (e = ElementObj.$btn_dropdown) && e.click(), ElementObj.$allTask = document.querySelectorAll("li.activity-node"), ElementObj.$allTask.length && (clearInterval(t), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none"
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
var e;
return __awaiter(this, void 0, void 0, function* () {
showTip("⚠️⚠️⚠️初始化完成,5秒后开始播放", 1500), yield sleep(1500), "none" != $el("#toolsContentDiv").style.display && null != (e = ElementObj.$btn_dropdown) && e.click();
let n = [];
ElementObj.$allTask.forEach((e, t) => {
e.querySelector(".cedu-file-video") && n.push(e)
}), ElementObj.$allTask = n, this.currentIndex = 0, setTimeout(() => {
this.handleClickSpeedUp()
}, 4500)
})
}
getVideoDom() {
return new Promise(t => {
let n = setInterval(() => {
var e = document.querySelector(".vjs-big-play-button");
ElementObj.$video = document.querySelector("video"), ElementObj.$video && e && (clearInterval(n), t(!0))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), yield this.getVideoDom(), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0;
var e = document.querySelector(".vjs-big-play-button");
yield sleep(200), null != e && e.click(), yield sleep(2500), ElementObj.$video.pause(), setTimeout(() => {
ElementObj.$video.currentTime -= 30, ElementObj.$video.play()
}, 2500), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3500), this.changeHtml($el("#video_div")), this.listenPlayTime(), this.listenPageHide(), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})
})
}
listenPlayTime() {
showTip("🔉课件正在学习,请务点击或长时间隐藏");
let t = 0;
this.timer = setInterval(() => {
t += 1;
var e = (ElementObj.$video.currentTime / 60).toFixed(2);
this.addInfo(`后台学习${t}次,当前状态正在学习,已播放${e}分钟`), ElementObj.$video.currentTime >= ElementObj.$video.duration - 4 && this.playNext()
}, 5e3)
}
listenVidoeStatus(t, n) {
if (t) {
let e = 0;
this.timer2 = setInterval(() => {
t.readyState < 4 && (this.addInfo(`检测到${e}次,视频正在加载`, 0), 20 <= (e += 1)) && location.reload(), t.paused && (e += 1, "function" == typeof n) && (20 <= e ? location.reload() : n())
}, 3e3)
}
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
showTip("⚠️⚠️⚠️检测到视频已播放完,5秒后自动切换下一个视频", 4500), yield sleep(5e3), this.currentIndex += 1;
var e = ElementObj.$allTask[this.currentIndex],
t = (yield sleep(300), e.querySelector(".cedu-file-video"));
t && e.click()
})
}
}
class jidianshejijiaoyu extends Main {
constructor() {
super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.swiperIndex = -1, this.timer = null, this.listenVidoeStatusTimer = null, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
document.querySelector(".layui-layer-btn0") ? (clearInterval(e), this.playNext()) : (ElementObj.$allTask = document.querySelectorAll(".course_chapter_item"), ElementObj.$allTask.length && (clearInterval(e), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none")
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip("⚠️⚠️⚠️初始化完成,5秒后开始播放", 1500), yield sleep(1500), ElementObj.$allTask.forEach((e, t) => {
e.querySelector("i.fa-circle") || -1 != this.currentIndex || (this.currentIndex = t)
}), -1 != this.currentIndex && (ElementObj.$allTask[this.currentIndex].querySelector(".section_title").click(), showTip("⚠️⚠️⚠️正在初始化", 3500), setTimeout(() => {
this.getSwiperIndex()
}, 4500))
})
}
getSwiperIndex() {
ElementObj.$swiperItem = document.querySelectorAll("#menu_tarr_content .courseware_menu_item"), this.swiperIndex = -1;
for (var e = 0; e <= ElementObj.$swiperItem.length - 1; e++) {
var t = ElementObj.$swiperItem[e];
if (t.querySelector(".icon-note-video-learning")) {
this.swiperIndex = e, t.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 3500);
break
}
}
-1 == this.swiperIndex && location.reload()
}
getVideoDom() {
return new Promise(t => {
let n = setInterval(() => {
var e = document.querySelector(".vjs-big-play-button");
ElementObj.$video = document.querySelector("video"), ElementObj.$video && e && (clearInterval(n), t(!0))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), yield this.getVideoDom(), ElementObj.$video.setAttribute("muted", "muted"), ElementObj.$video.volume = 0, yield sleep(2500), ElementObj.$video.play(), this.changeHtml($el(".video-play")), this.listenPlayTime(), this.listenPageHide(), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})
})
}
listenPlayTime() {
showTip("🔉课件正在学习,请务点击或长时间隐藏");
let t = 0;
this.timer = setInterval(() => {
t += 1;
var e = (ElementObj.$video.currentTime / 60).toFixed(2),
e = (this.addInfo(`后台学习${t}次,当前状态正在学习,已播放${e}分钟`), document.querySelector(".complete"));
e && (this.addInfo("✅✅✅,当前视频播放完成,5秒后自动切换下一个视频"), this.swiperIndex >= ElementObj.$swiperItem.length - 1 ? location.reload() : (this.swiperIndex += 1, $el("#right_tarr").click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 3500))), ElementObj.$video.currentTime >= ElementObj.$video.duration - 4 && this.playNext()
}, 5e3)
}
listenVidoeStatus(t, n) {
if (t) {
let e = 0;
this.timer2 = setInterval(() => {
t.readyState < 4 && (this.addInfo(`检测到${e}次,视频正在加载`, 0), 20 <= (e += 1)) && location.reload(), t.paused && (e += 1, "function" == typeof n) && (20 <= e ? location.reload() : n())
}, 3e3)
}
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
showTip("⚠️⚠️⚠️检测到视频已播放完,5秒后自动切换下一个视频", 4500), yield sleep(5e3);
var e = document.querySelector(".layui-layer-btn0");
e && (e.click(), yield sleep(2e3), location.reload())
})
}
}
class ycjyluteducn extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this.parentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
window.alert = function () {
};
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e;
"/learnspace/learn/learn/blue/content_video.action" == location.pathname ? (clearInterval(t), window.close()) : (e = document.querySelector("#courseware_main_menu").querySelector("a")) && (clearInterval(t), e.click(), yield this.findParentIndex())
}), 1e3)
})
}
findParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip("🔉正在初始化", 2500), yield sleep(4500), unsafeWindow.alert = () => {
}, ElementObj.$handleSpeedUp.style.display = "none";
var e = document.querySelector(".contentIframe").contentWindow.document;
ElementObj.$parentNodes = e.querySelectorAll(".vcon li"), ElementObj.$parentNodes.forEach((e, t) => {
var n = e.querySelector("span"), e = e.innerText.indexOf("练习");
(n.classList.contains("undo") || n.classList.contains("doing")) && -1 == this.parentIndex && -1 == e && (this.parentIndex = t)
}), -1 != this.parentIndex && (ElementObj.$parentNodes[this.parentIndex].querySelector("a").click(), yield this.getCurrentIndex())
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip("正在初始化", 2500);
let t = setInterval(() => {
var e = document.querySelector(".contentIframe");
ElementObj._document = e.contentWindow.document, ElementObj.$allTask = ElementObj._document.querySelectorAll(".menub"), ElementObj.$allTask.length && (clearInterval(t), this.currentIndex = 0, null != (e = ElementObj.$allTask[this.currentIndex]) && e.click(), showTip("初始化完成,5秒后开始播放"), this.handleClickSpeedUp())
}, 1e3)
})
}
getVideoDom() {
return new Promise(t => {
let n = setInterval(() => {
var e = ElementObj._document.querySelector("#mainFrame").contentDocument;
ElementObj.$video = e.querySelector("video"), ElementObj.$video ? (clearInterval(n), t(1)) : (e.querySelector("#content_frame"), clearInterval(n), t(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer2), unsafeWindow.alert = () => {
};
var e = yield this.getVideoDom();
this.listenRebort(), 1 == e && (ElementObj.$video.volume = 0, yield sleep(200), ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3)
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
yield sleep(3e3), this.playNext()
}))), 2 == e && (this.timer2 = setTimeout(() => {
this.playNext()
}, 7e3))
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
unsafeWindow;
unsafeWindow.alert = function () {
};
var e = document.querySelector(".layui-layer-btn a");
e && (e.click(), ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3))
}, 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
unsafeWindow.alert = () => {
}, showTip("✅✅✅播放完成,正在切换课程", 3500), this.currentIndex >= ElementObj.$allTask.length - 1 ? (this.parentIndex += 1, -1 != ElementObj.$parentNodes[this.parentIndex].innerText.indexOf("练习") && (this.parentIndex += 1), ElementObj.$parentNodes[this.parentIndex].querySelector("a").click(), setTimeout(() => {
this.getCurrentIndex()
}, 4500)) : (this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), yield sleep(5e3), this.handleClickSpeedUp())
})
}
}
ycjyluteducn.ctxid = 26;
class gdrcjxjyw extends Main {
constructor() {
super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.timer = null, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
var e;
ElementObj.$parentNodes = document.querySelectorAll(".m-list .item"), ElementObj.$parentNodes.length ? (clearInterval(t), this.getParentIndex()) : (ElementObj.$video = document.querySelector("video"), ElementObj.$video && "www.rcjxjy.com" == location.host ? (clearInterval(t), this.handleClickSpeedUp()) : (e = document.querySelectorAll(".player-table")[2], ElementObj.$allTask = e.querySelectorAll("td"), ElementObj.$allTask.length && (clearInterval(t), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none"))
} catch (e) {
}
}), 1e3)
})
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅正在初始化,请勿点击", 3e3);
let t = 0, n = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$parentNodes[t].querySelector(".btn-continue-study").click(), yield sleep(500), ElementObj.$allTask = document.querySelectorAll(".video-item .f-cb");
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if ("播放完成" != ElementObj.$allTask[e].querySelector(".videoName").innerText) {
clearInterval(n), showTip("✅✅✅初始化完成"), ElementObj.$allTask[e].querySelector("a.u-btn").click();
break
}
t += 1
}), 3e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
let i = -1;
ElementObj.$allTask.forEach((e, t) => {
var n = e.querySelector(".playLine").innerText;
100 != parseInt(n) && -1 == this.currentIndex && (this.currentIndex = t), e.classList.contains("couBg") && (i = t)
}), -1 != this.currentIndex && (this.currentIndex != i && ElementObj.$allTask[this.currentIndex].querySelector("a").click(), showTip("⚠️⚠️⚠️初始化完成,5秒后开始播放", 3500), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500))
})
}
getVideoDom() {
return ElementObj.$handleSpeedUp.style.display = "none", new Promise(t => {
let n = setInterval(() => {
var e;
ElementObj.$video = document.querySelector("video"), (ElementObj.$video || (e = document.querySelector("#c_frame").contentDocument, ElementObj.$video = e.querySelector("video"), ElementObj.$video)) && (clearInterval(n), t(!0))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), yield this.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3500), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("⚠️⚠️⚠️检测到视频已播放完,5秒后自动切换下一个视频", 4500), yield sleep(3e3), "www.rcjxjy.com" == location.host ? document.querySelector("a.u-btn.normal").click() : location.reload()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator
}, 1500)
})
})
}
}
class shixuetong extends Main {
constructor() {
super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.timer = null, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask = document.querySelectorAll(".Nvideo-item li"), ElementObj.$allTask.length && (clearInterval(e), $el(".Nvideo-playbox").style.position = "relative", this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
this.currentIndex = 0, showTip("⚠️⚠️⚠️初始化完成,5秒后开始播放", 3500), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500)
})
}
getVideoDom() {
return new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(n), e(1)), 10 < t && (clearInterval(n), e(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.timer), clearInterval(this.timer2);
var e = yield this.getVideoDom();
1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3500), this.changeHtml($el(".video")), this.listenPageHide(), this.listenPlayTime(), this.listenRebort(), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("⚠️⚠️⚠️检测到视频已播放完,5秒后自动切换下一个视频", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator
}, 1500)
})), 2 == e && (showTip("⚠️⚠️⚠️检测到当前不是视频,5秒后自动切换下一个视频", 4500), this.playNext())
})
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
var e, t;
yield sleep(2e3), this.currentIndex >= ElementObj.$allTask.length - 1 ? (e = document.querySelector("#courseStudyBestMinutesNumber").innerText, t = document.querySelector("#courseStudyMinutesNumber").innerText, parseFloat(e) > parseFloat(t) && location.reload()) : (this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
var e = document.querySelector(".layui-layer-btn- a");
null != e && e.click(), this.handleClickSpeedUp()
}, 4500))
})
}
listenPlayTime() {
showTip("⚠️⚠️⚠️课件正在学习,请务点击或长时间隐藏");
let n = 0;
this.timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
n += 1;
var e, t = (ElementObj.$video.currentTime / 60).toFixed(2);
this.addInfo(`后台学习${n}次,当前状态正在学习,已播放${t}分钟`), n % 30 == 0 && (t = $el("#courseStudyBestMinutesNumber").innerText, null != (e = document.querySelector(".studyCourseTimeRefresh")) && e.click(), yield sleep(2e3), e = $el("#courseStudyMinutesNumber").innerText, this.addInfo(`✅✅✅本课程最长可累计时间:${t}分钟,您已成功学习${e}分钟`, 0))
}), 5e3)
}
listenRebort() {
this.timer2 = setInterval(() => {
var e, t = document.querySelector("#codespan");
t && (clearInterval(this.timer2), e = document.querySelector("#code"), t = t.innerText, e.value = t, document.querySelector(".layui-layer-btn0").click(), this.listenRebort())
}, 8e3)
}
}
class shandongenhualvyou extends Main {
constructor() {
super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.timer = null, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
var e = document.querySelector("#dashboard-toolbar-nav li");
null != e && e.click();
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll("li.task-item"), ElementObj.$allTask.length && (clearInterval(t), this.getCurrentIndex()), ElementObj.$handleSpeedUp.style.display = "none"
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask.forEach((e, t) => {
e.querySelector(".es-icon-iccheckcircleblack24px") || -1 != this.currentIndex || (this.currentIndex = t)
}), -1 == this.currentIndex && (this.currentIndex = 0), showTip("⚠️⚠️⚠️初始化完成,5秒后开始播放", 3500), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500)
})
}
getVideoDom() {
return new Promise(t => {
let n = setInterval(() => {
var e = document.querySelector("#task-content-iframe");
e.contentDocument;
ElementObj.$video = e.querySelector("video"), ElementObj.$video && (clearInterval(n), t(!0))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.timer), yield this.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3500), ElementObj.$ctxstatsbox || this.changeHtml($el(".video")), this.listenPageHide(), this.listenPlayTime(), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("⚠️⚠️⚠️检测到视频已播放完,5秒后自动切换下一个视频", 4500), yield sleep(3e3), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500)
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator
}, 1500)
})
})
}
listenPlayTime() {
showTip("⚠️⚠️⚠️课件正在学习,请务点击或长时间隐藏");
let n = 0;
this.timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
n += 1;
var e = (ElementObj.$video.currentTime / 60).toFixed(2),
t = (ElementObj.$video.duration / 60).toFixed(2);
this.addInfo(`后台学习${n}次,当前状态正在学习,已播放${e}分钟,视频总时长为` + t)
}), 5e3)
}
}
class gansugongwuyuan extends Main {
constructor() {
super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.timer = null, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let i = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
var e, t, n = $el(".min_le_1 a");
n ? (clearInterval(i), e = localStorage.getItem("mytoolkey"), MyTool.setValue("mytoolkey", e), n.click(), yield sleep(2e3), $el(".xuxi_1").click(), yield sleep(2e3), this.getParentIndex()) : (ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(i), t = MyTool.getValue("mytoolkey"), this.deleteDom(), this.handleClickSpeedUp2(t)), ElementObj.$handleSpeedUp.style.display = "none")
} catch (e) {
}
}), 1e3)
})
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
$el("a.my").click(), yield sleep(2e3);
let e = Number($el("#pagenumtext").value);
for (var t, n = [], i = e; 0 < i; i--) n.push(i);
let l = !1;
for (t of n) {
if (l) break;
yield sleep(1500), ElementObj.$allTask = document.querySelectorAll(".main_r_dd2");
for (var o = 0; o <= ElementObj.$allTask.length - 1; o++) {
var a = ElementObj.$allTask[o].querySelector(".hqjd_btn"),
a = (a && (a.click(), yield sleep(2500)), ElementObj.$allTask[o].querySelector(".jindu div"));
if (parseInt(a.style.width) < 100) {
l = !0, MyTool.setValue("pageNum", t), MyTool.setValue("homeUrl", location.href);
a = ElementObj.$allTask[o].querySelector("#playVideo");
null != a && a.click(), setTimeout(() => {
window.close()
}, 1e4);
break
}
--e;
a = $el(".syy");
null != a && a.click()
}
}
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
})
}
getVideoDom() {
return new Promise(e => {
let t = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer), yield this.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = MyTool.getValue("accelerator")
}, 3500), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
var e = MyTool.getValue("homeUrl");
MyTool.openInTab(e), setTimeout(() => {
window.close()
}, 1e4)
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => __awaiter(this, void 0, void 0, function* () {
var e = document.querySelector("#dvMsgBtns input");
null != e && e.click(), yield sleep(2e3), ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator
}), 2500)
})
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
document.querySelector("#dvMsgBtns input") && (this.deleteDom(), setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500))
}, 3e3)
}
deleteDom() {
var e = document.querySelector("body"), t = document.getElementById("dvMsgBox"),
n = document.getElementById("ShowBolightBox"), i = document.createElement("div");
i.innerHTML = "", e.replaceChild(i, t), e.replaceChild(i, n)
}
handleClickSpeedUp2(t, e) {
return __awaiter(this, void 0, void 0, function* () {
var e;
t ? (this.speedStatus = 1, 200 != (e = yield fetchData({
method: "GET",
url: bserUrl + (`/speedup?toolkey=${t}&canuse=` + toolOption.SchoolType)
})).code ? showTip("🔉🔉🔉" + e.message, 5e3, !0) : (this.speedStatus = 1, toolOption.CtxMain.play(), this.randomListen())) : window.open(basehost)
})
}
handleChangeCtxSpeed(e) {
var t = speedArr, n = Number(e);
e && t.includes(n) && (toolOption.accelerator = n, MyTool.setValue("accelerator", n.toString()), ElementObj.$video) && (ElementObj.$video.playbackRate = n)
}
}
class wlmqcol extends Main {
constructor() {
super(), this.taskLength = 0, this.parentIndex = -1, this.currentIndex = -1, this.timer = null, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$handleSpeedUp.style.display = "none";
var e = document.querySelector("#tab-second");
e ? (clearInterval(t), e.click(), this.getCurrentIndex()) : document.querySelector("video") && (clearInterval(t), this.pdPlayFn(location.href))
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(1e3), ElementObj.$allTask = document.querySelectorAll(".task-list");
for (var e, t = 0; t <= ElementObj.$allTask.length - 1; t++) if (!ElementObj.$allTask[t].querySelector(".icon-yiwancheng")) {
this.currentIndex = t;
break
}
-1 != this.currentIndex && (null != (e = document.querySelectorAll(".task-list")[this.currentIndex].querySelector("span")) && e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 3e3))
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.timer), yield this.getVideoDom(), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3500), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$video.volume = 0, ElementObj.$video.play(), ElementObj.$video.playbackRate = toolOption.accelerator
}), 2500)
})
})
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
var e = document.querySelectorAll(".el-breadcrumb__inner.is-link")[1];
null != e && e.click(), setTimeout(() => {
location.reload()
}, 3500)
})
}
}
class shandongzhuanyejisu extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
document.querySelectorAll(".learn-menu-cell").length && (clearInterval(e), this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
var n;
return __awaiter(this, void 0, void 0, function* () {
showTip("正在初始化");
for (var e = document.querySelector(".contentIframe"), t = (ElementObj._document = e.contentWindow.document, "/learnspace/learn/learn/templateeight/index.action" == location.pathname ? ElementObj.$allTask = ElementObj._document.querySelectorAll(".s_sectionwrap .s_point") : ElementObj.$allTask = ElementObj._document.querySelectorAll(".s_pointwrap .s_point"), ElementObj.$handleSpeedUp.style.display = "none", 0); t <= ElementObj.$allTask.length - 1; t++) if (!ElementObj.$allTask[t].querySelector(".item_done_icon").classList.contains("done_icon_show")) {
this.currentIndex = t;
break
}
-1 != this.currentIndex && (null != (n = ElementObj.$allTask[this.currentIndex]) && n.click(), showTip("初始化完成,5秒后开始播放"), this.handleClickSpeedUp())
})
}
getVideoDom() {
return new Promise(t => {
let n = 0, i = setInterval(() => {
var e = ElementObj._document.querySelector("#mainFrame").contentWindow.document;
ElementObj.$video = e.querySelector("video"), ElementObj.$video && (clearInterval(i), t(1)), 10 <= n && (clearInterval(i), t(2)), n++
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
1 == e && (ElementObj.$video.volume = 0, yield sleep(200), ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenRebort(), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
})), 2 == e && (showTip("✅✅✅检测到该章节不是视频,即将切换下一节", 2e3), yield sleep(2e3), this.playNext())
})
}
updateSpeedElement(e) {
localStorage.setItem("_localSpeed", e.toString()), ElementObj.$video.playbackRate = e
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
let e = document.querySelector(".layui-layer-btn0");
e && setTimeout(() => {
e.click(), ElementObj.$video.play()
}, 3e3)
}, 1e4)
}
playNext() {
this.currentIndex >= ElementObj.$allTask.length - 1 || (this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), showTip("🔉正在切换课程"), setTimeout(() => {
this.handleClickSpeedUp()
}, 5e3))
}
}
shandongzhuanyejisu.ctxid = 26;
class zhijiaoyun2 extends Main {
constructor() {
super(), this.taskLength = 0, this.topIndex = 0, this.parentIndex = -1, this.currentIndex = -1, this.videoplaying = -1, this.authorization = null, this.classList = [], this.selectData = [], this.timer = null, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
document.querySelector(".r.rFu");
"/study/coursePreview/spoccourseIndex/courseware" == location.pathname && (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.handleClickSpeedUp()), "/study/coursePreview/spoccourseIndex" == location.pathname && (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", yield this.getCurrentIndex())
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
let i = setInterval(() => __awaiter(this, void 0, void 0, function* () {
if (ElementObj.$allTask = document.querySelectorAll(".listItem"), ElementObj.$allTask.length) {
clearInterval(i);
let t = !1;
for (var n of ElementObj.$allTask) {
var e = n.querySelector(".el-progress-bar__inner").style.width;
if (parseInt(e) < 99) {
t = !0, n.click(), yield sleep(3e3), n.querySelector(".items.iChild").click(), yield sleep(3e3), setTimeout(() => {
location.reload()
}, 2e3);
let e = n.querySelector(".fItem");
(e = e || n.querySelector(".fIteml")).click();
break
}
}
t || (location.href = "https://zjy2.icve.com.cn/study/course")
}
}), 2e3)
})
}
getVideoDom() {
return new Promise(e => {
let t = 7, n = setInterval(() => {
t < 0 && (clearInterval(n), e(2)), ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : document.querySelectorAll(".el-carousel__item").length ? (clearInterval(n), e(2)) : --t
}, 1e3)
})
}
play() {
var i;
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer);
var e = yield this.getVideoDom();
if (null != (i = document.querySelector(".el-message-box__btns button")) && i.click(), yield this.changeHtml(document.querySelector(".video")), 1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 2500), this.listenVidoeStatus(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
yield this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 3e3)
})), 2 == e) {
this.addInfo("🔊🔊🔊即将开始播放文档");
var t, e = document.querySelectorAll(".el-carousel__item"),
n = document.querySelector(".page>.next");
for (t of e) n.click(), yield sleep(500);
this.addInfo("🎉🎉🎉🎉🎉🎉文档播放完成🎉🎉🎉🎉🎉🎉"), yield this.playNext()
}
})
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
var e = document.querySelector(".next>a");
"暂无" == (null == e ? void 0 : e.innerText) ? (setTimeout(() => {
location.reload()
}, 2e3), document.querySelector(".location .r").click()) : (yield sleep(300), null != e && e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 2500))
})
}
listenVidoeStatus() {
let e = 0;
this.timer = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video && (this.addInfo(`🔉🔉🔉已成功监测${e}次,程序后台以${toolOption.accelerator}倍速正常学习中`), e += 1)
}, 3e3)
}
render(t) {
var n = 1 == t ? this.classList : this.selectData;
let i = "";
for (let e = 0; e < n.length; e++) {
var l = n[e];
i += `
${l.courseInfoName}
班级:${l.className}
学期:${l.termName}
完成进度:${l.studySpeed}%
`
}
var o = 1 == t ? document.querySelector(".leftPannel") : document.querySelector(".rightPannel");
o.innerHTML = i;
for (let e = 0; e < o.children.length; e++) o.children[e].querySelector("button").onclick = () => {
1 == t ? this.moveDataToSelectData(e) : this.moveDataToClassList(e)
}
}
moveDataToSelectData(e) {
this.selectData.push(this.classList[e]), this.classList.splice(e, 1), this.handleTemplekeyData(), this.render(1), this.render(2)
}
moveDataToClassList(e) {
this.classList.push(this.selectData[e]), this.selectData.splice(e, 1), this.handleTemplekeyData(), this.render(1), this.render(2)
}
handleTemplekeyData() {
MyTool.setValue("selectData", this.selectData)
}
}
class chongqingzhuanye extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let a = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e, t, n, i, l, o;
try {
ElementObj.$parentNodes = document.querySelectorAll(".course__list--content .course__item"), ElementObj.$parentNodes.length ? (clearInterval(a), this.getParentIndex()) : document.querySelector(".btn-next") && "/nms-frontend/index.html" == location.pathname ? (clearInterval(a), MyTool.setValue("homeUrl", location.href), this.getParentIndex2()) : (ElementObj.$allTask = document.querySelectorAll("ul li ul li .posCatalog_select"), ElementObj.$allTask.length && (clearInterval(a), this.getCurrentIndex()), (n = document.querySelector("#iframe_aliplayer")) ? (clearInterval(a), ElementObj.$video = null == (e = null == n ? void 0 : n.contentDocument) ? void 0 : e.querySelector("video"), this.handleClickSpeedUp2()) : (i = document.querySelector("#aliPlayerFrame")) && (ElementObj.$allTask = null == (t = i.contentDocument) ? void 0 : t.querySelectorAll(".section .section-item"), ElementObj.$allTask.length) ? (clearInterval(a), this.getCurrentIndex2()) : (l = document.querySelectorAll(".complete-status .btn-item")[2]) && (clearInterval(a), l.click(), yield sleep(1500), 0 !== (o = document.querySelectorAll("#pane-MUST .text-item")).length) && (MyTool.setValue("homeUrl", location.href), o[0].click(), setTimeout(() => {
window.close()
}, 2e4)))
} catch (e) {
}
}), 1e3)
})
}
getParentIndex() {
ElementObj.$parentNodes.forEach(e => {
var t = e.querySelector("span.num");
t && parseInt(t.innerText) <= 95 && (e.querySelector(".enter-btn").click(), setTimeout(() => {
location.reload()
}, 3e3))
})
}
getParentIndex2() {
return __awaiter(this, void 0, void 0, function* () {
document.querySelectorAll(".btn-box .btn-item")[2].click(), yield sleep(3500), document.querySelectorAll("#pane-MUST .text-item")[0].click()
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅正在初始化"), ElementObj.$handleSpeedUp.style.display = "none";
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (!ElementObj.$allTask[e].querySelector(".icon_Completed")) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (ElementObj.$allTask[this.currentIndex].querySelector(".posCatalog_name").click(), showTip("初始化完成,5秒后开始播放"), this.handleClickSpeedUp())
})
}
getCurrentIndex2() {
return __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅正在初始化"), ElementObj.$handleSpeedUp.style.display = "none";
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (!ElementObj.$allTask[e].classList.contains("finish")) {
this.currentIndex = e;
break
}
-1 == this.currentIndex && (location.href = MyTool.getValue("homeUrl")), ElementObj.$allTask[e].click(), showTip("✅✅✅完成初始化,5秒后开始播放"), setTimeout(() => {
this.handleClickSpeedUp2(() => {
}, 3)
}, 4500)
})
}
getVideoDom(e) {
return new Promise(i => {
if (e) {
let t = 0, n = setInterval(() => {
var e = document.querySelector("#aliPlayerFrame").contentDocument;
ElementObj.$video = e.querySelector("video"), t += 1, ElementObj.$video && (clearInterval(n), i(!0)), 10 < t && (clearInterval(n), i(!1))
}, 1e3)
} else {
let t = 0, n = setInterval(() => {
var e = null == (e = null == (e = document.querySelector("#iframe").contentDocument) ? void 0 : e.querySelector("iframe")) ? void 0 : e.contentDocument;
ElementObj.$video = e.querySelector("video"), t += 1, ElementObj.$video && (clearInterval(n), i(!0)), 10 < t && (clearInterval(n), i(!1))
}, 1e3)
}
})
}
play() {
var n;
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer);
var e, t = yield this.getVideoDom();
t && (ElementObj.$video.volume = 0, yield sleep(200), ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), e = null == (n = $el("#iframe").contentDocument.querySelector("iframe")) ? void 0 : n.contentDocument.querySelector("#reader"), this.changeHtml(e), this.listenPageHide(), this.listenPlayTime(), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
})), t || (showTip("⚠️⚠️⚠️未检测到视频,5秒后切换下一节", 4500), setTimeout(() => {
this.playNext()
}, 3e3))
})
}
play2() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$video ? (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
var e = MyTool.getValue("homeUrl");
yield sleep(2500), MyTool.openInTab(e), setTimeout(() => {
window.close()
}, 5e3)
}))) : location.reload()
})
}
play3() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer);
yield this.getVideoDom("#aliPlayerFrame");
ElementObj.$video.volume = 0, yield sleep(200), ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
var e;
this.currentIndex >= ElementObj.$allTask.length - 1 ? (e = MyTool.getValue("homeUrl"), yield sleep(2500), MyTool.openInTab(e), setTimeout(() => {
window.close()
}, 15e3)) : (this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), showTip("⚠️⚠️⚠️正在切换课程", 4500), setTimeout(() => {
this.handleClickSpeedUp2(() => {
}, 3)
}, 4500))
})), ElementObj.$video.addEventListener("pause", () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), this.listenRebortTime = setInterval(() => {
var e = null == (e = null == (e = document.querySelector("iframe")) ? void 0 : e.contentDocument) ? void 0 : e.querySelector(".next-button");
e && e.click()
}, 13e3)
})
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(3e3), this.currentIndex >= ElementObj.$allTask.length - 1 ? location.href = MyTool.getValue("homeUrl") : (this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].querySelector(".posCatalog_name").click(), showTip("⚠️⚠️⚠️正在切换课程", 4500), setTimeout(() => {
this.handleClickSpeedUp()
}, 5e3))
})
}
listenPlayTime() {
showTip("🔉课件正在学习,请务点击或长时间隐藏");
let n = 0;
this.timer = setInterval(() => {
n += 1;
var e = (ElementObj.$video.currentTime / 60).toFixed(2),
t = (ElementObj.$video.duration / 60).toFixed(2),
e = (this.addInfo(`后台学习${n}次,当前状态正在学习,已播放${e}分钟,视频总时长为${t}分钟`), document.querySelector("#iframe")),
e = null == (t = e.contentDocument) ? void 0 : t.querySelector(".ans-job-icon");
"任务点已完成" == (null == e ? void 0 : e.getAttribute("aria-label")) && (clearInterval(this.timer), this.addInfo("✅✅✅监测到当前任务已完成,5秒后自动切换下一节", 1), setTimeout(() => {
this.playNext()
}, 3e3))
}, 3e3)
}
addInfo(e, t) {
ElementObj.$ctxstatsbox = null == (n = $el("#iframe").contentDocument.querySelector("iframe")) ? void 0 : n.contentDocument.querySelector(".ctxstatsbox");
var n = null == (n = $el("#iframe").contentDocument.querySelector("iframe")) ? void 0 : n.contentDocument.querySelectorAll(".ctxstatsbox_li"),
n = (15 <= n.length && (ElementObj.$ctxstatsbox.innerHTML = ""), `${e}`);
ElementObj.$ctxstatsbox.innerHTML += n
}
handleClickSpeedUp2(e, t) {
return __awaiter(this, void 0, void 0, function* () {
var e = localStorage.getItem("mytoolkey");
e ? (this.speedStatus = 1, 200 != (e = yield fetchData({
method: "GET",
url: bserUrl + (`/speedup?toolkey=${e}&canuse=` + toolOption.SchoolType)
})).code ? showTip("🔉🔉🔉" + e.message, 5e3, !0) : (this.speedStatus = 1, 3 == t ? this.play3() : this.play2(), this.randomListen())) : window.open(basehost)
})
}
}
chongqingzhuanye.ctxid = 26;
class jiaoyuganbuwang extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
var e = document.querySelectorAll(".customcur-tabs-wrapper li")[1];
e ? (clearInterval(t), e.click(), this.getParentIndex()) : (ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), this.getCurrentIndex()))
} catch (e) {
}
}), 1e3)
})
}
getParentIndex() {
var t;
return __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅正在初始化", 3e3), ElementObj.$handleSpeedUp.style.display = "none", yield sleep(3e3), GM_setValue("homeUrl", location.href), showTip("初始化完成,5秒后开始播放"), yield sleep(3e3);
var e = document.querySelectorAll("tr")[2].lastChild;
null != (t = e.querySelector("a")) && t.click(), this.handleClickSpeedUp(), setTimeout(() => {
window.close()
}, 5e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask = document.querySelectorAll(".cvtb-MCK-course-content"), yield sleep(100);
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) {
var t = ElementObj.$allTask[e].querySelector(".cvtb-MCK-CsCt-studyProgress");
if (100 != parseInt(t.innerText)) {
this.currentIndex = e;
break
}
}
ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 3e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = "none", clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer);
yield this.getVideoDom();
ElementObj.$video.volume = 0, yield sleep(200), ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenRebort(), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
})
})
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
var e;
yield sleep(2e3), this.currentIndex >= ElementObj.$allTask.length - 1 ? (e = GM_getValue("homeUrl", null), GM_openInTab(e, {active: !0}), setTimeout(() => {
window.close()
}, 3e3)) : (this.currentIndex += 1, setTimeout(() => {
this.handleClickSpeedUp()
}, 5e3))
})
}
listenPlayTime() {
showTip("🔉课件正在学习,请务点击或长时间隐藏");
let n = 0;
this.timer = setInterval(() => {
n += 1;
var e = ElementObj.$allTask[this.currentIndex].querySelector(".cvtb-MCK-CsCt-studyProgress"),
e = parseInt(e.innerText), t = (ElementObj.$video.duration / 60).toFixed(2);
this.addInfo(`后台学习${n}次,当前状态正在学习,当前播放进度为${e}%,视频总时长为${t}分钟`), 100 == e && (clearInterval(this.timer), this.addInfo("✅✅✅监测到当前任务已完成,5秒后自动切换下一节", 1), setTimeout(() => {
this.playNext()
}, 3e3))
}, 3e3)
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var e = document.querySelector(".dialog-button-container button");
e && e.click()
}, 1e4)
}
}
jiaoyuganbuwang.ctxid = 26;
class zaixianxuexi extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
var e = document.querySelector("#jAlertButton2");
e ? (clearInterval(t), e.click(), yield sleep(2e3), ElementObj.$handleSpeedUp.style.display = "none", this.handleClickSpeedUp()) : (ElementObj.$allTask = document.querySelectorAll(".videoList li"), ElementObj.$allTask.length && (clearInterval(t), this.getCurrentIndex()))
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
var t;
return __awaiter(this, void 0, void 0, function* () {
showTip("正在初始化"), ElementObj.$handleSpeedUp.style.display = "none";
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if ("【已完成】" != ElementObj.$allTask[e].querySelector(".overTitle").innerText) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (null != (t = ElementObj.$allTask[this.currentIndex]) && t.click(), showTip("初始化完成,5秒后开始播放"), this.handleClickSpeedUp())
})
}
getVideoDom() {
return new Promise(e => {
let t = setInterval(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), e(!0))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), yield this.getVideoDom(), ElementObj.$video.volume = 0, yield sleep(200), ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
this.getCurrentIndex()
})), ElementObj.$video.addEventListener("pause", () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
})
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
}, 1e4)
}
}
zaixianxuexi.ctxid = 26;
class guojiakaifangdaxue extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll("li[id]"), "xczxzdbf.moodle.qwbx.ouchn.cn" == location.host && ElementObj.$allTask.length ? (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.getCurrentIndex()) : (document.querySelector("button.next-btn") || document.querySelector(".newgk-prenext.newgk-next")) && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), showTip("♥♥♥初始化完成"), this.pdPlayFn(location.href))
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("current")) {
this.currentIndex = e;
break
}
showTip("♥♥♥初始化完成"), this.pdPlayFn(location.href)
})
}
getVideoDom() {
return new Promise(t => {
let n = 0, i = setInterval(() => {
var e;
n += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video || (e = document.querySelector("#previewContentInIframe"), ElementObj.$video = null == (e = null == e ? void 0 : e.contentDocument) ? void 0 : e.querySelector("video"), ElementObj.$video) ? (clearInterval(i), t(1)) : 7 <= n && (clearInterval(i), t(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e, t = yield this.getVideoDom();
1 == t && (ElementObj.$video.volume = 0, yield sleep(200), (e = document.querySelector(".mvp-toggle-play")) ? e.click() : ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("当前视频已播放完,5秒后播放下一个", 4500), yield sleep(4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
var e = document.querySelector(".mvp-toggle-play");
ElementObj.$video.volume = 0, null != e && e.click(), ElementObj.$video.play()
}, 1500)
})), 2 == t && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
}, 1e4)
}
playNext() {
this.currentIndex += 1;
let e = document.querySelector("button.next-btn");
"xczxzdbf.moodle.qwbx.ouchn.cn" == location.host ? (e = ElementObj.$allTask[this.currentIndex].querySelector(".aalink"), this.currentIndex >= ElementObj.$allTask.length - 1 || (null !== e && void 0 !== e && e.click(), setTimeout(() => {
this.pdPlayFn(location.href)
}, 5e3))) : "moodle.syxy.ouchn.cn" == location.host ? (e = document.querySelector(".newgk-prenext.newgk-next")) && (e.click(), setTimeout(() => {
this.pdPlayFn(location.href)
}, 5e3)) : (e = document.querySelector("button.next-btn")) && (e.click(), setTimeout(() => {
this.pdPlayFn(location.href)
}, 5e3))
}
}
guojiakaifangdaxue.ctxid = 26;
class jjjxjy extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
if ("hunau.web2.superchutou.com" == location.host) {
let t = setInterval(() => {
var e;
ElementObj.$handleSpeedUp.style.display = "none", "https://hunau.web2.superchutou.com/#/" == location.href && (clearInterval(t), setTimeout(() => {
this._init()
}, 5e3), location.href = MyTool.getValue("homeUrl")), -1 != location.href.indexOf("/#/onlineclass/curriculum") && (e = document.querySelector(".ant-row.catalog_child_line")) && (clearInterval(t), MyTool.setValue("homeUrl", location.href), setTimeout(() => {
this._init()
}, 5e3), e.click()), ElementObj.$allTask = document.querySelectorAll(".ant-list-items div a"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(t), this.getCurrentIndex())
}, 1e3)
} else {
window.addEventListener("urlchange", e => {
setTimeout(() => {
ElementObj.$allTask = document.querySelectorAll(".ant-list-items div a"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(t), this.getCurrentIndex());
var e = document.querySelector(".ant-row.catalog_child_line");
e && (clearInterval(t), null != e) && e.click(), "https://jjxy.web2.superchutou.com/#/" == location.href && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(t), this.getParentIndex())
}, 5e3)
});
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll(".ant-list-items div a"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(t), this.getCurrentIndex());
var e = document.querySelector(".ant-row.catalog_child_line");
e && (clearInterval(t), setTimeout(() => {
this._init()
}, 5e3), null != e) && e.click(), "https://jjxy.web2.superchutou.com/#/" == location.href && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(t), this.getParentIndex())
} catch (e) {
}
}), 1e3)
}
})
}
getParentIndex() {
for (var e = $el(".ant-table-tbody").querySelectorAll(".ant-table-tbody tr"), t = 0; t <= e.length - 1; t++) {
var n = e[t].querySelector(".ant-progress-bg");
if (parseInt(n.style.width) < 99) {
setTimeout(() => {
this._init()
}, 5e3), e[t].querySelector(".anticon-play-circle").click();
break
}
}
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
let e = -1;
for (var t = 0; t <= ElementObj.$allTask.length - 1; t++) if (ElementObj.$allTask[t].classList.contains("catalog_playing___3PDRN")) {
e = t;
break
}
for (t = 0; t <= ElementObj.$allTask.length - 1; t++) if (!ElementObj.$allTask[t].querySelector("i.anticon-check-circle")) {
this.currentIndex = t;
break
}
-1 != this.currentIndex && (e != this.currentIndex && ElementObj.$allTask[this.currentIndex].click(), showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.pdPlayFn(location.href)
}, 4e3))
})
}
getVideoDom() {
return new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer2), clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e, t = yield this.getVideoDom();
1 == t && (ElementObj.$video.volume = 0, yield sleep(200), (e = document.querySelector(".mvp-toggle-play")) ? e.click() : ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == t && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var e = document.querySelector(".ant-modal-body button"),
t = document.querySelector(".ant-btn.ant-btn-primary");
null != e && e.click(), null != t && t.click()
}, 1e3)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
var e;
this.currentIndex >= ElementObj.$allTask.length - 1 || (yield sleep(4500), this.currentIndex += 1, (e = ElementObj.$allTask[this.currentIndex]) && (e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3)))
})
}
}
jjjxjy.ctxid = 26;
class xiangongyedx extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let n = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
var e = document.querySelectorAll(".el-tree-node__children .el-tree-node"),
t = document.querySelectorAll(".ant-tree-child-tree>li[role='treeitem']");
ElementObj.$allTask = e.length ? e : t, ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(n), this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
var i;
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) {
var t = ElementObj.$allTask[e],
n = null == (i = null == t ? void 0 : t.querySelector(".svg-icon use")) ? void 0 : i.getAttribute("xlink:href");
if ("#icon-VideoUncomplete" == n) if ("章节测评" != (null == t ? void 0 : t.querySelector(".node-title")).innerText) {
this.currentIndex = e;
break
}
if (null != t && t.classList.contains("ant-tree-treenode-selected")) {
this.currentIndex = e;
break
}
}
-1 != this.currentIndex && (ElementObj.$allTask[e].click(), showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
getVideoDom() {
return new Promise(t => {
let n = 0, i = setInterval(() => {
n += 1;
var e = document.querySelector(".vjs-button-icon");
ElementObj.$video = document.querySelector("video"), ElementObj.$video && e ? (clearInterval(i), t(1)) : 7 <= n && (clearInterval(i), t(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
1 == e && (ElementObj.$video.volume = 0, yield sleep(200), document.querySelector(".vjs-button-icon").click(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var e = document.querySelector(".ant-modal-confirm-btns button");
e ? (clearInterval(this.listenRebortTime), e.click(), this.playNext()) : "#icon-VideoComplete" == (null == (e = null == (e = ElementObj.$allTask[this.currentIndex]) ? void 0 : e.querySelector(".svg-icon use")) ? void 0 : e.getAttribute("xlink:href")) && (clearInterval(this.listenRebortTime), this.playNext())
}, 3e3)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (!(this.currentIndex >= ElementObj.$allTask.length - 1)) {
yield sleep(4500), this.currentIndex += 1;
let e = ElementObj.$allTask[this.currentIndex];
(e = ElementObj.$allTask[this.currentIndex].querySelector(".ant-tree-node-content-wrapper") ? ElementObj.$allTask[this.currentIndex].querySelector(".ant-tree-node-content-wrapper") : e) && (e.click(), setTimeout(() => {
this.pdPlayFn(location.href)
}, 4e3))
}
})
}
}
xiangongyedx.ctxid = 60;
class hebeiganbu extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let o = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e;
try {
if (ElementObj.$parentNodes = document.querySelectorAll(".hoz_course_row"), ElementObj.$parentNodes.length) {
clearInterval(o);
for (var t of ElementObj.$parentNodes) {
var n = null == (e = t.querySelector(".h_pro_percent")) ? void 0 : e.innerText;
if (parseFloat(n) < 100) {
setTimeout(() => {
window.close()
}, 45e3), MyTool.setValue("homeUrl", location.href), t.querySelector("input").click();
break
}
}
}
var i, l = document.querySelector(".user_choise");
l && l.click(), "/student/class_detail_course.do" == location.pathname && (i = document.querySelector(".hoz_course_row input")) && (clearInterval(o), setTimeout(() => {
window.close()
}, 45e3), MyTool.setValue("homeUrl", location.href), i.click()), "/portal/study_play.do" == location.pathname && (ElementObj.$video = document.querySelector("video"), ElementObj.$video) && (clearInterval(o), this.handleClickSpeedUp())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e, t = yield this.getVideoDom();
1 == t && (setTimeout(() => {
ElementObj.$video = document.querySelector("video"), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), ElementObj.$handleSpeedUp.style.background = "#f01414", ElementObj.$handleSpeedUp.innerText = "加速成功", ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})
}, 4500), null != (e = document.querySelector(".user_choise"))) && e.click(), 2 == t && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(2500), location.href = MyTool.getValue("homeUrl")
})
}
}
class gdedujsxx extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
this.handleClickSpeedUp()
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
})
}
getVideoDom() {
return new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
ElementObj.$handleSpeedUp.style.display = "none", 1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => __awaiter(this, void 0, void 0, function* () {
let e = document.querySelectorAll(".m-question-lst label");
e.length && (clearInterval(this.listenRebortTime), e[0].click(), document.querySelector(".btn.u-main-btn").click(), yield sleep(3e3), (e = document.querySelectorAll(".m-question-lst label")).length && (e[1].click(), document.querySelector(".btn.u-main-btn").click()), yield sleep(3e3), this.listenRebort())
}), 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(4500), this.currentIndex += 1;
var e = document.querySelector("a.btn.next.crt");
e && (e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
}
gdedujsxx.ctxid = 60;
class zhuzhouteacher extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
var e = document.querySelectorAll(".antd-pro-pages-my-center-my-center-menuItem")[2];
e ? (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(t), e.click(), yield sleep(1e3), this.getCurrentIndex()) : (ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(t), ElementObj.$handleSpeedUp.style.display = "none", this.handleClickSpeedUp()))
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(2500), ElementObj.$allTask = document.querySelectorAll(".antd-pro-pages-my-center-course-learning-courseWrap>.ant-row");
for (var e, t = 0; t <= ElementObj.$allTask.length - 1; t++) {
var n = ElementObj.$allTask[t].querySelector(".ant-progress-text").innerHTML;
if (parseInt(n) < 99) {
this.currentIndex = t;
break
}
}
-1 != this.currentIndex ? (ElementObj.$allTask[this.currentIndex].querySelector(".ant-btn.ant-btn-primary").click(), setTimeout(() => {
}, 15e3)) : (e = document.querySelector(".ant-pagination-next")).classList.contains("ant-pagination-disabled") || (e.click(), this.getCurrentIndex())
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
MyTool.openInTab("http://www.zhuzhouteacher.com/teacheredu/main/mycenter/course-learning"), setTimeout(() => {
window.close()
}, 5e3)
})
}
}
zhuzhouteacher.ctxid = 60;
class zhuanyejishuryjxjy extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll(".catalog-list p"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("active")) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
getVideoDom() {
return new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
}, 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
this.currentIndex >= ElementObj.$allTask.length - 1 || (yield sleep(2500), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].querySelector("a").click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
}
zhuanyejishuryjxjy.ctxid = 60;
class yinghuaxuetang extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll(".detmain .list .item a "), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("on")) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e, t, n = yield this.getVideoDom();
1 == n && (e = document.querySelector(".promptchmqylqsxtfb"), t = document.querySelector(".mutechtkfjgkqelf"), e && e.click(), t && t.click(), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == n && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
this.currentIndex >= ElementObj.$allTask.length - 1 || (yield sleep(2500), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
}
yinghuaxuetang.ctxid = 60;
class shanghaikaifangdx extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll(".cell_info1 a"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("active")) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
getVideoDom() {
return new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
}, 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
this.currentIndex >= ElementObj.$allTask.length - 1 || (yield sleep(2500), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
}
shanghaikaifangdx.ctxid = 60;
class gzgbjy extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll(".tab-content-desc"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("desc-item-sel")) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
getVideoDom() {
return new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
}, 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
this.currentIndex >= ElementObj.$allTask.length - 1 || (yield sleep(2500), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
}
gzgbjy.ctxid = 60;
class guizhoujianshezyjs extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll(".catalog div>a"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("cur")) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
getVideoDom() {
return new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e, t = yield this.getVideoDom();
1 == t && (ElementObj.$video.volume = 0, (e = document.querySelector(".vplay")).classList.contains("vmPause") || e.click(), ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == t && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
}, 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
this.currentIndex >= ElementObj.$allTask.length - 1 || (yield sleep(2500), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
}
guizhoujianshezyjs.ctxid = 60;
class jixujiaoyuzaixian extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll(".video-list-item-span"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (-1 == ElementObj.$allTask[e].innerText.indexOf("已学完")) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
getVideoDom() {
return new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var e = document.querySelector(".el-message-box__btns .el-button--primary");
null != e && e.click()
}, 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
this.currentIndex >= ElementObj.$allTask.length - 1 || (yield sleep(2500), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
}
jixujiaoyuzaixian.ctxid = 60;
class gzteacher extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let n = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
var e = document.querySelectorAll(".collapseactivityName2"),
t = document.querySelectorAll(".resource-list .res-item");
ElementObj.$allTask = e.length ? e : t, ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(n), this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) {
var t = ElementObj.$allTask[e];
if (t.classList.contains("isActive") || t.classList.contains("active")) {
this.currentIndex = e;
break
}
}
-1 != this.currentIndex && (showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var e, t = document.querySelector(".ant-modal-root");
t && null != (e = t.parentNode) && e.removeChild(t)
}, 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex += 1, "gdipx.yanxiu.com" == location.host) {
yield sleep(3e3);
var e = document.querySelector(".btns .next");
if (!e) return;
e.click()
} else {
if (this.currentIndex >= ElementObj.$allTask.length - 1) return;
yield sleep(2500);
e = document.querySelectorAll(".ant-modal-body button")[2], e = (null != e && e.click(), document.querySelectorAll(".studycontentBottom button")[2]);
null != e && e.click()
}
setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3)
})
}
}
gzteacher.ctxid = 60;
class moocxinyingzao extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll("#pane-category .resource-list-item"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) {
var t = ElementObj.$allTask[e].querySelector(".resource-action span").innerText;
if (!["已完成", "正在学"].includes(t)) {
this.currentIndex = e;
break
}
}
-1 != this.currentIndex && (ElementObj.$allTask[this.currentIndex].click(), showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
getVideoDom() {
return new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, document.querySelector("iframe") ? (clearInterval(n), e(2)) : (ElementObj.$video = document.querySelectorAll("video")[0], ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2)))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var e, t = document.querySelector(".ant-modal-root");
t && null != (e = t.parentNode) && e.removeChild(t)
}, 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
this.getCurrentIndex()
})
}
}
moocxinyingzao.ctxid = 60;
class zhejiangzjelib extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask = document.querySelector("#iframepage").contentDocument.querySelectorAll(".ncells");
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (!ElementObj.$allTask[e].querySelector(".roundpointStudent.blue")) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (ElementObj.$allTask[this.currentIndex].querySelector("a").click(), showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.spanKeyCount()
}, 4e3))
})
}
getVideoDom() {
return new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelector("#iframepage").contentDocument.querySelector("#iframe").contentDocument.querySelector("iframe").contentDocument.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
}, 1e3)
})
}
handleClickSpeedUp(e) {
return __awaiter(this, void 0, void 0, function* () {
this.getCurrentIndex()
})
}
spanKeyCount() {
return __awaiter(this, void 0, void 0, function* () {
var e = localStorage.getItem("mytoolkey");
e ? 200 == (e = yield fetchData({
method: "GET",
url: bserUrl + (`/speedup?toolkey=${e}&canuse=` + toolOption.SchoolType)
})).code ? this.play() : showTip("🔉🔉🔉" + e.message, 5e3, !0) : window.open(basehost)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
document.querySelector("#iframepage").contentDocument.querySelector(".ncells .currents").querySelector(".roundpointStudent.blue") && this.playNext()
}, 1e4)
}
playNext() {
var t;
return __awaiter(this, void 0, void 0, function* () {
var e;
this.currentIndex >= ElementObj.$allTask.length - 1 || (this.currentIndex += 1, null != (e = document.querySelector("#iframepage").contentDocument.querySelector(".orientationright ")) && e.click(), e = document.querySelector("#iframepage").contentDocument, yield sleep(2e3), null != (t = e.querySelector(".wconter a")) && t.click(), setTimeout(() => {
this.spanKeyCount()
}, 4e3))
})
}
}
zhejiangzjelib.ctxid = 60;
class dongbeishifandaxue extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll(".course-list-con .ovd"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("cur")) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var e, t = document.querySelector(".ant-modal-root");
t && null != (e = t.parentNode) && e.removeChild(t)
}, 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
var e;
this.currentIndex >= ElementObj.$allTask.length - 1 || (yield sleep(2500), this.currentIndex += 1, null != (e = ElementObj.$allTask[this.currentIndex].querySelector("a")) && e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 6e3))
})
}
}
dongbeishifandaxue.ctxid = 60;
class qzjystudy extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
var e;
ElementObj.$allTask = document.querySelectorAll(".videoList .item"), ElementObj.$allTask.length ? (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(t), this.getCurrentIndex()) : (e = document.querySelector("iframe")) ? (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(t), location.href = e.src) : (ElementObj.$allTask = document.querySelectorAll(".videoList .item"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(t), this.getCurrentIndex()))
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
var i;
return __awaiter(this, void 0, void 0, function* () {
for (var t = 0; t <= ElementObj.$allTask.length - 1; t++) {
var n = ElementObj.$allTask[t];
let e;
if (e = "jnrcpx.qzjystudy.com" == location.host ? (e = (null == (i = n.querySelector(".text")) ? void 0 : i.nextSibling).innerText).match(/\((.+)\)/)[1] : n.querySelectorAll("span")[1].innerText, parseInt(e) < 99) {
this.currentIndex = t;
break
}
}
-1 != this.currentIndex && (ElementObj.$allTask[this.currentIndex].click(), showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var e, t = document.querySelector(".ant-modal-root");
t && null != (e = t.parentNode) && e.removeChild(t)
}, 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
var e;
this.currentIndex >= ElementObj.$allTask.length - 1 || (yield sleep(2500), this.currentIndex += 1, null != (e = ElementObj.$allTask[this.currentIndex]) && e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 6e3))
})
}
}
qzjystudy.ctxid = 60;
class GlivePro extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let n = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
var e = document.querySelectorAll(".animated .syllabus-tree-node-title"),
t = document.querySelectorAll(".aside-node-child-inner .aside-node-child-inner li");
(e.length || t.length) && (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$allTask = e.length ? e : t, clearInterval(n), this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e, t = 0; t <= ElementObj.$allTask.length - 1; t++) {
var n = ElementObj.$allTask[t];
if ("cloud.gaodun.com" == location.host) {
if (!n.querySelector("i").classList.contains("aside-resource-progress2")) {
this.currentIndex = t;
break
}
} else if (n.classList.contains("is-active")) {
this.currentIndex = t;
break
}
}
-1 != this.currentIndex && ("cloud.gaodun.com" == location.host && null != (e = ElementObj.$allTask[this.currentIndex]) && e.click(), showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), this.listenRebort(), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
parseInt(ElementObj.$video.duration) <= Math.ceil(ElementObj.$video.currentTime) && (showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext())
}, 3e3)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
var e;
this.currentIndex >= ElementObj.$allTask.length - 1 || (yield sleep(2500), "cloud.gaodun.com" == location.host ? location.reload() : (this.currentIndex += 1, null != (e = ElementObj.$allTask[this.currentIndex]) && e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4500)))
})
}
}
GlivePro.ctxid = 60;
class gaodengxueli extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll(".course-list-txt dd i"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("fa-youtube-play")) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (ElementObj.$allTask[this.currentIndex].parentElement.click(), showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var e, t = document.querySelector(".ant-modal-root");
t && null != (e = t.parentNode) && e.removeChild(t)
}, 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
var e;
this.currentIndex >= ElementObj.$allTask.length - 1 || (yield sleep(2500), this.currentIndex += 1, null != (e = ElementObj.$allTask[this.currentIndex].parentElement) && e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 6e3))
})
}
}
gaodengxueli.ctxid = 60;
class henanzhuanjizaixian extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this.timer = null, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll(".videoLi"), ElementObj.$allTask.length && (clearInterval(e), this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("active")) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (showTip("✅✅✅初始化完成,5秒后开始播放", 5e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 5500))
})
}
getVideoDom() {
return new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelector("video.pv-video"), ElementObj.$video ? (clearInterval(n), e(1)) : (ElementObj.$canvas = document.querySelector("#bplayer-ffplayer"), ElementObj.$canvas ? (clearInterval(n), e(3)) : 7 <= t && (clearInterval(n), e(2)))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer), ElementObj.$allTask[this.currentIndex].click();
var e, t = yield this.getVideoDom();
1 == t && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenRebort(), this.listenPlayTime(1)), 3 == t && ("0" == (e = document.querySelector(".bplayer-volume-control")).getAttribute("data-show") && e.querySelector(".icon").click(), yield sleep(3e3), "stop" != (e = document.querySelector(".pv-iconfont") || document.querySelector(".bplayer-play-btn")).querySelector("svg").id && e.click(), this.listenPlayTime(3)), 1 != t && 3 != t || (e = document.querySelector(".live.left"), this.changeHtml(e)), 2 == t && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
play2() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer);
yield this.getVideoDom();
var e = document.querySelector("button.pv-volumebtn");
e.classList.contains("pv-icon-volumenone") || e.click(), yield sleep(500), document.querySelector(".pv-iconfont").click(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
}))
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
}, 1e4)
}
listenPlayTime(i) {
this.timer = setInterval(() => {
var n = ElementObj.$allTask[this.currentIndex].querySelector(".progress-bar").style.width;
if (99 <= parseInt(n)) showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext(); else {
let e, t;
if (1 == i && (e = document.querySelector(".pv-time-current").innerText, t = document.querySelector(".pv-time-duration").innerText), 3 == i) {
n = document.querySelector(".played-time");
if (!n) return void this.play2();
e = n.innerText, t = document.querySelector(".total-time").innerText
}
this.addInfo(`🔊🔊🔊监测到视频正在学习中,已成功学习${e},需学习` + t), t == e && (showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext())
}
}, 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
var e;
this.currentIndex >= ElementObj.$allTask.length - 1 || (yield sleep(2500), setTimeout(() => {
location.reload()
}, 3e3), this.currentIndex += 1, null != (e = ElementObj.$allTask[this.currentIndex]) && e.click())
})
}
}
henanzhuanjizaixian.ctxid = 60;
class hunannmdxs extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
document.querySelector(".pull-right>a") && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.handleClickSpeedUp())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("fa-youtube-play")) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (ElementObj.$allTask[this.currentIndex].parentElement.click(), showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
getVideoDom() {
return new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$sigleBtn = document.querySelector(".forumaddnew form button.btn.btn-secondary"), ElementObj.$sigleBtn ? (clearInterval(n), e(3)) : (ElementObj.$video = document.querySelectorAll("video")[0], ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2)))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 3 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext()), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var e, t = document.querySelector(".ant-modal-root");
t && null != (e = t.parentNode) && e.removeChild(t)
}, 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
var e = document.querySelector(".pull-right>a");
e && (yield sleep(2500), null != e && e.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 5e3))
})
}
}
hunannmdxs.ctxid = 60;
class dongaokauji extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$parentNodes = document.querySelectorAll("tbody>tr"), -1 != ["/cwweb/lecture/lectureList", "/study/u/myCourse"].indexOf(location.pathname) && ElementObj.$parentNodes.length ? (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.getParentIndex(location.pathname)) : -1 != location.pathname.indexOf("/cwweb/videoShow/video/videoPlay") && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.handleClickSpeedUp())
} catch (e) {
}
}), 1e3)
})
}
getParentIndex(i) {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$parentNodes.length - 1; e++) {
var t = ElementObj.$parentNodes[e];
if ("/cwweb/lecture/lectureList" == i) {
var n = t.querySelectorAll("td")[1].querySelectorAll("span");
if (n[0].innerText != n[1].innerText.replace("/", "")) {
MyTool.setValue("homeUrl", location.href), t.querySelector(".study-a").click(), setTimeout(() => {
window.close()
}, 2e4);
break
}
} else if ("已完成" != t.querySelectorAll("td")[6].innerText.trim()) {
MyTool.setValue("homeUrl", location.href), t.querySelector("a.operate-a.active").click();
break
}
}
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("fa-youtube-play")) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (ElementObj.$allTask[this.currentIndex].parentElement.click(), showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e, t = yield this.getVideoDom();
1 == t && (ElementObj.$video.volume = 0, ElementObj.$video.play(), (e = ElementObj.$video.parentElement).style.position = "relative", yield this.changeHtml(e), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), this.listenRebort(), this.listenPlayTime(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == t && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var e, t = document.querySelector("#vjs-overlay");
t && (null != (e = t.parentElement) && e.removeChild(t), setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 2e3))
}, 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
var e = MyTool.getValue("homeUrl");
location.href = e, setTimeout(() => {
this.handleClickSpeedUp()
}, 5e3)
})
}
listenPlayTime() {
showTip("🔉课件正在学习,请务点击或长时间隐藏");
let n = 0;
this.timer = setInterval(() => {
n += 1;
var e = (ElementObj.$video.currentTime / 60).toFixed(2),
t = (ElementObj.$video.duration / 60).toFixed(2);
this.addInfo(`后台学习${n}次,当前状态正在学习,已播放${e}分钟,视频总时长为${t}分钟`)
}, 3e3)
}
}
class bainianshuren extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this.swiperIndex = 0, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$parentNodes = document.querySelectorAll(".project-course li"), ElementObj.$parentNodes.length ? (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.getParentIndex()) : (ElementObj.$allTask = document.querySelectorAll(".el-tree-node"), ElementObj.$allTask.length && (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.getCurrentIndex()))
} catch (e) {
}
}), 1e3)
})
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$parentNodes.length - 1; e++) {
var t = ElementObj.$parentNodes[e], n = t.querySelector(".project-courseTitle span").innerText;
if ("学习中" == n || "未学习" == n) {
MyTool.setValue("homeUrl", location.href), t.querySelector("span.project-courseButton").click();
break
}
}
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(2500);
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if ("已学习" != ElementObj.$allTask[e].querySelector("i").title.trim()) {
this.currentIndex = e;
break
}
-1 == this.currentIndex ? (location.href = "https://v3.dconline.net.cn/student.html#/project/index?project_id=13844", setTimeout(() => {
location.reload()
}, 3e3)) : (ElementObj.$allTask[e].querySelector(".nav_menu").click(), yield sleep(2500), 1 == (yield this.getSwiperItem()) ? this.getSwiperIndex() : this.handleClickSpeedUp(), showTip("✅✅✅初始化完成,5秒后开始播放", 3e3))
})
}
getSwiperIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$swiperItem.length - 1; e++) if ("已学习" != ElementObj.$swiperItem[e].querySelector(".video-status").innerText.trim()) {
this.swiperIndex = e;
break
}
ElementObj.$swiperItem[this.swiperIndex].querySelector("i.el-icon-video-play").click(), yield sleep(2500);
var t = document.querySelector(".el-message-box__btns .el-button--primary");
null != t && t.click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3)
})
}
getSwiperItem() {
return __awaiter(this, void 0, void 0, function* () {
return new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$swiperItem = document.querySelectorAll(".public-articleSlideList"), ElementObj.$swiperItem.length ? (clearInterval(n), e(1)) : 3 <= t && (clearInterval(n), e(2))
}, 1e3)
})
})
}
getVideoDom() {
return new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer), clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e, t = yield this.getVideoDom();
1 == t && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = 1
}, 3e3), e = document.querySelector("#video"), this.changeHtml(e), this.listenPlayTime(), this.listenRebort(), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 1500)
})), 2 == t && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
var e;
this.currentIndex >= ElementObj.$allTask.length - 1 ? (e = MyTool.getValue("homeUrl"), location.href = e, setTimeout(() => {
location.reload()
}, 3e3)) : (setTimeout(() => {
location.reload()
}, 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var e = document.querySelector(".el-dialog__body");
e && (e.style.display = "none")
}, 3e3)
}
listenPlayTime() {
showTip("🔉课件正在学习,请务点击或长时间隐藏");
let n = 0;
this.timer = setInterval(() => {
n += 1;
var e = (ElementObj.$video.currentTime / 60).toFixed(2),
t = (ElementObj.$video.duration / 60).toFixed(2);
this.addInfo(`后台学习${n}次,当前状态正在学习,已播放${e}分钟,视频总时长为${t}分钟`)
}, 3e3)
}
}
bainianshuren.ctxid = 60;
class dyyxlearning extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll(".course-list ul ul .videoLi"), ElementObj.$allTask.length && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(e), this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("active")) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
getVideoDom() {
return new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelectorAll("video")[1], ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom(), t = location.href.match("myClassId=(.+)")[1],
n = (yield this.getClassList(t)).attribute.data.myClassCourseRPList[0].videoRPs[this.currentIndex],
n = `videoId=${n.videoId}&isUse=1&startSecond=&myClassCourseVideoId=` + n.myClassCourseVideoId,
t = yield this.getVideoTopic(t, n);
1 == e && (ElementObj.$video.volume = 0, (n = document.querySelector(".ccToggleBtn")).classList.contains("ccH5TogglePause") || n.click(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenRebort(t.attribute.data), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0;
var e = document.querySelector(".ccToggleBtn");
e.classList.contains("ccH5TogglePause") || e.click()
}, 3500)
})), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort(o) {
this.listenRebortTime = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e = document.querySelector("#ccJumpOver"), t = document.querySelector(".pv-ask-modal-wrap");
if (e || t) {
let t = document.querySelector(".ccProblem .text").innerText;
var i = o.find(e => e.videoQuestionEntitySet[0].questionName == t);
let n = -1;
for (let e = 0; e <= i.videoQuestionEntitySet[0].videoAnswerEntitySet.length - 1; e++) {
var l = i.videoQuestionEntitySet[0].videoAnswerEntitySet[e];
-1 != i.videoQuestionEntitySet[0].standardId.indexOf(l.videoAnswerId) && (n = e)
}
-1 == n && location.reload(), null != (e = document.querySelectorAll(".ccQuestionList li")[n]) && e.click(), document.querySelector("#ccQuestionSubmit").click(), setTimeout(() => {
document.querySelector("#rightBtn").click()
}, 2e3)
}
}), 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
this.currentIndex >= ElementObj.$allTask.length - 1 || (yield sleep(2500), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
getVideoTopic(e, n) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise(t => {
fetch("https://sddy.zyk.yxlearning.com/train/cms/study/query-video-random-popup-list.gson?" + n, {
headers: {
accept: "*/*",
"accept-language": "zh-CN,zh;q=0.9",
accountid: "33f3dd30-1e79-420b-9fe6-bf298fa1d550",
"sec-ch-ua": '"Not)A;Brand";v="99", "Google Chrome";v="127", "Chromium";v="127"',
"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"
},
referrer: "https://sddy.zyk.yxlearning.com/learning/index?myClassId=" + e,
referrerPolicy: "strict-origin-when-cross-origin",
body: null,
method: "GET",
mode: "cors",
credentials: "include"
}).then(e => e.json()).then(e => t(e))
})
})
}
getClassList(e) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise(t => {
fetch("https://sddy.zyk.yxlearning.com/train/class/my-class.gson?myClassId=" + e, {
headers: {
accept: "*/*",
"accept-language": "zh-CN,zh;q=0.9",
"sec-ch-ua": '"Not)A;Brand";v="99", "Google Chrome";v="127", "Chromium";v="127"',
"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"
},
referrer: "https://sddy.zyk.yxlearning.com/learning/index?myClassId=" + e,
referrerPolicy: "strict-origin-when-cross-origin",
body: null,
method: "GET",
mode: "cors",
credentials: "include"
}).then(e => e.json()).then(e => t(e))
})
})
}
}
class hebeijiaoshijiaoyuwang extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let a = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var e, t;
try {
if ("/MyCourse/MyEventList" == location.pathname && (ElementObj.$parentNodes = document.querySelectorAll("#mainList dd ul li"), 0 < ElementObj.$parentNodes.length)) {
clearInterval(a), ElementObj.$handleSpeedUp.style.display = "none";
for (var n of ElementObj.$parentNodes) if ("[已完成]" != n.querySelector("i").innerText) {
MyTool.setValue("homeUrl", location.href), n.querySelector("a").click();
break
}
}
if ("/Event/MyjoinEvent" == location.pathname && (ElementObj.$parentNodes = document.querySelectorAll("tr[class]"), 0 < ElementObj.$parentNodes.length) && (clearInterval(a), ElementObj.$handleSpeedUp.style.display = "none", 0 < ElementObj.$parentNodes.length)) for (var i of ElementObj.$parentNodes) {
var l = i.querySelectorAll("td")[2].querySelector("span").innerText.trim();
if ("已学完" != l && "已完成" != l) {
i.querySelector("a").click();
break
}
}
if ("/Event/CourseWare" == location.pathname && (ElementObj.$parentNodes = document.querySelectorAll("tr[class]"), 0 < ElementObj.$parentNodes.length) && (clearInterval(a), ElementObj.$handleSpeedUp.style.display = "none", 0 < ElementObj.$parentNodes.length)) for (var o of ElementObj.$parentNodes) if ("已学完" != o.querySelectorAll("td")[2].querySelector("span").innerText.trim()) {
o.querySelector("a").click();
break
}
ElementObj.$video = null == (t = null == (e = document.querySelector("iframe")) ? void 0 : e.contentDocument) ? void 0 : t.querySelector("video"), ElementObj.$video && (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(a), this.handleClickSpeedUp())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("active")) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.pdPlayFn(location.href)
}, 4e3))
})
}
getVideoDom() {
return new Promise(t => {
let n = 0, i = setInterval(() => {
var e;
n += 1, ElementObj.$video = null == (e = null == (e = document.querySelector("iframe")) ? void 0 : e.contentDocument) ? void 0 : e.querySelector("video"), ElementObj.$video ? (clearInterval(i), t(1)) : 7 <= n && (clearInterval(i), t(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer);
var e, t = yield this.getVideoDom();
1 == t && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), (e = document.querySelector("#mian")).style.position = "relative", yield this.changeHtml(e), this.listenPlayTime(), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 3500)
})), 2 == t && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var e = document.querySelector(".school-sate button");
e && e.click()
}, 1e4)
}
listenPlayTime() {
showTip("🔉课件正在学习,请务点击或长时间隐藏");
let n = 0;
this.timer = setInterval(() => {
n += 1;
var e = (ElementObj.$video.currentTime / 60).toFixed(2),
t = (ElementObj.$video.duration / 60).toFixed(2);
this.addInfo(`后台学习${n}次,当前状态正在学习,已播放${e}分钟,视频总时长为${t}分钟`)
}, 3e3)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
var e = document.querySelectorAll(".tishivalhui")[2], t = document.querySelectorAll(".tishivalhui")[1];
"下一篇:没有了;" == (e || t).innerText ? location.href = MyTool.getValue("homeUrl") : (yield sleep(2500), (1 < (e = document.querySelectorAll(".tishivalju")).length ? e[1] : e[0]).click())
})
}
}
class shangdongganbu extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll(".class"), -1 != location.href.indexOf("/content#/personalCenter") && ElementObj.$allTask.length ? (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.getCurrentIndex()) : -1 != location.href.indexOf("/content#/commend/coursedetail/?courseId=") && (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.handleClickSpeedUp())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) {
var t = ElementObj.$allTask[e].querySelectorAll(".pro-t>div")[1].innerText;
if (100 != parseInt(t)) {
this.currentIndex = e;
break
}
}
-1 != this.currentIndex && (showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), ElementObj.$allTask[this.currentIndex].querySelector(".class-img>img").click(), setTimeout(() => {
window.close()
}, 12e4))
})
}
getVideoDom() {
return new Promise(e => {
let t = 0, n = setInterval(() => {
t += 1, ElementObj.$video = document.querySelector("video"), ElementObj.$video ? (clearInterval(n), e(1)) : 7 <= t && (clearInterval(n), e(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer);
var e = yield this.getVideoDom();
if (1 == e) {
var t = document.querySelector(".video-player-box"),
t = (t.style.position = "relative", yield this.changeHtml(t), {courseId: "", idCardHash: ""});
if (t.courseId = /courseId=(.*)/.exec(location.href)[1], t.idCardHash = JSON.parse(sessionStorage.getItem("userInfo")).data.idCardHash, !t.idCardHash) return;
yield this.fetchStart(t);
this.listenPlayTime(t), this.listenRebort()
}
2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var e = document.querySelector(".school-sate button");
e && e.click()
}, 1e4)
}
listenPlayTime(i) {
return __awaiter(this, void 0, void 0, function* () {
this.addInfo("✅✅✅✅✅✅✅✅初始化完成,即将开始播放✅✅✅✅✅✅✅✅✅"), yield sleep(3e3), showTip("🔉课件正在学习,请务点击或长时间隐藏");
var t = Math.ceil(ElementObj.$video.duration);
if (t) {
let e = 0;
for (var n of new Array(1e3)) {
if (e >= t) {
yield this.saveProgress(i), yield this.saveProgress(i), yield this.saveEnd(i), this.addInfo("🎉🎉🎉🎉🎉🎉🎉🎉已成功学完🎉🎉🎉🎉🎉🎉🎉🎉");
break
}
e += +toolOption.accelerator > t ? t : +toolOption.accelerator, i.studyTimes = e;
yield this.saveProgress(i);
this.addInfo(`🔊当前状态正在以${toolOption.accelerator}倍速学习中,已学习${e}秒,视频总时长为${t / 60}分钟`), yield sleep(3e3)
}
this.playNext()
}
})
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(2500), setTimeout(() => {
location.reload()
}, 3e3), location.href = "https://gbwlxy.dtdjzx.gov.cn/content#/personalCenter"
})
}
fetchStart(n) {
return new Promise(t => __awaiter(this, void 0, void 0, function* () {
var e = yield fetch("https://gbwlxy.dtdjzx.gov.cn/__api/api/study/start", {
headers: {
accept: "application/json, text/plain, */*",
"accept-language": "zh-CN,zh;q=0.9",
"content-type": "application/json;",
"sec-ch-ua": '"Not A(Brand";v="99", "Google Chrome";v="121", "Chromium";v="121"',
"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"
},
referrer: "https://gbwlxy.dtdjzx.gov.cn/content",
referrerPolicy: "strict-origin-when-cross-origin",
body: `{"courseId":"${n.courseId}","idCardHash":"${n.idCardHash}","studyType":"VIDEO"}`,
method: "POST",
mode: "cors",
credentials: "include"
});
t(e)
}))
}
saveProgress(e) {
return new Promise(t => __awaiter(this, void 0, void 0, function* () {
fetch(location.origin + "/__api/api/study/progress", {
headers: {
accept: "application/json, text/plain, */*",
"accept-language": "zh-CN,zh;q=0.9",
"content-type": "application/json;",
"sec-ch-ua": '"Not A(Brand";v="99", "Google Chrome";v="121", "Chromium";v="121"',
"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"
},
referrer: location.origin + "/content",
referrerPolicy: "strict-origin-when-cross-origin",
body: `{"courseId":"${e.courseId}","idCardHash":"${e.idCardHash}","studyTimes":${e.studyTimes}}`,
method: "POST",
mode: "cors",
credentials: "include"
}).then(e => e.json()).then(e => t(e))
}))
}
saveProgress2(n) {
return new Promise(t => __awaiter(this, void 0, void 0, function* () {
var e = yield fetch(location.origin + "/apiStudy/gwapi/us/api/study/progress2", {
headers: {
accept: "application/json, text/plain, */*",
"accept-language": "zh-CN,zh;q=0.9",
"content-type": "application/json;",
"sec-ch-ua": '"Not A(Brand";v="99", "Google Chrome";v="121", "Chromium";v="121"',
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": '"Windows"',
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"x-ca-key": "ac620187e5b8d7af",
"x-ca-nonce": "e12f60e3-df8f-349f-55d0-626d597f5eaf",
"x-ca-signature": "V16026136F33B05F06F275BE6CECF4A2F1",
"x-ca-timestamp": "1706683430971",
"x-requested-with": "XMLHttpRequest"
},
referrer: location.origin + "/content",
referrerPolicy: "strict-origin-when-cross-origin",
body: `{"userId":"${n.idCardHash}","courseCode":"${n.courseId}","studyTimes":${n.studyTimes}}`,
method: "POST",
mode: "cors",
credentials: "include"
});
t(e)
}))
}
saveEnd(n) {
return new Promise(t => __awaiter(this, void 0, void 0, function* () {
var e = yield fetch(location.origin + "/__api/api/study/v2/end", {
headers: {
accept: "application/json, text/plain, */*",
"accept-language": "zh-CN,zh;q=0.9",
"content-type": "application/json;",
"sec-ch-ua": '"Not A(Brand";v="99", "Google Chrome";v="121", "Chromium";v="121"',
"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"
},
referrer: location.origin + "/content",
referrerPolicy: "strict-origin-when-cross-origin",
body: `{"courseId":"${n.courseId}","idCardHash":"${n.idCardHash}"}`,
method: "POST",
mode: "cors",
credentials: "include"
});
t(e)
}))
}
}
class yunketang extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll(".el-collapse-item__content div.file-item"), ElementObj.$allTask.length && (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("file-item-active")) {
this.currentIndex = e;
break
}
if (-1 != this.currentIndex) {
showTip("✅✅✅初始化完成,5秒后开始播放", 3e3);
let t = ElementObj.$allTask[this.currentIndex];
setTimeout(() => {
var e = t.querySelector("div").innerHTML.replace(/ <.+>/, "");
this.pdPlayFn(e)
}, 3e3)
}
})
}
getVideoDom() {
return new Promise(t => {
let n = 0, i = setInterval(() => {
n += 1, ElementObj.$video = document.querySelector("video");
var e = document.querySelector(".vjs-big-play-button");
ElementObj.$video && e ? (clearInterval(i), e.click(), t(1)) : 7 <= n && (clearInterval(i), t(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
1 == e && (this.changeHtml($el("#vjs_video_3")), this.listenPlayTime(), ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
var e = document.querySelector(".vjs-big-play-button");
null != e && e.click(), ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 3500)
})), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenPlayTime() {
let t = 0;
setInterval(() => {
t += 1;
var e = ElementObj.$allTask[this.currentIndex].querySelector(".el-progress__text").innerText;
"100%" == e && location.reload(), this.addInfo(`已成功监测${t}次,视频正在播放中,当前进度完成` + e)
}, 3e3)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
location.reload()
})
}
pdPlayFn(e) {
var t = MyTool.getValue("spanClassName") || [];
-1 != t.indexOf(e) ? this.play() : (t.push(e), MyTool.setValue("spanClassName", t), this.handleClickSpeedUp())
}
}
class huaxiajiaoshiyanpei extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll(".cou1-title>li"), ElementObj.$allTask.length && (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.getCurrentIndex())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("list_active")) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 3e3))
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), clearInterval(this.timer);
var e = yield this.getVideoDom();
if (this.listenRebort(), 1 == e) {
yield this.changeHtml($el("video").parentElement);
let e = null;
e = (-1 < location.href.indexOf("/sort/") ? /\/id\/(.+)\/sort/ : /\/id\/(.+)/).exec(location.href)[1];
var t = unsafeWindow.goods_id, n = unsafeWindow.user_id || $("#uid").val();
yield this.listenPlayTime({
user_id: n,
goods_id: t,
video_id: Number(e),
status: 1,
times: 0,
play_time: 0
})
}
2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenPlayTime(i) {
return __awaiter(this, void 0, void 0, function* () {
this.addInfo("✅✅✅✅✅✅✅✅初始化完成,即将开始播放✅✅✅✅✅✅✅✅✅"), yield sleep(3e3), showTip("🔉课件正在学习,请务点击或长时间隐藏");
var t = Math.ceil(ElementObj.$video.duration);
if (t && i.user_id && i.goods_id && i.video_id) {
let e = 0;
for (var n of new Array(1e3)) {
if (e >= t) {
i.status = 2, yield this.saveProgress(i), this.addInfo("🎉🎉🎉🎉🎉🎉🎉🎉已成功学完🎉🎉🎉🎉🎉🎉🎉🎉"), this.playNext();
break
}
e += +toolOption.accelerator > t ? t : +toolOption.accelerator, i.times = e, i.play_time = e;
yield this.saveProgress(i);
this.addInfo(`🔊当前状态正在以${toolOption.accelerator}倍速学习中,已学习${e}秒,视频总时长为${t / 60}分钟`), yield sleep(900)
}
}
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var e = document.querySelector(".layui-layer-btn0");
null != e && e.click()
}, 2e3)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
let e = 3, t = (this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].querySelector("a")),
n = setInterval(() => {
this.addInfo("🐱🚀🐱🚀🐱🚀请稍后,正在保存数据......"), e <= 0 && (clearInterval(n), t.click()), --e
}, 1e3)
})
}
saveProgress(n) {
return new Promise(t => __awaiter(this, void 0, void 0, function* () {
var e = yield fetch(location.origin + "/portal/lesson/update_study", {
headers: {
accept: "application/json, text/javascript, */*; q=0.01",
"accept-language": "zh-CN,zh;q=0.9",
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
"x-requested-with": "XMLHttpRequest"
},
referrerPolicy: "strict-origin-when-cross-origin",
body: `user_id=${n.user_id}&goods_id=${n.goods_id}&video_id=${n.video_id}&status=${n.status}×=${n.times}&play_time=` + n.play_time,
method: "POST",
mode: "cors",
credentials: "include"
});
t(e)
}))
}
}
class zhelixuexi extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let i = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
if (ElementObj.$parentNodes = document.querySelectorAll(".vi-item"), ElementObj.$parentNodes.length) {
ElementObj.$handleSpeedUp.style.display = "none", clearInterval(i);
for (var e = 0; e <= ElementObj.$parentNodes.length - 1; e++) {
var t = ElementObj.$parentNodes[e],
n = t.querySelector(".v-prosss").innerText.replace("已学习", "");
if (parseInt(n) < 99) {
this.currentIndex = e, MyTool.setValue("homeUrl", location.href), t.click();
break
}
}
} else ElementObj.$allTask = document.querySelectorAll(".set-content"), ElementObj.$allTask.length ? (ElementObj.$handleSpeedUp.style.display = "none", clearInterval(i), this.getCurrentIndex()) : (ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(i), ElementObj.$handleSpeedUp.style.display = "none", this.handleClickSpeedUp()))
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (ElementObj.$allTask[e].classList.contains("active")) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (showTip("✅✅✅初始化完成,5秒后开始播放", 3e3), setTimeout(() => {
this.handleClickSpeedUp()
}, 4e3))
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
var e = yield this.getVideoDom();
1 == e && (ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), this.listenRebort(), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 3500)
})), 2 == e && (showTip("✅✅✅该章节为文档,即将自动切换下一个", 3e3), yield sleep(3e3), this.playNext())
})
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
}, 1e4)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
let e = MyTool.getValue("homeUrl");
void setTimeout(() => {
location.href = e
}, 3e3)
} else yield sleep(2e3), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
this.handleClickSpeedUp()
}, 3e3)
})
}
}
class fhswifer extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$parentNodes = document.querySelectorAll(".c-directory-item"), ElementObj.$parentNodes.length && (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", showTip("正在寻找全部课程,预计10-20秒,请稍等..."), this.getParentIndex())
} catch (e) {
}
}), 1e3)
})
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e of ElementObj.$parentNodes) e.click(), yield sleep(500);
this.getCurrentIndex()
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask = document.querySelectorAll(".c-directory-box .cc-directory-item");
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) if (!ElementObj.$allTask[e].querySelector(".cc-audition")) {
this.currentIndex = e;
break
}
-1 != this.currentIndex && (ElementObj.$allTask[this.currentIndex].click(), showTip("初始化完成,第一次请手动播放视频", 1e4), this.play())
})
}
getVideoDom() {
return new Promise(t => {
let n = 0, i = setInterval(() => {
n += 1;
var e = document.querySelector(".icon.bplayer-play-btn");
e ? (clearInterval(i), t(e)) : 7 <= n && (clearInterval(i), t(2))
}, 1e3)
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer), clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime), (yield this.getVideoDom()).click(), this.listenPlayTime(), this.listenRebort()
})
}
listenPlayTime() {
let n = 0;
this.timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
n += 1;
var e = document.querySelector(".played-time").innerText,
t = document.querySelector(".total-time").innerText;
e.trim() >= t.trim() && (clearInterval(this.timer), this.playNext())
}), 5e3)
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
document.querySelector(".bplayer-wrap").classList.contains("bplayer-playing") || document.querySelector(".icon.bplayer-play-btn").click()
}, 1e3)
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
this.currentIndex >= ElementObj.$allTask.length - 1 || (yield sleep(2500), this.currentIndex += 1, ElementObj.$allTask[this.currentIndex].click(), setTimeout(() => {
this.handleClickSpeedUp(() => {
}, !1)
}, 3e3))
})
}
}
class rrhisdgf283y7jvdf extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let t = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll("ul.cb.oh li"), ElementObj.$allTask.length && (clearInterval(t), ElementObj.$handleSpeedUp.style.display = "none", this.getCurrentIndex(1)), ElementObj.$allTask = document.querySelectorAll(".section-item"), ElementObj.$allTask.length && (clearInterval(t), ElementObj.$handleSpeedUp.style.display = "none", this.getCurrentIndex(2));
var e = document.querySelector("iframe");
-1 == location.href.indexOf("v_video?platformId=") && -1 == location.href.indexOf("/play_video/") || !e || (clearInterval(t), location.href = e.src), -1 != ["/videoPlay/play", "/videoPlay/playEncrypt"].indexOf(location.pathname) && (clearInterval(t), ElementObj.$handleSpeedUp.style.display = "none", this.handleClickSpeedUp())
} catch (e) {
}
}), 1e3)
})
}
getCurrentIndex(n) {
return __awaiter(this, void 0, void 0, function* () {
for (var e = 0; e <= ElementObj.$allTask.length - 1; e++) {
var t = ElementObj.$allTask[e];
if (1 == n) if (-1 == t.querySelector(".button.titlecolor").innerText.indexOf("已学完")) {
this.currentIndex = e;
break
}
if (2 == n) if ("已学完" != t.querySelectorAll(".n-text.__text-q8o5bu-d")[2].innerText.trim()) {
this.currentIndex = e;
break
}
}
-1 != this.currentIndex && (setTimeout(() => {
window.close()
}, 12e4), MyTool.setValue("homeUrl", location.href), 1 == n && ElementObj.$allTask[this.currentIndex].querySelector(".button.titlecolor").click(), 2 == n) && ElementObj.$allTask[this.currentIndex].click()
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer), clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
yield this.getVideoDom();
ElementObj.$video.volume = 0, ElementObj.$video.play(), setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator
}, 3e3), ElementObj.$video.addEventListener("ended", () => __awaiter(this, void 0, void 0, function* () {
showTip("✅✅✅当前视频已播放完,5秒后播放下一个", 4500), this.playNext()
})), ElementObj.$video.addEventListener("pause", () => {
setTimeout(() => {
ElementObj.$video.volume = 0, ElementObj.$video.play()
}, 3500)
})
})
}
listenPlayTime() {
return __awaiter(this, void 0, void 0, function* () {
this.addInfo("✅✅✅✅✅✅✅✅初始化完成,即将开始播放✅✅✅✅✅✅✅✅✅"), yield sleep(1e3), showTip("🔉课件正在学习,请务点击或长时间隐藏");
var t = Math.ceil(ElementObj.$video.duration);
if (t) {
let e = 0;
for (var n of new Array(1e3)) {
if (e >= t) {
ElementObj.$video.currentTime = ElementObj.$video.duration - 10, yield sleep(1e3), ElementObj.$video.currentTime = ElementObj.$video.duration, this.addInfo("🎉🎉🎉🎉🎉🎉🎉🎉已成功学完🎉🎉🎉🎉🎉🎉🎉🎉"), this.playNext();
break
}
e += +toolOption.accelerator > t ? t : +toolOption.accelerator, this.addInfo(`🔊当前状态正在以${toolOption.accelerator}倍速学习中,已学习${e}秒,视频总时长为${t / 60}分钟`), yield sleep(1e3)
}
this.playNext()
}
})
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
let e = MyTool.getValue("homeUrl");
e ? setTimeout(() => {
location.href = e
}, 1e4) : showTip("官网该平台底部有注意事项,请按照该指示页面执行程序,否则无法自动连播", 1e4)
})
}
}
class f6872 extends Main {
constructor() {
super(), this.taskLength = 0, this.currentIndex = -1, this._init()
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let e = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$parentNodes = document.querySelectorAll(".ant-table-tbody")[0].querySelectorAll("tr"), ElementObj.$parentNodes.length && (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.getParentIndex()), ElementObj.$video = document.querySelector("video"), ElementObj.$video && (clearInterval(e), ElementObj.$handleSpeedUp.style.display = "none", this.handleClickSpeedUp())
} catch (e) {
}
}), 1e3)
})
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var e of ElementObj.$parentNodes) {
var t = e.querySelector(".ant-progress-text").innerText;
if (parseInt(t) < 97) {
e.click(), yield sleep(2e3), this.getCurrentIndex();
break
}
}
})
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
e:for (var e of document.querySelectorAll(".ant-pagination")[1].querySelectorAll("li.ant-pagination-item")) {
ElementObj.$allTask = document.querySelectorAll(".ant-table-tbody")[1].querySelectorAll("tr");
for (let e = 0; e <= ElementObj.$allTask.length - 1; e++) {
var t = ElementObj.$allTask[e];
if (!t.querySelector("i")) {
this.currentIndex = e, t.querySelectorAll(".ant-table-row-cell-break-word a")[1].click(), yield sleep(2e3), this.handleClickSpeedUp();
break e
}
}
e.click(), yield sleep(2e3)
}
this.currentIndex
})
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer), clearInterval(this.listenVidoeStatusTimer), clearInterval(this.listenRebortTime);
yield this.getVideoDom();
yield this.changeHtml($el(".input_video")), this.listenPlayTime()
})
}
listenPlayTime() {
return __awaiter(this, void 0, void 0, function* () {
this.addInfo("✅✅✅✅✅✅✅✅初始化完成,即将开始播放✅✅✅✅✅✅✅✅✅"), yield sleep(1e3), showTip("🔉课件正在学习,请务点击或长时间隐藏");
var t = Math.ceil(ElementObj.$video.duration);
if (t) {
let e = 0;
for (var n of new Array(1e3)) {
if (e >= t) {
ElementObj.$video.currentTime = ElementObj.$video.duration, yield sleep(1e3), ElementObj.$video.currentTime = ElementObj.$video.duration, this.addInfo("🎉🎉🎉🎉🎉🎉🎉🎉已成功学完🎉🎉🎉🎉🎉🎉🎉🎉"), this.playNext();
break
}
e += +toolOption.accelerator > t ? t : +toolOption.accelerator, this.addInfo(`🔊当前状态正在以${toolOption.accelerator}倍速学习中,已学习${e}秒,视频总时长为${t / 60}分钟`), yield sleep(3e3)
}
this.playNext()
}
})
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
setTimeout(() => {
location.reload()
}, 1e3)
})
}
}
class Addpanel {
constructor() {
this.$panelWrap = document.createElement("div"), this.$panelStyle = document.createElement("style"), this._init()
}
_init() {
var n;
return __awaiter(this, void 0, void 0, function* () {
this.$panelWrap.innerHTML = this.getCTXHTML(), this.$panelStyle.innerHTML = panelcss, null != (n = document.querySelector("head")) && n.appendChild(this.$panelStyle), 3 == toolOption.SchoolType ? null != (n = document.querySelector("#bigContainer")) && n.appendChild(this.$panelWrap) : 7 == toolOption.SchoolType ? null != (n = document.querySelector(".layout-content")) && n.appendChild(this.$panelWrap) : 11 == toolOption.SchoolType ? null != (n = document.querySelector(".task-dashboard-page")) && n.appendChild(this.$panelWrap) : 18 == toolOption.SchoolType ? null != (n = document.querySelector(".screen_wide_1")) && n.appendChild(this.$panelWrap) : null != (n = document.querySelector("body")) && n.appendChild(this.$panelWrap), ElementObj.$title3 = document.querySelector(".title3"), ElementObj.$mytoolkey = document.querySelector(".mytoolkey"), ElementObj.$nokey = document.querySelector(".nokey"), ElementObj.$addKey = document.getElementById("addKey"), ElementObj.$removeKey = document.getElementById("removeKey"), ElementObj.$ipt = document.querySelector(".mytoolkeyipt"), ElementObj.$handleSpeedUp = document.querySelector(".handleSpeedUp"), ElementObj.$playButton = document.querySelector("#playButton"), ElementObj.$ctxTipWrap = document.querySelector("#ctxTipWrap"), ElementObj.$ctxsection2 = document.querySelector(".ctxsection2"), ElementObj.$ctxcontrols = document.querySelector(".ctxcontrols");
var e, t = localStorage.getItem("mytoolkey") || MyTool.getValue("mytoolkey");
t && ((e = MyTool.getValue("mytoolkeyInfo")) && "2" == e.canuse && MyTool.isDateGreaterThanSevenDays(e.createtime) ? (localStorage.removeItem("mytoolkey"), MyTool.deleteValue("mytoolkey")) : this.handleSetHtml(t)), this.optimizePannel(), this.setSpeedOption(), this.addEvent(), this.getSlogan()
})
}
optimizePannel() {
2 == toolOption.SchoolType && ($el(".myTool").style.left = "unset", $el(".myTool").style.right = "44px", $el(".ipt-wrap").style.marginTop = "3px", ElementObj.$ipt.style.padding = "11px 3px"), 9 == toolOption.SchoolType && ($el(".handleKeyBtn").style.lineHeight = "16px"), 16 == toolOption.SchoolType && ($el(".cxtsection3").style.display = "block", ElementObj.$myTool = document.querySelector(".myTool")), -1 != [14, 24, 63, 65].indexOf(toolOption.SchoolType) && (toolOption.accelerator = 1, speedArr = [1]), -1 != [40, 52, 54, 67, 80].indexOf(toolOption.SchoolType) && (speedArr = [1, 2]), -1 != [7, 12, 22, 53].indexOf(toolOption.SchoolType) && (speedArr = [1, 2, 3], toolOption.accelerator = 3), -1 != [38, 45, 46, 52, 57, 58, 61, 64, 67, 97, 103].indexOf(toolOption.SchoolType) && ($el(".myTool").style.left = "unset", $el(".myTool").style.right = "44px"), 17 == toolOption.SchoolType && (toolOption.accelerator = 1, speedArr = [1, 10]), 18 == toolOption.SchoolType && ($el(".btn1").style.width = "74%", $el(".btn1").style.paddingTop = "0", $el(".btn1").style.paddingBottom = "0", $el("#slogan").style.position = "relative", $el("#slogan").style.left = "-40px", speedArr = [1, 2, 3, 5]), 19 == toolOption.SchoolType && (toolOption.accelerator = 1, speedArr = [1], $el(".myTool").style.width = "202px"), 23 == toolOption.SchoolType && ($el(".myTool").style.top = "176px", toolOption.accelerator = 1, speedArr = [1]), 25 == toolOption.SchoolType && (toolOption.accelerator = 2, speedArr = [1, 1.25, 1.5, 2]), 26 == toolOption.SchoolType && ($el(".myTool").style.width = "202px"), 29 == toolOption.SchoolType && (speedArr = [1, 1.5, 2, 3, 5, 10]), 16 == toolOption.SchoolType && (2 == Internetcourse.gzjxjy.runtype && (ElementObj.$handleSpeedUp.style.display = "none", ElementObj.$speedSelect = document.querySelector(".ctxsection2"), ElementObj.$speedSelect.style.display = "none"), 1 == Internetcourse.gzjxjy.runtype) && (ElementObj.$ctxsection3 = document.querySelector(".cxtsection3"), ElementObj.$ctxsection3.style.display = "none"), 30 == toolOption.SchoolType && (speedArr = [1, 2, 3, 5, 10, 15], toolOption.accelerator = 2), 32 != toolOption.SchoolType && 36 != toolOption.SchoolType || ($el(".myTool").style.left = "unset", $el(".myTool").style.right = "44px", speedArr = [1, 1.1]), 37 == toolOption.SchoolType && (speedArr = [1, 2, 5]), 38 == toolOption.SchoolType && (speedArr = [1, 2]), 41 == toolOption.SchoolType && (speedArr = [1, 2, 3, 5]), 44 == toolOption.SchoolType && (speedArr = [1, 1.5, 2, 3, 5, 10]), 51 == toolOption.SchoolType && ($el(".myTool").style.left = "76px", speedArr = [1, 2, 10], toolOption.accelerator = 2), 52 == toolOption.SchoolType && ($el(".myTool").style.left = "76px", speedArr = [1, 2, 3, 10], toolOption.accelerator = 2), 60 == toolOption.SchoolType && (speedArr = [1, 1.5, 1.8, 2], toolOption.accelerator = 2), 66 == toolOption.SchoolType && (speedArr = [1, 2, 3, 10], toolOption.accelerator = 3), 71 == toolOption.SchoolType && (speedArr = [1, 2, 3, 10], toolOption.accelerator = 3), -1 != [91, 96, 118, 122].indexOf(toolOption.SchoolType) && (speedArr = [1, 1.5, 2, 3, 10], toolOption.accelerator = 1), 92 == toolOption.SchoolType && (toolOption.accelerator = 16), 54 == toolOption.SchoolType && (speedArr = [1, 2, 3, 10], toolOption.accelerator = 1)
}
setSpeedOption() {
ElementObj.$speedSelect = document.querySelector("#ctxspeed");
let e = "";
for (var t = 0; t < speedArr.length; t++) {
var n = `
`;
e += n
}
ElementObj.$speedSelect.innerHTML = e;
var i = localStorage.getItem("_localSpeed");
i && (ElementObj.$speedSelect.value = i, toolOption.accelerator = Number(i))
}
handleSetHtml(e) {
try {
ElementObj.$ipt.style.display = "none", ElementObj.$title3.innerText = "当前key:", ElementObj.$mytoolkey.innerText = e, ElementObj.$mytoolkey.style.display = "block", ElementObj.$nokey.style.display = "none", ElementObj.$removeKey.style.display = "block", ElementObj.$addKey.style.display = "none", ElementObj.userKey = e
} catch (e) {
}
}
addEvent() {
ElementObj.$addKey.addEventListener("click", () => {
toolOption.CtxMain.handleAddKey(e => {
this.handleSetHtml(e)
})
}), ElementObj.$removeKey.addEventListener("click", () => {
toolOption.CtxMain.handleRemoveKey()
}), ElementObj.$handleSpeedUp.addEventListener("click", () => {
toolOption.CtxMain.handleClickSpeedUp()
}), ElementObj.$ctxsection2.addEventListener("change", e => {
toolOption.CtxMain.handleChangeCtxSpeed(e.target.value)
}), ElementObj.$ctxcontrols.addEventListener("click", () => {
var e = document.querySelector(".myTool-content"), t = GM_getValue("hideCtx", null);
t ? (e.style.height = "auto", ElementObj.$ctxcontrols.innerText = "×") : (e.style.height = "0px", ElementObj.$ctxcontrols.innerText = "🔛", $el(".myTool").style.display = "none"), GM_setValue("hideCtx", !t)
}), document.querySelectorAll(".targetHome").forEach(e => {
e.addEventListener("click", () => {
location.href = basehost
})
})
}
getSlogan() {
fetchData({url: bserUrl + "/getslogan", method: "GET"}).then(e => {
ElementObj.$slogan = document.querySelector("#slogan"), ElementObj.$slogan.innerHTML = e.result.text1
})
}
getCTXHTML() {
return `
`
}
}
function $el(e, t = window.document) {
t = t.querySelector(e);
return null === t ? void 0 : t
}
function sleep(t) {
return new Promise(e => setTimeout(e, t))
}
function fetchData(n) {
return new Promise(t => {
try {
GM_xmlhttpRequest(Object.assign(Object.assign({}, n), {
onload: function (e) {
200 == e.status && t(JSON.parse(e.response))
}
}))
} catch (e) {
fetch(n.url, {method: n.method}).then(e => e.json()).then(e => {
t(e)
})
}
})
}
function showTip(e, t = 3500, n) {
t = t || 3500, ElementObj.$ctxTipWrap.style.display = "block", ElementObj.$ctxTipWrap.innerText = e;
setTimeout(() => {
ElementObj.$ctxTipWrap.style.display = "none"
}, t)
}
function recognitionType() {
let current_host = location.host;
if (!/www.gaozhiwang.top/.test(current_host)) {
if (-1 == current_host.indexOf("www.gsgwypx.com.cn")) {
let result = {type: 0, option: null};
for (var key in Internetcourse) {
if (Internetcourse[key].host.includes(current_host)) {
if (result.type = 2, "CTXCommon" == Internetcourse[key].mainClass) {
result.type = 1, result.option = Internetcourse[key].option, toolOption.CtxMain = CTXCommon, toolOption.SchoolType = Internetcourse[key].id;
break
}
toolOption.CtxMain = eval(Internetcourse[key].mainClass), toolOption.SchoolType = Internetcourse[key].id
}
if (/www.ttcdw.cn/.test(current_host)) {
let _$paramsUn = document.querySelector("#paramsUn");
_$paramsUn, toolOption.SchoolType = Internetcourse.beijingjiaoshi.id, toolOption.CtxMain = beijingjiaoshi
}
if (/gzjxjy.gzsrs.cn/.test(current_host)) {
let $survey = document.querySelector(".survey-header-subtitle");
$survey ? (toolOption.CtxMain = gzjxjy_Answer, Internetcourse.gzjxjy.runtype = 2) : (toolOption.CtxMain = gzjxjy, Internetcourse.gzjxjy.runtype = 1), toolOption.SchoolType = Internetcourse.gzjxjy.id
}
}
return toolOption.CtxMain || (result.type = 0, toolOption.CtxMain = zjzjsrc, toolOption.SchoolType = Internetcourse.zjzjsrc.id), result
}
toolOption.SchoolType = Internetcourse.gansugongwuyuan.id, toolOption.CtxMain = gansugongwuyuan
}
}
setTimeout(() => {
var e = recognitionType(),
e = (basehost += "/?ctxid=" + (null != e && e.type ? toolOption.SchoolType : 2), 1 == (null == e ? void 0 : e.type) ? toolOption.CtxMain = new CTXCommon(e.option) : toolOption.CtxMain = new toolOption.CtxMain, new Addpanel, Math.floor(9 * Math.random()) + 2);
setTimeout(() => {
document.querySelectorAll(".myTool").length
}, 1e3 * e)
}, 2e3)
}();