// ==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 = `
    未搜索到
    ${n.topicName}
    `, 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 `
    ×
    📺高智Ai辅助学习程序
    输入Key:
    设置倍速:
    意见反馈:
    点击加速
    ` } } 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) }();