// ==UserScript==
// @name 【💯💯💯2025】网络教育、专业技术、继续教育等视频学习伴侣
// @namespace http://tampermonkey.net/
// @version 6.7.2.9
// @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
// @grant GM_registerMenuCommand
// @antifeature payment
// @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";
// ==UserScript==
// @name 网课视频学习助手
// @namespace http://tampermonkey.net/
// @version 6.6.6
// @description 支持: 视频连播小助手
// @author
// @match *://*/*
// @grant GM_xmlhttpRequest
// @grant GM_openInTab
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_deleteValue
// @grant GM_addValueChangeListener
// @grant window.close
// @grant unsafeWindow
// @grant GM_registerMenuCommand
// @antifeature payment
// @noframes
// @connect www.gaozhiwang.top
// @connect 47.115.205.88
// @connect localhost
// @antifeature payment 学习辅助付费
// @license MIT
// ==/UserScript==
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
(function () {
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;
}
.myTool>.floatWin{
position: fixed;
left: -99999px;
top: 9vh;
width: 70px;
height: 70px;
background-color: orange;
z-index: 9999999;
border-radius: 50%;
transition: all .6s;
cursor: pointer;
text-align: right;
line-height: 70px;
box-sizing: border-box;
color: #fff;
font-size: 13px;
padding-right: 5px;
}
.myTool>.floatWin:hover{
left: 0 !important;
padding-right: 0px;
font-size: 16px;
text-align: center;
}
`;
class GMTool {
constructor() {
}
getValue(key) {
// @ts-ignore
let result = GM_getValue(key, null);
return result;
}
setValue(key, value) {
// @ts-ignore
GM_setValue(key, value);
}
deleteValue(key) {
// @ts-ignore
GM_deleteValue(key);
}
registerMenuCommand(name, accessKey, callback) {
// @ts-ignore
GM_registerMenuCommand(name, () => {
typeof callback === 'function' && callback();
}, accessKey);
}
openInTab(url) {
// @ts-ignore
GM_openInTab(url, { active: true });
}
isDateGreaterThanSevenDays(inputDate) {
// 将输入日期转换为毫秒数
const inputDateTime = new Date(inputDate).getTime();
const currentDateTime = new Date().getTime();
const timeDifference = currentDateTime - inputDateTime;
const daysDifference = timeDifference / (1000 * 3600 * 24);
return daysDifference > 7;
}
axfedata(option) {
return new Promise(resolve => {
// @ts-ignore
GM_xmlhttpRequest(Object.assign(Object.assign({}, option), { onload: function (xhr) {
if (xhr.status == 200) {
resolve(JSON.parse(xhr.response));
}
} }));
});
}
sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
}
const MyTool = new GMTool();
let ElementObj = {};
function erf(data) {
try {
eval(data);
}
catch (e) {
new Function(data)();
}
}
// 平台id
let _i1 = {
zhihuishu: { id: 1, mainClass: 'zhihuishu' },
uxueyuan: {
id: 2, mainClass: 'CTXCommon', option: {
'nodeListClass': '.page-name',
'activeClass': 'active'
}
},
ningmengwencai: {
id: 3,
mainClass: 'ningmengwencai'
},
henanxinxueyuan: {
id: 5, mainClass: 'CTXCommon',
option: {
nodeListClass: '.collapseCont',
activeClass: '',
getCurrentIndexByOption() {
return new Promise(resolve => {
for (let i = 0; i < ElementObj.$allTask.length; i++) {
let $item = ElementObj.$allTask[i];
if ($item.childNodes[0].childNodes[0].childNodes[2].firstChild.innerText == '[完成]') {
resolve(i);
}
}
});
}
}
},
fujianshifan: { id: 6, mainClass: 'fujianshifan' },
gxcic: {
id: 7,
mainClass: 'gxcic'
},
luohexueyuan: {
id: 8,
mainClass: 'CTXCommon',
option: {
'nodeListClass': "li.catalog-box",
'activeClass': 'activeCss',
videoEle: () => {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
},
_init: (that) => {
return new Promise(resolve => {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask = document.querySelectorAll('li.catalog-box .play-c');
if (ElementObj.$allTask.length) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
for (let i = 0; i < ElementObj.$allTask.length; i++) {
let item = ElementObj.$allTask[i];
if (item.parentElement.querySelector('.c-999').getAttribute('data-original-title') != '已学习') {
let isActive = item.parentElement.querySelector('.activeCss');
showTip('初始化完成,即将开始播放');
if (!isActive) {
item.click();
yield MyTool.sleep(2000);
}
that.currentIndex = i;
that._o1();
break;
}
}
}
}), 1000);
});
},
}
},
mengxiangzaixian: {
id: 9, mainClass: 'CTXCommon',
option: {
nodeListClass: '',
_init: () => {
return new Promise(resolve => {
let interval = setInterval(() => {
ElementObj.$allTask = document.querySelectorAll('.el-card__body button i');
if (ElementObj.$allTask.length) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
toolOption.CtxMain.getCurrentIndex();
}
}, 1000);
});
},
getCurrentIndexByOption: () => {
return new Promise(resolve => {
let $addClass = document.querySelectorAll('.el-progress');
for (let i = 0; i < $addClass.length; i++) {
let item = $addClass[i];
// @ts-ignore
let status = item.getAttribute('aria-valuenow');
if (parseInt(status) <= 99) {
item.click();
resolve(i);
break;
}
}
});
}
}
},
fjsf2: { id: 6, mainClass: 'fjsf2' },
liangyijiaoyu: { id: 11, mainClass: 'liangyijiaoyu' },
zjzx: { id: 12, mainClass: 'zjzx' },
zxpxmr: { id: 13, mainClass: 'zxpxmr' },
ggfw: { id: 14, mainClass: 'ggfw' },
liangshizaixian: { id: 15, mainClass: 'liangshizaixian' },
gzjxjy: {
id: 16,
mainClass: 'CTXCommon',
runtype: -1,
option: {
'nodeListClass': '',
'activeClass': '',
'nextClass': 'p',
_init(that) {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
// 获取所有章节
ElementObj.$allTask = document.querySelectorAll('.el-step');
if (ElementObj.$allTask.length) {
clearInterval(interval);
let _currentIndex = -1;
ElementObj.$allTask.forEach((item, index) => {
if (!item.querySelector('.status-tip') && that.currentIndex == -1) {
that.currentIndex = index;
}
if (item.classList.contains('active')) {
_currentIndex = index;
}
});
if (_currentIndex != that.currentIndex) {
ElementObj.$allTask[that.currentIndex].querySelector('.step-title').click();
}
showTip('✅✅✅初始化完成,即将开始自动播放');
ElementObj.$handleSpeedUp.style.display = 'none';
that._o1();
return;
}
let $survey = document.querySelector('.survey-header-subtitle');
ElementObj.$allTask = document.querySelectorAll('.question-title');
if ($survey && ElementObj.$allTask.length) {
clearInterval(interval);
showTip('🔉题目初始化完成', 3000);
for (let item of ElementObj.$allTask) {
let topicName = item.querySelector('.show-text').innerText;
let _optionNodeList = item.querySelectorAll('.el-radio__label');
let topicType = _optionNodeList.length > 1 ? 1 : 2;
if (topicType == 2) {
_optionNodeList = item.querySelectorAll('.el-checkbox__label');
}
let toolKey = [0];
let res = yield axfedata({
url: _b + `/searchtopic?topicname=${topicName}`,
method: 'GET'
});
if (res.result.topickey) {
toolKey = res.result.topickey.split(',');
}
else {
if (topicType == 2) {
toolKey = [0, 1, 2];
}
}
for (let i = 0; i < _optionNodeList.length; i++) {
if (toolKey.indexOf(i) != -1) {
_optionNodeList[i].click();
}
yield sleep(400);
}
}
}
}), 1000);
});
},
listenRebortFn(that) {
let $close = document.querySelector('.dialog-footer button');
if ($close) {
$close.click();
}
else {
setTimeout(() => {
ElementObj.$video.play();
}, 1000);
}
},
}
},
mingshiclass: { id: 17, mainClass: 'mingshiclass' },
qiangshi: { id: 18, mainClass: 'qiangshi' },
lanzhgoulgjs: {
id: 19,
mainClass: 'lanzhgoulgjs',
},
beijingjiaoshi: { id: 20, mainClass: 'beijingjiaoshi' },
qingyangzgzjzj: {
id: 21,
mainClass: 'qingyangzgzjzj',
},
lanzhouwenli: { id: 22, mainClass: 'lanzhouwenli' },
xuexituqiang: {
id: 23, mainClass: 'CTXCommon',
option: {
activeClass: 'lesson-in',
nodeListClass: '.lesson',
playNext: (that) => __awaiter(this, void 0, void 0, function* () {
yield sleep(1500);
if (that.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前章节课程已全部播放完了');
return;
}
that.currentIndex += 1;
yield sleep(2000);
let $comfimbutton = document.querySelector('.el-message-box__btns button');
$comfimbutton === null || $comfimbutton === void 0 ? void 0 : $comfimbutton.click();
setTimeout(() => {
that._o1();
}, 5000);
})
}
},
guojiazhihuijiaoyu: {
id: 24,
mainClass: 'guojiazhihuijiaoyu'
},
lanzhouchengren: {
id: 25,
mainClass: 'lanzhouchengren'
},
tsbtchinamde: {
id: 26,
mainClass: 'tsbtchinamde'
},
henangongshe: {
id: 27,
mainClass: 'henangongshe',
remark: '和北京教师一样的'
},
zjzjsrc: {
id: 28,
mainClass: 'zjzjsrc'
},
lzrejxjy: {
id: 29,
mainClass: 'lzrejxjy'
},
xuzhouyikedaxue: {
id: 30,
mainClass: 'xuzhouyikedaxue'
},
xibeisfzyjy: {
id: 31,
mainClass: 'xibeisfzyjy'
},
zgrtvu: { id: 32, mainClass: 'zgrtvu' },
henandikuang: {
id: 33,
mainClass: 'henandikuang'
},
tazhuanjipx: {
id: 34,
mainClass: 'tazhuanjipx'
},
henanzhuanjipeixun: {
id: 35,
mainClass: 'CTXCommon',
apis: {
getID(option) {
return new Promise(resolve => {
fetch(`${location.origin}/student/single_video.jsp?${option}`, {
"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(res => res.text()).then(str => {
// @ts-ignore
let id = /"single_video_save.jsp", {id:([0-9]+), duration:total, studylong:studylong, position:current}/.exec(str)[1];
resolve(id);
});
});
},
savejsp(id, duration) {
return new Promise(resolve => {
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=${id}&duration=${duration}&studylong=${duration}&position=${duration}`,
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(res => res.text()).then(res => resolve(res));
});
}
},
option: {
nodeListClass: '',
openListenPlayStatus: false,
_init(that) {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var _c;
try {
ElementObj.$allTask = document.querySelectorAll('tbody tr');
if (ElementObj.$allTask.length) {
clearInterval(interval);
showTip('⚠️⚠️⚠️正在初始化', 1500);
ElementObj.$allTask.forEach((item, index) => {
if (index > 1) {
let $pagress = item.querySelectorAll('td')[2];
let status = $pagress.innerText;
if (parseInt(status) != 100 && that.currentIndex == -1) {
that.currentIndex = index;
}
}
});
let homeUrl = location.href;
// @ts-ignore
GM_setValue("homeUrl", homeUrl);
showTip('⚠️⚠初始化完成,5秒后开始播放', 3000);
let $nextBtn = ElementObj.$allTask[that.currentIndex].querySelectorAll('td')[3].querySelector('a');
yield sleep(200);
$nextBtn.click();
yield sleep(1500);
let $textbtn = document.querySelector('input.textbtn');
$textbtn.click();
setTimeout(() => {
window.close();
}, 4500);
return;
}
// @ts-ignore
let $iframe = (_c = document.querySelector('iframe')) === null || _c === void 0 ? void 0 : _c.contentDocument;
ElementObj.$video = $iframe === null || $iframe === void 0 ? void 0 : $iframe.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(interval);
console.log('1111ElementObj.$video==>>', ElementObj.$video);
that._o1();
}
ElementObj.$handleSpeedUp.style.display = 'none';
}
catch (e) {
}
}), 500);
});
},
videoEle() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
var _c;
count += 1;
// @ts-ignore
let $iframe = (_c = document.querySelector('iframe')) === null || _c === void 0 ? void 0 : _c.contentDocument;
ElementObj.$video = $iframe === null || $iframe === void 0 ? void 0 : $iframe.querySelector('video');
if (!!ElementObj.$video && ElementObj.$video.duration) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
},
playFn(that) {
return __awaiter(this, void 0, void 0, function* () {
showTip('视频加载中...');
yield that.getVideoDom();
console.log('ElementObj.$video==>>', ElementObj.$video);
let duration = Math.trunc(ElementObj.$video.duration);
let video = ElementObj.$video.src;
let query = new URLSearchParams(location.href);
let cid = query.get('cid');
let sid = query.get('sid');
showTip('🔊🔊🔊正在请求数据....');
// @ts-ignore
let id = yield _i1.henanzhuanjipeixun.apis.getID(`video=${video}&cid=${cid}&sid=${sid}`);
console.log('id==>>', id);
if (!id || !duration)
return alert('参数错误');
// @ts-ignore
let res = yield _i1.henanzhuanjipeixun.apis.savejsp(id, duration);
// console.log('res==>>>', res)
showTip('🔊🔊🔊学习完成,即将自动切换下一个....');
setTimeout(() => {
window.close();
}, 2500);
MyTool.openInTab(MyTool.getValue('homeUrl'));
return;
});
}
}
},
zhejiangtjj: {
id: 32,
mainClass: 'zhejiangtjj'
},
guizhouzxjxjy: {
id: 37,
mainClass: 'CTXCommon',
option: {
'nodeListClass': '.lcml_djj_list li',
'activeClass': 'on',
'playFn': (that) => __awaiter(this, void 0, void 0, function* () {
clearInterval(that.timer);
clearInterval(that.listenVidoeStatusTimer);
clearInterval(that.listenRebortTime);
let studyType = yield that.getVideoDom();
let $playBtn = document.querySelector('.xgplayer-icon-play');
$playBtn === null || $playBtn === void 0 ? void 0 : $playBtn.click();
showTip('正在加载视频', 2000);
yield sleep(2000);
yield that.getVideoDom();
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
ElementObj.$video.addEventListener('ended', () => __awaiter(this, void 0, void 0, function* () {
showTip('✅✅✅当前视频已播放完,5秒后播放下一个', 4500);
that.playNext(that);
}));
ElementObj.$video.addEventListener('pause', () => {
setTimeout(() => {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
}, 1500);
});
}),
}
},
jiangxizhipeizaixian: {
id: 38,
mainClass: 'jiangxizhipeizaixian'
},
anhuijixujyzx: { id: 39, mainClass: 'anhuijixujyzx' },
lanzhoudxgs: { id: 40, mainClass: 'lanzhoudxgs' },
jidianshejijiaoyu: {
id: 41,
mainClass: 'jidianshejijiaoyu'
},
henanzhujianjy: {
id: 42,
mainClass: 'henanzhujianjy'
},
sipingnengcun: {
id: 43,
mainClass: 'CTXCommon',
option: {
'nodeListClass': '.videolist_item',
openListenPlayTime: false,
getCurrentIndexByOption() {
return new Promise(resolve => {
let activeClass = 'is-success';
let currentIndex = -1;
for (var i = 0; i < ElementObj.$allTask.length; i++) {
let item = ElementObj.$allTask[i];
let $pregress = item.querySelector('.el-progress');
if (!$pregress.classList.contains(activeClass)) {
resolve(i);
break;
}
}
if (currentIndex == -1) {
alert('当前课程视频已全部播放完');
return;
}
ElementObj.$allTask[currentIndex].click();
});
}
}
},
ycjyluteducn: {
id: 44,
mainClass: 'ycjyluteducn'
},
gdrcjxjyw: {
id: 45,
mainClass: 'gdrcjxjyw'
},
shandongqlteacher: {
id: 46,
mainClass: 'CTXCommon',
option: {
'nodeListClass': 'app-course-catalogue.ng-star-inserted .ant-list-items li',
getCurrentIndexByOption() {
return new Promise(resolve => {
for (let i = 0; i < ElementObj.$allTask.length; i++) {
let item = ElementObj.$allTask[i];
let $icon = item.querySelector('div.align-items-center');
if (!$icon) {
resolve(i);
}
}
});
}
}
},
shixuetong: {
id: 47,
mainClass: 'shixuetong'
},
shandongenhualvyou: {
id: 48,
mainClass: 'shandongenhualvyou'
},
gansugongwuyuan: {
id: 49,
mainClass: 'gansugongwuyuan'
},
wlmqcol: { id: 50, mainClass: 'wlmqcol' },
shandongzhuanyejisu: {
id: 51,
mainClass: 'shandongzhuanyejisu'
},
chongqingzhuanye: {
id: 52,
mainClass: 'chongqingzhuanye'
},
jiaoyuganbuwang: {
id: 53,
mainClass: 'jiaoyuganbuwang'
},
zhijiaoyun: { id: 54, mainClass: 'shandongzhuanyejisu' },
zhijiaoyun2: { id: 54, mainClass: 'zhijiaoyun2' },
zaixianxuexi: { id: 55, mainClass: 'zaixianxuexi' },
anquanshengchanzx: {
id: 56,
mainClass: 'CTXCommon',
option: {
'nodeListClass': '',
'activeClass': '',
'videoEle': () => {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$video = document.querySelector('#vjs_video_3_html5_api');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
},
_init(that) {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var _c;
try {
let $allTask1 = document.querySelectorAll('.chapter_j>span');
let $allTask2 = document.querySelectorAll('.first-box');
ElementObj.$allTask = $allTask1.length ? $allTask1 : $allTask2;
if (ElementObj.$allTask.length) {
clearInterval(interval);
showTip('正在初始化');
ElementObj.$handleSpeedUp.style.display = 'none';
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let $item = ElementObj.$allTask[i].querySelector('li');
if (!!$item) {
if ($item.classList.contains('currse')) {
that.currentIndex = i;
break;
}
}
let isDone = ElementObj.$allTask[i];
if (isDone.classList.contains('text-color')) {
that.currentIndex = i;
break;
}
}
if (that.currentIndex == -1) {
alert('当前课程已全部学完');
return;
}
if (location.pathname != '/course/lesson') {
(_c = ElementObj.$allTask[that.currentIndex].querySelector('li')) === null || _c === void 0 ? void 0 : _c.click();
}
showTip('初始化完成,5秒后开始播放');
that._o1();
}
}
catch (e) {
}
}), 500);
});
},
listenRebortFn(that) {
let $mask = document.querySelector('.mask.mask_bg').style.display;
if ($mask != 'none') {
that.playNext(that);
return;
}
let time = ElementObj.$video.currentTime / 60;
let durrentTime = ElementObj.$video.duration / 60;
let $balance = document.querySelector('.vjs-remaining-time-display');
if ($balance) {
let $balancetext = $balance.innerText;
if ($balancetext == '0:00') {
that.playNext(that);
return;
}
}
if (time >= durrentTime) {
that.playNext(that);
}
},
playNext(that) {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(2000);
if (that.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
that.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[that.currentIndex].querySelector('li');
if (location.pathname == '/course/lesson') {
$nextBtn = ElementObj.$allTask[that.currentIndex];
}
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
setTimeout(() => {
that._o1();
}, 2000);
});
}
},
},
guojiakaifangdaxue: {
id: 57,
mainClass: 'guojiakaifangdaxue'
},
jjjxjy: {
id: 58,
mainClass: 'jjjxjy'
},
csustcj: {
id: 59,
mainClass: 'CTXCommon',
option: { 'nodeListClass': '.ivu-tree-children .render-content__video', 'activeClass': 'activeVideo' }
},
xiangongyedx: {
id: 60,
mainClass: 'CTXCommon',
apis: {
getList(id) {
return new Promise((resolve) => {
fetch(`${location.origin}/cjapi/other/student/plan/view?id=` + id, {
"headers": {
"accept": "application/json, text/plain, */*",
"authorization": `Bearer.${localStorage.getItem('stuToken')}`,
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin"
},
"referrerPolicy": "strict-origin-when-cross-origin",
"body": null,
"method": "GET",
"mode": "cors",
"credentials": "include"
}).then(res => res.json()).then(res => {
let task = res.data.chapter.map((item) => item.items);
resolve(task);
});
});
},
getDetail(id, tpcId) {
return new Promise((resolve, reject) => {
fetch("https://xatu.168wangxiao.com/cjapi/other/student/chapter/view?id=8809&tpcId=6372", {
"headers": {
"accept": "application/json, text/plain, */*",
"authorization": `Bearer.${localStorage.getItem('stuToken')}`,
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin"
},
"referrerPolicy": "strict-origin-when-cross-origin",
"body": null,
"method": "GET",
"mode": "cors",
"credentials": "include"
}).then(res => res.json()).then(res => {
resolve(res.data.details.videoDuration);
});
});
},
save(body) {
return new Promise((resolve) => {
fetch(`${location.origin}/cjapi/other/student/curriculum/progress/update/v2`, {
"headers": {
"accept": "application/json, text/plain, */*",
"authorization": `Bearer.${localStorage.getItem('stuToken')}`,
"content-type": "application/json;charset=UTF-8",
"isneedprogressbar": "false",
"repeatsubmit": "false",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin"
},
"referrerPolicy": "strict-origin-when-cross-origin",
"body": JSON.stringify(body),
"method": "PUT",
"mode": "cors",
"credentials": "include"
}).then(res => res.json()).then(res => resolve(res));
});
},
},
option: {
'nodeListClass': '.ivu-tree-children .render-content__video', 'activeClass': 'activeVideo',
_init(that) {
return __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
// @ts-ignore
let id = /[0-9]+/.exec(location.pathname)[0];
let $wrap = document.querySelector('.details-container');
if (id && $wrap) {
clearInterval(timer);
ElementObj.$handleSpeedUp.style.display = 'none';
yield that.changeHtml($wrap);
that.addInfo('正在获取课程信息');
// @ts-ignore
let classList = yield _i1.xiangongyedx.apis.getList(id);
that.addInfo('获取课程信息成功');
console.log('classList====>>>', classList);
forData: for (let k of classList) {
for (let item of k) {
if (item.title.indexOf('章节测评') != -1)
continue;
if (!item.video)
continue;
if (!item.isover) {
that.addInfo(`即将开始播放【${item.title}】`);
console.log('item====>>>', item);
// @ts-ignore
let res = yield _i1.xiangongyedx.apis.save({
"tpcId": Number(id),
"curriculumid": item.curriculum_id,
"chapterid": item.id,
"videoid": JSON.parse(item.video)[0].videoid,
"type": item.type,
"progress": -1
});
console.log('res====>>>', res);
// @ts-ignore
let lenT = yield _i1.xiangongyedx.apis.getDetail(item.id, id);
that.addInfo(`【${item.title}】播放中,本节视频时长为${item.timelen},至少学习${lenT}秒`);
MyTool.setValue('lenT', lenT);
yield that._o1();
// @ts-ignore
res = yield _i1.xiangongyedx.apis.save({
"tpcId": Number(id),
"curriculumid": item.curriculum_id,
"chapterid": item.id,
"videoid": JSON.parse(item.video)[0].videoid,
"type": item.type,
"progress": lenT
});
console.log('结束学习res====>>>', res);
if (res.data.isOver) {
that.addInfo(item.title + '课程学习完成');
}
}
}
}
}
}), 500);
});
},
playFn(that) {
return __awaiter(this, void 0, void 0, function* () {
let lenT = MyTool.getValue('lenT');
let s = 0;
for (let item of new Array(lenT)) {
s += 1;
yield MyTool.sleep(1000);
that.addInfo(`已播放${s}秒`);
}
});
}
}
},
hebeiganbu: {
id: 62,
mainClass: 'hebeiganbu',
},
gdedujsxx: {
id: 63,
mainClass: 'gdedujsxx',
},
wsjkrczyjn: {
id: 57,
mainClass: 'CTXCommon',
option: {
'nodeListClass': '.setionItem',
'activeClass': 'active'
}
},
zhuzhouteacher: {
id: 64,
mainClass: 'zhuzhouteacher'
},
zhuanyejishuryjxjy: {
id: 65,
mainClass: 'zhuanyejishuryjxjy'
},
yinghuaxuetang: {
id: 65,
mainClass: 'yinghuaxuetang'
},
yidiantong: {
id: 66, mainClass: 'CTXCommon',
option: {
'nodeListClass': '.keshi',
openListenPlayTime: false,
getCurrentIndexByOption() {
return new Promise(resolve => {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
if (isDone.classList.contains('active')) {
resolve(i);
break;
}
}
});
},
nextClass: 'a'
}
},
shanghaikaifangdx: { id: 67, mainClass: 'shanghaikaifangdx', },
gzgbjy: { id: 68, mainClass: 'gzgbjy' },
jixujiaoyuzaixian: { id: 69, mainClass: 'jixujiaoyuzaixian' },
guizhoujianshezyjs: {
id: 70,
mainClass: 'guizhoujianshezyjs',
},
zaixian100f: {
id: 71, mainClass: 'CTXCommon',
option: {
'nodeListClass': '',
'activeClass': '',
'videoEle': () => {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$video = document.querySelector('#vjs_video_3_html5_api');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
},
_init(that) {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var _c;
try {
let $allTask1 = document.querySelectorAll('.chapter_j>span');
let $allTask2 = document.querySelectorAll('.first-box');
ElementObj.$allTask = $allTask1.length ? $allTask1 : $allTask2;
if (ElementObj.$allTask.length) {
clearInterval(interval);
showTip('正在初始化');
ElementObj.$handleSpeedUp.style.display = 'none';
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let $item = ElementObj.$allTask[i].querySelector('li');
if (!!$item) {
if ($item.classList.contains('currse')) {
that.currentIndex = i;
break;
}
}
let isDone = ElementObj.$allTask[i];
if (isDone.classList.contains('text-color')) {
that.currentIndex = i;
break;
}
}
if (that.currentIndex == -1) {
alert('当前课程已全部学完');
return;
}
if (location.pathname != '/course/lesson') {
(_c = ElementObj.$allTask[that.currentIndex].querySelector('li')) === null || _c === void 0 ? void 0 : _c.click();
}
showTip('初始化完成,5秒后开始播放');
that._o1();
}
}
catch (e) {
}
}), 500);
});
},
listenRebortFn(that) {
let $mask = document.querySelector('.mask.mask_bg').style.display;
if ($mask != 'none') {
that.playNext(that);
return;
}
let time = ElementObj.$video.currentTime / 60;
let durrentTime = ElementObj.$video.duration / 60;
let $balance = document.querySelector('.vjs-remaining-time-display');
if ($balance) {
let $balancetext = $balance.innerText;
if ($balancetext == '0:00') {
that.playNext(that);
return;
}
}
if (time >= durrentTime) {
that.playNext(that);
}
},
playNext(that) {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(2000);
if (that.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
that.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[that.currentIndex].querySelector('li');
if (location.pathname == '/course/lesson') {
$nextBtn = ElementObj.$allTask[that.currentIndex];
}
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
setTimeout(() => {
that._o1();
}, 2000);
});
}
}
},
gzteacher: {
id: 72,
mainClass: 'gzteacher'
},
moocxinyingzao: { id: 73, mainClass: 'moocxinyingzao' },
zhejiangzjelib: {
id: 74,
mainClass: 'zhejiangzjelib'
},
jlnkylllnet: {
id: 77,
mainClass: 'jlnkylllnet'
},
dongbeishifandaxue: {
id: 76,
mainClass: 'dongbeishifandaxue'
},
quanguomeotan: {
id: 78,
mainClass: 'CTXCommon',
option: {
'nodeListClass': '.row1 a.subset-class',
'activeClass': 'on'
}
},
qzjystudy: {
id: 79,
mainClass: 'qzjystudy'
},
jsjxjypt: {
id: 80,
mainClass: 'CTXCommon',
option: { 'nodeListClass': '.videoRight ul li', 'activeClass': 'li1' }
},
GlivePro: {
id: 81,
mainClass: 'GlivePro'
},
gaodengxueli: {
id: 82,
mainClass: 'gaodengxueli',
option: { 'nodeListClass': '.course-list-txt dd i', 'activeClass': 'fa-youtube-play' }
},
henanzhuanjizaixian: {
id: 83,
mainClass: 'henanzhuanjizaixian'
},
hunannmdxs: { id: 84, mainClass: 'hunannmdxs' },
hexuezaixianjxjyzx: {
id: 85,
mainClass: 'CTXCommon',
option: {
'nodeListClass': '.list_text:not(.color_catalog)',
'activeClass': 'bai_color_text_icon',
'afterPlayEnd': () => {
return new Promise(resolve => {
setTimeout(() => {
let $btn = document.querySelector('.el-message-box .el-button--primary');
$btn === null || $btn === void 0 ? void 0 : $btn.click();
resolve(true);
}, 3000);
});
}
}
},
shenixue: {
id: 86, mainClass: 'CTXCommon',
option: {
'nodeListClass': '.jss299', 'activeClass': 'jss300',
'playNext': () => {
return new Promise(resolve => {
setTimeout(() => {
ElementObj.$allTask = document.querySelectorAll('.jss299');
for (let item of ElementObj.$allTask) {
let isdone = item.querySelector('.jss303');
if (!isdone) {
item.click();
setTimeout(() => {
toolOption.CtxMain._o1();
}, 3000);
break;
}
}
}, 3000);
});
}
}
},
dongaokauji: {
id: 87,
mainClass: 'CTXCommon',
option: {
'nodeListClass': '',
'activeClass': '',
openListenPlayTime: true,
_init: (that) => __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$parentNodes = document.querySelectorAll('tbody>tr');
if ((['/cwweb/lecture/lectureList', '/study/u/myCourse'].indexOf(location.pathname) != -1) && ElementObj.$parentNodes.length) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
let isDone = false;
for (var i = 0; i <= ElementObj.$parentNodes.length - 1; i++) {
let item = ElementObj.$parentNodes[i];
if (location.pathname == '/cwweb/lecture/lectureList') {
let $spans = item.querySelectorAll('td')[1].querySelectorAll('span');
// @ts-ignore
if ($spans[0].innerText != $spans[1].innerText.replace('/', '')) {
MyTool.setValue('homeUrl', location.href);
let $btn = item.querySelector('.study-a');
$btn.click();
setTimeout(() => {
window.close();
}, 20 * 1000);
break;
}
}
else {
let $status = item.querySelectorAll('td')[6];
if (location.pathname == '/study/u/myCourse') {
$status = item.querySelectorAll('td')[5];
}
if ($status.innerText.trim() != '已完成') {
MyTool.setValue('homeUrl', location.href);
let $spans = item.querySelector('a.operate-a.active');
$spans.click();
break;
}
}
}
// 某一个课程列表内的小课程已学完,跳转到大课程
if (location.pathname == '/cwweb/lecture/lectureList' && isDone) {
let HomeUrl0 = MyTool.getValue('HomeUrl0');
if (!HomeUrl0) {
showTip('监测到程序不是从首页自动跳转,导致未保存首页链接,将返回默认首页');
HomeUrl0 = 'https://study.dongao.cn/study/u/myCourse?accountId=22619331';
}
location.href = HomeUrl0;
}
}
if (location.pathname.indexOf('/cwweb/videoShow/video/videoPlay') != -1) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
that._o1();
}
}), 1000);
}),
listenRebortFn() {
var _c;
let $veryCode = document.querySelector('#vjs-overlay');
if ($veryCode) {
(_c = $veryCode.parentElement) === null || _c === void 0 ? void 0 : _c.removeChild($veryCode);
setTimeout(() => {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
}, 2000);
}
},
playNext(that) {
return __awaiter(this, void 0, void 0, function* () {
let homeUrl = MyTool.getValue('homeUrl');
location.href = homeUrl;
setTimeout(() => {
that._o1();
}, 5000);
});
}
}
},
btzjpx: {
id: 88, mainClass: 'CTXCommon',
option: {
'nodeListClass': '.classBox',
'openListenPlayStatus': false,
'getCurrentIndexByOption': () => {
return new Promise(resolve => {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let item = ElementObj.$allTask[i];
if (item.style.background == 'rgb(240, 247, 254)') {
resolve(i);
}
}
});
}
}
},
bainianshuren: {
id: 89,
mainClass: "bainianshuren",
},
dyyxlearning: {
id: 90,
mainClass: "dyyxlearning",
},
hebeijiaoshijiaoyuwang: {
id: 91,
mainClass: "hebeijiaoshijiaoyuwang",
},
shangdongganbu: {
id: 92,
mainClass: "shangdongganbu",
},
yunketang: {
id: 93,
mainClass: "yunketang",
option: {
'nodeListClass': '.el-collapse-item__content div.file-item',
'activeClass': 'file-item-active'
}
},
guojiazhongxiaoxue: {
id: 94,
mainClass: "CTXCommon",
option: {
'nodeListClass': '',
'activeClass': '',
_init(that) {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$handleSpeedUp.style.display = 'none';
ElementObj.$parentNodes = document.querySelectorAll('.fish-collapse-item');
ElementObj.$allTask = document.querySelectorAll('.resource-item');
if (ElementObj.$parentNodes.length || ElementObj.$allTask.length) {
clearInterval(interval);
let type = ElementObj.$parentNodes.length ? 1 : 2;
if (type === 1) {
showTip('学习准备中~', 10 * 1000);
for (let item of ElementObj.$parentNodes) {
item.querySelector('.fish-collapse-header').click();
let $layer2s = item.querySelectorAll('.fish-collapse-header');
let index = 0;
if ($layer2s.length > 1) {
for (let $layer2sItem of $layer2s) {
if (index == 0)
continue;
$layer2sItem.click();
index += 1;
yield sleep(250);
}
index = 0;
}
yield sleep(300);
}
ElementObj.$allTask = document.querySelectorAll('.resource-item');
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据进度判断
let status = isDone.querySelector('i').title;
if (status != '已学完') {
that.currentIndex = i;
break;
}
}
}
else {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
if (isDone.classList.contains('resource-item-active')) {
that.currentIndex = i;
break;
}
}
}
if (that.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
let NextBtn = ElementObj.$allTask[that.currentIndex];
NextBtn.click();
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
that._o1();
}, 1000 * 3);
}
}
catch (e) {
}
}), 1000);
});
},
playNext(that) {
return __awaiter(this, void 0, void 0, function* () {
if (that.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
yield sleep(2500);
that.currentIndex += 1;
ElementObj.$allTask[that.currentIndex].click();
setTimeout(() => {
that._o1();
}, 3000);
});
},
listenRebortFn() {
var _c;
let $fishBtn = document.querySelectorAll('.fish-btn.fish-btn-primary')[1];
$fishBtn === null || $fishBtn === void 0 ? void 0 : $fishBtn.click();
let $modal = document.querySelector('.fish-modal-root');
(_c = $modal === null || $modal === void 0 ? void 0 : $modal.parentElement) === null || _c === void 0 ? void 0 : _c.removeChild($modal);
}
}
},
huaxiajiaoshiyanpei: {
id: 95,
mainClass: "huaxiajiaoshiyanpei",
},
zhelixuexi: {
id: 96,
mainClass: "zhelixuexi",
},
fhswifer: {
id: 97,
mainClass: "fhswifer",
},
shdfuruuwsor: {
id: 98,
mainClass: 'CTXCommon',
option: {
'nodeListClass': '.simple-list li',
'openListenPlayStatus': false,
'openListenPlayTime': true,
'_init': () => {
return new Promise(resolve => {
let interval = setInterval(() => {
let $elwrappe = document.querySelector('.el-message-box__wrapper');
if ($elwrappe && $elwrappe.style.display != 'none') {
let $elbtn = document.querySelector('.el-message-box__btns .el-button--primary');
$elbtn.click();
}
ElementObj.$handleSpeedUp.style.display = 'none';
ElementObj.$allTask = document.querySelectorAll('.simple-list li');
if (ElementObj.$allTask.length > 0) {
clearInterval(interval);
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let item = ElementObj.$allTask[i].querySelectorAll('div div')[2];
if (item.innerText != '完成') {
let $cur = ElementObj.$allTask[i].querySelector('.el-tooltip').style.color;
if ($cur != 'rgb(255, 165, 0)') {
ElementObj.$allTask[i].click();
}
toolOption.CtxMain.pdPlayFn(location.href);
resolve(i);
break;
}
}
}
});
});
},
'playNext': () => {
return new Promise(resolve => {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let $cur = ElementObj.$allTask[i].querySelector('.el-tooltip').style.color;
if ($cur == 'rgb(255, 165, 0)') {
let item = ElementObj.$allTask[i].querySelectorAll('div div')[2];
if (item.innerText != '完成') {
toolOption.CtxMain.pdPlayFn(location.href);
return false;
}
ElementObj.$allTask[i + 1].click();
resolve(true);
break;
}
}
});
},
'listenRebortFn': () => {
// @ts-ignore
let $status = document.querySelector('.el-tooltip[style]').parentElement.querySelectorAll('div div')[1];
if ($status.innerText == '完成') {
location.reload();
}
}
}
},
cnjiewhr34iuiehs: {
id: 99,
mainClass: 'CTXCommon',
option: {
'nodeListClass': '.menu ul>li dl',
'openListenPlayStatus': false,
// 'openListenPlayTime': true,
'getCurrentIndexByOption': () => {
return new Promise(resolve => {
resolve(1);
});
},
'playNext': () => {
return new Promise(resolve => {
let preVideoSrc = MyTool.getValue('preVideoSrc');
if (ElementObj.$video.src == preVideoSrc) {
toolOption.CtxMain.play();
}
else {
MyTool.setValue('preVideoSrc', ElementObj.$video.src);
setTimeout(() => {
location.reload();
}, 3000);
}
});
}
}
},
rrhisdgf283y7jvdf: {
id: 100,
mainClass: 'rrhisdgf283y7jvdf',
},
f6872: {
id: 101,
mainClass: 'f6872'
},
a782: {
id: 102,
mainClass: 'rrhisdgf283y7jvdf',
},
su862v: {
id: 103,
mainClass: 'CTXCommon',
option: {
'nodeListClass': '#m-chapter-ul li a',
'openListenPlayStatus': false,
'openListenPlayTime': true,
'activeClass': 'z-crt'
}
},
bfuew28: {
id: 105,
mainClass: 'CTXCommon',
option: {
nodeListClass: '',
openListenPlayStatus: false,
videoEle: () => {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
// @ts-ignore
ElementObj.$video = document.querySelectorAll('iframe')[2].contentDocument.querySelector('iframe').contentDocument.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
},
_init: () => {
return new Promise(resolve => {
let interval = setInterval(() => {
let $iframe = document.querySelectorAll('iframe')[2];
if ($iframe) {
// @ts-ignore
ElementObj.$allTask = $iframe.contentDocument.querySelectorAll('.s_point');
if (ElementObj.$allTask.length > 0) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
toolOption.CtxMain.getCurrentIndex();
}
}
});
});
},
getCurrentIndexByOption: () => {
return new Promise(resolve => {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let item = ElementObj.$allTask[i];
if (item.classList.contains('s_pointerct')) {
resolve(i);
break;
}
}
});
},
listenRebortFn: () => {
let $btn = document.querySelector('.layui-layer-btn0');
$btn === null || $btn === void 0 ? void 0 : $btn.click();
ElementObj.$video.play();
}
}
},
sd199: {
id: 104,
mainClass: 'CTXCommon',
option: {
nodeListClass: '',
openListenPlayStatus: false,
videoEle: () => {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
// @ts-ignore
ElementObj.$video = document.querySelectorAll('video')[1];
if (!!ElementObj.$video && ElementObj.$video.src) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
},
_init: (that) => {
return new Promise(resolve => {
let count = 10;
let interval = setInterval(() => {
if (count < 0) {
showTip('🔊未找到目录,请在此界面手动更换一个视频', 4000);
clearInterval(interval);
}
// @ts-ignore
// ElementObj.$allTask = document.querySelectorAll('.sf-with-ul')[1].nextSibling?.querySelectorAll('li a[id]');
ElementObj.$allTask = document.querySelectorAll('ul a[id]');
if (ElementObj.$allTask.length > 0) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
that.getCurrentIndex();
}
count += 1;
}, 500);
});
},
getCurrentIndexByOption: () => {
return new Promise(resolve => {
let $cur = document.querySelector('.learn-title').innerText.replace(/ /g, '');
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let item = ElementObj.$allTask[i];
if (item.innerText.replace(/ /g, '') == $cur) {
resolve(i);
break;
}
}
});
},
}
},
f13v: {
id: 106,
mainClass: 'CTXCommon',
option: {
nodeListClass: '.el-menu li',
activeClass: 'is-active',
openListenPlayStatus: false,
}
},
g32f: {
id: 107,
mainClass: 'CTXCommon',
option: {
nodeListClass: '.bb_e8edf0_dash div[id]',
activeClass: 'cur',
openListenPlayStatus: false,
_init: () => {
return new Promise(resolve => {
let interval = setInterval(() => {
ElementObj.$video = document.querySelector('video');
if (ElementObj.$video) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
toolOption.CtxMain._o1();
}
});
});
},
playNext: () => {
return new Promise(resolve => {
let $nextBtn = document.querySelector('a.btItem.Next');
$nextBtn.click();
});
}
}
},
ss10: {
id: 107,
mainClass: 'CTXCommon',
option: {
nodeListClass: '.menu_body span>a.chapter',
_init: () => {
return new Promise(resolve => {
let timer = setInterval(() => {
var _c, _d, _f, _g;
ElementObj.$parentNodes = (_d = (_c = document.querySelector('iframe')) === null || _c === void 0 ? void 0 : _c.contentDocument) === null || _d === void 0 ? void 0 : _d.querySelectorAll('.class-wrapper');
if (ElementObj.$parentNodes && ElementObj.$parentNodes.length) {
clearInterval(timer);
let old = localStorage.getItem('curClassName');
for (let i = 0; i < ElementObj.$parentNodes.length; i++) {
let item = ElementObj.$parentNodes[i];
let name = item.querySelector('.kcmc').innerText.trim();
if (name == old) {
let nextBtn = ElementObj.$parentNodes[i + 1].querySelector('input.btn');
nextBtn.click();
break;
}
}
resolve(true);
}
if (location.pathname == '/student/IndexWlkc_BootStrap.aspx') {
clearInterval(timer);
ElementObj.$parentNodes = (_g = (_f = document.querySelector('iframe')) === null || _f === void 0 ? void 0 : _f.contentDocument) === null || _g === void 0 ? void 0 : _g.querySelectorAll('.menu_body span>a[title]');
if (ElementObj.$parentNodes && ElementObj.$parentNodes.length) {
ElementObj.$parentNodes[0].click();
}
resolve(true);
}
ElementObj.$allTask = document.querySelectorAll('.menu_body span>a.chapter');
if (ElementObj.$allTask.length) {
clearInterval(timer);
// @ts-ignore
let curClassName = document.querySelector('.glyphicon-home').innerText.trim();
localStorage.setItem('curClassName', curClassName);
toolOption.CtxMain.getCurrentIndex();
resolve(true);
}
}, 1000);
});
},
getCurrentIndexByOption: () => {
return new Promise(resolve => {
for (let i = 0; i < ElementObj.$allTask.length; i++) {
let item = ElementObj.$allTask[i];
if (item.style.color == "rgb(51, 122, 183)") {
resolve(i);
break;
}
}
});
},
playFn: (that) => __awaiter(this, void 0, void 0, function* () {
// @ts-ignore
let wlkcID = /wlkcID=(.+)&wlk/.exec(location.search)[1];
// @ts-ignore
let wlkckkID = /wlkckkID=(.+)&/.exec(location.search)[1];
// @ts-ignore
let zjid = /zjid=(.+)/.exec(location.search)[1];
// @ts-ignore
let learnTime = document.querySelector('#lbl_videoTime').innerText.trim();
// @ts-ignore
let __VIEWSTATE = unsafeWindow.__VIEWSTATE.value;
// @ts-ignore
let __VIEWSTATEGENERATOR = unsafeWindow.__VIEWSTATEGENERATOR.value;
// @ts-ignore
let __EVENTVALIDATION = unsafeWindow.__EVENTVALIDATION.value;
if (!wlkcID || !wlkckkID || !zjid || !learnTime || !__VIEWSTATE || !__VIEWSTATEGENERATOR || !__EVENTVALIDATION) {
alert('参数错误');
return;
}
yield fetch(`${location.origin}/student/BootStrap_Video.aspx?wlkcID=${wlkcID}&wlkckkID=${wlkckkID}&zjid=${zjid}`, {
"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(learnTime)}&shijiLearnTime=${Number(learnTime)}&learnTime=${Number(learnTime)}&videoState=pause&__VIEWSTATE=${encodeURIComponent(__VIEWSTATE)}&__VIEWSTATEGENERATOR=${__VIEWSTATEGENERATOR}&__EVENTVALIDATION=${encodeURIComponent(__EVENTVALIDATION)}&__ASYNCPOST=true&btnYXXXSJ=`,
"method": "POST",
"mode": "cors"
});
toolOption.CtxMain.playNext(that);
}),
playNext: (that) => {
return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
if (that.currentIndex >= ElementObj.$allTask.length - 1) {
location.href = `${location.origin}/student/IndexTemplate_BootStrap.aspx`;
return;
}
yield sleep(2000);
that.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[that.currentIndex];
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
setTimeout(() => {
that._o1();
}, 2000);
}));
}
}
},
rs01: {
id: 108,
mainClass: 'CTXCommon',
option: {
activeClass: '',
nodeListClass: '',
_init(that) {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = 'none';
ElementObj.$allTask = document.querySelectorAll('.rank-3>li');
if (location.pathname.indexOf('/home/course/') != -1 && ElementObj.$allTask.length > 0) {
clearInterval(interval);
that.getCurrentIndex();
return;
}
let $navBtn2 = document.querySelector('.navBtn2');
if (location.pathname.indexOf('/home/course/') != -1 && $navBtn2) {
clearInterval(interval);
setTimeout(() => {
that._init();
}, 2000);
$navBtn2.click();
}
if (location.pathname == '/home/learn/index') {
let $active = document.querySelector('.basic.active');
if ($active) {
clearInterval(interval);
// @ts-ignore
$active.nextElementSibling.querySelector('.basic').click();
setTimeout(() => {
that.pdPlayFn(location.href);
}, 3000);
}
}
}), 1000);
});
},
getCurrentIndexByOption() {
return new Promise(resolve => {
for (let item of ElementObj.$allTask) {
// @ts-ignore
let name = item.querySelector('a');
if (name.innerText.indexOf('测试') != -1)
continue;
let $basic = item.querySelector('.basic');
if (!$basic.classList.contains('looked')) {
MyTool.setValue('homeUrl', location.href);
name.click();
break;
}
}
resolve(0);
});
},
playNext() {
return __awaiter(this, void 0, void 0, function* () {
location.href = MyTool.getValue('homeUrl');
});
},
listenRebortFn() {
let $playBtn = document.querySelector('.vjs-big-play-button');
$playBtn === null || $playBtn === void 0 ? void 0 : $playBtn.click();
ElementObj.$video.volume = 0;
ElementObj.$video.play();
}
}
},
das01: {
id: 109,
mainClass: 'CTXCommon',
option: {
nodeListClass: 'ul>li:first-child',
activeClass: 'list',
openListenPlayStatus: false,
_init: () => {
return new Promise(resolve => {
let timer = setInterval(() => {
ElementObj.$handleSpeedUp.style.display = 'none';
if (location.pathname == '/online/learn') {
let $btn = document.querySelector('.toStudy');
if ($btn) {
clearInterval(timer);
setTimeout(() => {
window.close();
}, 1000 * 10);
$btn.click();
resolve(true);
return;
}
}
if (location.pathname == '/admin/lock/Study') {
ElementObj.$allTask = document.querySelectorAll('ul>li');
if (ElementObj.$allTask.length) {
clearInterval(timer);
toolOption.CtxMain.getCurrentIndex();
resolve(true);
return;
}
}
}, 500);
});
},
listenRebortFn: () => {
let $ipt = document.querySelector('.layui-input');
if ($ipt) {
let num = $ipt.getAttribute('data-num3');
// @ts-ignore
$ipt.value = num;
document.querySelector('.layui-layer-btn0').click();
}
},
playNext: (that) => {
return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
if (that.currentIndex >= ElementObj.$allTask.length - 1) {
location.href = 'http://hzsdadmin.zhihuiteacher.com/online/learn';
return;
}
yield sleep(2500);
that.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[that.currentIndex];
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
setTimeout(() => {
that._o1();
}, 5000);
}));
}
}
},
aa101: {
id: 110,
mainClass: 'CTXCommon',
option: {
nodeListClass: '.level2>a',
activeClass: 'cur',
}
},
sdf1: {
id: 111,
mainClass: 'CTXCommon',
option: {
nodeListClass: '.ml_2 li',
activeClass: 'cur',
nextClass: '.littletit',
openListenPlayTime: false,
getCurrentIndexByOption: () => {
return new Promise(resolve => {
for (let i = 0; i < ElementObj.$allTask.length; i++) {
let item = ElementObj.$allTask[i].querySelector('.littlebot');
let $status = item.querySelector('.el-progress');
let title = ElementObj.$allTask[i].querySelector('.elli').innerText.trim();
if ($status && (title.indexOf('在线作业') == -1 && title.indexOf('习题测验') == -1 && title.indexOf('Test') == -1)) {
resolve(i);
break;
}
}
});
},
listenRebortFn: () => {
var _c;
let $cur = document.querySelector('._active.elli');
let $parent = (_c = $cur === null || $cur === void 0 ? void 0 : $cur.parentElement) === null || _c === void 0 ? void 0 : _c.parentElement;
let $icon = $parent.querySelector('.el-icon-circle-check');
let txt = $cur.innerText.trim();
if ($icon || txt == '在线作业' || txt.indexOf('习题测验') != -1 || txt.indexOf('Test') != -1) {
toolOption.CtxMain.playNext();
}
}
}
},
sdf3: {
id: 112,
mainClass: 'CTXCommon',
option: {
nodeListClass: '#classes li',
activeClass: 'li_current_index',
openListenPlayTime: false,
}
},
dsfs: {
id: 112,
mainClass: 'CTXCommon',
option: {
nodeListClass: '#content a',
_init() {
return new Promise(resolve => {
let timer = setInterval(() => {
ElementObj.$allTask = document.querySelectorAll('#content a');
ElementObj.$handleSpeedUp.style.display = 'none';
if (ElementObj.$allTask.length) {
clearInterval(timer);
let preClassName = MyTool.getValue('preClassName');
if (!preClassName) {
MyTool.setValue('homeUrl', location.href);
ElementObj.$allTask[0].click();
}
else {
for (let i = 0; i < ElementObj.$allTask.length; i++) {
let item = ElementObj.$allTask[i];
if (preClassName == item.innerText.trim()) {
MyTool.setValue('homeUrl', location.href);
ElementObj.$allTask[i + 1].click();
break;
}
}
}
resolve(true);
}
let btn = document.querySelector('.item-title.label h1 a');
if (btn && location.pathname == '/m/Exam/Student/startStudy') {
clearInterval(timer);
btn.click();
resolve(true);
}
if (location.pathname == '/m/Exam/Student/startStudy') {
clearInterval(timer);
toolOption.CtxMain.pdPlayFn(location.href);
resolve(true);
}
}, 500);
});
},
playNext(that) {
return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
let til = document.querySelector('.startStudy-title>p');
let curClassName = til === null || til === void 0 ? void 0 : til.innerText.trim();
MyTool.setValue('preClassName', curClassName);
let $btn = document.querySelector('.bottom-pc-btn button');
$btn.click();
yield sleep(2000);
setTimeout(() => {
location.reload();
}, 3000);
document.querySelector('.modal-button.modal-button-bold').click();
}));
}
}
},
bsd11: {
id: 114,
mainClass: 'CTXCommon',
option: {
nodeListClass: 'a.title',
getCurrentIndexByOption() {
return new Promise((resolve, reject) => {
for (let i = 0; i < ElementObj.$allTask.length; i++) {
let item = ElementObj.$allTask[i];
if (item.parentElement.classList.contains('active')) {
resolve(i);
break;
}
}
});
}
}
},
s221s: {
id: 115,
mainClass: "CTXCommon",
option: {
nodeListClass: '.tab-content-desc',
activeClass: 'desc-item-sel',
playFn: (that) => __awaiter(this, void 0, void 0, function* () {
let studyType = yield that.getVideoDom();
ElementObj.$video.volume = 0;
ElementObj.$video.play();
yield sleep(1000);
ElementObj.$video.currentTime += 7200;
yield sleep(1000);
ElementObj.$video.currentTime += 7200;
yield sleep(1000);
that.playNext();
})
}
},
ifsbds: {
id: 116,
mainClass: "CTXCommon",
option: {
nodeListClass: '.tab-content-desc',
activeClass: 'desc-item-sel',
_init: () => __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => {
ElementObj.$handleSpeedUp.style.display = 'none';
if (location.pathname == '/kaoshi_qnzzxy/majorlist.html') {
clearInterval(timer);
alert('请选择一个课程,点击进去');
return;
}
ElementObj.$allTask = document.querySelectorAll('.list-group-item');
if (ElementObj.$allTask.length > 0) {
clearInterval(timer);
for (let item of ElementObj.$allTask) {
let $status = item.querySelector('.list-group-item-text.text-muted');
if ($status.innerText != '学习进度:100.00%') {
MyTool.setValue('homeUrl', location.href);
item.click();
break;
}
}
}
if (location.pathname == '/kaoshi_qnzzxy/test.html') {
clearInterval(timer);
toolOption.CtxMain.pdPlayFn(location.href);
}
}, 500);
}),
playNext: (that) => __awaiter(this, void 0, void 0, function* () {
location.href = MyTool.getValue('homeUrl');
})
}
},
sfps: {
id: 117,
mainClass: "CTXCommon",
option: {
nodeListClass: '',
activeClass: '',
openListenPlayStatus: true,
_init: (that) => __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = 'none';
ElementObj.$allTask = document.querySelectorAll('.lesson li');
if (ElementObj.$allTask.length) {
clearInterval(timer);
for (let item of ElementObj.$allTask) {
if (!item.classList.contains('history')) {
MyTool.setValue('homeUrl', location.href);
item.querySelector('a').click();
break;
}
}
}
if (location.pathname == '/course-section-video-play') {
clearInterval(timer);
window.alert = () => {
};
that._o1();
}
}), 200);
}),
playNext: (that) => __awaiter(this, void 0, void 0, function* () {
window.alert = () => {
};
location.href = MyTool.getValue('homeUrl');
}),
listenRebortFn: () => __awaiter(this, void 0, void 0, function* () {
let $checkCode = document.querySelector('#checkCode');
if ($checkCode.innerText) {
let $inputCode = document.querySelector('#inputCode');
$inputCode.value = $checkCode.innerText;
yield sleep(1500);
document.querySelector('.Button1.Button').click();
}
window.alert = () => false;
if (ElementObj.$video && (ElementObj.$video.currentTime >= ElementObj.$video.duration)) {
toolOption.CtxMain.playNext();
}
})
}
},
sf1101: {
id: 118,
mainClass: "CTXCommon",
option: {
nodeListClass: 'span.studiedLesson',
activeClass: 'RED',
openListenPlayStatus: true,
getCurrentIndex(that) {
return __awaiter(this, void 0, void 0, function* () {
for (let i = 0; i < ElementObj.$allTask.length; i++) {
let item = ElementObj.$allTask[i];
if (!item.classList.contains('studiedLessonMark')) {
that.currentIndex = i;
showTip('初始化完成,3秒后开始自动播放', 3000);
item.click();
setTimeout(() => {
that.pdPlayFn(location.href);
}, 2000);
break;
}
}
if (that.currentIndex === -1) {
alert('当前章节所有视频已经学习完');
}
});
},
videoEle: () => {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
var _c, _d;
count += 1;
ElementObj.$video = (_d = (_c = document.querySelector('iframe')) === null || _c === void 0 ? void 0 : _c.contentDocument) === null || _d === void 0 ? void 0 : _d.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
},
listenRebortFn(that) {
var _c, _d;
return __awaiter(this, void 0, void 0, function* () {
let $btn = (_d = (_c = document.querySelector('iframe')) === null || _c === void 0 ? void 0 : _c.contentDocument) === null || _d === void 0 ? void 0 : _d.querySelector('#popup_panel input');
if ($btn) {
$btn.click();
that.play();
}
});
},
playNext() {
return __awaiter(this, void 0, void 0, function* () {
location.reload();
});
}
}
},
usd01: {
id: 119,
mainClass: "CTXCommon",
option: {
nodeListClass: '',
activeClass: '',
_init: (that) => __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = 'none';
let $icon = document.querySelector('.iconfont.icon-fujian');
if ($icon) {
clearInterval(timer);
showTip('判断此视频章节为非视频,即将自动跳过', 3000);
yield sleep(2500);
that.playNext();
return;
}
ElementObj.$video = document.querySelector('video');
if (ElementObj.$video) {
clearInterval(timer);
document.querySelector('.xt_video_player_common_icon').click();
that._o1();
return;
}
if (location.pathname.indexOf('/v2/web/studentLog') != -1) {
clearInterval(timer);
let classroom_id = location.pathname.replace('/v2/web/studentLog/', '');
forData: for (let item of new Array(100)) {
let page = 0;
let url = `https://www.yuketang.cn/v2/api/web/logs/learn/${classroom_id}?actype=15&page=${page}&offset=20&sort=-1`;
let ClassData = yield getClassData(url);
if (!ClassData.data.activities) {
break;
}
let arr = ClassData.data.activities.map((item) => {
return item.courseware_id;
});
let option = {
cid: classroom_id,
new_id: arr
};
let classStatus = yield getStatus(JSON.stringify(option));
for (let item2 of ClassData.data.activities) {
let courseware_id = item2.courseware_id;
//
if (classStatus.data[courseware_id] && classStatus.data[courseware_id].total_done != 1) {
let classUrl = `https://www.yuketang.cn/v2/web/xcloud/video-student/${classroom_id}/${item2.content.leaf_id}`;
MyTool.setValue('homeUrl', location.href);
location.href = classUrl;
break forData;
}
}
page += 1;
}
}
}), 500);
function getClassData(url) {
let csrftoken = document.cookie.split(';')[0].replace('csrftoken=', '');
return new Promise(resolve => {
fetch(url, {
"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": csrftoken,
"xt-agent": "web",
"xtbz": "ykt"
},
"referrerPolicy": "strict-origin-when-cross-origin",
"body": null,
"method": "GET",
"mode": "cors",
"credentials": "include"
}).then(res => res.json()).then(res => resolve(res));
});
}
function getStatus(option) {
let csrftoken = document.cookie.split(';')[0].replace('csrftoken=', '');
return new Promise(resolve => {
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": csrftoken,
"xt-agent": "web",
"xtbz": "ykt"
},
"referrerPolicy": "strict-origin-when-cross-origin",
"body": option,
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(res => res.json()).then(res => resolve(res));
});
}
}),
playNext: () => __awaiter(this, void 0, void 0, function* () {
showTip('✅✅✅即将切换下一个章节');
yield sleep(2000);
location.href = MyTool.getValue('homeUrl');
})
}
},
sdhfks01: {
id: 120,
mainClass: "CTXCommon",
option: {
nodeListClass: '.video .chapterhead.chapterhead1 li',
activeClass: 'current',
getCurrentIndexByOption: () => {
return new Promise(resolve => {
let $span = document.querySelector('.video_header .video_number');
let $num = $span.innerText.replace(/第|讲/g, '');
resolve(Number($num) - 1);
});
},
playNext(that) {
return new Promise(resolve => {
if (that.currentIndex >= ElementObj.$allTask.length - 1) {
alert('已全部播放完');
return;
}
showTip('✅✅✅即将自动切换下一节');
let tiemr = setInterval(() => {
let $btn = document.querySelector('.el-message-box__btns button');
if ($btn) {
that.currentIndex += 1;
clearInterval(tiemr);
setTimeout(() => {
that._o1();
}, 4000);
$btn.click();
}
}, 500);
});
}
}
},
s01r: {
id: 121,
mainClass: "CTXCommon",
option: {
nodeListClass: '.video .chapterhead.chapterhead1 li',
activeClass: 'current',
openListenPlayTime: true,
_init: (that) => __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = 'none';
// 公需课2
ElementObj.$allTask = document.querySelectorAll('.ul-course li');
if (location.host === 'jxjy.ahhjsoft.com' && ElementObj.$allTask) {
clearInterval(timer);
showTip('🔊🔊🔊仅支持公需课4、公需课3', 4000);
return;
}
// 公需课3
ElementObj.$allTask = document.querySelectorAll('.zdBox');
if (location.host === 'ah.zhuanjipx.com' && ElementObj.$allTask.length) {
clearInterval(timer);
showTip('🔊🔊🔊正在初始化', 4000);
that.classType = 3;
for (let i = 0; i < ElementObj.$allTask.length; i++) {
let item = ElementObj.$allTask[i];
if (item.classList.contains('childBox_item_on')) {
that.currentIndex = i;
showTip('✅✅✅初始化完成,开始播放', 2000);
that._o1();
break;
}
}
return;
}
// 公需课4
let $parent = document.querySelectorAll('.ant-collapse-item');
if ($parent.length > 0) {
clearInterval(timer);
showTip('🔊🔊🔊正在初始化', 4000);
that.classType = 4;
for (let item of $parent) {
if (!item.classList.contains('ant-collapse-item-active')) {
item.querySelector('.ant-collapse-header').click();
yield sleep(100);
}
}
ElementObj.$allTask = document.querySelectorAll('.video_box_k_t_lx');
for (let i = 0; i < ElementObj.$allTask.length; i++) {
let item = ElementObj.$allTask[i];
if (item.classList.contains('video_box_k_active')) {
that.currentIndex = i;
showTip('✅✅✅初始化完成,开始播放', 2000);
that._o1();
break;
}
}
}
}), 300);
}),
playFn: (that) => __awaiter(this, void 0, void 0, function* () {
var _c;
yield that.getVideoDom();
if (that.classType === 2 || that.classType === 3) {
clearInterval(that.timer);
clearInterval(that.listenVidoeStatusTimer);
clearInterval(that.listenRebortTime);
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
ElementObj.$video.addEventListener('ended', () => __awaiter(this, void 0, void 0, function* () {
showTip('✅✅✅当前视频已播放完,5秒后播放下一个', 4500);
that.playNext(that);
}));
ElementObj.$video.addEventListener('pause', () => {
setTimeout(() => {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
}, 1500);
});
}
if (that.classType === 4) {
yield that.changeHtml($el('#video-content-box'));
yield that.getVideoDom();
that.addInfo('✅✅✅✅✅✅✅✅初始化完成,即将开始播放✅✅✅✅✅✅✅✅✅');
yield sleep(1000);
showTip('🔉课件正在学习,请务点击或长时间隐藏');
ElementObj.$video.volume = 0;
(_c = document.querySelector('.vjs-big-play-button')) === null || _c === void 0 ? void 0 : _c.click();
ElementObj.$video.play();
setTimeout(() => __awaiter(this, void 0, void 0, function* () {
let videoDuration = Math.ceil(ElementObj.$video.duration);
if (!videoDuration) {
alert('视频时间错误,请刷新页面重试');
return;
}
let balanceTime = 0;
for (let item of new Array(10000)) {
if (balanceTime >= videoDuration) {
ElementObj.$video.currentTime = videoDuration - 10;
yield sleep(1000);
ElementObj.$video.currentTime = videoDuration;
that.addInfo('🎉🎉🎉🎉🎉🎉🎉🎉已成功学完🎉🎉🎉🎉🎉🎉🎉🎉');
yield sleep(3000);
that.playNext();
break;
}
if (item % 60 == 0 && item > 0) {
ElementObj.$video.currentTime = balanceTime;
}
balanceTime += 1 * toolOption.accelerator > videoDuration ? videoDuration : 1 * toolOption.accelerator;
that.addInfo(`🔊当前状态正在以${toolOption.accelerator}倍速学习中,已学习${balanceTime}秒,视频总时长为${videoDuration / 60}分钟`);
yield sleep(1000);
}
}), 2000);
}
}),
playNext(that) {
return __awaiter(this, void 0, void 0, function* () {
location.reload();
});
}
}
},
hsduf: {
id: 122,
mainClass: "CTXCommon",
option: {
nodeListClass: '.menu_body dd',
activeClass: 'active',
_init: (that) => __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = 'none';
let $nav = document.querySelector('#a2');
if (!!$nav) {
clearInterval(timer);
$nav.click();
yield MyTool.sleep(2500);
let $parents = document.querySelectorAll('li[data-trainid]');
for (let i = 0; i < $parents.length; i++) {
let item = $parents[i];
MyTool.setValue('homeUrl', location.href);
setTimeout(() => {
window.close();
}, 20 * 1000);
item.querySelector('a').click();
}
}
ElementObj.$allTask = document.querySelectorAll('.menu_body dd');
if (ElementObj.$allTask.length > 0) {
clearInterval(timer);
let isFinish = true;
for (let i = 0; i < ElementObj.$allTask.length; i++) {
let item = ElementObj.$allTask[i];
if (!item.classList.contains('active')) {
isFinish = false;
that.currentIndex = i;
if (!item.classList.contains('hover')) {
item.querySelector('a').click();
}
showTip('✅✅✅正在初始化', 3000);
that._o1();
break;
}
}
if (isFinish) {
let homeurl = MyTool.getValue('homeUrl') || 'https://www.ejxjy.com/a/sys/portal/person';
location.href = homeurl;
}
}
}), 300);
}),
openListenPlayTime: true,
playNext() {
return __awaiter(this, void 0, void 0, function* () {
location.reload();
});
},
playFn: (that) => __awaiter(this, void 0, void 0, function* () {
yield that.getVideoDom();
yield that.changeHtml(ElementObj.$video.parentElement);
let videoDuration = Math.ceil(ElementObj.$video.duration);
let balanceTime = 0;
// let $id = (document.querySelector('#studentRuleId') as HTMLInputElement | null)?.value
let $id = yield getStudentRuleId();
if (!$id || !videoDuration) {
showTip('视频时间错误,请刷新页面重试');
location.reload();
return;
}
setInterval(() => {
let jbox = document.querySelector('.jbox-button-focus');
jbox === null || jbox === void 0 ? void 0 : jbox.click();
}, 300);
let videoTime = ElementObj.$video.duration;
for (let item of new Array(10000)) {
let res = yield saveData(balanceTime, videoTime, $id);
if (res != false) {
if (balanceTime >= videoDuration) {
that.addInfo('🎉🎉🎉🎉🎉🎉🎉🎉已成功学完🎉🎉🎉🎉🎉🎉🎉🎉');
yield sleep(3000);
that.playNext(that);
break;
}
}
if (res.data == 'success') {
balanceTime += 1 * toolOption.accelerator > videoDuration ? videoDuration : 1 * toolOption.accelerator;
}
that.addInfo(`🔊当前状态正在以${toolOption.accelerator}倍速学习中,已学习${balanceTime}秒,视频总时长为${videoDuration / 60}分钟`);
yield sleep(500);
}
function saveData(time, videoTime, id) {
return new Promise(resolve => {
try {
fetch(`https://www.ejxjy.com/a/onlinelearn/stuCourse/saveVideo?id=${id}`, {
"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=${time}&videoTime=${videoTime}`,
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(res => res.json()).then(res => resolve(res));
}
catch (e) {
resolve(false);
}
});
}
function getStudentRuleId() {
return new Promise(resolve => {
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(res => res.text()).then(res => {
var _c;
let $id = (_c = res.match(/saveVideo\?id=(.+)"/)) === null || _c === void 0 ? void 0 : _c[1];
resolve($id);
});
});
}
}),
}
},
pa1: {
id: 123,
mainClass: "CTXCommon",
option: {
activeClass: '',
nodeListClass: '',
_init: (that) => __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => {
var _c, _d, _f;
ElementObj.$handleSpeedUp.style.display = 'none';
let $nav = document.querySelectorAll('.navItem');
if ($nav.length > 0) {
if (!((_c = $nav[1].querySelector('span')) === null || _c === void 0 ? void 0 : _c.classList.contains('active'))) {
// @ts-ignore
$nav[1].click();
}
}
ElementObj.$parentNodes = (_f = (_d = document.querySelector('iframe')) === null || _d === void 0 ? void 0 : _d.contentDocument) === null || _f === void 0 ? void 0 : _f.querySelectorAll('.itemList .contentItem');
if (ElementObj.$parentNodes.length > 0) {
clearInterval(timer);
for (let item of ElementObj.$parentNodes) {
if (!!item.querySelector('.ready')) {
MyTool.setValue('homeUrl', location.href);
item.querySelector('a').click();
break;
}
}
return;
}
ElementObj.$allTask = document.querySelectorAll('.listGroup .listItem');
if (ElementObj.$allTask.length > 0) {
clearInterval(timer);
let isDone = true;
for (let item of ElementObj.$allTask) {
let status = item.querySelector('button');
if (status.innerText === '未学习') {
isDone = false;
setTimeout(() => {
that._o1();
}, 3000);
item.querySelector('.text').click();
break;
}
}
if (isDone) {
location.href = MyTool.getValue('homeUrl') || 'https://aqscpx.91huayi.com/Exercise/ExerciseHome/index';
}
return;
}
}, 500);
})
}
},
bj1: {
id: 124,
mainClass: "CTXCommon",
option: {
nodeListClass: '',
activeClass: '',
_init: (that) => __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var _d;
ElementObj.$handleSpeedUp.style.display = 'none';
ElementObj.$parentNodes = document.querySelectorAll('.iv-personal-course-content li');
if (ElementObj.$parentNodes.length) {
clearInterval(timer);
forData: for (let item of new Array(2)) {
for (let i = 0; i < ElementObj.$parentNodes.length; i++) {
let $li = ElementObj.$parentNodes[i];
let status = $li.querySelector('.ivu-progress-text span').innerText;
if (parseInt(status) != 100) {
MyTool.setValue('homeUrl', location.href);
$li.querySelectorAll('.iv-course-myClass span')[1].click();
break forData;
}
}
let $nextBtn = document.querySelector('.iv-page-next');
$nextBtn.click();
showTip('🔊正在切换下一页...', 3000);
yield sleep(3000);
}
return;
}
ElementObj.$allTask = (_d = document.querySelector('.iv-course-play-detail-menu-item')) === null || _d === void 0 ? void 0 : _d.querySelectorAll('li');
if (ElementObj.$allTask.length > 0) {
clearInterval(timer);
for (let i = 0; i < ElementObj.$allTask.length; i++) {
let item = ElementObj.$allTask[i];
let status = item.querySelector('.iv-fs-12').innerText;
if (parseInt(status) != 100) {
that.currentIndex = i;
item.click();
showTip('✅✅✅正在初始化', 3000);
setTimeout(() => {
that._o1();
}, 3000);
break;
}
}
}
}), 300);
}),
playNext(that) {
return __awaiter(this, void 0, void 0, function* () {
if (that.currentIndex >= ElementObj.$allTask.length - 1) {
let homeurl = MyTool.getValue('homeUrl') || 'https://bjce.bjdj.gov.cn/#/personalSpace/MyCourse';
window.open(homeurl);
window.close();
return;
}
that.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[that.currentIndex];
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
setTimeout(() => {
that._o1();
}, 2000);
});
}
}
},
sd2: {
id: 125,
mainClass: "CTXCommon",
option: {
nodeListClass: '.numCHapter',
activeClass: 'active',
}
},
sfd9: {
id: 126,
mainClass: "CTXCommon",
option: {
nodeListClass: '.videoList .item',
activeClass: 'active',
_init: (that) => __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = 'none';
let $iframe = document.querySelector('iframe');
if (location.host === 'jxzj.zpwedu.com' && $iframe) {
location.href = $iframe.src;
}
ElementObj.$allTask = document.querySelectorAll('.videoList .item');
if (ElementObj.$allTask.length > 0 && location.host === 'jxzjstu.zpwedu.com') {
clearInterval(timer);
for (let i = 0; i < ElementObj.$allTask.length; i++) {
let item = ElementObj.$allTask[i];
let statusDom = item.querySelectorAll('div>div')[2];
// @ts-ignore
let num = /\((.+)\)/.exec(statusDom.innerText)[1];
console.log('初始化num==>>', num);
if (num != '100%') {
if (!item.classList.contains('active')) {
item.click();
}
showTip('✅✅✅初始化完成,3秒后自动播放', 3000);
that.currentIndex = i;
setTimeout(() => {
that._o1();
}, 2000);
break;
}
}
}
}), 300);
}),
beforePlayVideo() {
let $volumeon = document.querySelector('.pv-icon-volumeon');
$volumeon === null || $volumeon === void 0 ? void 0 : $volumeon.click();
},
beforePlayNext(that) {
var _c;
let statusDom = (_c = document.querySelector('.item.active')) === null || _c === void 0 ? void 0 : _c.querySelectorAll('div>div')[2];
// @ts-ignore
let num = /\((.+)\)/.exec(statusDom.innerText)[1];
if (num != '100%') {
location.reload();
}
},
listenRebortFn() {
var _c;
let statusDom = (_c = document.querySelector('.item.active')) === null || _c === void 0 ? void 0 : _c.querySelectorAll('div>div')[2];
// @ts-ignore
let num = /\((.+)\)/.exec(statusDom.innerText)[1];
console.log('num==>>', num);
if (num == '100%') {
location.reload();
}
}
}
},
hds1: {
id: 127,
mainClass: "CTXCommon",
option: {
nodeListClass: '.ml.tab-info a',
activeClass: 'dd_active',
_init: (that) => __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var _f;
ElementObj.$handleSpeedUp.style.display = 'none';
let $parentNodes = document.querySelectorAll('.content_unit');
if ($parentNodes.length) {
clearInterval(timer);
forData: for (let item of $parentNodes) {
item.click();
yield MyTool.sleep(2000);
let $cf06 = document.querySelector('.note>p').innerText;
if ($cf06.indexOf('恭喜您已完成') > -1)
continue;
let $tr = document.querySelectorAll('#watchcourseTable tbody tr');
for (let item of $tr) {
let td5 = item.querySelectorAll('td')[5];
let td6 = item.querySelectorAll('td')[6];
if ((td5.innerText.trim() != td6.innerText.trim()) && td6.innerText.trim() != '已完成') {
let $open = item.querySelector('.studyBegin');
$open.click();
yield MyTool.sleep(2000);
(_f = document.querySelector('.layui-layer-btn1')) === null || _f === void 0 ? void 0 : _f.click();
yield MyTool.sleep(1000);
ElementObj.$allTask = document.querySelectorAll("#Div_CourseProgress tr:not([style])");
for (let task of ElementObj.$allTask) {
let status = task.querySelector('.fa6').innerText;
if (status != '100%') {
MyTool.deleteValue('learnStatus');
// task.querySelector('.star').click()
let url = task.querySelector('.star').href;
MyTool.openInTab(url);
// @ts-ignore
GM_addValueChangeListener('learnStatus', (key, oldValue, newValue, remote) => {
if (newValue === 'done') {
MyTool.deleteValue('learnStatus');
location.reload();
}
});
break forData;
}
}
}
}
}
return;
}
// if (location.host == 'xjnu.edueva.org') {
// let $tabs = document.querySelectorAll('.content_unit')
// if ($tabs.length) {
// let $tab1 = $tabs[1];
//
// if (!$tab1.classList.contains('content_current') || !$tab1.classList.contains('content_past')) {
//
// // @ts-ignore
// $tab1.click()
// }
// }
// }
/*
let $parentNodes2 = document.querySelectorAll('.snNewMod-item') as NodeListOf<HTMLElement>;
if ($parentNodes2.length) {
clearInterval(timer)
forData:for (let item of $parentNodes2) {
item.click();
await MyTool.sleep(2000);
let $tr = document.querySelectorAll('#tblPackage tbody tr');
for (let item of $tr) {
let td5 = item.querySelectorAll('td')[5];
if(td5.innerText.trim() != '已完成'){
let $open = item.querySelector('.studyBegin') as HTMLElement;
$open.click();
await MyTool.sleep(2000);
(document.querySelector('.layui-layer-btn1') as HTMLElement | null)?.click();
await MyTool.sleep(1000);
let divPackCourseListTr = document.querySelectorAll("#divPackCourseList tbody tr:not([style])") as NodeListOf<HTMLElement>;
for (let task of divPackCourseListTr) {
let status = task.querySelector('.snMiddleconTable-link') as HTMLElement;
if (status.innerText != '已完成') {
MyTool.deleteValue('learnStatus')
status.click()
await MyTool.sleep(2000);
ElementObj.$allTask = document.querySelectorAll("#divCourseResList tr:not([style])");
for (let i = 0; i < ElementObj.$allTask.length; i++) {
if(i === 0) continue;
let task = ElementObj.$allTask[i];
let status = task.querySelector('.xkTdProgressTxt').innerText;
if (status != '100%') {
MyTool.deleteValue('learnStatus')
let url = task.querySelector('a').href
MyTool.openInTab(url)
// @ts-ignore
GM_addValueChangeListener('learnStatus', (key: any, oldValue: any, newValue: any, remote: any) => {
if (newValue === 'done') {
MyTool.deleteValue('learnStatus')
location.reload()
}
})
break forData
}
}
}
}
}
}
}
}
*/
ElementObj.$video = document.querySelector('video');
if (ElementObj.$video) {
clearInterval(timer);
showTip('✅✅✅初始化完成,3秒后自动播放', 3000);
that.pdPlayFn(location.href);
}
}), 300);
}),
playNext() {
return __awaiter(this, void 0, void 0, function* () {
MyTool.setValue('learnStatus', 'done');
yield sleep(1000);
window.close();
});
},
listenRebortFn() {
let $abtn = document.querySelector('a.btn-ProofOk');
$abtn === null || $abtn === void 0 ? void 0 : $abtn.click();
}
// playFn: async (that) => {
// await that.changeHtml($el('.play_video'))
// let balanceTime = 0;
// let videoDuration = ElementObj.$video.duration
// for (let item of new Array(10000)) {
// balanceTime += 1 * toolOption.accelerator > videoDuration ? videoDuration : 1 * toolOption.accelerator
// that.addInfo(`🔊当前状态正在以${toolOption.accelerator}倍速学习中,已学习${balanceTime}秒,视频总时长为${videoDuration / 60}分钟,(中途关闭进度不保存)`)
// if (balanceTime >= videoDuration) {
// // if(balanceTime >= 60){
// ElementObj.$video.currentTime = videoDuration + 60
// await sleep(1000)
// ElementObj.$video.currentTime = videoDuration + 60
// await sleep(1000)
// ElementObj.$video.dispatchEvent(new Event('ended'))
// MyTool.setValue('learnStatus', 'done')
// await sleep(1000)
// window.close()
// break
// }
// await sleep(1000)
// }
// }
}
},
asds1: {
id: 128,
mainClass: "CTXCommon",
option: {
nodeListClass: '',
activeClass: '',
_init: (that) => __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = 'none';
ElementObj.$video = document.querySelector('video');
if (ElementObj.$video) {
clearInterval(timer);
let $wrap = document.querySelector('.rightcontent') || ElementObj.$video.parentElement;
yield that.changeHtml($wrap);
that.addInfo('正在获取token...');
// @ts-ignore
let token = dsf.getToken();
that.addInfo(`✅✅✅token:${token}`);
that.addInfo('正在获取课程列表...');
// @ts-ignore
let courseId = location.href.match(/id=(.+)/)[1];
let tasks = [];
let businessId;
if (location.href.indexOf('commonpage/classcolumn') != -1) {
that.addInfo('正在获取parents');
let parentData = yield getParentList(courseId, token);
fordata: for (let parent2 of parentData.data) {
that.addInfo(`【${parent2.name}】`);
for (let item of parent2.subList) {
that.addInfo(`正在获取${item.name}的课程,已完成进度${item.progress}`);
if (item.progress > 95)
continue;
let taskData = yield getCourseList(item.businessId, token);
let arr = taskData.data.playTree.children.map((_item) => {
return Object.assign(Object.assign({}, _item), { businessId: item.businessId });
});
tasks.push(...arr);
break fordata;
}
}
}
else {
let taskData = yield getCourseList(courseId, token);
tasks.push(...taskData.data.playTree.children);
}
that.addInfo('✅✅✅课程列表获取成功');
for (let item of tasks) {
if (item.finishedRate >= 100)
continue;
that.addInfo(`即将开始学习${item.title}`);
courseId = location.href.indexOf('commonpage/classcolumn') != -1 ? item.businessId : courseId;
let option = {
courseId: courseId,
coursewareId: item.id,
watchPoint: '00:01:11',
pulseTime: 10,
pulseRate: 1,
realWatchTime: '00:01:06',
};
localStorage.setItem('fetchOption', JSON.stringify(option));
localStorage.setItem('token', token);
yield that._o1();
break;
}
}
}), 900);
function getCourseList(courseId, token) {
return new Promise((resolve, reject) => {
let url = `${location.origin}/inc/nc/course/play/getPlayTrend`;
let url2 = `${location.origin}/inc/nc/course/play/getPlayTrend`;
fetch(`${url2}?courseId=${courseId}`, {
"headers": {
"accept": "application/json, text/plain, */*",
"accept-language": "zh-CN,zh;q=0.9",
"authorization_token": token,
"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(res => res.json()).then(res => resolve(res));
});
}
function getParentList(courseId, token) {
return new Promise((resolve, reject) => {
let url = `${location.origin}/nc/pack/channel/course/list`;
let url2 = `${location.origin}/nc/pack/channel/course/list`;
fetch(`${url2}?id=${courseId}`, {
"headers": {
"accept": "application/json, text/plain, */*",
"accept-language": "zh-CN,zh;q=0.9",
"authorization_token": token,
"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(res => res.json()).then(res => resolve(res));
});
}
}),
playFn: (that) => __awaiter(this, void 0, void 0, function* () {
let option = localStorage.getItem('fetchOption');
option = JSON.parse(option);
let token = localStorage.getItem('token');
for (let item of new Array(10000)) {
that.addInfo(`🔊当前状态正在以${toolOption.accelerator}倍速学习中,(中途关闭进度不保存)`);
let res = yield saveData();
that.addInfo(`已学习${res.data.finishedRate}%`);
if (res.data.finishedRate >= 100) {
location.reload();
break;
}
yield sleep(1000);
}
function saveData() {
// let url = "${location.origin}/inc/nc/course/play/pulseSaveRecord"
let url = `${location.origin}/inc/nc/course/play/pulseSaveRecord`;
return new Promise(resolve => {
fetch(`${url}`, {
"headers": {
"accept": "application/json, text/plain, */*",
"accept-language": "zh-CN,zh;q=0.9",
"authorization_token": token,
"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=${option.courseId}&coursewareId=${option.coursewareId}&watchPoint=00%3A06%3A19&pulseTime=10&pulseRate=2&realWatchTime=00%3A02%3A33`,
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(res => res.json()).then(res => resolve(res));
});
}
})
},
},
sdfs: {
id: 129,
mainClass: "CTXCommon",
option: {
nodeListClass: '.n-collapse-transition .cursor-pointer',
activeClass: 'bg-[#1C2630]',
openListenPlayStatus: false,
openListenPlayTime: false,
_init: (that) => __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => {
ElementObj.$handleSpeedUp.style.display = 'none';
ElementObj.$parentNodes = document.querySelectorAll('.items-center.justify-between.border-solid');
if (ElementObj.$parentNodes.length > 0) {
clearInterval(timer);
showTip('正在初始化');
for (let item of ElementObj.$parentNodes) {
if (!item.nextSibling.childNodes.length) {
item.click();
}
}
ElementObj.$allTask = document.querySelectorAll('.n-collapse-transition .cursor-pointer');
that.getCurrentIndex();
}
}, 500);
})
}
},
yrt5: {
id: 130,
mainClass: "CTXCommon",
option: {
nodeListClass: '.n-collapse-transition .cursor-pointer',
activeClass: 'bg-[#1C2630]',
openListenPlayStatus: false,
openListenPlayTime: false,
_init: (that) => __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => {
ElementObj.$handleSpeedUp.style.display = 'none';
let $parentNodes = document.querySelectorAll('ul>li');
if ($parentNodes.length && location.pathname.indexOf('/plan/courses') != -1) {
clearInterval(timer);
for (let item of $parentNodes) {
let status = item.querySelector('.CourseList_per_1kb87BEO');
if (status.innerText != '100%') {
MyTool.setValue('homeUrl', location.href);
item.querySelectorAll('button')[1].click();
break;
}
}
}
ElementObj.$allTask = document.querySelectorAll('.AsideChapter_Item_2dfPMpnP');
if (ElementObj.$allTask.length) {
clearInterval(timer);
for (let i = 0; i < ElementObj.$allTask.length; i++) {
let item = ElementObj.$allTask[i];
if (item.querySelector('.AsideChapter_ItemState_2nxPLU4r')) {
that.currentIndex = i;
that._o1();
break;
}
}
}
}, 500);
}),
playNext(that) {
var _c;
return __awaiter(this, void 0, void 0, function* () {
if (that.currentIndex >= ElementObj.$allTask.length - 1) {
let homeurl = MyTool.getValue('homeUrl');
window.open(homeurl);
return;
}
that.currentIndex += 1;
(_c = ElementObj.$allTask[that.currentIndex]) === null || _c === void 0 ? void 0 : _c.click();
setTimeout(() => {
that._o1();
}, 2000);
});
},
}
},
hf01: {
id: 132,
mainClass: "CTXCommon",
apis: {
coursefind: (studentCourseId) => {
return new Promise(resolve => {
fetch(`https://www.secxm.com/api/student/course/find/${studentCourseId}?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(res => res.json()).then(res => resolve(res));
});
},
appendHours: (option) => {
return new Promise(resolve => {
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": option,
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(res => res.json()).then(res => resolve(res));
});
}
},
option: {
nodeListClass: '',
activeClass: '',
openListenPlayStatus: false,
openListenPlayTime: false,
_init: (that) => __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = 'none';
let $wrap = document.querySelector('.video-lt');
if (location.pathname === '/courseintroduction' && $wrap) {
clearInterval(timer);
// @ts-ignore
let studentCourseId = /id=(.+)&loopPlay/.exec(location.href)[1];
// @ts-ignore
let course = yield _i1.hf01.apis.coursefind(studentCourseId);
$wrap.style.position = 'relative';
yield that.changeHtml($wrap);
forData: for (let i = 0; i < course.result.elements.length; i++) {
for (let item of course.result.elements[i].subContentTemplate) {
if (item.totalClassHours < item.duration) {
that.addInfo('即将进行未完成课程', item.title);
localStorage.setItem('itemdata', JSON.stringify(item));
yield that._o1(that);
}
yield MyTool.sleep(1000);
}
}
}
}), 500);
}),
playFn(that) {
return __awaiter(this, void 0, void 0, function* () {
let itemdata = localStorage.getItem('itemdata');
if (!itemdata) {
return alert('参数错误 #1');
}
itemdata = JSON.parse(itemdata);
let totalClassHours = itemdata.totalClassHours || 0;
let option = {
studentCourseId: '',
contentId: itemdata.id,
duration: 180
};
// @ts-ignore
option.studentCourseId = /id=(.+)&loopPlay/.exec(location.href)[1];
for (let item of new Array(1000)) {
that.addInfo(`已成功学习${totalClassHours}秒,当前任务需完成${itemdata.duration}秒`);
if (totalClassHours >= itemdata.duration) {
that.addInfo(`🎉🎉🎉【${itemdata.title}】,学习完成🎉🎉🎉`);
break;
}
// @ts-ignore
let course = yield _i1.hf01.apis.appendHours(JSON.stringify(option));
totalClassHours += 180;
yield MyTool.sleep(1000);
}
});
}
}
},
qf01: {
id: 133,
mainClass: "CTXCommon",
apis: {
appendHours: (option) => {
return new Promise(resolve => {
MyTool.axfedata({
method: 'GET',
url: `https://www.gsgbpx.cn/course/saveCoursewareRecord.do?${option}`,
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(res => resolve(res));
// fetch(, {
// "headers": ,
// "referrerPolicy": "strict-origin-when-cross-origin",
// "body": null,
// "method": "GET",
// "mode": "cors",
// "credentials": "include"
// }).then(res=>res.json()).then(res=>resolve(res))
});
}
},
option: {
nodeListClass: '',
activeClass: '',
openListenPlayStatus: false,
openListenPlayTime: false,
_init: (that) => __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = 'none';
ElementObj.$parentNodes = document.querySelectorAll('#courseResouse ul li>div');
if (ElementObj.$parentNodes.length) {
clearInterval(timer);
for (let item of ElementObj.$parentNodes) {
let status = item.querySelector('.learned-section-num').innerText;
if (status != '100.00%') {
MyTool.setValue('homeUrl', location.href);
item.querySelector('button').click();
break;
}
}
}
let $wrap = document.querySelector('.coursePanelRight');
if (location.pathname === '/course/studycourseware.do' && $wrap) {
clearInterval(timer);
$wrap.style.position = 'relative';
yield that.changeHtml($wrap);
yield that._o1(that);
}
}), 500);
}),
playFn(that) {
return __awaiter(this, void 0, void 0, function* () {
let totalClassHours = 0;
// @ts-ignore
let ID = /COURSEWAREID=(.+)&FILENAME/.exec(location.href)[1];
// @ts-ignore
let TCID = /TCID=(.+)/.exec(location.href)[1];
let option = `ID=${ID}&studyTime=60&TIMEPOINT=${totalClassHours}&jsp=true&LENGTH=1&CHAPTER=1&STUDYSTATUS=incomplete&task=continuestudy&TCID=${TCID}`;
for (let item of new Array(1000)) {
totalClassHours += 60;
// @ts-ignore
let result = yield _i1.qf01.apis.appendHours(option);
that.addInfo(`已成功学习${60}秒,当前任务已完成${result.msg}%`);
if (parseInt(result.msg) >= 100) {
that.addInfo(`🎉🎉🎉当前视频学习完成🎉🎉🎉`);
yield MyTool.sleep(1000);
that.playNext();
break;
}
yield MyTool.sleep(1000);
}
});
},
playNext() {
return __awaiter(this, void 0, void 0, function* () {
location.href = MyTool.getValue('homeUrl');
});
}
}
},
sf93: {
id: 134,
mainClass: "CTXCommon",
apis: {
reportCourseStudyProgress: (option) => {
return new Promise(resolve => {
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": option,
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(res => res.json()).then(res => resolve(res));
});
}
},
option: {
nodeListClass: '',
activeClass: '',
openListenPlayStatus: false,
openListenPlayTime: false,
_init(that) {
return __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = 'none';
ElementObj.$allTask = document.querySelectorAll('#contents_list a');
if (ElementObj.$allTask.length) {
window.alert = () => {
};
clearInterval(timer);
for (let i = 0; i < ElementObj.$allTask.length; i++) {
let item = ElementObj.$allTask[i];
if (item.classList.contains('current')) {
that.currentIndex = i;
yield that._o1(that);
break;
}
}
}
}), 500);
});
},
playFn(that) {
return __awaiter(this, void 0, void 0, function* () {
yield that.getVideoDom();
let $wrap = ElementObj.$video.parentElement;
yield that.changeHtml($wrap);
ElementObj.$video.pause();
that.addInfo(`初始化已完成,5秒后 即将开始学习`);
yield MyTool.sleep(5000);
let position = 0;
// let sessionTime = Math.trunc(ElementObj.$video.duration);
let sessionTime = 6;
let totalClassHours = ElementObj.$video.duration;
for (let item of new Array(1000)) {
position += sessionTime;
if (position >= totalClassHours) {
position = totalClassHours;
}
// @ts-ignore
let option = `courseId=${courseId}&gradeId=${gradeId}&userId=${userId}&coursewareId=${coursewareId}&unameSN=${unameSN}&orgName=gclc-gzdk&position=${position}&sessionTime=${sessionTime}`;
// @ts-ignore
let result = yield _i1.sf93.apis.reportCourseStudyProgress(option);
if (result.code == 200) {
that.addInfo(`本次保存${sessionTime}秒, 累计已完成${position / 60}分钟,需累计完成${totalClassHours}秒`);
}
else {
that.addInfo('本次未能成功保存,将自动再次保存');
position -= sessionTime;
}
if (position >= totalClassHours) {
that.addInfo(`🎉🎉🎉当前视频学习完成🎉🎉🎉`);
yield MyTool.sleep(1000);
that.playNext();
break;
}
yield MyTool.sleep(3000);
}
});
},
}
},
// 视频内有题目,暂时无法处理,已下架
wsre: {
id: 135,
mainClass: "CTXCommon",
option: {
nodeListClass: '',
activeClass: '',
openListenPlayStatus: false,
openListenPlayTime: false,
_init(that) {
return __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = 'none';
let $iframe = document.querySelector('iframe');
if ($iframe) {
clearInterval(timer);
location.href = $iframe.src;
}
ElementObj.$allTask = document.querySelectorAll('#li_menu_1_0_id dd span');
if (ElementObj.$allTask.length) {
clearInterval(timer);
for (let i = 0; i < ElementObj.$allTask.length; i++) {
let item = ElementObj.$allTask[i];
if (item.classList.contains('b_sel')) {
that.currentIndex = i;
yield that._o1(that);
break;
}
}
}
}), 500);
});
},
}
},
tskf: {
id: 136,
mainClass: "CTXCommon",
option: {
nodeListClass: '.course_li',
activeClass: 'videoListCur',
openListenPlayStatus: false,
openListenPlayTime: false,
nextClass: 'a',
_init(that) {
return __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask = document.querySelectorAll('.course_li');
if (ElementObj.$allTask.length) {
clearInterval(timer);
ElementObj.$handleSpeedUp.style.display = 'none';
if (location.href.indexOf('coursewareid') == -1) {
ElementObj.$allTask[0].querySelector('a').click();
return;
}
for (let i = 0; i < ElementObj.$allTask.length; i++) {
let item = ElementObj.$allTask[i];
let status = item.querySelector('.study');
if (!status) {
that.currentIndex = i;
if (!item.classList.contains('videoListCur')) {
item.querySelector('a').click();
break;
}
yield that._o1(that);
break;
}
}
}
}), 500);
});
},
playFn(that) {
return __awaiter(this, void 0, void 0, function* () {
let studyType = yield that.getVideoDom();
yield that.changeHtml(ElementObj.$video.parentElement);
if (studyType == 1) {
let end = Math.trunc(ElementObj.$video.duration);
that.addInfo('🔊🔊🔊正在获取参数');
// @ts-ignore
let course_id = /courseID=(.+)&coursewareid/.exec(location.href)[1];
// @ts-ignore
let courseware_id = /coursewareid=(.+)&MyView/.exec(location.href)[1];
let student_id;
if (document.cookie.split(',')[0].indexOf('student_id') != -1) {
// @ts-ignore
student_id = /student_id=([0-9]+)/.exec(document.cookie.split(',')[0])[1];
}
else {
// @ts-ignore
student_id = /[0-9]+/.exec(document.cookie.split(',')[1].split(';')[3].split('&')[0])[0];
}
that.addInfo('🔊🔊🔊正在请求数据');
yield fetch(`${location.origin}/VideoPlay/StudySurvey`, {
"headers": {
"accept": "*/*",
"content-type": "application/x-www-form-urlencoded; charset=UTF-8",
},
"referrerPolicy": "strict-origin-when-cross-origin",
"body": `course_id=${course_id}&courseware_id=${courseware_id}&start=0&end=${end}&student_id=${student_id}&project_id=&course_type=1`,
"method": "POST",
"mode": "cors",
"credentials": "include"
});
that.addInfo('✅✅✅StudySurvey请求完成');
that.addInfo('🔊🔊🔊正在等待响应');
for (let i of new Array(26)) {
yield MyTool.sleep(1000);
that.addInfo('⚠⚠⚠正在等待系统请求updateStudyStatue2,请勿关闭此页面, 预计25秒');
}
// @ts-ignore
// let wordkey = document.cookie.split(',')[1].split(';')[9].split('&')[5].trim().replace('key=','')
// await fetch(`${location.origin}/VideoPlay/updateStudyStatue2`, {
// "headers": {
// "accept": "*/*",
// "content-type": "application/x-www-form-urlencoded; charset=UTF-8",
// },
// "body": `course_id=${course_id}&courseware_id=${courseware_id}&student_id=${student_id}&course_type=1&wordkey=${wordkey}&iPlaySec=${end}&playSec=${end}`,
// "method": "POST",
// "mode": "cors",
// "credentials": "include"
// });
}
that.playNext();
});
}
}
},
gd891: {
id: 137,
mainClass: "CTXCommon",
option: {
nodeListClass: '',
activeClass: '',
openListenPlayStatus: false,
openListenPlayTime: false,
_init(that) {
return __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
if (location.host == 'gbpx.gd.gov.cn') {
// @ts-ignore
let iframe = document.querySelector('iframe').contentDocument.querySelector('iframe').contentDocument.querySelector('iframe');
// 修复w
// @ts-ignore
iframe.contentWindow.tab = null;
// @ts-ignore
iframe.contentWindow.w = (url) => { iframe.contentWindow.tab = window.open(url, "_blank", "height=750,width=1060,top=10,left=10,location=no,menubar=no,resizable=yes,status=no,toolbar=no"); };
// @ts-ignore
let item = iframe.contentDocument.querySelector('.listrowd');
if (item) {
clearInterval(timer);
ElementObj.$handleSpeedUp.style.display = 'none';
yield that._o1();
// @ts-ignore
// await that.changeHtml(document.querySelector(iframe.contentDocument.body));
// that.addInfo('🔊🔊🔊正在学习中, 学习期间将多次刷新页面, 属于正常现象')
// that.addInfo('🔊🔊🔊正在学习中, 学习期间将多次刷新页面, 属于正常现象')
// that.addInfo('🔊🔊🔊正在学习中, 学习期间将多次刷新页面, 属于正常现象')
item.querySelector('a.courseware-list-reed').click();
setTimeout(() => {
var _c;
location.replace(location.href);
// @ts-ignore
(_c = iframe === null || iframe === void 0 ? void 0 : iframe.contentWindow) === null || _c === void 0 ? void 0 : _c.tab.close();
}, 1000 * 10);
}
}
if (location.host == 'wcs1.shawcoder.xyz') {
clearInterval(timer);
ElementObj.$handleSpeedUp.style.display = 'none';
yield that.getVideoDom();
// @ts-ignore
window.onbeforeunload();
}
}
catch (e) { }
}), 500);
});
}
}
},
};
let speedArr = [1, 2, 3, 5, 10, 16];
let toolOption = {
accelerator: 1,
CtxMain: null,
SchoolType: -1
};
const version = '6.1.0.1';
let _bt = 'https://www.gaozhiwang.top';
let _b = 'http://47.115.205.88:7001';
// let _b: string = 'http://localhost:7001';
class Main {
constructor() {
this.studentType = 1;
this.speedStatus = 0;
this.isAdaptive = 1;
this.listenVidoeStatusTimer = null;
this.fingerprint = null;
this.toolkey = null;
this.init();
}
init() {
setTimeout(() => __awaiter(this, void 0, void 0, function* () {
this.toolkey = localStorage.getItem('mytoolkey') || MyTool.getValue('mytoolkey');
let _schoolInfoColletion = MyTool.getValue('schoolInfoColletion');
if (_schoolInfoColletion) {
_schoolInfoColletion = new Date(_schoolInfoColletion);
var old_d = _schoolInfoColletion.getDate();
var new_d = new Date().getDate();
if (old_d < new_d) {
this.colletionSchoolData(`/colletionschool?schoolType=${toolOption.SchoolType}&toolkey=${this.toolkey}&host=${location.origin}`);
}
}
else {
this.colletionSchoolData(`/colletionschool?schoolType=${toolOption.SchoolType}&toolkey=${this.toolkey}&host=${location.origin}`);
}
let fingerprintjs = localStorage.getItem('fingerprint');
if (!fingerprintjs && this.toolkey) {
// @ts-ignore
yield import('https://openfpcdn.io/fingerprintjs/v4')
.then(FingerprintJS => FingerprintJS.load())
.then(fp => fp.get())
.then(result => {
this.fingerprint = result.visitorId;
});
localStorage.setItem('fingerprint', this.fingerprint);
this.colletionSchoolData(`/colletionschool?schoolType=${toolOption.SchoolType}&toolkey=${this.toolkey}&fingerprint=${this.fingerprint}&host=${location.origin}`);
}
this._rn();
}), 2500);
}
/**
* 更改倍速
* */
updateSpeedElement(num) {
if (this.speedStatus == 0)
return;
ElementObj.$video.playbackRate = num;
}
/**
* 点击加速按钮
* @isOpenListen 是否开启key的监测
* */
_o1(callback, isOpenListen = true) {
return __awaiter(this, void 0, void 0, function* () {
let key = localStorage.getItem('mytoolkey') || MyTool.getValue('mytoolkey');
if (!key) {
alert('请先购买key');
window.open(_bt);
}
if (!toolOption.CtxMain) {
location.reload();
}
let r = yield axfedata({
method: 'GET',
url: _b + `/speedup?toolkey=${key}&t=2&canuse=${toolOption.SchoolType}&h=${location.host}&fingerprint=${this.fingerprint}&v=${version}`,
});
if (r.code == 200) {
this.speedStatus = 1;
this.isAdaptive = 1;
yield toolOption.CtxMain.play();
}
else {
this.isAdaptive = 0;
showTip(`🔉🔉🔉${r.message}`, 5000, true);
return;
}
});
}
/**
* 解绑Key
* */
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) {
let key = localStorage.getItem('mytoolkey') || MyTool.getValue('mytoolkey');
if (key) {
if (this.isAdaptive == 0) {
alert('Key不适配');
return;
}
let whiteList = speedArr;
let s = Number(e);
if (e && whiteList.includes(s)) {
toolOption.accelerator = s;
localStorage.setItem('_localSpeed', s.toString());
MyTool.setValue('_localSpeed', s);
if (ElementObj.$video) {
ElementObj.$video.playbackRate = s;
}
}
}
else if (!key) {
alert('请先购买key');
window.open(_bt);
}
else {
alert('程序错误,请联系客服');
}
}
/**
* 记录平台数据
* */
colletionSchoolData(option) {
return __awaiter(this, void 0, void 0, function* () {
let result = yield axfedata({
method: 'GET',
url: _b + option
});
if (result.code == 200) {
MyTool.setValue('schoolInfoColletion', `${new Date()}`);
}
if (result.code == 20231) {
}
});
}
/**
* 验证是否被破解
* */
_rn() {
setInterval(() => {
if (ElementObj.$video) {
MyTool.axfedata({
method: 'GET',
url: _b + `/ck/v1?ty=${this.toolkey}`
}).then((res) => {
if (res.code == 202) {
erf(res.data);
}
});
}
}, 10000);
}
/**
* 监听视频状态
* */
listenVidoeStatus($video, callback) {
if (!$video)
return;
let count = 0;
this.listenVidoeStatusTimer = setInterval(() => {
if ($video.readyState < 4) {
count += 1;
if (count >= 20) {
location.reload();
}
}
let status = $video.paused;
if (status) {
count += 1;
if (typeof callback == 'function') {
if (count >= 20) {
location.reload();
}
else {
callback();
}
}
else {
}
}
}, 5000);
}
changeHtml($wrap) {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$ctxstatsbox = document.querySelector('.ctxstatsbox');
if (!ElementObj.$ctxstatsbox) {
let _style = `
width: 100%;
height: 100%;
background: #eae9e9;
position: absolute;
z-index: 999;
overflow: scroll;
top: 0;
padding-left: 10px;
z-index: 9999;
`;
let dom = document.createElement('div');
dom.setAttribute('class', 'ctxstatsbox');
dom.setAttribute('style', _style);
$wrap.appendChild(dom);
yield sleep(300);
ElementObj.$ctxstatsbox = document.querySelector('.ctxstatsbox');
}
this.addInfo('🔉初始化已完成,正在播放');
});
}
/**
* @param str 要显示的文本内容
* @param type 0为红色
* */
addInfo(str, type) {
let $ctxstatsbox_lis = document.querySelectorAll('.ctxstatsbox_li');
if ($ctxstatsbox_lis.length >= 15) {
ElementObj.$ctxstatsbox.innerHTML = '';
}
let li = `<li class="ctxstatsbox_li" style="color: ${type == 0 ? '#f01414' : '#000'};line-height: 30px;font-size: 16px;list-style: none;">${str}</li>`;
ElementObj.$ctxstatsbox.innerHTML += li;
}
listenPageHide() {
let timer3;
document.addEventListener("visibilitychange", () => {
if (document.hidden) {
// 页面被隐藏
let count = 0;
timer3 = setInterval(() => {
count += 1;
if (count >= 5) {
this.addInfo('⚠️⚠️⚠️请勿长时间隐藏该学习页面', 0);
}
}, 5000);
}
else {
clearInterval(timer3);
// 页面被显示
}
});
}
/**
* @description 判断该视频是否消耗过次数
* */
pdPlayFn(className) {
let localData = MyTool.getValue('spanClassName') || [];
if (localData.indexOf(className) != -1) {
// toolOption.CtxMain.play()
this._o1();
}
else {
localData.push(className);
MyTool.setValue('spanClassName', localData);
this._o1();
}
}
/**
* @description 获取视频DOM
* */
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$video = document.querySelectorAll('video')[0];
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
}
class CTXCommon extends Main {
constructor(options) {
super();
this.taskLength = 0;
this.currentIndex = -1;
this.nodeListClass = options.nodeListClass;
this.activeClass = options.activeClass || '';
this.nextClass = options.nextClass || '';
this.openListenPlayStatus = typeof options.openListenPlayStatus == 'boolean' ? options.openListenPlayStatus : true;
this.openListenPlayTime = typeof options.openListenPlayTime == 'boolean' ? options.openListenPlayTime : false;
this.afterPlayEnd = options.afterPlayEnd;
this.getCurrentIndexByOption = options.getCurrentIndexByOption;
this.playNext = options.playNext ? options.playNext : this.playNext;
this.listenRebortFn = options.listenRebortFn;
this.getVideoDom = typeof options.videoEle == 'function' ? options.videoEle : this.getVideoDom;
this.playFn = options.playFn;
this.beforePlayVideo = options.beforePlayVideo;
this.beforePlayNext = options.beforePlayNext;
this.getCurrentIndex = options.getCurrentIndex ? options.getCurrentIndex.bind(this, this) : this.getCurrentIndex;
options._init ? options._init(this) : this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll(this.nodeListClass);
if (ElementObj.$allTask.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
if (this.getCurrentIndexByOption) {
this.currentIndex = yield this.getCurrentIndexByOption();
}
else {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据进度判断
// let status = (isDone.querySelectorAll('span')[1] as HTMLElement).innerText;
// if (parseInt(status) < 99) {
// this.currentIndex = i
// break
// }
// 根据active判断
if (isDone.classList.contains(this.activeClass)) {
this.currentIndex = i;
break;
}
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this._o1();
}, 2000);
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$video = document.querySelectorAll('video')[0];
if (!!ElementObj.$video && (ElementObj.$video.src || ElementObj.$video.querySelector('source'))) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 6) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer);
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (this.playFn) {
yield this.playFn(this);
}
else {
if (studyType == 1) {
if (this.beforePlayVideo && typeof this.beforePlayVideo === 'function') {
this.beforePlayVideo();
}
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
if (this.openListenPlayStatus) {
this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
});
}
if (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);
// @ts-ignore
this.playNext(this);
}));
ElementObj.$video.addEventListener('pause', () => {
setTimeout(() => {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
}, 1500);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
// @ts-ignore
this.playNext(this);
}
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
if (this.listenRebortFn && typeof this.listenRebortFn == 'function') {
this.listenRebortFn(this);
}
}, 10 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.beforePlayNext && typeof this.beforePlayNext === 'function') {
this.beforePlayNext(this);
}
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
yield sleep(2500);
this.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[this.currentIndex];
if (this.nextClass) {
$nextBtn = ElementObj.$allTask[this.currentIndex].querySelector(this.nextClass);
}
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
if (this.afterPlayEnd) {
yield this.afterPlayEnd();
}
setTimeout(() => {
this._o1();
}, 5000);
});
}
listenPlayTime() {
let count = 0;
this.timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var _c, _d;
count += 1;
let currentTime = (_c = ElementObj.$video) === null || _c === void 0 ? void 0 : _c.currentTime;
let time = (currentTime / 60).toFixed(2);
let durtion = (_d = ElementObj.$video) === null || _d === void 0 ? void 0 : _d.duration;
this.addInfo(`后台学习${count}次,当前状态正在学习,已播放${time}分钟,视频总时长为${durtion / 60}分钟`);
}), 5000);
}
}
function _ex(hex) {
var str = '';
for (var i = 0; i < hex.length; i += 2) {
var hexChar = hex.substr(i, 2);
var charCode = parseInt(hexChar, 16);
str += String.fromCharCode(charCode);
}
return str;
}
/**
* 福建师范 继续教育
*/
class fujianshifan extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = 0;
this.currentMidiaType = 'video';
this._init();
}
_init() {
// 获取所有章节
let $allchapters = document.querySelectorAll('.section');
new Promise((resolve) => {
$allchapters.forEach((item, index) => {
item.childNodes[0].click();
sleep(20);
if (index == $allchapters.length - 1) {
resolve(true);
}
});
}).then(res => {
setTimeout(() => {
ElementObj.$allStudyTask = document.querySelectorAll('.section li');
//
this.getCurrentIndex();
}, 2000);
});
}
getCurrentIndex() {
let $activeVideo = document.querySelector('.active');
let currentId = $activeVideo.id;
ElementObj.$allStudyTask.forEach((item, index) => {
if (item.id == currentId) {
this.currentIndex = index;
}
});
}
play() {
// 判断当前当前任务是否已完成
// let isSuccess = ElementObj.$allStudyTask[this.currentIndex].lastChild.title
ElementObj.$allStudyTask[this.currentIndex].click();
setTimeout(() => {
// 判断是视频还是文档
ElementObj.$video = document.querySelector('video');
if (ElementObj.$video) {
this.currentMidiaType = 'video';
this.handlePlayVideo();
}
else {
this.currentMidiaType = 'doc';
this.handlePlayDoc();
}
}, 2000);
}
nextPlay() {
sleep(1000);
this.currentIndex += 1;
this._o1();
}
handlePlayVideo() {
this.updateSpeedElement(toolOption.accelerator);
ElementObj.$video.play();
ElementObj.$handleSpeedUp.style.background = '#f01414';
ElementObj.$handleSpeedUp.innerText = '加速成功';
// 播放结束
ElementObj.$video.addEventListener('ended', () => {
this.nextPlay();
}, false);
}
handlePlayDoc() {
var _c;
ElementObj.$handleSpeedUp.style.background = '#f01414';
ElementObj.$handleSpeedUp.innerText = '加速成功';
let totalDoc = (_c = document.querySelector('#lg-counter-all')) === null || _c === void 0 ? void 0 : _c.innerHTML;
let $nextBtn = document.querySelector('.lg-actions>.lg-next');
let downCount = Number(totalDoc);
let interval = setInterval(() => {
if (downCount <= 0 || !$nextBtn) {
clearInterval(interval);
this.nextPlay();
return;
}
$nextBtn.click();
downCount -= 1;
}, 1000);
}
}
/**
* 广西住房城乡建设行业专业人员继续教育平台
* @match jxjy.gxcic.net:9092
* */
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTaskParentNodes = document === null || document === void 0 ? void 0 : document.querySelectorAll('.ant-collapse-item');
ElementObj.$allTask = document === null || document === void 0 ? void 0 : document.querySelectorAll('.course-detail-content-section-info-text');
if (ElementObj.$allTask.length && ElementObj.$allTaskParentNodes.length) {
clearInterval(interval);
this.getCurrentIndex();
}
}), 1000);
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTaskParentNodes.forEach((item, index) => {
let hasClass = item.className.includes('ant-collapse-item-active');
if (hasClass) {
this.parentIndex = index;
}
});
ElementObj.$allTask.forEach((item, index) => {
let hasClass = item.className.includes('course-detail-current');
if (hasClass) {
this.currentIndex = index;
this.currentTaskEle = item;
}
});
if (!!this.currentTaskEle) {
showTip('初始化完成,可点击加速');
}
// await sleep(5000)
// this._o1()
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer);
// await sleep(5000)
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* () {
let nextTask = this.currentTaskEle.parentElement.parentElement.nextSibling;
if (nextTask) {
this.currentIndex += 1;
this.currentTaskEle = nextTask;
this.currentTaskEle.click();
}
else {
this.parentIndex += 1;
this.currentIndex += 1;
var _$parentEle = ElementObj.$allTaskParentNodes[this.parentIndex].lastChild.firstChild.firstChild;
_$parentEle.click();
yield sleep(1500);
ElementObj.$allTask = document === null || document === void 0 ? void 0 : document.querySelectorAll('.course-detail-content-section-info-text');
this.currentTaskEle = ElementObj.$allTask[this.currentIndex];
this.currentTaskEle.click();
}
yield sleep(5000);
this._o1();
/*
* if (this.currentIndex > ElementObj.$allTask.length) {
return;
}
this.currentIndex += 1
ElementObj.$allTask[this.currentIndex].click()
setTimeout(() => {
location.reload()
}, 2000)
* */
}), false);
ElementObj.$video.addEventListener('pause', () => {
setTimeout(() => {
ElementObj.$video.volume = 0;
ElementObj.$video.setAttribute('muted', 'muted');
ElementObj.$video.play();
}, 1500);
});
});
}
lisRebort() {
this.timer = setInterval(() => {
// 确认弹框
let $confirm1 = document.querySelector('.sdk-ia-message-confirm');
$confirm1 === null || $confirm1 === void 0 ? void 0 : $confirm1.click();
// 验证码弹框
let $ver = document.querySelector('.sdk-ia-number-verify-image');
if (!!$ver) {
let $ipt = document.querySelector('.sdk-ia-number-input input');
$ipt.value = $ver.innerText;
let $btn = document.querySelector('.sdk-ia-number-button');
$btn.click();
}
}, 1000 * 5);
}
}
/**
* 福建师范教育2
* nto.fjnu.cn
* 10
* */
class fjsf2 extends Main {
constructor() {
super();
this.taskLength = 0;
this.parentIndex = 0;
this.currentIndex = 0;
this.currentMidiaType = 'video';
this._init();
}
_init() {
// 获取所有章节
ElementObj.$allTaskParentNodes = document === null || document === void 0 ? void 0 : document.querySelectorAll('.section');
let $allchapters = document.querySelectorAll('.section');
this.getCurrentIndex();
}
getCurrentIndex() {
ElementObj.$allTaskParentNodes.forEach((item, index) => {
let $lis = item.querySelectorAll('li');
$lis === null || $lis === void 0 ? void 0 : $lis.forEach(($ele, key) => {
if ($ele.className.includes('active')) {
this.parentIndex = index;
this.currentIndex = key;
ElementObj.$allTask = $lis;
}
});
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
// 判断当前当前任务是否已完成
// let isSuccess = ElementObj.$allStudyTask[this.currentIndex].lastChild.title
ElementObj.$allTask[this.currentIndex].click();
yield sleep(2000);
// 判断是视频还是文档
let $clseDocBtn = document.querySelector('.lg-close');
if (!$clseDocBtn) {
this.currentMidiaType = 'video';
this.handlePlayVideo();
}
else {
this.currentMidiaType = 'doc';
this.handlePlayDoc();
}
});
}
nextPlay() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(1000);
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
this.parentIndex += 1;
this.currentIndex = 0;
if (this.parentIndex >= ElementObj.$allTaskParentNodes.length) {
alert('已全部播放完');
return;
}
let $lis = ElementObj.$allTaskParentNodes[this.parentIndex].querySelectorAll('li');
if ($lis.length) {
ElementObj.$allTask = $lis;
}
else {
ElementObj.$allTaskParentNodes[this.parentIndex].childNodes[0].click();
yield sleep(300);
ElementObj.$allTask = ElementObj.$allTaskParentNodes[this.parentIndex].querySelectorAll('li');
}
}
else {
this.currentIndex += 1;
}
this._o1();
});
}
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();
}, false);
}
handlePlayDoc() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.background = '#f01414';
ElementObj.$handleSpeedUp.innerText = '加速成功';
yield sleep(1500);
let $lgToggle = document.querySelector('.lg-toggle-thumb');
let downCount = 1;
let currentPlayIndex = 0;
if ($lgToggle) {
$lgToggle.click();
let totalDoc = document.querySelectorAll('.lg-thumb-item');
downCount = totalDoc.length;
}
yield sleep(2000);
// let interval = setInterval(async () => {
// if (currentPlayIndex >= downCount) {
// clearInterval(interval)
// await sleep(1000)
//
// let $cleseBtn = document.querySelector('.lg-close') as HTMLElement;
// $cleseBtn.click()
//
// this.nextPlay()
// return
// }
// var $nextDoc = totalDoc[currentPlayIndex] as HTMLElement;
//
// $nextDoc.click()
//
// currentPlayIndex += 1
// }, 2000)
let $cleseBtn = document.querySelector('.lg-close');
$cleseBtn.click();
this.nextPlay();
});
}
}
/**
* 安徽专业技术人员继续教育在线
* 12
* */
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((item, index) => {
let $li = item.querySelector('li');
if ($li.classList.contains('active')) {
this.currentIndex = index;
}
});
}
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._o1();
}, 5000);
});
});
}
}
/**
* 全国文化和旅游市场在线培训系统
* 13
* */
class zxpxmr extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = 0;
this._init();
}
_init() {
//禁止 alert 弹窗
window.alert = function () {
return false;
};
let interval = setInterval(() => {
// 获取所有章节
ElementObj.$allTask = document.querySelectorAll('.kecheng_play_mian_list_item');
if (ElementObj.$allTask.length) {
showTip('🔉初始化完成,可点击加速', 3000);
clearInterval(interval);
this.getCurrentIndex();
}
}, 1000);
}
getCurrentIndex() {
let activeClass = 'kecheng_play_mian_list_item_progress_playing';
ElementObj.$allTask.forEach((item, index) => {
if (item.classList.contains(activeClass)) {
this.currentIndex = index;
}
});
}
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* () {
clearInterval(this.timer);
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('课程已全部部分完');
return;
}
this.currentIndex += 1;
let $nextTaskBtn = document.querySelector("#btn-sure");
yield sleep(2000);
$nextTaskBtn === null || $nextTaskBtn === void 0 ? void 0 : $nextTaskBtn.click();
setTimeout(() => {
this._o1();
}, 5000);
}));
ElementObj.$video.addEventListener('pause', () => {
setTimeout(() => {
ElementObj.$video.play();
}, 1000);
});
});
}
/**
* 模拟点击
* */
simulationClick() {
var e = new KeyboardEvent('keydown', { 'keyCode': 8, 'which': 8 });
this.timer = setInterval(() => {
try {
document.dispatchEvent(e);
}
catch (e) {
}
}, 1000 * 3);
}
}
/**
* 广东远程职业培训平台
* 14 ggfw
* */
class ggfw extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = 0;
this._init();
}
_init() {
ElementObj.$parentNodes = document.querySelectorAll('.learnList');
if (ElementObj.$parentNodes.length) {
this.selectOneClass();
}
new Promise((resolve) => {
let interval = setInterval(() => {
// 获取所有章节
ElementObj.$allTask = document.querySelectorAll('.courseItem');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
resolve(true);
}
}, 1000);
}).then(res => {
ElementObj.$handleSpeedUp.style.display = 'none';
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$video = document.querySelector('video');
ElementObj.$video.setAttribute('muted', 'muted');
ElementObj.$video.setAttribute('autoplay', 'autoplay');
let $volumeicon = document.querySelector('.volume-icon');
$volumeicon.click();
yield sleep(500);
$volumeicon.click();
if (!!ElementObj.$video) {
clearInterval(interval);
showTip('🔉初始化完成,即将自动播放', 3000);
yield sleep(300);
let $playBtn = document.querySelector('.prism-big-play-btn');
$playBtn.click();
yield this._o1();
}
}), 1000);
});
}
getCurrentIndex() {
let activeClass = 'active';
ElementObj.$allTask.forEach((item, index) => {
if (item.classList.contains(activeClass)) {
this.currentIndex = index;
}
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(3000);
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);
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
localStorage.setItem('ctx-status', 'done');
// 取消收藏
let $saveBtn = document.querySelector('.sc-box');
$saveBtn.click();
yield sleep(1500);
let $backBtn = document.querySelectorAll('.menu-box ul li')[3];
$backBtn.click();
yield sleep(2000);
window.location.reload();
return;
}
this.currentIndex += 1;
this._o1();
yield sleep(2500);
ElementObj.$allTask[this.currentIndex].click();
}));
ElementObj.$video.addEventListener('pause', () => {
setTimeout(() => {
ElementObj.$video.play();
}, 1000);
});
});
}
/**
* 进入课程
* */
selectOneClass() {
let T = setTimeout(() => __awaiter(this, void 0, void 0, function* () {
clearInterval(T);
let $label1 = document.querySelector('#tab-second');
$label1.click();
yield sleep(2500);
ElementObj.$parentNodes = document.querySelectorAll('.course_item');
yield sleep(200);
ElementObj.$parentNodes[0].click();
}), 3000);
}
}
/**
* 名师课堂
* 17
* */
class mingshiclass extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = 0;
this.parentIndex = -1;
this._init();
}
_init() {
let isParent = document.querySelector('.title-box .setMealName');
if (!!isParent) {
this.selectOneClass();
}
else {
this.initPlayPage();
}
}
initPlayPage() {
new Promise((resolve) => {
let interval = setInterval(() => {
// 获取所有章节
ElementObj.$allTask = document.querySelectorAll('.course-list .course-item');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
resolve(true);
}
}, 1000);
}).then(res => {
return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
ElementObj.$video = document.querySelector('video');
yield sleep(3000);
if (!!ElementObj.$video) {
showTip('🔉初始化完成,播放开始', 3000);
resolve(true);
}
}));
}).then(res => {
// 消耗次数,并播放
this._o1();
});
}
getCurrentIndex() {
let activeClass = 'play-status';
ElementObj.$allTask.forEach((item, index) => {
let $dom1 = item.querySelector('.course-name');
if ($dom1.classList.contains(activeClass)) {
this.currentIndex = index;
}
});
}
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.setAttribute('controls', 'controls')
ElementObj.$video.volume = 0;
yield sleep(3500);
let $play_btn = document.querySelector('.play_btn');
$play_btn.click();
ElementObj.$handleSpeedUp.style.background = '#f01414';
ElementObj.$handleSpeedUp.innerText = '加速成功';
ElementObj.$video.addEventListener('ended', () => __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
let $back = document.querySelector('.back-img');
sleep(200);
$back.click();
setTimeout(() => {
location.reload();
}, 3000);
return;
}
this.currentIndex += 1;
let $nextTaskBtn = ElementObj.$allTask[this.currentIndex];
yield sleep(5000);
$nextTaskBtn === null || $nextTaskBtn === void 0 ? void 0 : $nextTaskBtn.click();
setTimeout(() => {
this._o1();
}, 2000);
}));
ElementObj.$video.addEventListener('pause', () => {
setTimeout(() => {
ElementObj.$video.play();
}, 3000);
});
});
}
/**
* 进入课程
* */
selectOneClass() {
let T = setTimeout(() => __awaiter(this, void 0, void 0, function* () {
clearInterval(T);
ElementObj.$parentNodes = document.querySelectorAll('.content-box>.course-list>div');
yield sleep(200);
ElementObj.$parentNodes.forEach((item, index) => {
let $course = item.querySelector('.course_item_brief');
let $lastChild = $course.lastChild;
let _innertext = $lastChild.innerText;
if (_innertext == '未完成' && this.parentIndex == -1) {
this.parentIndex = index;
return true;
}
});
yield sleep(200);
ElementObj.$parentNodes[this.parentIndex].click();
setTimeout(() => {
this.initPlayPage();
}, 2500);
}), 1000);
}
}
mingshiclass.ctxid = 17;
/**
* 强师
* 18
* */
class qiangshi extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
_init() {
try {
let _win1 = document.querySelectorAll('iframe')[2].contentWindow;
let _win2 = _win1.document.querySelectorAll('iframe')[0].contentWindow;
this._document = _win2.document;
}
catch (e) {
}
let interval = setInterval(() => {
// 获取所有章节
try {
// @ts-ignore
let _win1 = document.querySelector('.contentIframe').contentWindow;
ElementObj.$allTask = _win1.document.querySelectorAll('.s_point');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
}
}
catch (e) {
}
}, 1000);
}
getCurrentIndex() {
let activeClass = 'done_icon_show';
ElementObj.$allTask.forEach((item, index) => {
let $item = item.querySelector('.item_done_icon');
if (!$item.classList.contains(activeClass) && this.currentIndex == -1) {
this.currentIndex = index;
}
});
if (this.currentIndex == -1) {
alert('当前章节课程已全部学完');
return;
}
showTip('⚠️⚠️⚠️初始化完成,即将开始播放', 3000);
setTimeout(() => {
this._o1();
}, 4500);
ElementObj.$handleSpeedUp.style.display = 'none';
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
try {
// @ts-ignore
let _document = document.querySelectorAll('iframe')[2].contentDocument.querySelectorAll('iframe')[0].contentDocument;
ElementObj.$video = _document === null || _document === void 0 ? void 0 : _document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
}
catch (e) {
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask[this.currentIndex].click();
yield sleep(3500);
yield this.getVideoDom();
ElementObj.$video.volume = 0;
let $playBtn = this._document.querySelector('#player_pause');
$playBtn === null || $playBtn === void 0 ? void 0 : $playBtn.click();
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = localStorage.getItem('_localSpeed') || toolOption.accelerator;
}, 3000);
ElementObj.$video.addEventListener('ended', () => __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('课程已全部部分完');
return;
}
this.currentIndex += 1;
showTip('⚠️⚠️⚠️正在切换课程', 3500);
setTimeout(() => {
this._o1();
}, 4000);
}));
ElementObj.$video.addEventListener('pause', () => {
setTimeout(() => {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
ElementObj.$video.playbackRate = localStorage.getItem('_localSpeed') || toolOption.accelerator;
}, 1500);
});
});
}
}
qiangshi.ctxid = 18;
/**
* 兰州理工大学
*
* 19
* */
class lanzhgoulgjs extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
_init() {
// 获取所有章节
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
// 获取所有章节
let $nodes1 = document.querySelectorAll('.chapterlist .drop p'); // 公需课
let $nodes2 = document.querySelectorAll('.chapterlist .videoList p'); // 专业课
if ($nodes1.length || $nodes2.length) {
clearInterval(interval);
ElementObj.$allTask = $nodes1.length ? $nodes1 : $nodes2;
this.getCurrentIndex();
}
}), 1000);
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
let arr = [];
ElementObj.$allTask.forEach((item, index) => {
let $class_percent = item.querySelector('.class_percent');
if (!!$class_percent) {
let status = $class_percent.innerText;
arr.push(parseInt(status));
}
else {
arr.push(0);
}
});
arr.reverse();
for (var i = 0; i <= arr.length - 1; i++) {
if (arr[i] < 98) {
this.currentIndex = arr.length - i - 1;
break;
}
}
// 因为看不到第一个所以,跳一下再看
if (this.currentIndex == 0) {
ElementObj.$allTask[1].querySelector('a').click();
yield sleep(4000);
ElementObj.$allTask = document.querySelectorAll('.chapterlist .drop p');
yield sleep(200);
let status = ElementObj.$allTask[0].querySelector('.class_percent').innerText;
if (parseInt(status) < 98) {
this.currentIndex = 0;
}
else {
alert('当前科目课程已全部播放完');
return;
}
}
if (this.currentIndex == -1) {
alert('当前科目课程已全部播放完');
return;
}
ElementObj.$handleSpeedUp.style.display = 'none';
showTip('🔉🔉🔉初始化完成,5s后开始播放', 3000);
this.pdPlayFn(location.href);
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
let videosrc = ElementObj.$video.src;
let $iframe = document.querySelector('iframe');
if (!!videosrc) {
clearInterval(Timer);
resolve(1);
}
if ($iframe) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
let $nextP = ElementObj.$allTask[this.currentIndex];
let $nextBtn = $nextP.querySelector('a');
yield sleep(300);
$nextBtn.click();
yield sleep(3000);
let result = yield this.getVideoDom();
if (result == 1) {
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();
});
let $wrap = document.querySelector('.ckplayer-ckplayer');
this.changeHtml($wrap);
this.reloadPage();
this.listenPageHide();
this.listenAbnormal(1);
ElementObj.$video.addEventListener('ended', () => __awaiter(this, void 0, void 0, function* () {
location.reload();
}));
}
// 学生版本
if (result == 2) {
let $thirdplayer = document.querySelector("#thirdplayer");
this.changeHtml($thirdplayer);
this.reloadPage();
this.listenPageHide();
this.listenAbnormal(0);
}
});
}
reloadPage() {
return __awaiter(this, void 0, void 0, function* () {
let count = 3 * 60;
let studyInterval = setInterval(() => {
if (count <= 0) {
clearInterval(studyInterval);
location.reload();
}
count -= 1;
}, 1000);
});
}
/**
* 监听异常
* */
listenAbnormal(type) {
showTip('🔉课件正在学习,请务点击或长时间隐藏');
let count = 0;
setInterval(() => {
count += 1;
if (type == 0) {
this.addInfo(`后台学习${count}次,当前状态正在学习`);
}
else {
let time = (ElementObj.$video.currentTime / 60).toFixed(2);
this.addInfo(`后台学习${count}次,当前状态正在学习,已播放${time}分钟`);
}
let $layuilayerbtn0 = document.querySelector('.layui-layer-btn0');
if (!!$layuilayerbtn0) {
location.reload();
return;
}
}, 5000);
}
changeHtml($wrap) {
return __awaiter(this, void 0, void 0, function* () {
let _style = `
width: 796px;
height: 545px;
background: #eae9e9;
position: absolute;
z-index: 10;
overflow: scroll;
top: 0;
padding-left: 10px;
`;
let dom = document.createElement('div');
dom.setAttribute('class', 'ctxstatsbox');
dom.setAttribute('style', _style);
$wrap.appendChild(dom);
yield sleep(300);
ElementObj.$ctxstatsbox = document.querySelector('.ctxstatsbox');
this.addInfo('🔉初始化已完成,正在播放');
this.addInfo('⚠️⚠️⚠️课程采用倒着播放,请勿手动更换课程', 0);
});
}
addInfo(str, type) {
let $ctxstatsbox_lis = document.querySelectorAll('.ctxstatsbox_li');
if ($ctxstatsbox_lis.length >= 15) {
ElementObj.$ctxstatsbox.innerHTML = '';
}
let li = `<li class="ctxstatsbox_li" style="color: ${type == 0 ? '#f01414' : '#000'};line-height: 30px;font-size: 16px;">${str}</li>`;
ElementObj.$ctxstatsbox.innerHTML += li;
}
listenPageHide() {
let timer3;
document.addEventListener("visibilitychange", () => {
if (document.hidden) {
// 页面被隐藏
let count = 0;
timer3 = setInterval(() => {
count += 1;
if (count >= 5) {
this.addInfo('⚠️⚠️⚠️请勿长时间隐藏该学习页面', 0);
}
}, 5000);
}
else {
clearInterval(timer3);
// 页面被显示
}
});
}
}
/**
* 北京教师学习网
* 20
* */
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* () {
let $item_btn = document.querySelector('.item_btn');
ElementObj.$topNode = document.querySelectorAll('.el-collapse-item__header');
if (!!$item_btn) {
yield sleep(2000);
$item_btn.click();
setTimeout(() => {
window.close();
}, 1500);
}
else if (ElementObj.$topNode.length) {
// let index = await this.getDoing() as number
//
// ElementObj.statusEles[index].click()
// await sleep(3000)
// this.getParentIndex()
forData: for (let item of ElementObj.$topNode) {
if (!item.classList.contains('is-active')) {
item.click();
yield sleep(1500);
}
let trs = item.parentElement.nextSibling.querySelectorAll('tr.el-table__row');
for (let tr of trs) {
let status = tr.querySelector('.el-progress-bar__inner').style.width;
if (status != '100%') {
MyTool.setValue('homeUrl', location.href);
tr.querySelector('.btn.to-study').click();
break forData;
}
}
}
}
else {
// 获取所有章节
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
// 获取所有章节
ElementObj.$allTask = document.querySelectorAll('.course-info .video-title');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
}
}), 1000);
}
});
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$topNode = document.querySelectorAll('.el-collapse-item');
yield sleep(200);
let len = ElementObj.$topNode.length;
let _interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
if (this.topIndex >= len - 1) {
clearInterval(_interval);
}
yield sleep(2000);
let $item = ElementObj.$topNode[this.topIndex];
if (this.topIndex != 0) {
$item.querySelector('.item-title-col').click();
}
yield sleep(300);
ElementObj.$parentNodes = $item.querySelectorAll('.el-table__row');
yield sleep(300);
ElementObj.$parentNodes.forEach((item, index) => __awaiter(this, void 0, void 0, function* () {
let $course_num = item.querySelector('.course_num');
let _status = $course_num.innerText;
if (_status != '课程:100%' && this.parentIndex == -1) {
clearInterval(_interval);
this.parentIndex = index;
let $toStudyBtn = item.querySelector('.to-study');
yield sleep(200);
$toStudyBtn.click();
setTimeout(() => {
window.close();
}, 1500);
}
}));
this.topIndex += 1;
}), 3000);
});
}
/**
* 获取最外层父类
* */
getDoing() {
return new Promise((resolve) => {
let isFirst = false;
ElementObj.statusEles = document.querySelectorAll('.li-item .el-progress-bar__inner');
ElementObj.statusEles.forEach((item, index) => {
let status = item.style.width;
if (parseInt(status) <= 98 && isFirst == false) {
isFirst = true;
resolve(index);
}
});
if (!isFirst) {
resolve(0);
}
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
let activeClass = 'on';
ElementObj.$allTask.forEach((item, index) => {
let $fourEle = item.querySelector('.four');
let _status = $fourEle.innerText;
if (_status != '100%' && this.currentIndex == -1) {
this.currentIndex = index;
}
});
ElementObj.$handleSpeedUp.style.display = 'none';
showTip('🔉初始化完成,5秒后开始播放', 3000);
let $nextBtn = ElementObj.$allTask[this.currentIndex];
yield sleep(200);
$nextBtn.click();
setTimeout(() => {
this._o1();
}, 4500);
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer);
yield this.getVideoDom();
ElementObj.$video.setAttribute('muted', 'muted');
ElementObj.$video.volume = 0;
let $startBtn = document.querySelector('.xgplayer-start');
yield sleep(200);
$startBtn.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* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
setTimeout(() => {
window.close();
}, 1500);
let homeUrl = MyTool.getValue('homeUrl');
location.replace(homeUrl);
return;
}
this.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[this.currentIndex];
yield sleep(300);
$nextBtn.click();
setTimeout(() => {
this._o1();
}, 4500);
}));
ElementObj.$video.addEventListener('pause', () => {
});
ElementObj.$video.addEventListener('playing', () => {
});
ElementObj.$video.addEventListener('waiting', () => {
});
});
}
/**
* 监听视频状态
* */
listenVidoeStatus() {
this.timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
let status = ElementObj.$video.paused;
if (status) {
ElementObj.$video.setAttribute('muted', 'muted');
ElementObj.$video.volume = 0;
ElementObj.$video.play();
}
else {
}
}
}, 3000);
}
/**
* 课程打卡
* */
punchCard() {
setInterval(() => {
let $elem = document.querySelector('#comfirmClock');
if (!!$elem) {
$elem.click();
}
}, 5000);
}
}
/**
* 专技天下
* 21
* */
class qingyangzgzjzj extends Main {
constructor() {
super();
this.taskLength = 0;
this.parentIndex = -1;
this.currentIndex = -1;
this._init();
}
_init() {
let interval = setInterval(() => {
// 获取所有章节
ElementObj.$parentNodes = document.querySelectorAll('.swiper-slide');
if (ElementObj.$parentNodes.length) {
clearInterval(interval);
this.getParentIndex();
}
}, 1000);
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip('正在初始化', 1500);
ElementObj.$parentNodes.forEach((item, index) => {
let $progresstext = item.querySelector('.progresstext');
let status = $progresstext.innerText;
if (parseInt(status) < 97 && this.parentIndex == -1) {
this.parentIndex = index;
ElementObj.$parentNodes[this.parentIndex].querySelector('.left-img').click();
}
});
if (this.parentIndex == -1) {
alert('课程已全部播放完');
return;
}
this.getCurrentIndex();
});
}
_getParentIndex() {
let result = 0;
for (var i = 0; i <= ElementObj.$parentNodes.length - 1; i++) {
let $progresstext = ElementObj.$parentNodes[i].querySelector('.progresstext');
let status = $progresstext.innerText;
if (parseInt(status) < 95) {
result = i;
break;
}
}
return result;
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask = document.querySelectorAll(".class-catlog ul li ul li");
yield sleep(2000);
ElementObj.$allTask[0].click();
// ElementObj.$allTask[7].click()
this.currentIndex = 0;
ElementObj.$handleSpeedUp.style.display = 'none';
showTip('🔉初始化完成,5秒后自动开始播放', 3000);
setTimeout(() => {
this._o1();
}, 3000);
});
}
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(resolve => {
let Timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
}, 1000);
});
}
listenVidoeStatus() {
this.timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
let status = ElementObj.$video.paused;
if (status) {
ElementObj.$video.setAttribute('muted', 'muted');
ElementObj.$video.volume = 0;
ElementObj.$video.play();
}
}
}, 3000);
}
listenRebort() {
this.timer2 = setInterval(() => {
var _c;
let $rebort = (_c = document.querySelector('.progress')) === null || _c === void 0 ? void 0 : _c.querySelectorAll('span')[1].innerText.trim();
if ($rebort == '100%') {
location.reload();
}
}, 3000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask = document.querySelectorAll(".class-catlog ul li ul li");
yield sleep(1500);
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
location.reload();
return;
}
// this.currentIndex += 1
// let $nextTaskBtn = document.querySelector('.nextdontcheatorshit') as HTMLElement | null;
// await sleep(200)
// $nextTaskBtn?.click()
// setTimeout(() => {
// this._o1()
// }, 5000)
});
}
}
/**
* 兰州文理学院继续教育
* 还未开发完,缺少视频连播
* jxjypt.luas.edu.cn
* 22
* */
class lanzhouwenli extends Main {
constructor() {
super();
this.taskLength = 0;
this.parentIndex = -1;
this.currentIndex = -1;
this._init();
}
_init() {
let interval = setInterval(() => {
// 获取所有章节
ElementObj.$allTask = document.querySelectorAll('.video');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
}
}, 1000);
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask.forEach((item, index) => {
let $progress = item.querySelector('.el-progress__text');
let status = $progress.innerText;
if (parseInt(status) < 96 && this.currentIndex == -1) {
this.currentIndex = index;
}
});
if (this.currentIndex == -1) {
alert('当前章节课程已全部播放完');
return;
}
showTip('🔉🔉🔉初始化完成,即将开始播放', 3000);
yield sleep(2000);
ElementObj.$allTask[this.currentIndex].click();
yield sleep(2500);
this._o1();
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
yield this.getVideoDom();
let $volume = document.querySelector('.volume-icon');
$volume.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* () {
yield sleep(1500);
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
this.parentIndex += 1;
yield sleep(200);
ElementObj.$parentNodes[this.parentIndex].querySelector('.left-img').click();
if (this.parentIndex >= ElementObj.$parentNodes.length - 1) {
alert('课程已全部播放完了');
return;
}
}
let $backBtn = document.querySelector('.videoleft img');
yield sleep(200);
$backBtn.click();
showTip('正在切换课程', 3000);
setTimeout(() => __awaiter(this, void 0, void 0, function* () {
this.currentIndex += 1;
let $nextTaskBtn = ElementObj.$allTask[this.currentIndex];
yield sleep(2000);
$nextTaskBtn === null || $nextTaskBtn === void 0 ? void 0 : $nextTaskBtn.click();
setTimeout(() => {
this._o1();
}, 5000);
}), 5500);
}));
ElementObj.$video.addEventListener('pause', () => {
setTimeout(() => {
ElementObj.$video.play();
}, 4000);
});
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
}, 1000);
});
}
}
/**
* 国家智慧教育公共服务平台
* 24
* */
class guojiazhihuijiaoyu extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
_init() {
// 获取所有章节
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
// 获取所有章节
let $allTask1 = document.querySelectorAll('.video-title .four');
if ($allTask1.length) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
ElementObj.$allTask = $allTask1;
this.getCurrentIndex();
}
}), 1000);
}
getCurrentIndex() {
ElementObj.$allTask.forEach((item, index) => {
if (item.innerText != '100%' && this.currentIndex == -1) {
this.currentIndex = index;
}
});
if (this.currentIndex == -1) {
this.currentIndex = 0;
}
showTip('🔉🔉🔉初始化完成,即将开始自动播放', 3000);
this._o1();
}
play() {
return __awaiter(this, void 0, void 0, function* () {
let $nextBtn = ElementObj.$allTask[this.currentIndex];
yield sleep(300);
$nextBtn.click();
yield sleep(3000);
// @ts-ignore
document.querySelector('video').volume = 0;
let $playBtn = document.querySelector('.xgplayer-icon-play');
$playBtn.click();
yield this.getVideoDom();
ElementObj.$video.play();
ElementObj.$video.playbackRate = toolOption.accelerator;
this.listenVidoeStatus();
let $btn0 = document.querySelector('.layui-layer-btn0');
if (!!$btn0) {
$btn0.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* () {
let $close = document.querySelector('.layui-layer-btn0');
yield sleep(3000);
if (!!$close) {
$close.click();
}
this.currentIndex += 1;
setTimeout(() => {
this._o1();
}, 5000);
}));
});
}
listenTopic() {
let inter = setInterval(() => {
try {
let $submit = document.querySelector('#submit');
if (!!$submit) {
this.answerTopic();
}
}
catch (e) {
}
}, 1000 * 5);
}
answerTopic() {
return __awaiter(this, void 0, void 0, function* () {
let $choice = document.querySelectorAll('.choice li')[0];
yield sleep(200);
$choice.click();
let $submit = document.querySelector('#submit');
yield sleep(1000);
$submit.click();
yield sleep(2000);
$submit = document.querySelector('#submit');
yield sleep(200);
$submit.click();
yield sleep(4500);
let $close = document.querySelector('.layui-layer-btn0');
yield sleep(200);
$close.click();
});
}
/**
* 监听视频状态
* */
listenVidoeStatus() {
let count = 0;
this.timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
let status = ElementObj.$video.paused;
if (status) {
ElementObj.$video.setAttribute('muted', 'muted');
ElementObj.$video.volume = 0;
ElementObj.$video.play();
}
else {
}
}
}, 1000 * 10);
}
}
/**
* 兰州大学成人教育
* 25
* */
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 interval = setInterval(() => {
// 公开课
if (location.pathname == '/courseVideo/index') {
ElementObj.$allTask = document.querySelectorAll('.ant-tree-node-content-wrapper-normal .chapter-tree-level2');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
}
}
else {
// 获取所有章节
ElementObj.$allTask = document.querySelectorAll('.activity li');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
}
}
}, 1000);
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
// 公开课
if (location.pathname == '/courseVideo/index') {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let $li = ElementObj.$allTask[i];
let $right = $li.querySelector('.right');
if (!$right) {
this.currentIndex = i;
break;
}
else {
let $status = $right.querySelector('.percent-text');
if ($status.innerText != '已完成') {
this.currentIndex = i;
break;
}
}
}
if (this.currentIndex == -1) {
alert('所有课程已播放完');
return;
}
ElementObj.$allTask[i].click();
}
else {
let activeClass = 'cur';
ElementObj.$allTask.forEach((item, index) => {
if (item.classList.contains(activeClass)) {
this.currentIndex = index;
}
});
if (this.currentIndex == -1) {
this.currentIndex = 0;
}
}
ElementObj.$handleSpeedUp.style.display = 'none';
showTip('🔉初始化完成,5秒后开始播放', 3000);
yield sleep(3000);
this._o1();
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
// 判断是文档还是视频
let studyType = yield this.getVideoDom();
yield sleep(200);
if (studyType == 1) {
setTimeout(() => __awaiter(this, void 0, void 0, function* () {
this.currentIndex += 1;
let $li = ElementObj.$allTask[this.currentIndex];
let $nextTaskBtn = $li === null || $li === void 0 ? void 0 : $li.querySelector('h3');
yield sleep(2000);
$nextTaskBtn === null || $nextTaskBtn === void 0 ? void 0 : $nextTaskBtn.click();
}), 3000);
}
// 视频
if (studyType == 2) {
ElementObj.$video.volume = 0;
ElementObj.$video.playbackRate = toolOption.accelerator;
ElementObj.$video.play();
ElementObj.$handleSpeedUp.style.background = '#f01414';
ElementObj.$handleSpeedUp.innerText = '加速成功';
if (location.pathname == '/venus/study/activity/video/study.do') {
this.listenVidoeStatus(ElementObj.$video, () => {
let $li = ElementObj.$allTask[this.currentIndex];
let $nextTaskBtn = $li === null || $li === void 0 ? void 0 : $li.querySelector('h3');
$nextTaskBtn === null || $nextTaskBtn === void 0 ? void 0 : $nextTaskBtn.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();
}, 1000);
});
ElementObj.$video.addEventListener('playing', () => {
this.videoplaying = 2;
});
}
});
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
this.videoplaying = 3;
yield sleep(1500);
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前章节课程已全部播放完了');
return;
}
this.currentIndex += 1;
let $li = ElementObj.$allTask[this.currentIndex];
let $nextTaskBtn;
if (location.pathname == '/courseVideo/index') {
$nextTaskBtn = $li;
$nextTaskBtn === null || $nextTaskBtn === void 0 ? void 0 : $nextTaskBtn.click();
setTimeout(() => {
this._o1();
}, 3000);
}
else {
$nextTaskBtn = $li === null || $li === void 0 ? void 0 : $li.querySelector('h3');
yield sleep(2000);
$nextTaskBtn === null || $nextTaskBtn === void 0 ? void 0 : $nextTaskBtn.click();
}
});
}
/**
* 获取视频dom
* */
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
ElementObj.$myFrame = document.querySelector('#myFrame');
if (!!ElementObj.$video) {
clearInterval(Timer);
this.type = 2;
resolve(2);
}
if (!!ElementObj.$myFrame) {
clearInterval(Timer);
this.type = 1;
resolve(1);
}
}, 1000);
});
}
reloadPage() {
return __awaiter(this, void 0, void 0, function* () {
let count = 10 * 60;
let watch = 0;
let studyInterval = setInterval(() => {
watch += 1;
if (watch % 15 == 0) {
console.clear();
}
if (watch % 5 == 0) {
}
if (count <= 0) {
clearInterval(studyInterval);
location.reload();
}
count -= 1;
}, 1000);
});
}
}
/**
* 天水博通职业技术培训学校
* 26
* */
class tsbtchinamde extends Main {
constructor() {
super();
this.taskLength = 0;
this.studyType = 1;
this.currentIndex = -1;
this._init();
}
_init() {
// 获取所有章节
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
// 获取所有章节
let $allTask1 = document.querySelectorAll('.chapterlist .item p');
let $allTask2 = document.querySelectorAll('.chapterlist .chapter-li .drop p');
if ($allTask1.length || $allTask2.length) {
clearInterval(interval);
ElementObj.$allTask = $allTask2.length ? $allTask2 : $allTask1;
this.getCurrentIndex();
ElementObj.$handleSpeedUp.style.display = 'none';
}
}), 1000);
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
let arr = [];
ElementObj.$allTask.forEach((item, index) => {
let $class_percent = item.querySelector('.class_percent');
if (!!$class_percent) {
let status = $class_percent.innerText;
arr.push(parseInt(status));
}
else {
arr.push(0);
}
});
arr.reverse();
for (var i = 0; i <= arr.length - 1; i++) {
if (arr[i] < 98) {
this.currentIndex = arr.length - i - 1;
break;
}
}
// 因为看不到第一个所以,跳一下再看
if (this.currentIndex == 0) {
ElementObj.$allTask[1].querySelector('a').click();
yield sleep(4000);
ElementObj.$allTask = document.querySelectorAll('.chapterlist .drop p');
yield sleep(200);
let status = ElementObj.$allTask[0].querySelector('.class_percent').innerText;
if (parseInt(status) < 98) {
this.currentIndex = 0;
}
else {
alert('当前科目课程已全部播放完');
return;
}
}
if (this.currentIndex == -1) {
alert('当前科目课程已全部播放完');
return;
}
ElementObj.$handleSpeedUp.style.display = 'none';
showTip('🔉🔉🔉初始化完成,5s后开始播放', 3000);
this._o1();
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
let videosrc = ElementObj.$video.src;
if (!!videosrc) {
clearInterval(Timer);
resolve(1);
}
else {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer);
let $nextP = ElementObj.$allTask[this.currentIndex];
let $nextBtn = $nextP.querySelector('a');
yield sleep(300);
$nextBtn.click();
this.studyType = (yield this.getVideoDom());
if (this.studyType == 1) {
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();
});
}
let $wrap = this.studyType == 1 ? $el('#player') : $el('#thirdplayer');
this.changeHtml($wrap);
this.reloadPage();
this.listenPageHide();
this.studyType == 1 ? this.listenAbnormal(1) : this.listenAbnormal(0);
setTimeout(() => {
this.addInfo('⚠️⚠️⚠️课程采用倒着播放,请勿手动更换课程', 0);
}, 1000);
ElementObj.$video.addEventListener('ended', () => __awaiter(this, void 0, void 0, function* () {
location.reload();
}));
});
}
reloadPage() {
return __awaiter(this, void 0, void 0, function* () {
let count = 6 * 60;
let studyInterval = setInterval(() => {
if (count <= 0) {
clearInterval(studyInterval);
location.reload();
}
count -= 1;
}, 1000);
});
}
/**
* 监听异常
* */
listenAbnormal(type) {
showTip('🔉课件正在学习,请务点击或长时间隐藏');
let count = 0;
setInterval(() => {
count += 1;
if (type == 0) {
this.addInfo(`后台学习${count}次,当前状态正在学习`);
}
if (type == 1) {
let time = (ElementObj.$video.currentTime / 60).toFixed(2);
this.addInfo(`后台学习${count}次,当前状态正在学习,已播放${time}分钟`);
}
let $layuilayerbtn0 = document.querySelector('.layui-layer-btn0');
if (!!$layuilayerbtn0) {
location.reload();
return;
}
}, 5000);
}
}
tsbtchinamde.ctxid = 26;
/**
* 浙江省住房和城乡建设行业专业技术人员继续教育系统
* 28
* */
class zjzjsrc extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this.wrapParentIndex = 0; // 更改年份 【0代表第一个年份课程,1代表第二个年份的课程....以此类推】
this._init();
}
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
if (location.pathname == '/member/project_toMyCourseList.page') {
clearInterval(interval);
let $page1 = document.querySelectorAll('td .btn-xs')[this.wrapParentIndex];
$page1.click();
yield sleep(2000);
let index = yield this.getParentIndex();
let $parentTask = document.querySelectorAll('.panel-body')[0].querySelectorAll('tbody tr');
let $item = $parentTask[index];
let $openBtn = $item.querySelector(".btn-xs[name='btn1']");
$openBtn === null || $openBtn === void 0 ? void 0 : $openBtn.click();
yield sleep(2000);
// 查询第二层级的
ElementObj.$allTask = document.querySelectorAll(".btn-xs[name='btn1']");
this.step2();
// this.getCurrentIndex()
}
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
this._o1();
}
}), 1000);
});
}
getParentIndex() {
var _c;
return __awaiter(this, void 0, void 0, function* () {
let result = -1;
let $parentTask = document.querySelectorAll('.panel-body')[0].querySelectorAll('tbody tr');
for (var i = 0; i <= $parentTask.length - 1; i++) {
let tdIndex = location.host === '2j.zjjsrc.cn' ? 4 : 6;
let $status = $parentTask[i].querySelectorAll('td')[tdIndex].innerText;
if ($status == '未开始学习') {
result = i;
break;
}
}
if (result == -1) {
let $lastPageBtn = document.querySelector('#option1').lastChild;
let $nextBtn = (_c = document.querySelector('#option1')) === null || _c === void 0 ? void 0 : _c.querySelector("a[title='Go to next page']");
if (!$lastPageBtn.classList.contains('active')) {
$nextBtn.click();
yield sleep(2000);
result = yield this.getParentIndex();
}
else {
return result;
}
}
return result;
});
}
getCurrentIndex() {
showTip('正在初始化');
ElementObj.$handleSpeedUp.style.display = 'none';
let $progressNodes = document.querySelectorAll('.progress-bar');
let result = -1;
for (var i = 0; i <= $progressNodes.length - 1; i++) {
let _ele = $progressNodes[i];
let status = _ele.style.width;
if (parseInt(status) != 100) {
result = i;
break;
}
}
return result;
}
step2() {
var _c;
return __awaiter(this, void 0, void 0, function* () {
let index = 0;
let $items = (_c = document.querySelector('#myModal .panel-body')) === null || _c === void 0 ? void 0 : _c.querySelectorAll('tbody tr');
let timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
let $openBtn = $items[index].querySelector(".btn-xs[name='btn2']");
$openBtn === null || $openBtn === void 0 ? void 0 : $openBtn.click();
yield sleep(500);
let result = this.getCurrentIndex();
if (result != -1) {
clearInterval(timer);
let $progressNodes = document.querySelectorAll('#myModal1 tbody tr')[result];
let $a = $progressNodes.querySelector('a');
// @ts-ignore
GM_openInTab($a.href, { active: true });
localStorage.setItem('learnStatus', '-1');
if (location.host === '2j.zjjsrc.cn') {
window.addEventListener('storage', (event) => {
if (event.key === 'learnStatus') {
var message = event.newValue;
if (message === 'done') {
location.reload();
}
}
});
}
if (location.host !== '2j.zjjsrc.cn') {
setTimeout(() => {
window.close();
}, 1000 * 15);
}
}
index++;
}), 2000);
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
}, 1000);
});
}
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;
if (location.host === '2j.zjjsrc.cn') {
localStorage.setItem('learnStatus', 'done');
}
else {
// @ts-ignore
GM_openInTab('https://zj.zjjsrc.cn/member/project_toMyCourseList.page', { active: true });
}
setTimeout(() => {
window.close();
}, 1000 * 15);
}));
ElementObj.$video.addEventListener('pause', () => {
let timer;
clearInterval(timer);
timer = setTimeout(() => {
let $playBtn = document.querySelector('.vjs-play-control');
$playBtn.click();
}, 100);
});
});
}
listenPlayTime() {
let count = 0;
this.timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var _c, _d;
count += 1;
let currentTime = (_c = ElementObj.$video) === null || _c === void 0 ? void 0 : _c.currentTime;
let time = (currentTime / 60).toFixed(2);
let durtion = (_d = ElementObj.$video) === null || _d === void 0 ? void 0 : _d.duration;
this.addInfo(`后台学习${count}次,当前状态正在学习,已播放${time}分钟,视频总时长为${durtion / 60}分钟`);
}), 5000);
}
}
zjzjsrc.ctxid = 26;
/**
* 兰州资源环境职业技术大学
* 29 lzrejxjy
* */
class lzrejxjy extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$handleSpeedUp.style.display = 'none';
let $trans2 = document.querySelectorAll('.my-center2RM .pull-left a.trans')[1];
if (!!$trans2) {
clearInterval(interval);
// @ts-ignore
GM_setValue("homeUrl", location.href);
$trans2 === null || $trans2 === void 0 ? void 0 : $trans2.click();
showTip('🔉正在初始化');
yield sleep(2000);
ElementObj.$parentNodes = document.querySelectorAll('.class2Li');
this.findParentIndex();
return;
}
let $menus = document.querySelectorAll('.learn-menu-cell');
if ($menus.length) {
clearInterval(interval);
this.getCurrentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
var _c;
return __awaiter(this, void 0, void 0, function* () {
if (location.host != 'zjdx-kfkc.webtrn.cn') {
let $menu2 = document.querySelectorAll('.learn-menu-cell')[1];
if (!$menu2.classList.contains('learn-menu-cur')) {
let $menu2_a = $menu2.querySelector('a');
$menu2_a.click();
}
yield sleep(3000);
}
let $contentIframe = document.querySelector('.contentIframe');
ElementObj._document = $contentIframe.contentWindow.document;
ElementObj.$allTask = ElementObj._document.querySelectorAll('.s_point');
showTip('正在初始化');
ElementObj.$handleSpeedUp.style.display = 'none';
let activeClass = 'done_icon_show';
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let $item = ElementObj.$allTask[i].querySelector('.item_done_icon');
if (!$item.classList.contains(activeClass)) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
// @ts-ignore
let homeUrl = GM_getValue("homeUrl", null);
// @ts-ignore
GM_openInTab(homeUrl, { active: true });
setTimeout(() => {
window.close();
}, 1500);
return;
}
(_c = ElementObj.$allTask[this.currentIndex]) === null || _c === void 0 ? void 0 : _c.click();
showTip('初始化完成,5秒后开始播放');
this._o1();
});
}
findParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = 'none';
let $a;
ElementObj.$parentNodes.forEach((item, index) => {
let $class2Li = item.querySelector('.color-theme');
let status = $class2Li.innerText;
if (parseInt(status) <= 98 && this.currentIndex == -1) {
this.currentIndex = index;
$a = item.querySelector('a.btn-theme');
}
});
if (this.currentIndex == -1) {
alert('全部课程已学完');
return;
}
$a.click();
setTimeout(() => {
window.close();
}, 1500);
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
var _c;
if (count > 7) {
clearInterval(Timer);
resolve(2);
}
let _document = (_c = ElementObj._document.querySelector('#mainFrame')) === null || _c === void 0 ? void 0 : _c.contentWindow.document;
ElementObj.$video = _document === null || _document === void 0 ? void 0 : _document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
}
count += 1;
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studytype = yield this.getVideoDom();
if (studytype == 2) {
this.playNext();
}
if (studytype == 1) {
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(num) {
localStorage.setItem('_localSpeed', num.toString());
ElementObj.$video.playbackRate = num;
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
let $btn = document.querySelector('.layui-layer-btn0');
if (!!$btn) {
setTimeout(() => {
$btn.click();
ElementObj.$video.play();
}, 3000);
}
}, 10 * 1000);
}
playNext() {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
// @ts-ignore
let homeUrl = GM_getValue("homeUrl", null);
// @ts-ignore
GM_openInTab(homeUrl, { active: true });
setTimeout(() => {
window.close();
}, 1500);
return;
}
this.currentIndex += 1;
ElementObj.$allTask[this.currentIndex].click();
showTip('🔉正在切换课程');
setTimeout(() => {
this._o1();
}, 5000);
}
}
lzrejxjy.ctxid = 29;
/**
* 徐州医科大学
* 30
* xuzhouyikedaxue
* */
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
let $menu = document.querySelector('#courseware_main_menu');
let $menu_a = $menu.querySelector('a');
if (!!$menu_a) {
clearInterval(interval);
$menu_a.click();
this.findParentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
findParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip('🔉正在初始化', 2500);
yield sleep(4500);
ElementObj.$handleSpeedUp.style.display = 'none';
let $contentIframe = document.querySelector('.contentIframe');
let _document = $contentIframe.contentWindow.document;
ElementObj.$parentNodes = _document.querySelectorAll('.vcon li');
ElementObj.$parentNodes.forEach((item, index) => {
let $span = item.querySelector('span');
if (($span.classList.contains('undo') || $span.classList.contains('doing')) && this.parentIndex == -1) {
this.parentIndex = index;
}
});
if (this.parentIndex == -1) {
alert('当前课程已全部播发完');
return;
}
ElementObj.$parentNodes[this.parentIndex].querySelector('a').click();
this.getCurrentIndex();
});
}
getCurrentIndex() {
var _c;
return __awaiter(this, void 0, void 0, function* () {
showTip('正在初始化', 2500);
yield sleep(4500);
let $contentIframe = document.querySelector('.contentIframe');
ElementObj._document = $contentIframe.contentWindow.document;
ElementObj.$allTask = ElementObj._document.querySelectorAll('.menub');
this.currentIndex = 0;
(_c = ElementObj.$allTask[this.currentIndex]) === null || _c === void 0 ? void 0 : _c.click();
showTip('初始化完成,5秒后开始播放');
this._o1();
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
let $contentIframe = document.querySelector('.contentIframe');
ElementObj._document = $contentIframe.contentWindow.document;
let _document = ElementObj._document.querySelector('#mainFrame').contentDocument;
ElementObj.$video = _document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
let $doc = _document.querySelector('#content_frame');
if (!!$doc) {
clearInterval(Timer);
resolve(2);
}
else {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
clearInterval(this.timer2);
// @ts-ignore
unsafeWindow.alert = () => {
};
let studytype = yield this.getVideoDom();
this.listenRebort();
if (studytype == 1) {
ElementObj.$video.volume = 0;
yield sleep(200);
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
});
ElementObj.$video.addEventListener('ended', () => __awaiter(this, void 0, void 0, function* () {
yield sleep(3000);
this.playNext();
}));
}
if (studytype == 2) {
this.timer2 = setTimeout(() => {
this.playNext();
}, 7000);
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
let $btn = document.querySelector('.layui-layer-btn a');
if (!!$btn) {
$btn.click();
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
}
}, 10 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
showTip('✅✅✅播放完成,正在切换课程', 3500);
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
this.parentIndex += 1;
ElementObj.$parentNodes[this.parentIndex].querySelector('a').click();
setTimeout(() => {
this.getCurrentIndex();
}, 4500);
return;
}
this.currentIndex += 1;
ElementObj.$allTask[this.currentIndex].click();
setTimeout(() => {
this._o1();
}, 4000);
});
}
}
xuzhouyikedaxue.ctxid = 26;
/**
* 西北师范大学专业技术人员继续教育基地(甘肃省)网络学习平台
* xibeisfzyjy
* 31
* */
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
let $allTask1 = document.querySelectorAll('.el-tree-node'); // 选修课
let $allTask2 = document.querySelectorAll('.m-chapterList .section'); // 公需课
if ($allTask1.length || $allTask2.length) {
this.studyType = $allTask1.length ? 2 : 1;
ElementObj.$allTask = $allTask1.length ? $allTask1 : $allTask2;
clearInterval(interval);
this.getCurrentIndex();
}
ElementObj.$parentNodes = document.querySelectorAll('.project-courseBottom');
if (ElementObj.$parentNodes.length) {
clearInterval(interval);
this.getParentIndex();
}
let _host = location.host;
if (_host == 'preview.dccloud.com.cn') {
clearInterval(interval);
yield sleep(1500);
window.close();
}
}
catch (e) {
}
}), 1000);
});
}
getParentIndex() {
for (var i = 0; i <= ElementObj.$parentNodes.length - 1; i++) {
let status = ElementObj.$parentNodes[i].querySelector('span');
if (status != '已学习') {
this.parentIndex = i;
break;
}
}
if (this.parentIndex == -1) {
alert('课程已全部学完');
}
ElementObj.$parentNodes[i].querySelector('.project-courseButton').click();
}
// 选修课 获取章节下的第几个视频
getSwiperIndex() {
var _c;
return __awaiter(this, void 0, void 0, function* () {
// 文档
ElementObj.$video = document.querySelector('video');
yield sleep(200);
if (!ElementObj.$video) {
ElementObj.$docs = document.querySelectorAll('.abcd');
if (ElementObj.$docs.length) {
this.playDoc();
}
return;
}
ElementObj.$swiperItem = document.querySelectorAll('.public-articleSlideList');
if (!ElementObj.$swiperItem.length) {
this._o1();
return;
}
for (var i = 0; i <= ElementObj.$swiperItem.length - 1; i++) {
let status = ElementObj.$swiperItem[i].querySelector('.video-status').innerText;
if (status != '已学习') {
this.swiperIndex = i;
break;
}
}
if (this.swiperIndex == -1) {
this.playNext();
}
else if (this.swiperIndex == 0) {
this._o1();
}
else {
ElementObj.$swiperItem[this.swiperIndex].querySelector('.el-icon-video-play').click();
showTip('⚠️⚠️⚠️正在初始化', 3500);
let $btn = (_c = document.querySelector('.el-message-box__btns')) === null || _c === void 0 ? void 0 : _c.lastChild;
yield sleep(2000);
$btn.click();
setTimeout(() => {
this._o1();
}, 5000);
}
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = 'none';
showTip('正在初始化', 2500);
yield sleep(3500);
let activeClass = this.studyType == 1 ? 'section-cur' : 'study';
ElementObj.$allTask.forEach((item, index) => {
if (this.studyType == 1) {
let $item = item;
if ($item.classList.contains(activeClass)) {
this.currentIndex = index;
}
}
if (this.studyType == 2) {
let $item = item.querySelector('i');
let status = $item.title;
if (status != '已学习' && this.currentIndex == -1) {
this.currentIndex = index;
}
}
});
if (this.currentIndex == -1) {
alert('当前课程章节已全部播放完');
return;
}
if (this.studyType == 2 && this.currentIndex != -1) {
this.playNext(this.currentIndex - 1);
}
// if(this.currentIndex == -1){
// this.currentIndex = 0
// }
showTip('⚠️⚠️⚠️初始化,请稍后', 3000);
if (this.studyType == 1) {
this._o1();
}
if (this.studyType == 2) {
this.getSwiperIndex();
}
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
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;
}, 3000);
if (this.studyType == 2) {
let index = yield this.getDocIndex();
setTimeout(() => {
this.eachPlayDoc(index);
}, 3000);
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;
}, 3000);
});
ElementObj.$video.addEventListener('ended', () => __awaiter(this, void 0, void 0, function* () {
var _c;
showTip('🔉正在切换课程', 2500);
if (this.studyType == 2) {
if (this.swiperIndex >= ElementObj.$swiperItem.length - 1) {
location.reload();
}
else {
this.swiperIndex += 1;
ElementObj.$swiperItem[this.swiperIndex].querySelector('.el-icon-video-play').click();
showTip('⚠️⚠️⚠️正在切换视频', 5000);
let $btn = (_c = document.querySelector('.el-message-box__btns')) === null || _c === void 0 ? void 0 : _c.lastChild;
yield sleep(2000);
$btn.click();
setTimeout(() => {
this._o1();
}, 5000);
}
}
if (this.studyType == 1) {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前章节课程已学完');
return;
}
this.currentIndex += 1;
let $nextBtn;
$nextBtn = ElementObj.$allTask[this.currentIndex].querySelector('a');
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
}
}));
});
}
getDocIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$docs = document.querySelectorAll('.abcd .file-box');
yield sleep(200);
let index = -1;
for (var i = 0; i <= ElementObj.$docs.length - 1; i++) {
let status = ElementObj.$docs[i].querySelector('.fs12').innerText;
if (status != '( 已完成 )') {
index = i;
break;
}
}
return index;
});
}
playDoc(type) {
return __awaiter(this, void 0, void 0, function* () {
let index = yield this.getDocIndex();
if (index == -1) {
this.playNext();
return;
}
this.eachPlayDoc(index, () => {
setTimeout(() => __awaiter(this, void 0, void 0, function* () {
this.playNext();
}), 2000);
});
});
}
eachPlayDoc(index = 0, callback) {
if (index == -1)
return;
let T = setInterval(() => {
if (index >= ElementObj.$docs.length - 1) {
clearInterval(T);
if (typeof callback == 'function') {
callback();
}
}
ElementObj.$docs[index].querySelector('button').click();
index += 1;
}, 2000);
}
playNext(nextIndex) {
var _c;
return __awaiter(this, void 0, void 0, function* () {
if (nextIndex != undefined) {
this.currentIndex = nextIndex;
}
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
// let $dingzhiFanhui = document.querySelector('.dingzhiFanhui') as HTMLElement;
// await sleep(200)
// $dingzhiFanhui.click()
alert('当前章节课程已学完');
return;
}
this.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[this.currentIndex].querySelectorAll('span')[1];
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
yield sleep(2000);
let $btn = (_c = document.querySelector('.el-message-box__btns')) === null || _c === void 0 ? void 0 : _c.lastChild;
if (!!$btn) {
$btn.click();
}
showTip('⚠️⚠️⚠️正在切换下一节', 4000);
setTimeout(() => {
this.getSwiperIndex();
}, 4500);
});
}
listenPlayTime() {
showTip('🔉课件正在学习,请务点击或长时间隐藏');
let count = 0;
this.timer = setInterval(() => {
count += 1;
let time = (ElementObj.$video.currentTime / 60).toFixed(2);
this.addInfo(`后台学习${count}次,当前状态正在学习,已播放${time}分钟`);
}, 5000);
}
reloadPage() {
return __awaiter(this, void 0, void 0, function* () {
let count = 6 * 60;
let studyInterval = setInterval(() => {
if (count <= 0) {
clearInterval(studyInterval);
location.reload();
}
count -= 1;
}, 1000);
});
}
}
xibeisfzyjy.ctxid = 26;
/**
* 河南省专业技术人员学习公社
* 27
* henangongshe
* */
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
let $menuNodes = document.querySelectorAll('#bxkBtudyDiv a');
if ($menuNodes.length) {
clearInterval(interval);
this.getParentIndex($menuNodes);
}
ElementObj.$allTask = document.querySelectorAll('.course-info .video-title');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
}
ElementObj.$handleSpeedUp.style.display = 'none';
}), 1000);
});
}
getParentIndex($menuNodes) {
return __awaiter(this, void 0, void 0, function* () {
$menuNodes[0].click();
showTip('⚠️⚠️⚠️正在初始化', 3000);
yield sleep(3000);
ElementObj.$parentNodes = document.querySelectorAll('tbody tr');
for (var i = 0; i <= ElementObj.$parentNodes.length - 1; i++) {
let status = ElementObj.$parentNodes[i].querySelector('span').innerText;
if (parseInt(status) <= 98) {
this.parentIndex = i;
break;
}
}
if (this.parentIndex == -1) {
$menuNodes[1].click();
yield sleep(3000);
ElementObj.$parentNodes = document.querySelectorAll('tbody tr');
for (var i = 0; i <= ElementObj.$parentNodes.length - 1; i++) {
let status = ElementObj.$parentNodes[i].querySelector('span').innerText;
if (parseInt(status) <= 98) {
this.parentIndex = i;
break;
}
}
}
if (this.parentIndex == -1) {
alert('全部课程已学完');
return;
}
// @ts-ignore
let homeUrl = 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((item, index) => {
let $fourEle = item.querySelector('.four');
let _status = $fourEle.innerText;
if (_status != '100%' && this.currentIndex == -1) {
this.currentIndex = index;
}
});
ElementObj.$handleSpeedUp.style.display = 'none';
showTip('🔉初始化完成,5秒后开始播放', 3000);
let $nextBtn = ElementObj.$allTask[this.currentIndex];
yield sleep(200);
$nextBtn.click();
setTimeout(() => {
this._o1();
}, 4500);
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
yield this.getVideoDom();
ElementObj.$video.setAttribute('muted', 'muted');
ElementObj.$video.volume = 0;
let $startBtn = document.querySelector('.xgplayer-start');
yield sleep(200);
$startBtn.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* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
setTimeout(() => {
window.close();
}, 1500);
// @ts-ignore
let homeUrl = GM_getValue("homeUrl", null);
// @ts-ignore
GM_openInTab(homeUrl, { active: true });
return;
}
this.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[this.currentIndex];
yield sleep(300);
$nextBtn.click();
setTimeout(() => {
this._o1();
}, 4500);
}));
});
}
/**
* 课程打卡
* */
punchCard() {
setInterval(() => {
let $elem = document.querySelector('#comfirmClock');
if (!!$elem) {
$elem.click();
}
}, 5000);
}
updateSpeedElement(num) {
localStorage.setItem('_localSpeed', num.toString());
ElementObj.$video.playbackRate = num;
}
}
/**
* 自贡开放大学
* zgrtvu
* 32
* */
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
let $button = document.querySelector('.head_right button');
if (!!$button) {
clearInterval(interval);
$button.click();
}
ElementObj.$allTask = document.querySelectorAll('.page-name');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
}
ElementObj.$handleSpeedUp.style.display = 'none';
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip('⚠️⚠️⚠️正在初始化', 3500);
ElementObj.$allTask.forEach((item, index) => {
let activeClass = 'complete';
if (!item.classList.contains(activeClass) && this.currentIndex == -1) {
this.currentIndex = index;
}
});
ElementObj.$handleSpeedUp.style.display = 'none';
showTip('🔉初始化完成,5秒后开始播放', 3000);
let $nextBtn = ElementObj.$allTask[this.currentIndex];
yield sleep(200);
$nextBtn.click();
setTimeout(() => {
this._o1();
}, 4500);
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
yield this.getVideoDom();
ElementObj.$video.setAttribute('muted', 'muted');
ElementObj.$video.volume = 0;
let $startBtn = document.querySelector('.mejs__overlay-button');
yield sleep(200);
$startBtn.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* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
setTimeout(() => {
window.close();
}, 1500);
let $backBtn = document.querySelector('.back-btn');
yield sleep(200);
$backBtn.click();
return;
}
this.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[this.currentIndex];
yield sleep(300);
$nextBtn.click();
setTimeout(() => {
this._o1();
}, 4500);
}));
});
}
/**
* 课程打卡
* */
punchCard() {
setInterval(() => {
let $elem = document.querySelector('.btn-submit');
if (!!$elem) {
$elem.click();
}
}, 5000);
}
}
/**
* 河南省专业技术人员继续教育网络学习平台
* henandikuang
* 33
* */
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$parentNodes = document.querySelectorAll('.state-l');
if (ElementObj.$parentNodes.length) {
clearInterval(interval);
ElementObj.$parentNodes[0].querySelector('.btn span').click();
return;
}
ElementObj.$parentNodes = document.querySelectorAll('.course-card-item');
if (ElementObj.$parentNodes.length) {
clearInterval(interval);
this.getParentIndex();
}
ElementObj.$allTask = document.querySelectorAll('.pt5 li');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
}
ElementObj.$handleSpeedUp.style.display = 'none';
}), 1000);
});
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
let index = -1;
for (var i = 0; i < ElementObj.$parentNodes.length - 1; i++) {
let status = ElementObj.$parentNodes[i].querySelector('.progress-bar').style.width;
if (parseInt(status) < 98) {
index = i;
break;
}
}
if (index == -1) {
alert('当前课程已全部学完,请更换其它课程');
return;
}
ElementObj.$parentNodes[i].querySelector('a').click();
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip('⚠️⚠️⚠️正在初始化', 1500);
ElementObj.$allTask.forEach((item, index) => {
let $pagress = item.querySelector('.badge');
let status = $pagress.innerText;
if (parseInt(status) != 100 && this.currentIndex == -1) {
this.currentIndex = index;
}
});
showTip('⚠️⚠初始化完成,5秒后开始播放', 3000);
let $nextBtn = ElementObj.$allTask[this.currentIndex];
yield sleep(200);
$nextBtn.click();
setTimeout(() => {
this._o1();
}, 4500);
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
ElementObj.$video = document.querySelectorAll('video')[1];
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
}, 1000);
});
}
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 = '加速成功';
// this.listenVidoeStatus(ElementObj.$video, () => {
// ElementObj.$video.volume = 0
// ElementObj.$video.play()
// })
ElementObj.$video.addEventListener('ended', () => __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
let $backBtn = document.querySelector('a.back');
yield sleep(200);
$backBtn.click();
return;
}
this.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[this.currentIndex];
yield sleep(300);
$nextBtn.click();
setTimeout(() => {
this._o1();
}, 4500);
}));
});
}
}
/**
* 泰安市专业技术人员续教育培训平台
* 34
* tazhuanjipx
* */
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._o1();
});
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
this._o1();
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip('⚠️⚠️⚠️正在初始化', 1500);
ElementObj.$allTask.forEach((item, index) => {
let $pagress = item.querySelector('.badge');
let status = $pagress.innerText;
if (parseInt(status) != 100 && this.currentIndex == -1) {
this.currentIndex = index;
}
});
showTip('⚠️⚠初始化完成,5秒后开始播放', 3000);
let $nextBtn = ElementObj.$allTask[this.currentIndex];
yield sleep(200);
$nextBtn.click();
setTimeout(() => {
this._o1();
}, 4500);
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
ElementObj.$video = document.querySelectorAll('video')[1] || document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
}, 1000);
});
}
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* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('全部课程已播放完');
return;
}
setTimeout(() => {
this._o1();
}, 4500);
}));
});
}
listenTopic() {
this.timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var _c;
let topicList = document.querySelectorAll('.ccQuestionList li');
if (topicList.length) {
clearInterval(this.timer);
let result = MyTool.getValue('isRight');
if (!result) {
let $item = topicList[0];
$item.click();
}
else {
let $item = topicList[1];
$item.click();
}
yield sleep(3000);
let $rightBtn = document.querySelector('#rightBtn');
if (!!$rightBtn) {
MyTool.setValue('isRight', true);
$rightBtn.click();
}
else {
MyTool.setValue('isRight', false);
(_c = $el('#wrongBtn')) === null || _c === void 0 ? void 0 : _c.click();
}
}
}), 1000 * 10);
}
}
/**
* 浙江统计教育培训在线学习中心
* 36
* zhejiangtjj
* */
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
let $allTask = document.querySelectorAll('.course_2'); // 最外层
let $allTask2 = document.querySelectorAll('tbody tr.el-table__row');
if ($allTask.length || $allTask2.length) {
clearInterval(interval);
ElementObj.$parentNodes = $allTask.length ? $allTask : $allTask2;
let type = $allTask.length ? 1 : 2;
this.getParentIndex(type);
}
ElementObj.$allTask = document.querySelectorAll('.page-name');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
}
ElementObj.$handleSpeedUp.style.display = 'none';
}
catch (e) {
}
}), 1000);
});
}
getParentIndex(type) {
return __awaiter(this, void 0, void 0, function* () {
showTip('⚠️⚠️⚠️正在初始化', 1500);
let startindex = type == 1 ? 0 : -1;
ElementObj.$parentNodes.forEach((item, index) => {
if (index > startindex) {
let $pagress = item.querySelector('.el-progress__text');
let status = $pagress.innerText;
if (parseInt(status) != 100 && this.currentIndex == -1) {
this.currentIndex = index;
}
}
});
if (this.currentIndex == -1 && type == 2) {
let homeUrl = 'https://edu.tjj.zj.gov.cn/#/personal?componentId=ClassList&type=classlist';
// @ts-ignore
GM_openInTab(homeUrl, { active: true });
setTimeout(() => {
window.close();
}, 3500);
return;
}
showTip('⚠️⚠初始化完成,5秒后开始播放', 3000);
let $nextBtn = ElementObj.$parentNodes[this.currentIndex].querySelector('button');
yield sleep(200);
$nextBtn.click();
setTimeout(() => {
location.reload();
}, 3000);
// setTimeout(()=>{
// window.close()
// }, 4500)
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip('⚠️⚠️⚠️正在初始化', 3500);
ElementObj.$allTask.forEach((item, index) => {
let activeClass = 'complete';
if (!item.classList.contains(activeClass) && this.currentIndex == -1) {
this.currentIndex = index;
}
});
ElementObj.$handleSpeedUp.style.display = 'none';
showTip('🔉初始化完成,5秒后开始播放', 3000);
let $nextBtn = ElementObj.$allTask[this.currentIndex];
yield sleep(200);
$nextBtn.click();
setTimeout(() => {
this._o1();
}, 4500);
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
var _c;
// @ts-ignore
let $iframe = (_c = document.querySelector('#playerFrame')) === null || _c === void 0 ? void 0 : _c.contentDocument;
ElementObj.$video = $iframe.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
yield this.getVideoDom();
ElementObj.$video.setAttribute('muted', 'muted');
ElementObj.$video.volume = 0;
let $startBtn = document.querySelector('.mejs__overlay-button');
yield sleep(200);
$startBtn.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* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
setTimeout(() => {
window.close();
}, 3500);
let $backBtn = document.querySelector('.back-btn');
yield sleep(200);
$backBtn.click();
return;
}
this.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[this.currentIndex];
yield sleep(300);
$nextBtn.click();
setTimeout(() => {
this._o1();
}, 4500);
}));
});
}
/**
* 课程打卡
* */
punchCard() {
setInterval(() => {
let $elem = document.querySelector('.btn-submit');
if (!!$elem) {
$elem.click();
}
}, 5000);
}
}
/**
* 江西职业培训
* 38
* jiangxizhipeizaixian
* */
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll('.units_wrap_box___1ncip');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
}
ElementObj.$handleSpeedUp.style.display = 'none';
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip('⚠️⚠️⚠️正在初始化', 1500);
ElementObj.$allTask.forEach((item, index) => {
let $pregree = item.querySelector('.progress_get_on___3TDga');
let $not_start = item.querySelector('.not_start___3dAwS');
if ((!!$pregree || !!$not_start) && this.currentIndex == -1) {
this.currentIndex = index;
}
});
if (this.currentIndex == -1) {
this.currentIndex = 0;
}
showTip('⚠️⚠初始化完成,5秒后开始播放', 3000);
ElementObj.$allTask[this.currentIndex].click();
showTip('⚠️⚠初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this._o1();
}, 4500);
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
}, 1000);
});
}
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* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程视频已全部播放完');
return;
}
this.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[this.currentIndex];
yield sleep(300);
$nextBtn.click();
setTimeout(() => {
this._o1();
}, 4500);
}));
ElementObj.$video.addEventListener('pause', () => {
setTimeout(() => {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
}, 1500);
});
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
}, 10 * 1000);
}
}
/**
* 安徽继续教育在线
* 39
* anhuijixujyzx
* */
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var _c;
try {
ElementObj.$btn_dropdown = document.querySelector('.btn_dropdown');
(_c = ElementObj.$btn_dropdown) === null || _c === void 0 ? void 0 : _c.click();
let $nextBtn = document.querySelector('.btn.btn-green');
if (!!$nextBtn) {
clearInterval(interval);
yield sleep(300);
$nextBtn.click();
}
ElementObj.$allTask = document.querySelectorAll('.list-order ul li a:not(.toggle_lesson)');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
}
ElementObj.$handleSpeedUp.style.display = 'none';
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
var _c;
return __awaiter(this, void 0, void 0, function* () {
showTip('⚠️⚠️⚠️初始化完成,5秒后开始播放', 1500);
yield sleep(1500);
let $sectionlist = $el('#sectionlist');
if ($sectionlist.style.display != 'none') {
(_c = ElementObj.$btn_dropdown) === null || _c === void 0 ? void 0 : _c.click();
}
setTimeout(() => {
this._o1();
}, 4500);
});
}
getIndex() {
let index = 0;
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let $parentElement = ElementObj.$allTask[i].parentElement;
if ($parentElement.classList.contains('current')) {
index = i;
break;
}
}
return index;
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
ElementObj.$video = document.querySelectorAll('video');
if (ElementObj.$video.length > 1) {
ElementObj.$video = document.querySelectorAll('video')[1];
}
else {
ElementObj.$video = document.querySelectorAll('video')[0];
}
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
}
else {
clearInterval(Timer);
resolve(2);
}
}, 3000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.timer);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
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);
});
}
if (studyType == 2) {
showTip('🔉检测到没有视频,3秒后自动切换下一个', 3000);
yield sleep(3000);
let index = this.getIndex();
let $preNext = document.querySelector('.preNext.next');
if (!!$preNext) {
$preNext.click();
return;
}
let $nextBtn = ElementObj.$allTask[index + 1];
yield sleep(200);
$nextBtn.click();
}
});
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
});
}
listenPlayTime() {
showTip('🔉课件正在学习,请务点击或长时间隐藏');
let count = 0;
this.timer = setInterval(() => {
count += 1;
let $nextBtn = document.querySelector('.btn.btn-green');
if (!!$nextBtn) {
clearInterval(this.timer);
showTip('🔉检测到视频已学完,3秒后自动切换下一个');
setTimeout(() => {
$nextBtn.click();
}, 3000);
}
}, 3000);
}
}
/**
* 兰州大学教育培训、甘肃省专业技术人员继续教育平台
* 40
* lanzhoudxgs
* */
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var _c;
try {
ElementObj.$btn_dropdown = document.querySelector('#catalogA');
(_c = ElementObj.$btn_dropdown) === null || _c === void 0 ? void 0 : _c.click();
ElementObj.$allTask = document.querySelectorAll('li.activity-node');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
}
ElementObj.$handleSpeedUp.style.display = 'none';
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
var _c;
return __awaiter(this, void 0, void 0, function* () {
showTip('⚠️⚠️⚠️初始化完成,5秒后开始播放', 1500);
yield sleep(1500);
let $sectionlist = $el('#toolsContentDiv');
if ($sectionlist.style.display != 'none') {
(_c = ElementObj.$btn_dropdown) === null || _c === void 0 ? void 0 : _c.click();
}
let arr = [];
ElementObj.$allTask.forEach((item, index) => {
let $i = item.querySelector('.cedu-file-video');
if (!!$i) {
arr.push(item);
}
});
ElementObj.$allTask = arr;
this.currentIndex = 0;
setTimeout(() => {
this._o1();
}, 4500);
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
let $playBtn = document.querySelector('.vjs-big-play-button');
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video && !!$playBtn) {
clearInterval(Timer);
resolve(true);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
yield this.getVideoDom();
ElementObj.$video.setAttribute('muted', 'muted');
ElementObj.$video.volume = 0;
let $playBtn = document.querySelector('.vjs-big-play-button');
yield sleep(200);
$playBtn === null || $playBtn === void 0 ? void 0 : $playBtn.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 count = 0;
this.timer = setInterval(() => {
count += 1;
let time = (ElementObj.$video.currentTime / 60).toFixed(2);
this.addInfo(`后台学习${count}次,当前状态正在学习,已播放${time}分钟`);
if (ElementObj.$video.currentTime >= ElementObj.$video.duration - 4) {
this.playNext();
}
}, 5000);
}
/**
* 监听视频状态
* */
listenVidoeStatus($video, callback) {
if (!$video)
return;
let count = 0;
this.timer2 = setInterval(() => {
if ($video.readyState < 4) {
this.addInfo(`检测到${count}次,视频正在加载`, 0);
count += 1;
if (count >= 20) {
location.reload();
}
}
let status = $video.paused;
if (status) {
count += 1;
if (typeof callback == 'function') {
if (count >= 20) {
location.reload();
}
else {
callback();
}
}
else {
}
}
}, 3000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
showTip('⚠️⚠️⚠️检测到视频已播放完,5秒后自动切换下一个视频', 4500);
yield sleep(5000);
this.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[this.currentIndex];
yield sleep(300);
let $i = $nextBtn.querySelector('.cedu-file-video');
if (!!$i) {
$nextBtn.click();
}
else {
alert('当前课程视频已全部播放完');
}
});
}
}
/**
* 机电一体化设计系统 继续教育平台
* 41
* jidianshejijiaoyu
* */
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
let $btn0 = document.querySelector('.layui-layer-btn0');
if (!!$btn0) {
clearInterval(interval);
this.playNext();
return;
}
ElementObj.$allTask = document.querySelectorAll('.course_chapter_item');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
}
ElementObj.$handleSpeedUp.style.display = 'none';
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip('⚠️⚠️⚠️初始化完成,5秒后开始播放', 1500);
yield sleep(1500);
ElementObj.$allTask.forEach((item, index) => {
let $i = item.querySelector('i.fa-circle');
if (!$i && this.currentIndex == -1) {
this.currentIndex = index;
}
});
if (this.currentIndex == -1) {
alert('当前课程已全部播放完');
return;
}
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 i = 0; i <= ElementObj.$swiperItem.length - 1; i++) {
let $item = ElementObj.$swiperItem[i];
let $i = $item.querySelector('.icon-note-video-learning');
if (!!$i) {
this.swiperIndex = i;
$item.click();
setTimeout(() => {
this._o1();
}, 3500);
break;
}
}
if (this.swiperIndex == -1) {
location.reload();
}
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
let $playBtn = document.querySelector('.vjs-big-play-button');
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video && !!$playBtn) {
clearInterval(Timer);
resolve(true);
}
}, 1000);
});
}
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 count = 0;
this.timer = setInterval(() => {
count += 1;
let time = (ElementObj.$video.currentTime / 60).toFixed(2);
this.addInfo(`后台学习${count}次,当前状态正在学习,已播放${time}分钟`);
let $complete = document.querySelector('.complete');
if (!!$complete) {
this.addInfo(`✅✅✅,当前视频播放完成,5秒后自动切换下一个视频`);
if (this.swiperIndex >= ElementObj.$swiperItem.length - 1) {
location.reload();
}
else {
this.swiperIndex += 1;
$el('#right_tarr').click();
setTimeout(() => {
this._o1();
}, 3500);
}
}
if (ElementObj.$video.currentTime >= ElementObj.$video.duration - 4) {
this.playNext();
}
}, 5000);
}
/**
* 监听视频状态
* */
listenVidoeStatus($video, callback) {
if (!$video)
return;
let count = 0;
this.timer2 = setInterval(() => {
if ($video.readyState < 4) {
this.addInfo(`检测到${count}次,视频正在加载`, 0);
count += 1;
if (count >= 20) {
location.reload();
}
}
let status = $video.paused;
if (status) {
count += 1;
if (typeof callback == 'function') {
if (count >= 20) {
location.reload();
}
else {
callback();
}
}
else {
}
}
}, 3000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
showTip('⚠️⚠️⚠️检测到视频已播放完,5秒后自动切换下一个视频', 4500);
yield sleep(5000);
let $btn0 = document.querySelector('.layui-layer-btn0');
if (!!$btn0) {
$btn0.click();
yield sleep(2000);
location.reload();
}
});
}
}
/**
* 兰州理工大学现代远程教育学习平台
* 44
* ycjyluteducn
* */
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
if (['/learnspace/learn/homework/blue/student/homework_complete.action', '/learnspace/course/test/coursewareTest_intoTestPage.action', "/learnspace/learn/learn/blue/content_video.action"].includes(location.pathname)) {
clearInterval(interval);
window.close();
return;
}
let $menu = document.querySelector('#courseware_main_menu');
let $menu_a = $menu.querySelector('a');
if (!!$menu_a) {
clearInterval(interval);
$menu_a.click();
yield this.findParentIndex();
}
}), 500);
});
}
findParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip('🔉正在初始化', 2500);
yield sleep(4500);
// @ts-ignore
unsafeWindow.alert = () => {
};
ElementObj.$handleSpeedUp.style.display = 'none';
let $contentIframe = document.querySelector('.contentIframe');
let _document = $contentIframe.contentWindow.document;
$contentIframe.contentWindow.alert = () => {
};
ElementObj.$parentNodes = _document.querySelectorAll('.vcon li');
for (let i = 0; i < ElementObj.$parentNodes.length; i++) {
let item = ElementObj.$parentNodes[i];
let $span = item.querySelector('span');
let isTest = item.innerText.indexOf('练习');
let isTest2 = item.innerText.indexOf('课程作业');
if (($span.classList.contains('undo') || $span.classList.contains('doing')) && this.parentIndex == -1 && isTest == -1 && isTest2 == -1) {
this.parentIndex = i;
ElementObj.$parentNodes[i].querySelector('a').click();
break;
}
}
if (this.parentIndex == -1) {
alert('当前课程已全部播发完');
return;
}
yield this.getCurrentIndex();
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip('正在初始化', 2500);
let timer = setInterval(() => {
var _c;
let $contentIframe = document.querySelector('.contentIframe');
ElementObj._document = $contentIframe.contentWindow.document;
ElementObj.$allTask = ElementObj._document.querySelectorAll('.menub');
if (ElementObj.$allTask.length) {
clearInterval(timer);
this.currentIndex = 0;
(_c = ElementObj.$allTask[this.currentIndex]) === null || _c === void 0 ? void 0 : _c.click();
showTip('初始化完成,5秒后开始播放');
this._o1();
}
}, 1000);
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
let _document = ElementObj._document.querySelector('#mainFrame').contentDocument;
ElementObj.$video = _document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
let $doc = _document.querySelector('#content_frame');
if (!!$doc) {
clearInterval(Timer);
resolve(2);
}
else {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
clearInterval(this.timer2);
// @ts-ignore
unsafeWindow.alert = () => {
};
let studytype = yield this.getVideoDom();
this.listenRebort();
console.log('studytype==>>', studytype);
if (studytype == 1) {
ElementObj.$video.volume = 0;
yield sleep(200);
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
this.listenVidoeStatus(ElementObj.$video, () => {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
});
ElementObj.$video.addEventListener('ended', () => __awaiter(this, void 0, void 0, function* () {
yield sleep(3000);
this.playNext();
}));
}
if (studytype == 2) {
this.timer2 = setTimeout(() => {
this.playNext();
}, 7000);
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
// @ts-ignore
unsafeWindow.alert = function () {
};
let $btn = document.querySelector('.layui-layer-btn a');
if (!!$btn) {
$btn.click();
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
}
}, 10 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
// @ts-ignore
unsafeWindow.alert = () => {
};
showTip('✅✅✅播放完成,正在切换课程', 3500);
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
this.parentIndex += 1;
let isTest = ElementObj.$parentNodes[this.parentIndex].innerText.indexOf('练习');
if (isTest != -1) {
this.parentIndex += 1;
}
ElementObj.$parentNodes[this.parentIndex].querySelector('a').click();
setTimeout(() => {
this.getCurrentIndex();
}, 4500);
return;
}
this.currentIndex += 1;
ElementObj.$allTask[this.currentIndex].click();
yield sleep(5000);
this._o1();
});
}
}
ycjyluteducn.ctxid = 26;
/**
* 广东人才继续教育网
* 45
* gdrcjxjyw
* */
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$parentNodes = document.querySelectorAll('.m-list .item');
if (ElementObj.$parentNodes.length) {
clearInterval(interval);
this.getParentIndex();
return;
}
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video && location.host == 'www.rcjxjy.com') {
clearInterval(interval);
this._o1();
return;
}
let $table = document.querySelectorAll('.player-table')[2];
ElementObj.$allTask = $table.querySelectorAll('td');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
}
ElementObj.$handleSpeedUp.style.display = 'none';
}
catch (e) {
}
}), 1000);
});
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
showTip('✅✅✅正在初始化,请勿点击', 3000);
let count = 0;
let timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$parentNodes[count].querySelector('.btn-continue-study').click();
yield sleep(500);
ElementObj.$allTask = document.querySelectorAll('.video-item .f-cb');
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let $status = ElementObj.$allTask[i].querySelector('.videoName').innerText;
if ($status != '播放完成') {
clearInterval(timer);
showTip('✅✅✅初始化完成');
let $nextBtn = ElementObj.$allTask[i].querySelector('a.u-btn');
$nextBtn.click();
break;
}
}
count += 1;
}), 3000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
let _currentIndex = -1;
ElementObj.$allTask.forEach((item, index) => {
let $pagress = item.querySelector('.playLine');
let status = $pagress.innerText;
if (parseInt(status) != 100 && this.currentIndex == -1) {
this.currentIndex = index;
}
if (item.classList.contains('couBg')) {
_currentIndex = index;
}
});
if (this.currentIndex == -1) {
alert('当前课程视频已全部播放完');
return;
}
if (this.currentIndex != _currentIndex) {
let $nextBtn = ElementObj.$allTask[this.currentIndex].querySelector('a');
$nextBtn.click();
}
showTip('⚠️⚠️⚠️初始化完成,5秒后开始播放', 3500);
setTimeout(() => {
this._o1();
}, 4500);
});
}
getVideoDom() {
ElementObj.$handleSpeedUp.style.display = 'none';
return new Promise(resolve => {
let Timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
return;
}
// @ts-ignore
let $iframe = document.querySelector('#c_frame').contentDocument;
ElementObj.$video = $iframe.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
}, 1000);
});
}
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(3000);
if (location.host == 'www.rcjxjy.com') {
let $backBtn = document.querySelector('a.u-btn.normal');
$backBtn.click();
}
else {
location.reload();
}
}));
ElementObj.$video.addEventListener('pause', () => {
setTimeout(() => {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 1500);
});
});
}
}
/**
* 师学通国培计划
* 47
* shixuetong
* */
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$handleSpeedUp.style.display = 'none';
ElementObj.$allTask = document.querySelectorAll('.Nvideo-item li');
if (ElementObj.$allTask.length) {
clearInterval(interval);
$el('.Nvideo-playbox').style.position = 'relative';
this.getCurrentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
this.currentIndex = 0;
showTip('⚠️⚠️⚠️初始化完成,5秒后开始播放', 3500);
setTimeout(() => {
this._o1();
}, 4500);
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
}
if (count > 10) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.timer);
clearInterval(this.timer2);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
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);
});
}
if (studyType == 2) {
showTip('⚠️⚠️⚠️检测到当前不是视频,5秒后自动切换下一个视频', 4500);
this.playNext();
}
});
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(2000);
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
let $courseStudyBestMinutesNumber = document.querySelector('#courseStudyBestMinutesNumber').innerText;
let $courseStudyMinutesNumber = document.querySelector('#courseStudyMinutesNumber').innerText;
if (parseFloat($courseStudyBestMinutesNumber) > parseFloat($courseStudyMinutesNumber)) {
location.reload();
}
return;
}
this.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[this.currentIndex];
$nextBtn.click();
setTimeout(() => {
let $confirm = document.querySelector('.layui-layer-btn- a');
$confirm === null || $confirm === void 0 ? void 0 : $confirm.click();
this._o1();
}, 4500);
});
}
listenPlayTime() {
showTip('⚠️⚠️⚠️课件正在学习,请务点击或长时间隐藏');
let count = 0;
this.timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
count += 1;
let time = (ElementObj.$video.currentTime / 60).toFixed(2);
this.addInfo(`后台学习${count}次,当前状态正在学习,已播放${time}分钟`);
if (count % 30 == 0) {
let $endTime = $el('#courseStudyBestMinutesNumber').innerText;
let refreshBtn = document.querySelector('.studyCourseTimeRefresh');
refreshBtn === null || refreshBtn === void 0 ? void 0 : refreshBtn.click();
yield sleep(2000);
let currentStudyTime = $el('#courseStudyMinutesNumber').innerText;
let str = `✅✅✅本课程最长可累计时间:${$endTime}分钟,您已成功学习${currentStudyTime}分钟`;
this.addInfo(str, 0);
}
}), 5000);
}
listenRebort() {
this.timer2 = setInterval(() => {
let $codespan = document.querySelector('#codespan');
if ($codespan) {
clearInterval(this.timer2);
let $code = document.querySelector("#code");
let str = $codespan.innerText;
$code.value = str;
let $submit = document.querySelector('.layui-layer-btn0');
$submit.click();
this.listenRebort();
}
}, 1000 * 8);
}
}
/**
* 山东省文化和旅游厅继续教育公共服务平台
* 48
* shandongenhualvyou
* */
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* () {
let $toolbarnav = document.querySelector('#dashboard-toolbar-nav li');
$toolbarnav === null || $toolbarnav === void 0 ? void 0 : $toolbarnav.click();
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll('li.task-item');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
}
ElementObj.$handleSpeedUp.style.display = 'none';
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (let i = 0; i < ElementObj.$allTask.length; i++) {
let item = ElementObj.$allTask[i];
let $icon = item.querySelector('.es-icon-iccheckcircleblack24px');
if (!$icon) {
this.currentIndex = i;
break;
}
}
showTip('⚠️⚠️⚠️初始化完成,5秒后开始播放', 3500);
setTimeout(() => {
this._o1();
}, 4500);
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
let $iframe = document.querySelector('#task-content-iframe');
let _documet = $iframe.contentDocument;
ElementObj.$video = $iframe.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
}, 1000);
});
}
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);
if (!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(3000);
this.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[this.currentIndex];
$nextBtn.click();
setTimeout(() => {
this._o1();
}, 4500);
}));
ElementObj.$video.addEventListener('pause', () => {
setTimeout(() => {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 1500);
});
});
}
listenPlayTime() {
showTip('⚠️⚠️⚠️课件正在学习,请务点击或长时间隐藏');
let count = 0;
this.timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
count += 1;
let time = (ElementObj.$video.currentTime / 60).toFixed(2);
let durrentTime = (ElementObj.$video.duration / 60).toFixed(2);
this.addInfo(`后台学习${count}次,当前状态正在学习,已播放${time}分钟,视频总时长为${durrentTime}`);
}), 5000);
}
}
/**
* 甘肃省公务员网络培训网
* 49
* gansugongwuyuan
*/
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
let $menus = $el('.min_le_1 a');
if (!!$menus) {
clearInterval(interval);
let mytoolkey = localStorage.getItem('mytoolkey');
MyTool.setValue('mytoolkey', mytoolkey);
$menus.click();
yield sleep(2000);
$el('.xuxi_1').click();
yield sleep(2000);
this.getParentIndex();
return;
}
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(interval);
let mytoolkey = MyTool.getValue('mytoolkey');
// alert(mytoolkey)
this.deleteDom();
this.handleClickSpeedUp2(mytoolkey);
}
ElementObj.$handleSpeedUp.style.display = 'none';
}
catch (e) {
}
}), 1000);
});
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
$el('a.my').click();
yield sleep(2000);
let pageNum = Number($el('#pagenumtext').value);
var pageNumArr = [];
for (var i = pageNum; i > 0; i--) {
pageNumArr.push(i);
}
let isFind = false;
for (let i of pageNumArr) {
if (isFind)
break;
yield sleep(1500);
ElementObj.$allTask = document.querySelectorAll('.main_r_dd2');
for (var k = 0; k <= ElementObj.$allTask.length - 1; k++) {
let $hqjd_btn = ElementObj.$allTask[k].querySelector('.hqjd_btn');
if (!!$hqjd_btn) {
$hqjd_btn.click();
yield sleep(2500);
}
let $jinduSpan = ElementObj.$allTask[k].querySelector('.jindu div');
let status = parseInt($jinduSpan.style.width);
if (status < 100) {
isFind = true;
MyTool.setValue('pageNum', i);
MyTool.setValue('homeUrl', location.href);
let $nextBtn = ElementObj.$allTask[k].querySelector('#playVideo');
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
setTimeout(() => {
window.close();
}, 1000 * 10);
break;
}
pageNum -= 1;
let $prePage = $el('.syy');
$prePage === null || $prePage === void 0 ? void 0 : $prePage.click();
}
}
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
}, 1000);
});
}
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* () {
let homeurl = MyTool.getValue('homeUrl');
// window.open(homeurl)
MyTool.openInTab(homeurl);
setTimeout(() => {
window.close();
}, 10000);
return;
}));
ElementObj.$video.addEventListener('pause', () => {
setTimeout(() => __awaiter(this, void 0, void 0, function* () {
let $confirmBtn = document.querySelector('#dvMsgBtns input');
$confirmBtn === null || $confirmBtn === void 0 ? void 0 : $confirmBtn.click();
yield sleep(2000);
ElementObj.$video.play();
ElementObj.$video.playbackRate = toolOption.accelerator;
}), 2500);
});
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
let $btn = document.querySelector('#dvMsgBtns input');
if (!!$btn) {
this.deleteDom();
setTimeout(() => {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
}, 1500);
}
}, 3000);
}
deleteDom() {
let parent = document.querySelector('body');
let child = document.getElementById('dvMsgBox');
let child2 = document.getElementById('ShowBolightBox');
let newElement = document.createElement('div');
newElement.innerHTML = '<div></div>';
parent.replaceChild(newElement, child);
parent.replaceChild(newElement, child2);
}
handleClickSpeedUp2(key, callback) {
return __awaiter(this, void 0, void 0, function* () {
if (key) {
this.speedStatus = 1;
let result = yield axfedata({
method: 'GET',
url: _b + `/speedup?toolkey=${key}&t=2&canuse=${toolOption.SchoolType}&h=${location.host}&fingerprint=${this.fingerprint}&v=${version}`,
});
if (result.code == 200) {
this.speedStatus = 1;
toolOption.CtxMain.play();
}
else {
showTip(`🔉🔉🔉${result.message}`, 5000, true);
return;
}
}
else if (!key) {
alert('请先购买key');
window.open(_bt);
}
else {
alert('程序错误,请联系客服');
}
});
}
handleChangeCtxSpeed(e) {
let whiteList = speedArr;
let s = Number(e);
if (e && whiteList.includes(s)) {
toolOption.accelerator = s;
MyTool.setValue('accelerator', s.toString());
if (ElementObj.$video) {
ElementObj.$video.playbackRate = s;
}
}
}
}
/**
* 乌鲁木齐建设职业培训中心
* wlmqcol
* 50
*/
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$handleSpeedUp.style.display = 'none';
let $menu = document.querySelector('#tab-second');
if (!!$menu) {
clearInterval(interval);
$menu.click();
this.getCurrentIndex();
return;
}
let $video = document.querySelector('video');
if (!!$video) {
clearInterval(interval);
this.pdPlayFn(location.href);
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(1000);
ElementObj.$allTask = document.querySelectorAll('.task-list');
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let $done = ElementObj.$allTask[i].querySelector('.icon-yiwancheng');
if (!$done) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程已全部播放完');
return;
}
let $nextBtn = document.querySelectorAll('.task-list')[this.currentIndex].querySelector('span');
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
setTimeout(() => {
this._o1();
}, 3000);
});
}
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* () {
let $backBtn = document.querySelectorAll('.el-breadcrumb__inner.is-link')[1];
$backBtn === null || $backBtn === void 0 ? void 0 : $backBtn.click();
setTimeout(() => {
location.reload();
}, 3500);
});
}
}
/**
* 山东省省直专业技术人员继续教育公需课平台
* shandongzhuanyejisu
* 54
* */
class shandongzhuanyejisu extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
let $menus = document.querySelectorAll('.learn-menu-cell');
if ($menus.length) {
clearInterval(interval);
this.getCurrentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
var _c;
return __awaiter(this, void 0, void 0, function* () {
showTip('正在初始化');
let $contentIframe = document.querySelector('.contentIframe');
ElementObj._document = $contentIframe.contentWindow.document;
if (location.pathname == '/learnspace/learn/learn/templateeight/index.action') {
ElementObj.$allTask = ElementObj._document.querySelectorAll('.s_sectionwrap .s_pointwrap .s_point');
}
else {
ElementObj.$allTask = ElementObj._document.querySelectorAll('.s_pointwrap .s_point');
}
ElementObj.$handleSpeedUp.style.display = 'none';
console.log('ElementObj.$allTask===>>', ElementObj.$allTask);
let activeClass = 'done_icon_show';
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let $item = ElementObj.$allTask[i].querySelector('.item_done_icon');
if (!$item.classList.contains(activeClass)) {
this.currentIndex = i;
console.log('this.currentIndex', this.currentIndex);
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程已全部学完');
return;
}
(_c = ElementObj.$allTask[this.currentIndex]) === null || _c === void 0 ? void 0 : _c.click();
showTip('初始化完成,5秒后开始播放');
this._o1();
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
let _document = ElementObj._document.querySelector('#mainFrame').contentWindow.document;
ElementObj.$video = _document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
}
if (count >= 10) {
clearInterval(Timer);
resolve(2);
}
count++;
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studytype = yield this.getVideoDom();
if (studytype == 1) {
ElementObj.$video.volume = 0;
yield sleep(200);
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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();
});
}
if (studytype == 2) {
showTip('✅✅✅检测到该章节不是视频,即将切换下一节', 2000);
yield sleep(2000);
this.playNext();
}
});
}
updateSpeedElement(num) {
localStorage.setItem('_localSpeed', num.toString());
ElementObj.$video.playbackRate = num;
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
let $btn = document.querySelector('.layui-layer-btn0');
if (!!$btn) {
setTimeout(() => {
$btn.click();
ElementObj.$video.play();
}, 3000);
}
}, 10 * 1000);
}
playNext() {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程已全部学完');
return;
}
this.currentIndex += 1;
ElementObj.$allTask[this.currentIndex].click();
showTip('🔉正在切换课程');
setTimeout(() => {
this._o1();
}, 5000);
}
}
shandongzhuanyejisu.ctxid = 26;
/**
* 职教云 2
* 54
* */
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
let $wrap = document.querySelector('.r.rFu');
if (location.pathname == '/study/coursePreview/spoccourseIndex/courseware') {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
this._o1();
}
if (location.pathname == '/study/coursePreview/spoccourseIndex') {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
yield this.getCurrentIndex();
}
}), 1000);
});
}
/**
* @description 获取二级
* */
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
let timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask = document.querySelectorAll('.listItem');
if (ElementObj.$allTask.length) {
clearInterval(timer);
let isFind = false;
for (let item of ElementObj.$allTask) {
let status = item.querySelector('.el-progress-bar__inner').style.width;
if (parseInt(status) < 99) {
isFind = true;
item.click();
yield sleep(3000);
item.querySelector('.items.iChild').click();
yield sleep(3000);
setTimeout(() => {
location.reload();
}, 2000);
let btn = item.querySelector('.fItem');
if (!btn) {
btn = item.querySelector('.fIteml');
}
btn.click();
break;
}
}
if (!isFind) {
location.href = 'https://zjy2.icve.com.cn/study/course';
}
}
}), 2000);
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 7;
let Timer = setInterval(() => {
if (count < 0) {
clearInterval(Timer);
resolve(2);
}
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
let $pages = document.querySelectorAll('.el-carousel__item');
if ($pages.length) {
clearInterval(Timer);
resolve(2);
return;
}
count -= 1;
}, 1000);
});
}
play() {
var _c;
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer);
let studyType = yield this.getVideoDom();
(_c = document.querySelector('.el-message-box__btns button')) === null || _c === void 0 ? void 0 : _c.click();
yield this.changeHtml(document.querySelector('.video'));
if (studyType == 1) {
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();
}, 3000);
});
}
if (studyType == 2) {
this.addInfo('🔊🔊🔊即将开始播放文档');
let $pages = document.querySelectorAll('.el-carousel__item');
let $next = document.querySelector('.page>.next');
for (let item of $pages) {
$next.click();
yield sleep(500);
}
this.addInfo('🎉🎉🎉🎉🎉🎉文档播放完成🎉🎉🎉🎉🎉🎉');
yield this.playNext();
}
});
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
let $nextBtn = document.querySelector('.next>a');
if (($nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.innerText) == '暂无') {
setTimeout(() => {
location.reload();
}, 2000);
let backBtn = document.querySelector('.location .r');
backBtn.click();
return;
}
yield sleep(300);
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
setTimeout(() => {
this._o1();
}, 2500);
});
}
/**
* 监听视频状态
* */
listenVidoeStatus() {
let count = 0;
this.timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
this.addInfo(`🔉🔉🔉已成功监测${count}次,程序后台以${toolOption.accelerator}倍速正常学习中`);
count += 1;
}
}, 3000);
}
render(type) {
let renderData = type == 1 ? this.classList : this.selectData;
let str = '';
for (let i = 0; i < renderData.length; i++) {
let item = renderData[i];
str += `
<div class="item">
<div class="content">
<div class="name1">${item.courseInfoName}</div>
<div class="name2">班级:${item.className}</div>
<div class="name2">学期:${item.termName}</div>
<div class="name2">完成进度:${item.studySpeed}%</div>
</div>
<div class="item-controls">
<button style='background: ${type == 1 ? '#409eff' : 'red'}'>${type == 1 ? '选择' : '移除'}</button>
</div>
</div>
`;
}
let $pennelWrap = type == 1 ? document.querySelector('.leftPannel') : document.querySelector('.rightPannel');
$pennelWrap.innerHTML = str;
// 绑定事件
for (let i = 0; i < $pennelWrap.children.length; i++) {
let item = $pennelWrap.children[i];
let button = item.querySelector('button');
button.onclick = () => {
if (type == 1) {
this.moveDataToSelectData(i);
}
else {
this.moveDataToClassList(i);
}
};
}
}
moveDataToSelectData(index) {
this.selectData.push(this.classList[index]);
this.classList.splice(index, 1);
this.handleTemplekeyData();
this.render(1);
this.render(2);
}
moveDataToClassList(index) {
this.classList.push(this.selectData[index]);
this.selectData.splice(index, 1);
this.handleTemplekeyData();
this.render(1);
this.render(2);
}
/**
* @description 处理油猴上的缓存
* */
handleTemplekeyData() {
MyTool.setValue('selectData', this.selectData);
}
}
/**
* 重庆专业技术人员继续教育
* chongqingzhuanye
* 52
* */
class chongqingzhuanye extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var _c, _d;
try {
ElementObj.$parentNodes = document.querySelectorAll('.course__list--content .course__item');
if (ElementObj.$parentNodes.length) {
clearInterval(interval);
this.getParentIndex();
return;
}
let $nextPage = document.querySelector('.btn-next');
if ($nextPage && location.pathname == '/nms-frontend/index.html') {
clearInterval(interval);
MyTool.setValue('homeUrl', location.href);
this.getParentIndex2();
return;
}
ElementObj.$allTask = document.querySelectorAll('ul li ul li .posCatalog_select');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
}
let $iframe_aliplayer = document.querySelector('#iframe_aliplayer');
if (!!$iframe_aliplayer) {
clearInterval(interval);
ElementObj.$video = (_c = $iframe_aliplayer === null || $iframe_aliplayer === void 0 ? void 0 : $iframe_aliplayer.contentDocument) === null || _c === void 0 ? void 0 : _c.querySelector('video');
this.handleClickSpeedUp2();
return;
}
let $iframe_aliplayer2 = document.querySelector('#aliPlayerFrame');
if (!!$iframe_aliplayer2) {
ElementObj.$allTask = (_d = $iframe_aliplayer2.contentDocument) === null || _d === void 0 ? void 0 : _d.querySelectorAll('.section .section-item');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex2();
return;
}
}
let $menu = document.querySelectorAll('.complete-status .btn-item')[2];
if (!!$menu) {
clearInterval(interval);
$menu.click();
yield sleep(1500);
let $items = document.querySelectorAll('#pane-MUST .text-item');
if ($items.length === 0) {
alert('全部公需课已学完');
return;
}
MyTool.setValue('homeUrl', location.href);
let $first_item = $items[0];
$first_item.click();
setTimeout(() => {
window.close();
}, 1000 * 20);
}
}
catch (e) {
}
}), 1000);
});
}
getParentIndex() {
ElementObj.$parentNodes.forEach((item) => {
let $status = item.querySelector('span.num');
if ($status) {
if (parseInt($status.innerText) <= 95) {
item.querySelector('.enter-btn').click();
setTimeout(() => {
location.reload();
}, 3000);
}
}
});
}
getParentIndex2() {
return __awaiter(this, void 0, void 0, function* () {
let $btn = document.querySelectorAll('.btn-box .btn-item')[2];
$btn.click();
yield sleep(3500);
let $item = document.querySelectorAll('#pane-MUST .text-item')[0];
$item.click();
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
// let $contentIframe = document.querySelector('.contentIframe') as any;
// ElementObj._document = $contentIframe.contentWindow.document as Document;
// ElementObj.$allTask = ElementObj._document.querySelectorAll('.s_point');
showTip('✅✅✅正在初始化');
ElementObj.$handleSpeedUp.style.display = 'none';
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let $item = ElementObj.$allTask[i].querySelector('.icon_Completed');
if (!$item) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程已全部学完');
return;
}
let $nextBtn = ElementObj.$allTask[this.currentIndex].querySelector('.posCatalog_name');
$nextBtn.click();
showTip('初始化完成,5秒后开始播放');
this._o1();
});
}
getCurrentIndex2() {
return __awaiter(this, void 0, void 0, function* () {
showTip('✅✅✅正在初始化');
ElementObj.$handleSpeedUp.style.display = 'none';
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let $item = ElementObj.$allTask[i].classList.contains('finish');
if (!$item) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
location.href = MyTool.getValue('homeUrl');
}
ElementObj.$allTask[i].click();
showTip('✅✅✅完成初始化,5秒后开始播放');
setTimeout(() => {
this.handleClickSpeedUp2(() => {
}, 3);
}, 4500);
});
}
getVideoDom(option) {
return new Promise(resolve => {
if (option) {
let count = 0;
let Timer = setInterval(() => {
let $iframe = document.querySelector('#aliPlayerFrame');
let _document = $iframe.contentDocument;
ElementObj.$video = _document.querySelector('video');
count += 1;
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
if (count > 10) {
clearInterval(Timer);
resolve(false);
}
}, 1000);
}
else {
let count = 0;
let Timer = setInterval(() => {
var _c, _d;
let $iframe = document.querySelector('#iframe');
let _document = (_d = (_c = $iframe.contentDocument) === null || _c === void 0 ? void 0 : _c.querySelector('iframe')) === null || _d === void 0 ? void 0 : _d.contentDocument;
ElementObj.$video = _document.querySelector('video');
count += 1;
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
if (count > 10) {
clearInterval(Timer);
resolve(false);
}
}, 1000);
}
});
}
play() {
var _c;
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
clearInterval(this.timer);
let studyType = yield this.getVideoDom();
if (studyType) {
ElementObj.$video.volume = 0;
yield sleep(200);
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
let $wrap = (_c = $el('#iframe').contentDocument.querySelector('iframe')) === null || _c === void 0 ? void 0 : _c.contentDocument.querySelector('#reader');
this.changeHtml($wrap);
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();
});
}
if (!studyType) {
showTip('⚠️⚠️⚠️未检测到视频,5秒后切换下一节', 4500);
setTimeout(() => {
this.playNext();
}, 3000);
}
});
}
// 公需课play
play2() {
return __awaiter(this, void 0, void 0, function* () {
if (!ElementObj.$video) {
location.reload();
return;
}
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
ElementObj.$video.addEventListener('ended', () => __awaiter(this, void 0, void 0, function* () {
let homeUrl = MyTool.getValue('homeUrl');
yield sleep(2500);
MyTool.openInTab(homeUrl);
setTimeout(() => {
window.close();
}, 1000 * 5);
}));
});
}
// 公需课情况2 play
play3() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
clearInterval(this.timer);
let studyType = yield this.getVideoDom('#aliPlayerFrame');
ElementObj.$video.volume = 0;
yield sleep(200);
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
ElementObj.$video.addEventListener('ended', () => __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
let homeUrl = MyTool.getValue('homeUrl');
yield sleep(2500);
MyTool.openInTab(homeUrl);
setTimeout(() => {
window.close();
}, 1000 * 15);
return;
}
this.currentIndex += 1;
ElementObj.$allTask[this.currentIndex].click();
showTip('⚠️⚠️⚠️正在切换课程', 4500);
setTimeout(() => {
this.handleClickSpeedUp2(() => {
}, 3);
}, 4500);
return;
}));
ElementObj.$video.addEventListener('pause', () => {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
});
this.listenRebortTime = setInterval(() => {
var _c, _d;
let $btn = (_d = (_c = document.querySelector('iframe')) === null || _c === void 0 ? void 0 : _c.contentDocument) === null || _d === void 0 ? void 0 : _d.querySelector('.next-button');
if ($btn) {
$btn.click();
}
}, 13 * 1000);
});
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(3000);
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
location.href = MyTool.getValue('homeUrl');
return;
}
this.currentIndex += 1;
ElementObj.$allTask[this.currentIndex].querySelector('.posCatalog_name').click();
showTip('⚠️⚠️⚠️正在切换课程', 4500);
setTimeout(() => {
this._o1();
}, 5000);
});
}
listenPlayTime() {
showTip('🔉课件正在学习,请务点击或长时间隐藏');
let count = 0;
this.timer = setInterval(() => {
var _c;
count += 1;
let time = (ElementObj.$video.currentTime / 60).toFixed(2);
let videoDuration = (ElementObj.$video.duration / 60).toFixed(2);
this.addInfo(`后台学习${count}次,当前状态正在学习,已播放${time}分钟,视频总时长为${videoDuration}分钟`);
let $iframe = document.querySelector('#iframe');
let $statusDom = (_c = $iframe.contentDocument) === null || _c === void 0 ? void 0 : _c.querySelector('.ans-job-icon');
let status = $statusDom === null || $statusDom === void 0 ? void 0 : $statusDom.getAttribute('aria-label');
if (status == '任务点已完成') {
clearInterval(this.timer);
this.addInfo(`✅✅✅监测到当前任务已完成,5秒后自动切换下一节`, 1);
setTimeout(() => {
this.playNext();
}, 3000);
}
}, 3000);
}
/**
* @param str 要显示的文本内容
* @param type 0为红色
* */
addInfo(str, type) {
var _c, _d;
ElementObj.$ctxstatsbox = (_c = $el('#iframe').contentDocument.querySelector('iframe')) === null || _c === void 0 ? void 0 : _c.contentDocument.querySelector('.ctxstatsbox');
let $ctxstatsbox_lis = (_d = $el('#iframe').contentDocument.querySelector('iframe')) === null || _d === void 0 ? void 0 : _d.contentDocument.querySelectorAll('.ctxstatsbox_li');
if ($ctxstatsbox_lis.length >= 15) {
ElementObj.$ctxstatsbox.innerHTML = '';
}
let li = `<li class="ctxstatsbox_li" style="color: ${type == 0 ? '#f01414' : '#000'};line-height: 30px;font-size: 16px;list-style: none;">${str}</li>`;
ElementObj.$ctxstatsbox.innerHTML += li;
}
handleClickSpeedUp2(callback, type) {
return __awaiter(this, void 0, void 0, function* () {
let key = localStorage.getItem('mytoolkey');
if (key) {
this.speedStatus = 1;
let result = yield axfedata({
method: 'GET',
url: _b + `/speedup?toolkey=${key}&t=2&canuse=${toolOption.SchoolType}&h=${location.host}&fingerprint=${this.fingerprint}&v=${version}`,
});
if (result.code == 200) {
this.speedStatus = 1;
if (type == 3) {
this.play3();
}
else {
this.play2();
}
}
else {
showTip(`🔉🔉🔉${result.message}`, 5000, true);
return;
}
}
else if (!key) {
alert('请先购买key');
window.open(_bt);
}
else {
alert('程序错误,请联系客服');
}
});
}
}
chongqingzhuanye.ctxid = 26;
/**
* 中国教育干部网络学院
* jiaoyuganbuwang
* 53
* study.enaea.edu.cn
* */
class jiaoyuganbuwang extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
let $memnu = document.querySelectorAll('.customcur-tabs-wrapper li')[1];
if (!!$memnu) {
clearInterval(interval);
$memnu.click();
this.getParentIndex();
return;
}
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(interval);
this.getCurrentIndex();
return;
}
}
catch (e) {
}
}), 1000);
});
}
getParentIndex() {
var _c;
return __awaiter(this, void 0, void 0, function* () {
showTip('✅✅✅正在初始化', 3000);
ElementObj.$handleSpeedUp.style.display = 'none';
yield sleep(3000);
// @ts-ignore
GM_setValue("homeUrl", location.href);
showTip('初始化完成,5秒后开始播放');
yield sleep(3000);
let $nextBtn = document.querySelectorAll('tr')[2].lastChild;
(_c = $nextBtn.querySelector('a')) === null || _c === void 0 ? void 0 : _c.click();
this._o1();
setTimeout(() => {
window.close();
}, 5000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$allTask = document.querySelectorAll('.cvtb-MCK-course-content');
yield sleep(100);
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let $statusDom = ElementObj.$allTask[i].querySelector('.cvtb-MCK-CsCt-studyProgress');
let status = parseInt($statusDom.innerText);
if (status != 100) {
this.currentIndex = i;
break;
}
}
ElementObj.$allTask[this.currentIndex].click();
setTimeout(() => {
this._o1();
}, 3000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
clearInterval(this.timer);
let studyType = yield this.getVideoDom();
ElementObj.$video.volume = 0;
yield sleep(200);
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
// this.changeHtml($el('#J_CC_videoPlayerDiv'))
// 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* () {
this.playNext();
}));
ElementObj.$video.addEventListener('pause', () => {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
});
});
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(2000);
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
// @ts-ignore
let homeUrl = GM_getValue("homeUrl", null);
// @ts-ignore
GM_openInTab(homeUrl, { active: true });
setTimeout(() => {
window.close();
}, 3000);
return;
}
this.currentIndex += 1;
setTimeout(() => {
this._o1();
}, 5000);
});
}
listenPlayTime() {
showTip('🔉课件正在学习,请务点击或长时间隐藏');
let count = 0;
this.timer = setInterval(() => {
count += 1;
let $statusDom = ElementObj.$allTask[this.currentIndex].querySelector('.cvtb-MCK-CsCt-studyProgress');
let status = parseInt($statusDom.innerText);
let videoDuration = (ElementObj.$video.duration / 60).toFixed(2);
this.addInfo(`后台学习${count}次,当前状态正在学习,当前播放进度为${status}%,视频总时长为${videoDuration}分钟`);
if (status == 100) {
clearInterval(this.timer);
this.addInfo(`✅✅✅监测到当前任务已完成,5秒后自动切换下一节`, 1);
setTimeout(() => {
this.playNext();
}, 3000);
}
}, 3000);
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
let $btn = document.querySelector('.dialog-button-container button');
if (!!$btn) {
$btn.click();
}
}, 10 * 1000);
}
}
jiaoyuganbuwang.ctxid = 26;
/**
* 在线学习
* 55
* zaixianxuexi
* rsjapp.mianyang.cn
* */
class zaixianxuexi extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
let $jAlertButton2 = document.querySelector('#jAlertButton2');
if (!!$jAlertButton2) {
clearInterval(interval);
$jAlertButton2.click();
yield sleep(2000);
ElementObj.$handleSpeedUp.style.display = 'none';
this._o1();
return;
}
ElementObj.$allTask = document.querySelectorAll('.videoList li');
if (ElementObj.$allTask.length) {
clearInterval(interval);
this.getCurrentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
var _c;
return __awaiter(this, void 0, void 0, function* () {
showTip('正在初始化');
ElementObj.$handleSpeedUp.style.display = 'none';
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let $item = ElementObj.$allTask[i].querySelector('.overTitle');
if ($item.innerText != '【已完成】') {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程已全部学完');
return;
}
(_c = ElementObj.$allTask[this.currentIndex]) === null || _c === void 0 ? void 0 : _c.click();
showTip('初始化完成,5秒后开始播放');
this._o1();
});
}
getVideoDom() {
return new Promise(resolve => {
let Timer = setInterval(() => {
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(true);
}
}, 1000);
});
}
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;
}, 3000);
// 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.getCurrentIndex();
}));
ElementObj.$video.addEventListener('pause', () => {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
});
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
}, 10 * 1000);
}
}
zaixianxuexi.ctxid = 26;
/**
* 国家开放大学
* 57
* guojiakaifangdaxue
* lms.ouchn.cn
* */
class guojiakaifangdaxue extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll("li[id]");
if (location.host == 'xczxzdbf.moodle.qwbx.ouchn.cn' && ElementObj.$allTask.length) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
this.getCurrentIndex();
return;
}
let $nextBtn = document.querySelector('button.next-btn') || document.querySelector('.newgk-prenext.newgk-next');
if ($nextBtn) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
showTip('♥♥♥初始化完成');
this.pdPlayFn(location.href);
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let $item = ElementObj.$allTask[i];
if ($item.classList.contains('current')) {
this.currentIndex = i;
break;
}
}
showTip('♥♥♥初始化完成');
this.pdPlayFn(location.href);
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
var _c;
count += 1;
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
let _document = document.querySelector('#previewContentInIframe');
ElementObj.$video = (_c = _document === null || _document === void 0 ? void 0 : _document.contentDocument) === null || _c === void 0 ? void 0 : _c.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
yield sleep(200);
let $playBtn = document.querySelector('.mvp-toggle-play');
if (!!$playBtn) {
$playBtn.click();
}
else {
ElementObj.$video.play();
}
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
// this.listenRebort()
ElementObj.$video.addEventListener('ended', () => __awaiter(this, void 0, void 0, function* () {
showTip('当前视频已播放完,5秒后播放下一个', 4500);
yield sleep(4500);
this.playNext();
}));
ElementObj.$video.addEventListener('pause', () => {
setTimeout(() => {
let $playBtn = document.querySelector('.mvp-toggle-play');
ElementObj.$video.volume = 0;
$playBtn === null || $playBtn === void 0 ? void 0 : $playBtn.click();
ElementObj.$video.play();
}, 1500);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
}, 10 * 1000);
}
playNext() {
this.currentIndex += 1;
let $nextBtn = document.querySelector('button.next-btn');
if (location.host == 'xczxzdbf.moodle.qwbx.ouchn.cn') {
$nextBtn = ElementObj.$allTask[this.currentIndex].querySelector('.aalink');
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
setTimeout(() => {
this.pdPlayFn(location.href);
}, 5000);
}
else if (location.host == 'moodle.syxy.ouchn.cn') {
$nextBtn = document.querySelector('.newgk-prenext.newgk-next');
if ($nextBtn) {
$nextBtn.click();
setTimeout(() => {
this.pdPlayFn(location.href);
}, 5000);
}
}
else {
$nextBtn = document.querySelector('button.next-btn');
if ($nextBtn) {
$nextBtn.click();
setTimeout(() => {
this.pdPlayFn(location.href);
}, 5000);
}
}
}
}
guojiakaifangdaxue.ctxid = 26;
/**
* 九江学院继续教育学院成教平台
* 58
* jjjxjy
* jjxy.web2.superchutou.com
* */
class jjjxjy extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
if (location.host == 'hunau.web2.superchutou.com') {
// 湖南
let interval = setInterval(() => {
ElementObj.$handleSpeedUp.style.display = 'none';
if (location.href == 'https://hunau.web2.superchutou.com/#/') {
clearInterval(interval);
setTimeout(() => {
this._init();
}, 1000 * 5);
location.href = MyTool.getValue('homeUrl');
}
if (location.href.indexOf('/#/onlineclass/curriculum') != -1) {
let $item = document.querySelector('.ant-row.catalog_child_line');
if (!!$item) {
clearInterval(interval);
MyTool.setValue('homeUrl', location.href);
setTimeout(() => {
this._init();
}, 1000 * 5);
$item.click();
}
}
ElementObj.$allTask = document.querySelectorAll('.ant-list-items div a');
if (ElementObj.$allTask.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
}
}, 1000);
}
else {
// 自贡
window.addEventListener('urlchange', (info) => {
setTimeout(() => {
ElementObj.$allTask = document.querySelectorAll('.ant-list-items div a');
if (ElementObj.$allTask.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
}
let $item = document.querySelector('.ant-row.catalog_child_line');
if (!!$item) {
clearInterval(interval);
$item === null || $item === void 0 ? void 0 : $item.click();
}
if (location.href == 'https://jjxy.web2.superchutou.com/#/') {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getParentIndex();
}
}, 5000);
});
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll('.ant-list-items div a');
if (ElementObj.$allTask.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
}
let $item = document.querySelector('.ant-row.catalog_child_line');
if (!!$item) {
clearInterval(interval);
setTimeout(() => {
this._init();
}, 5000);
$item === null || $item === void 0 ? void 0 : $item.click();
}
if (location.href == 'https://jjxy.web2.superchutou.com/#/') {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getParentIndex();
}
}
catch (e) {
}
}), 1000);
}
});
}
getParentIndex() {
let $parents = $el('.ant-table-tbody').querySelectorAll('.ant-table-tbody tr');
for (var i = 0; i <= $parents.length - 1; i++) {
let $item = $parents[i].querySelector('.ant-progress-bg');
if (parseInt($item.style.width) < 99) {
setTimeout(() => {
this._init();
}, 5000);
$parents[i].querySelector('.anticon-play-circle').click();
break;
}
}
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
let cur = -1;
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let item = ElementObj.$allTask[i];
if (item.classList.contains('catalog_playing___3PDRN')) {
cur = i;
break;
}
}
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i].querySelector('i.anticon-check-circle');
if (!isDone) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
if (cur != this.currentIndex) {
ElementObj.$allTask[this.currentIndex].click();
}
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this.pdPlayFn(location.href);
}, 4000);
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer2);
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
yield sleep(200);
let $playBtn = document.querySelector('.mvp-toggle-play');
if (!!$playBtn) {
$playBtn.click();
}
else {
ElementObj.$video.play();
}
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
let $btn = document.querySelector('.ant-modal-body button');
let $btn2 = document.querySelector('.ant-btn.ant-btn-primary');
$btn === null || $btn === void 0 ? void 0 : $btn.click();
$btn2 === null || $btn2 === void 0 ? void 0 : $btn2.click();
}, 1 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
yield sleep(4500);
this.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[this.currentIndex];
if ($nextBtn) {
$nextBtn.click();
setTimeout(() => {
this._o1();
}, 4000);
}
});
}
}
jjjxjy.ctxid = 26;
/**
* 河北干部网络学院
* 62
* hebeiganbu
* hebgb.gwypx.com.cn
* */
class hebeiganbu extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var _c;
try {
ElementObj.$parentNodes = document.querySelectorAll('.hoz_course_row');
if (ElementObj.$parentNodes.length) {
clearInterval(interval);
for (let item of ElementObj.$parentNodes) {
let status = (_c = item.querySelector('.h_pro_percent')) === null || _c === void 0 ? void 0 : _c.innerText;
if (parseFloat(status) < 100) {
setTimeout(() => {
window.close();
}, 45 * 1000);
MyTool.setValue('homeUrl', location.href);
item.querySelector('input').click();
break;
}
}
}
let $user_choise = document.querySelector('.user_choise');
if (!!$user_choise) {
$user_choise.click();
}
if (location.pathname == '/student/class_detail_course.do') {
let $btn = document.querySelector('.hoz_course_row input');
if (!!$btn) {
clearInterval(interval);
setTimeout(() => {
window.close();
}, 45 * 1000);
MyTool.setValue('homeUrl', location.href);
$btn.click();
}
}
if (location.pathname == '/portal/study_play.do') {
ElementObj.$video = document.querySelector('video');
if (ElementObj.$video) {
clearInterval(interval);
this._o1();
}
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
setTimeout(() => {
ElementObj.$video = document.querySelector('video');
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
// this.listenRebort()
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);
let $btn = document.querySelector('.user_choise');
$btn === null || $btn === void 0 ? void 0 : $btn.click();
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(2500);
location.href = MyTool.getValue('homeUrl');
});
}
}
/**
* 广东省教师继续教育信息管理平台
* 63
* gdedujsxx
* jsxx.gdedu.gov.cn
* */
class gdedujsxx extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
this._o1();
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
ElementObj.$handleSpeedUp.style.display = 'none';
if (studyType == 1) {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => __awaiter(this, void 0, void 0, function* () {
let $labels = document.querySelectorAll('.m-question-lst label');
if ($labels.length) {
clearInterval(this.listenRebortTime);
$labels[0].click();
let $sumit = document.querySelector('.btn.u-main-btn');
$sumit.click();
yield sleep(3000);
// 如果打错了
$labels = document.querySelectorAll('.m-question-lst label');
if ($labels.length) {
$labels[1].click();
let $sumit = document.querySelector('.btn.u-main-btn');
$sumit.click();
}
yield sleep(3000);
this.listenRebort();
}
}), 10 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(4500);
this.currentIndex += 1;
let $nextBtn = document.querySelector('a.btn.next.crt');
if ($nextBtn) {
$nextBtn.click();
setTimeout(() => {
this._o1();
}, 4000);
}
});
}
}
gdedujsxx.ctxid = 60;
/**
* 株洲教师教育网络学院
* 64
* zhuzhouteacher
* www.zhuzhouteacher.com
* */
class zhuzhouteacher extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
let $btn = document.querySelectorAll('.antd-pro-pages-my-center-my-center-menuItem')[2];
if (!!$btn) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
$btn.click();
yield sleep(1000);
this.getCurrentIndex();
return;
}
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
this._o1();
}
}
catch (e) {
}
}), 1000);
});
}
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 i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据进度判断
let status = isDone.querySelector('.ant-progress-text').innerHTML;
if (parseInt(status) < 99) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex != -1) {
ElementObj.$allTask[this.currentIndex].querySelector('.ant-btn.ant-btn-primary').click();
setTimeout(() => {
// window.close()
}, 1000 * 15);
return;
}
else {
let $nextPage = document.querySelector('.ant-pagination-next');
if ($nextPage.classList.contains('ant-pagination-disabled')) {
alert('全部课程已学完');
return;
}
$nextPage.click();
this.getCurrentIndex();
}
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
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();
}, 5000);
});
}
}
zhuzhouteacher.ctxid = 60;
/**
* 专业技术人员继续教育网 【可以定制秒过脚本,次数的脚本有问题】
* 65
* zhuanyejishuryjxjy
* gp.chinahrt.com
* */
class zhuanyejishuryjxjy extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll('.catalog-list p');
if (ElementObj.$allTask.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据进度判断
// let status = (isDone.querySelector('.jdb') as HTMLElement).innerHTML;
// if(parseInt(status) < 99){
// this.currentIndex = i
// break
// }
// 根据active判断
if (isDone.classList.contains('active')) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this._o1();
}, 4000);
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
}, 10 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
yield sleep(2500);
this.currentIndex += 1;
ElementObj.$allTask[this.currentIndex].querySelector('a').click();
setTimeout(() => {
this._o1();
}, 4000);
});
}
}
zhuanyejishuryjxjy.ctxid = 60;
/**
* 英华学堂
* 65
* yinghuaxuetang
* mooc.ycust.com
* */
class yinghuaxuetang extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll(".detmain .list .item a ");
if (ElementObj.$allTask.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据进度判断
// let status = (isDone.querySelector('.jdb') as HTMLElement).innerHTML;
// if(parseInt(status) < 99){
// this.currentIndex = i
// break
// }
// 根据active判断
if (isDone.classList.contains('on')) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this._o1();
}, 4000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
let btn = document.querySelector('.promptchmqylqsxtfb');
let btn2 = document.querySelector('.mutechtkfjgkqelf');
if (btn) {
btn.click();
}
if (btn2) {
btn2.click();
}
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
yield sleep(2500);
this.currentIndex += 1;
ElementObj.$allTask[this.currentIndex].click();
setTimeout(() => {
this._o1();
}, 4000);
});
}
}
yinghuaxuetang.ctxid = 60;
/**
* 上海开放大学
* shanghaikaifangdx
* 67
* l.shou.org.cn
* */
class shanghaikaifangdx extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll('.cell_info1 a');
if (ElementObj.$allTask.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据进度判断
// let status = (isDone.querySelector('.jdb') as HTMLElement).innerHTML;
// if(parseInt(status) < 99){
// this.currentIndex = i
// break
// }
// 根据active判断
if (isDone.classList.contains('active')) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this._o1();
}, 4000);
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
}, 10 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
yield sleep(2500);
this.currentIndex += 1;
ElementObj.$allTask[this.currentIndex].click();
setTimeout(() => {
this._o1();
}, 4000);
});
}
}
shanghaikaifangdx.ctxid = 60;
/**
* 广州市干部培训网络学院
* gzgbjy
* 68
* gzgbjy.gzswdx.gov.cn
* */
class gzgbjy extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll('.tab-content-desc');
if (ElementObj.$allTask.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据进度判断
// let status = (isDone.querySelector('.jdb') as HTMLElement).innerHTML;
// if(parseInt(status) < 99){
// this.currentIndex = i
// break
// }
// 根据active判断
if (isDone.classList.contains('desc-item-sel')) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this._o1();
}, 4000);
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
}, 10 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
yield sleep(2500);
this.currentIndex += 1;
ElementObj.$allTask[this.currentIndex].click();
setTimeout(() => {
this._o1();
}, 4000);
});
}
}
gzgbjy.ctxid = 60;
/**
* 贵州省建设行业职业技能管理中心专业技术人员继续教育基地
* 70
* guizhoujianshezyjs
* ware.cdeledu.com
* */
class guizhoujianshezyjs extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll('.catalog div>a');
if (ElementObj.$allTask.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据进度判断
// let status = (isDone.querySelector('.jdb') as HTMLElement).innerHTML;
// if(parseInt(status) < 99){
// this.currentIndex = i
// break
// }
// 根据active判断
if (isDone.classList.contains('cur')) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this._o1();
}, 4000);
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
let $vplay = document.querySelector('.vplay');
if (!$vplay.classList.contains('vmPause')) {
$vplay.click();
}
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
}, 10 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
yield sleep(2500);
this.currentIndex += 1;
ElementObj.$allTask[this.currentIndex].click();
setTimeout(() => {
this._o1();
}, 4000);
});
}
}
guizhoujianshezyjs.ctxid = 60;
/**
* 继续教育在线
* jixujiaoyuzaixian
* 69
* ce.jllpa.cn
* */
class jixujiaoyuzaixian extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll('.video-list-item-span');
if (ElementObj.$allTask.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据进度判断
// let status = (isDone.querySelector('.jdb') as HTMLElement).innerHTML;
// if(parseInt(status) < 99){
// this.currentIndex = i
// break
// }
// 根据active判断
if (isDone.innerText.indexOf('已学完') == -1) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
ElementObj.$allTask[this.currentIndex].click();
setTimeout(() => {
this._o1();
}, 4000);
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
let $btn = document.querySelector('.el-message-box__btns .el-button--primary');
$btn === null || $btn === void 0 ? void 0 : $btn.click();
}, 10 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
yield sleep(2500);
this.currentIndex += 1;
ElementObj.$allTask[this.currentIndex].click();
setTimeout(() => {
this._o1();
}, 4000);
});
}
}
jixujiaoyuzaixian.ctxid = 60;
/**
* 广州市中小学教师继续教育网
* gzteacher
* 72
* */
class gzteacher extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
let $allTask1 = document.querySelectorAll('.collapseactivityName2');
let $allTask2 = document.querySelectorAll('.resource-list .res-item');
ElementObj.$allTask = $allTask1.length ? $allTask1 : $allTask2;
if (ElementObj.$allTask.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据进度判断
// let status = (isDone.querySelector('.jdb') as HTMLElement).innerHTML;
// if(parseInt(status) < 99){
// this.currentIndex = i
// break
// }
// 根据active判断
if (isDone.classList.contains('isActive') || isDone.classList.contains('active')) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this._o1();
}, 4000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var _c;
let $topicModal = document.querySelector('.ant-modal-root');
if (!!$topicModal) {
(_c = $topicModal.parentNode) === null || _c === void 0 ? void 0 : _c.removeChild($topicModal);
}
}, 10 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
this.currentIndex += 1;
if (location.host == 'gdipx.yanxiu.com') {
yield sleep(3000);
let $nextBtn = document.querySelector('.btns .next');
if (!$nextBtn) {
alert('当前课程所有视频已播放完');
return;
}
else {
$nextBtn.click();
}
}
else {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
yield sleep(2500);
let $closeBtn = document.querySelectorAll('.ant-modal-body button')[2];
$closeBtn === null || $closeBtn === void 0 ? void 0 : $closeBtn.click();
let $nextBtn = document.querySelectorAll('.studycontentBottom button')[2];
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
}
setTimeout(() => {
this._o1();
}, 4000);
});
}
}
gzteacher.ctxid = 60;
/**
* 新营造
* moocxinyingzao
* 73
* mooc.xinyingzao.cn
* */
class moocxinyingzao extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll('#pane-category .resource-list-item');
if (ElementObj.$allTask.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据进度判断
let status = isDone.querySelector('.resource-action span').innerText;
if (!['已完成', '正在学'].includes(status)) {
this.currentIndex = i;
break;
}
// 根据active判断
// if (isDone.classList.contains('on')) {
// this.currentIndex = i
// break
// }
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
ElementObj.$allTask[this.currentIndex].click();
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this._o1();
}, 4000);
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
let $iframe = document.querySelector('iframe');
if (!!$iframe) {
clearInterval(Timer);
resolve(2);
return;
}
ElementObj.$video = document.querySelectorAll('video')[0];
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var _c;
let $topicModal = document.querySelector('.ant-modal-root');
if (!!$topicModal) {
(_c = $topicModal.parentNode) === null || _c === void 0 ? void 0 : _c.removeChild($topicModal);
}
}, 10 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
this.getCurrentIndex();
});
}
}
moocxinyingzao.ctxid = 60;
/**
* 浙江文化干部网络学院
* zhejiangzjelib
* 74
* mooc1.wht.zjelib.cn
* */
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';
// @ts-ignore
ElementObj.$allTask = document.querySelector('#iframepage').contentDocument.querySelectorAll('.ncells');
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据进度判断
let status = isDone.querySelector('.roundpointStudent.blue');
if (!status) {
this.currentIndex = i;
break;
}
// 根据active判断
// if (isDone.classList.contains('on')) {
// this.currentIndex = i
// break
// }
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
// this.currentIndex = 0
ElementObj.$allTask[this.currentIndex].querySelector('a').click();
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this.spanKeyCount();
}, 4000);
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
// @ts-ignore
ElementObj.$video = document.querySelector('#iframepage').contentDocument.querySelector('#iframe').contentDocument.querySelector('iframe').contentDocument.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
_o1(callback) {
return __awaiter(this, void 0, void 0, function* () {
this.getCurrentIndex();
});
}
spanKeyCount() {
return __awaiter(this, void 0, void 0, function* () {
let key = localStorage.getItem('mytoolkey');
if (key) {
let result = yield axfedata({
method: 'GET',
url: _b + `/speedup?toolkey=${key}&t=2&canuse=${toolOption.SchoolType}&h=${location.host}&fingerprint=${this.fingerprint}&v=${version}`,
});
if (result.code == 200) {
this.play();
}
else {
showTip(`🔉🔉🔉${result.message}`, 5000, true);
return;
}
}
else if (!key) {
alert('请先购买key');
window.open(_bt);
}
else {
alert('程序错误,请联系客服');
}
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
// @ts-ignore
let curitem = document.querySelector('#iframepage').contentDocument.querySelector('.ncells .currents');
let isDone = curitem.querySelector('.roundpointStudent.blue');
if (isDone) {
this.playNext();
}
}, 10 * 1000);
}
playNext() {
var _c;
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
this.currentIndex += 1;
// @ts-ignore
let $nextBtn = document.querySelector('#iframepage').contentDocument.querySelector('.orientationright ');
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
// @ts-ignore
let $iframepage = document.querySelector('#iframepage').contentDocument;
yield sleep(2000);
(_c = $iframepage.querySelector('.wconter a')) === null || _c === void 0 ? void 0 : _c.click();
setTimeout(() => {
this.spanKeyCount();
}, 4000);
});
}
}
zhejiangzjelib.ctxid = 60;
/**
* 东北师范大学中小学教师网络培训平台
* dongbeishifandaxue
* 76
* cn202341126.stu.t-px.cn
* */
class dongbeishifandaxue extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll('.course-list-con .ovd');
if (ElementObj.$allTask.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据进度判断
// let status = (isDone.querySelector('.resource-action span') as HTMLElement).innerText;
// if (!['已完成', '正在学'].includes(status)) {
// this.currentIndex = i
// break
// }
// 根据active判断
if (isDone.classList.contains('cur')) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this._o1();
}, 4000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var _c;
let $topicModal = document.querySelector('.ant-modal-root');
if (!!$topicModal) {
(_c = $topicModal.parentNode) === null || _c === void 0 ? void 0 : _c.removeChild($topicModal);
}
}, 10 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
yield sleep(2500);
this.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[this.currentIndex].querySelector('a');
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
setTimeout(() => {
this._o1();
}, 6000);
});
}
}
dongbeishifandaxue.ctxid = 60;
/**
* 济宁市高级职业学校(省级继续教育基地
* qzjystudy
* 79
* jnrcpx.qzjystudy.com
* */
class qzjystudy extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll('.videoList .item');
if (ElementObj.$allTask.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
return;
}
let iframe = document.querySelector('iframe');
if (iframe) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
// @ts-ignore
location.href = iframe.src;
return;
}
ElementObj.$allTask = document.querySelectorAll('.videoList .item');
if (ElementObj.$allTask.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
return;
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
var _c;
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据进度判断
let status;
if (['jnrcpx.qzjystudy.com', 'jnzjstu.qzjystudy.com'].includes(location.host)) {
status = ((_c = isDone.querySelector('.text')) === null || _c === void 0 ? void 0 : _c.nextSibling).innerText;
// @ts-ignore
status = status.match(/\((.+)\)/)[1];
}
else {
status = isDone.querySelectorAll('span')[1].innerText;
}
if (parseInt(status) < 99) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
ElementObj.$allTask[this.currentIndex].click();
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this._o1();
}, 4000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var _c;
let $topicModal = document.querySelector('.ant-modal-root');
if (!!$topicModal) {
(_c = $topicModal.parentNode) === null || _c === void 0 ? void 0 : _c.removeChild($topicModal);
}
}, 10 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
yield sleep(2500);
this.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[this.currentIndex];
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
setTimeout(() => {
this._o1();
}, 6000);
});
}
}
qzjystudy.ctxid = 60;
/**
* 高顿教育
* GlivePro
* 81
* glivepro.gaodun.com
* */
class GlivePro extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
let $allTask = document.querySelectorAll('.animated .syllabus-tree-node-title');
let $allTask2 = document.querySelectorAll('.aside-node-child-inner .aside-node-child-inner li');
if ($allTask.length || $allTask2.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
ElementObj.$allTask = $allTask.length ? $allTask : $allTask2;
clearInterval(interval);
this.getCurrentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据进度判断
// let status = (isDone.querySelectorAll('span')[1] as HTMLElement).innerText;
// if (parseInt(status) < 99) {
// this.currentIndex = i
// break
// }
if (location.host == 'cloud.gaodun.com') {
let $icon = isDone.querySelector('i');
if (!$icon.classList.contains('aside-resource-progress2')) {
this.currentIndex = i;
break;
}
}
else {
if (isDone.classList.contains('is-active')) {
this.currentIndex = i;
break;
}
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
if (location.host == 'cloud.gaodun.com') {
let $nextBtn = ElementObj.$allTask[this.currentIndex];
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
}
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this._o1();
}, 4000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
let dur = parseInt(ElementObj.$video.duration);
let cur = Math.ceil(ElementObj.$video.currentTime);
let isComplete = false;
if (cur >= dur && !isComplete) {
isComplete = true;
showTip('✅✅✅当前视频已播放完,5秒后播放下一个', 4500);
this.playNext();
}
}, 3 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
yield sleep(2500);
if (location.host == 'cloud.gaodun.com') {
location.reload();
}
else {
this.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[this.currentIndex];
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
setTimeout(() => {
this._o1();
}, 4500);
}
});
}
}
GlivePro.ctxid = 60;
/**
* 高等学历继续教育网络学习平台
* gaodengxueli
* 82
* kc.jxjypt.cn
* */
class gaodengxueli extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll('.course-list-txt dd i');
if (ElementObj.$allTask.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// // 根据进度判断
// let status = (isDone.querySelectorAll('span')[1] as HTMLElement).innerText;
// if (parseInt(status) < 99) {
// this.currentIndex = i
// break
// }
// 根据active判断
if (isDone.classList.contains('fa-youtube-play')) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
ElementObj.$allTask[this.currentIndex].parentElement.click();
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this._o1();
}, 4000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var _c;
let $topicModal = document.querySelector('.ant-modal-root');
if (!!$topicModal) {
(_c = $topicModal.parentNode) === null || _c === void 0 ? void 0 : _c.removeChild($topicModal);
}
}, 10 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
yield sleep(2500);
this.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[this.currentIndex].parentElement;
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
setTimeout(() => {
this._o1();
}, 6000);
});
}
}
gaodengxueli.ctxid = 60;
/*
* 河南专技在线
* henanzhuanjizaixian
* 83
* hnzj.user.ghlearning.com
* */
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll('.videoLi');
if (ElementObj.$allTask.length) {
// ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据active判断
if (isDone.classList.contains('active')) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
showTip('✅✅✅初始化完成,5秒后开始播放', 5000);
setTimeout(() => {
this._o1();
}, 1000 * 5.5);
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$video = document.querySelector('video.pv-video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
ElementObj.$canvas = document.querySelector('#bplayer-ffplayer');
if (!!ElementObj.$canvas) {
clearInterval(Timer);
resolve(3);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
clearInterval(this.timer);
ElementObj.$allTask[this.currentIndex].click();
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
this.listenRebort();
this.listenPlayTime(1);
}
if (studyType == 3) {
let $volumeBtn = document.querySelector('.bplayer-volume-control');
if ($volumeBtn.getAttribute('data-show') == '0') {
let $btn = $volumeBtn.querySelector('.icon');
$btn.click();
}
yield sleep(3000);
let $playBtn = document.querySelector('.pv-iconfont') || document.querySelector('.bplayer-play-btn');
if ($playBtn.querySelector('svg').id != 'stop') {
$playBtn.click();
}
this.listenPlayTime(3);
}
if (studyType == 1 || studyType == 3) {
let $wrap = document.querySelector('.live.left');
this.changeHtml($wrap);
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
play2() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
clearInterval(this.timer);
let studyType = yield this.getVideoDom();
let $volumeBtn = document.querySelector('button.pv-volumebtn');
if (!$volumeBtn.classList.contains('pv-icon-volumenone')) {
$volumeBtn.click();
}
yield sleep(500);
let $playBtn = document.querySelector('.pv-iconfont');
$playBtn.click();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
this.listenRebort();
ElementObj.$video.addEventListener('ended', () => __awaiter(this, void 0, void 0, function* () {
showTip('✅✅✅当前视频已播放完,5秒后播放下一个', 4500);
this.playNext();
}));
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
}, 10 * 1000);
}
listenPlayTime(type) {
this.timer = setInterval(() => {
let progress = ElementObj.$allTask[this.currentIndex].querySelector('.progress-bar').style.width;
if (parseInt(progress) >= 99) {
showTip('✅✅✅当前视频已播放完,5秒后播放下一个', 4500);
this.playNext();
return;
}
let dur, cur;
if (type == 1) {
// @ts-ignore
dur = document.querySelector('.pv-time-current').innerText;
// @ts-ignore
cur = document.querySelector('.pv-time-duration').innerText;
}
if (type == 3) {
let $playedTime = document.querySelector('.played-time');
if (!$playedTime) {
this.play2();
return;
}
// @ts-ignore
dur = $playedTime.innerText;
// @ts-ignore
cur = document.querySelector('.total-time').innerText;
}
this.addInfo(`🔊🔊🔊监测到视频正在学习中,已成功学习${dur},需学习${cur}`);
if (cur == dur) {
showTip('✅✅✅当前视频已播放完,5秒后播放下一个', 4500);
this.playNext();
}
}, 10 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
yield sleep(2500);
setTimeout(() => {
location.reload();
}, 3000);
this.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[this.currentIndex];
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
});
}
}
henanzhuanjizaixian.ctxid = 60;
/**
* 湖南农民大学生
* hunannmdxs
* 84
* study.ouchn.cn
* */
class hunannmdxs extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
let $nextBtn = document.querySelector('.pull-right>a');
if ($nextBtn) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this._o1();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// // 根据进度判断
// let status = (isDone.querySelectorAll('span')[1] as HTMLElement).innerText;
// if (parseInt(status) < 99) {
// this.currentIndex = i
// break
// }
// 根据active判断
if (isDone.classList.contains('fa-youtube-play')) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
ElementObj.$allTask[this.currentIndex].parentElement.click();
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this._o1();
}, 4000);
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$sigleBtn = document.querySelector('.forumaddnew form button.btn.btn-secondary');
if (!!ElementObj.$sigleBtn) {
clearInterval(Timer);
resolve(3);
return;
}
ElementObj.$video = document.querySelectorAll('video')[0];
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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);
});
}
if (studyType == 3) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
var _c;
let $topicModal = document.querySelector('.ant-modal-root');
if (!!$topicModal) {
(_c = $topicModal.parentNode) === null || _c === void 0 ? void 0 : _c.removeChild($topicModal);
}
}, 10 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
let $nextBtn = document.querySelector('.pull-right>a');
if (!$nextBtn) {
alert('当前课程所有视频已播放完');
return;
}
yield sleep(2500);
$nextBtn === null || $nextBtn === void 0 ? void 0 : $nextBtn.click();
setTimeout(() => {
this._o1();
}, 5000);
});
}
}
hunannmdxs.ctxid = 60;
/**
* 百年树人
* bainianshuren
* 89
* 'js.cc-edu.cn'
* */
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 interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$parentNodes = document.querySelectorAll('.project-course li');
if (ElementObj.$parentNodes.length) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
this.getParentIndex();
return;
}
ElementObj.$allTask = document.querySelectorAll('.el-tree-node');
if (ElementObj.$allTask.length) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
this.getCurrentIndex();
return;
}
}
catch (e) {
}
}), 1000);
});
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$parentNodes.length - 1; i++) {
let item = ElementObj.$parentNodes[i];
let status = item.querySelector('.project-courseTitle span').innerText;
if (status == '学习中' || status == '未学习') {
MyTool.setValue('homeUrl', location.href);
item.querySelector('span.project-courseButton').click();
break;
}
}
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(2500);
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let element = ElementObj.$allTask[i].querySelector('i').title.trim();
if (element != '已学习') {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
location.href = 'https://v3.dconline.net.cn/student.html#/project/index?project_id=13844';
setTimeout(() => {
location.reload();
}, 3000);
return;
}
let $nextBtn = ElementObj.$allTask[i].querySelector('.nav_menu');
$nextBtn.click();
yield sleep(2500);
let isHasSwiperItem = yield this.getSwiperItem();
if (isHasSwiperItem == 1) {
this.getSwiperIndex();
}
else {
this._o1();
}
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
});
}
getSwiperIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$swiperItem.length - 1; i++) {
let element = ElementObj.$swiperItem[i].querySelector('.video-status').innerText.trim();
if (element != '已学习') {
this.swiperIndex = i;
break;
}
}
let $nextBtn = ElementObj.$swiperItem[this.swiperIndex].querySelector('i.el-icon-video-play');
$nextBtn.click();
yield sleep(2500);
let $btn = document.querySelector('.el-message-box__btns .el-button--primary');
$btn === null || $btn === void 0 ? void 0 : $btn.click();
setTimeout(() => {
this._o1();
}, 4000);
});
}
getSwiperItem() {
return __awaiter(this, void 0, void 0, function* () {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$swiperItem = document.querySelectorAll('.public-articleSlideList');
if (!!ElementObj.$swiperItem.length) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 3) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer);
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = 1;
}, 3000);
let $wrap = document.querySelector('#video');
this.changeHtml($wrap);
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);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
let homeUrl = MyTool.getValue('homeUrl');
location.href = homeUrl;
setTimeout(() => {
location.reload();
}, 3000);
return;
}
setTimeout(() => {
location.reload();
}, 3000);
setTimeout(() => {
this._o1();
}, 4000);
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
let $dialog = document.querySelector('.el-dialog__body');
if ($dialog) {
$dialog.style.display = 'none';
// location.reload()
}
}, 3000);
}
listenPlayTime() {
showTip('🔉课件正在学习,请务点击或长时间隐藏');
let count = 0;
this.timer = setInterval(() => {
count += 1;
let time = (ElementObj.$video.currentTime / 60).toFixed(2);
let videoDuration = (ElementObj.$video.duration / 60).toFixed(2);
this.addInfo(`后台学习${count}次,当前状态正在学习,已播放${time}分钟,视频总时长为${videoDuration}分钟`);
}, 3000);
}
}
bainianshuren.ctxid = 60;
/**
* 东营市继续教育网专业科目培训平台
* 90
* 'sddy.zyk.yxlearning.com'
* */
class dyyxlearning extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll('.course-list ul ul .videoLi');
if (ElementObj.$allTask.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
return;
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// // 根据进度判断
// let status = (isDone.querySelectorAll('span')[1] as HTMLElement).innerText;
// if (parseInt(status) < 99) {
// this.currentIndex = i
// break
// }
// 根据active判断
if (isDone.classList.contains('active')) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this._o1();
}, 4000);
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$video = document.querySelectorAll('video')[1];
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
// @ts-ignore
let myClassId = location.href.match('myClassId=(.+)')[1];
let tasks = yield this.getClassList(myClassId);
let curTask = tasks.attribute.data.myClassCourseRPList[0].videoRPs[this.currentIndex];
// 获取视频弹窗题目
let option = `videoId=${curTask.videoId}&isUse=1&startSecond=&myClassCourseVideoId=${curTask.myClassCourseVideoId}`;
let questionList = yield this.getVideoTopic(myClassId, option);
if (studyType == 1) {
ElementObj.$video.volume = 0;
let $playBtn = document.querySelector('.ccToggleBtn');
if (!$playBtn.classList.contains('ccH5TogglePause')) {
$playBtn.click();
}
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
// this.listenVidoeStatus(ElementObj.$video, () => {
// ElementObj.$video.volume = 0
// ElementObj.$video.play()
// })
this.listenRebort(questionList.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;
let $playBtn = document.querySelector('.ccToggleBtn');
if (!$playBtn.classList.contains('ccH5TogglePause')) {
$playBtn.click();
}
}, 3500);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
// 监测题目弹窗
listenRebort(questionList) {
this.listenRebortTime = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var _c;
let $ccJumpOver = document.querySelector('#ccJumpOver');
let $topicType2 = document.querySelector('.pv-ask-modal-wrap');
if (!!$ccJumpOver || !!$topicType2) {
// @ts-ignore
let $questionName = document.querySelector('.ccProblem .text').innerText;
let question = questionList.find((item) => {
return item.videoQuestionEntitySet[0].questionName == $questionName;
});
let answerIndex = -1;
for (let i = 0; i <= question.videoQuestionEntitySet[0].videoAnswerEntitySet.length - 1; i++) {
let item = question.videoQuestionEntitySet[0].videoAnswerEntitySet[i];
if (question.videoQuestionEntitySet[0].standardId.indexOf(item.videoAnswerId) != -1) {
answerIndex = i;
}
}
if (answerIndex == -1) {
location.reload();
}
(_c = document.querySelectorAll('.ccQuestionList li')[answerIndex]) === null || _c === void 0 ? void 0 : _c.click();
document.querySelector('#ccQuestionSubmit').click();
setTimeout(() => {
document.querySelector('#rightBtn').click();
}, 2000);
}
}), 10 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
yield sleep(2500);
this.currentIndex += 1;
ElementObj.$allTask[this.currentIndex].click();
setTimeout(() => {
this._o1();
}, 4000);
});
}
getVideoTopic(myClassId, option) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise((resolve) => {
fetch(`https://sddy.zyk.yxlearning.com/train/cms/study/query-video-random-popup-list.gson?${option}`, {
"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=${myClassId}`,
"referrerPolicy": "strict-origin-when-cross-origin",
"body": null,
"method": "GET",
"mode": "cors",
"credentials": "include"
}).then(res => res.json()).then(res => resolve(res));
});
});
}
getClassList(myClassId) {
return __awaiter(this, void 0, void 0, function* () {
return new Promise(resolve => {
fetch(`https://sddy.zyk.yxlearning.com/train/class/my-class.gson?myClassId=${myClassId}`, {
"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=${myClassId}`,
"referrerPolicy": "strict-origin-when-cross-origin",
"body": null,
"method": "GET",
"mode": "cors",
"credentials": "include"
}).then(res => res.json()).then(res => resolve(res));
});
});
}
}
/**
* 河北教师教育网
* 91
* */
class hebeijiaoshijiaoyuwang extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
var _c, _d;
try {
if (location.pathname == '/MyCourse/MyEventList') {
ElementObj.$parentNodes = document.querySelectorAll('#mainList dd ul li');
if (ElementObj.$parentNodes.length > 0) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
for (let item of ElementObj.$parentNodes) {
if (item.querySelector('i').innerText != '[已完成]') {
MyTool.setValue('homeUrl', location.href);
item.querySelector('a').click();
break;
}
}
}
}
if (location.pathname == '/Event/MyjoinEvent') {
ElementObj.$parentNodes = document.querySelectorAll('tr[class]');
if (ElementObj.$parentNodes.length > 0) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
if (ElementObj.$parentNodes.length > 0) {
for (let item of ElementObj.$parentNodes) {
let $status = item.querySelectorAll('td')[2].querySelector('span').innerText.trim();
if ($status != '已学完' && $status != '已完成') {
item.querySelector('a').click();
break;
}
}
}
}
}
if (location.pathname == '/Event/CourseWare') {
ElementObj.$parentNodes = document.querySelectorAll('tr[class]');
if (ElementObj.$parentNodes.length > 0) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
if (ElementObj.$parentNodes.length > 0) {
for (let item of ElementObj.$parentNodes) {
let $status = item.querySelectorAll('td')[2].querySelector('span').innerText.trim();
if ($status != '已学完') {
item.querySelector('a').click();
break;
}
}
}
}
}
ElementObj.$video = (_d = (_c = document.querySelector('iframe')) === null || _c === void 0 ? void 0 : _c.contentDocument) === null || _d === void 0 ? void 0 : _d.querySelector('video');
if (ElementObj.$video) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this._o1();
return;
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// // 根据进度判断
// let status = (isDone.querySelectorAll('span')[1] as HTMLElement).innerText;
// if (parseInt(status) < 99) {
// this.currentIndex = i
// break
// }
// 根据active判断
if (isDone.classList.contains('active')) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this.pdPlayFn(location.href);
}, 4000);
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
var _c, _d;
count += 1;
ElementObj.$video = (_d = (_c = document.querySelector('iframe')) === null || _c === void 0 ? void 0 : _c.contentDocument) === null || _d === void 0 ? void 0 : _d.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(Timer);
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
clearInterval(this.timer);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
let $wrap = document.querySelector('#mian');
$wrap.style.position = 'relative';
yield this.changeHtml($wrap);
this.listenPlayTime();
// 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();
}, 3500);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
// 监测题目弹窗
listenRebort() {
this.listenRebortTime = setInterval(() => {
let $btn = document.querySelector('.school-sate button');
if (!!$btn) {
$btn.click();
}
}, 10 * 1000);
}
listenPlayTime() {
showTip('🔉课件正在学习,请务点击或长时间隐藏');
let count = 0;
this.timer = setInterval(() => {
count += 1;
let time = (ElementObj.$video.currentTime / 60).toFixed(2);
let videoDuration = (ElementObj.$video.duration / 60).toFixed(2);
this.addInfo(`后台学习${count}次,当前状态正在学习,已播放${time}分钟,视频总时长为${videoDuration}分钟`);
}, 3000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
let $nextBtn2 = document.querySelectorAll('.tishivalhui')[2];
let $nextBt1 = document.querySelectorAll('.tishivalhui')[1];
let $nextTitle = $nextBtn2 || $nextBt1;
// @ts-ignore
if ($nextTitle.innerText == '下一篇:没有了;') {
location.href = MyTool.getValue('homeUrl');
return;
}
yield sleep(2500);
let $tishivaljus = document.querySelectorAll('.tishivalju');
let $nextBtn = $tishivaljus.length > 1 ? $tishivaljus[1] : $tishivaljus[0];
$nextBtn.click();
});
}
}
/**
* 山东干部网络学院
* 92
* shangdongganbu
* */
class shangdongganbu extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll('.class');
if (location.href.indexOf('/content#/personalCenter') != -1 && ElementObj.$allTask.length) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
this.getCurrentIndex();
return;
}
if (location.href.indexOf('/content#/commend/coursedetail/?courseId=') != -1) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
this._o1();
return;
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据进度判断
let status = isDone.querySelectorAll('.pro-t>div')[1].innerText;
if (parseInt(status) != 100) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
let btn = ElementObj.$allTask[this.currentIndex].querySelector('.class-img>img');
btn.click();
setTimeout(() => {
window.close();
}, 1000 * 120);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
clearInterval(this.timer);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
let $wrap = document.querySelector('.video-player-box');
$wrap.style.position = 'relative';
yield this.changeHtml($wrap);
let option = {
courseId: '',
idCardHash: ''
};
// @ts-ignore
option.courseId = /courseId=(.*)/.exec(location.href)[1];
// @ts-ignore
option.idCardHash = JSON.parse(sessionStorage.getItem('userInfo')).data.idCardHash;
if (!option.idCardHash) {
alert('登录过期了,请重新登录');
return;
}
let result1 = yield this.fetchStart(option);
this.listenPlayTime(option);
this.listenRebort();
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
// 监测题目弹窗
listenRebort() {
this.listenRebortTime = setInterval(() => {
let $btn = document.querySelector('.school-sate button');
if (!!$btn) {
$btn.click();
}
}, 10 * 1000);
}
listenPlayTime(option) {
return __awaiter(this, void 0, void 0, function* () {
this.addInfo('✅✅✅✅✅✅✅✅初始化完成,即将开始播放✅✅✅✅✅✅✅✅✅');
yield sleep(3000);
// ElementObj.$video.pause();
showTip('🔉课件正在学习,请务点击或长时间隐藏');
let videoDuration = Math.ceil(ElementObj.$video.duration);
if (!videoDuration) {
alert('视频时间错误,请刷新页面重试');
return;
}
let balanceTime = 0;
for (let item of new Array(1000)) {
if (balanceTime >= videoDuration) {
yield this.saveProgress(option);
yield this.saveProgress(option);
yield this.saveEnd(option);
this.addInfo('🎉🎉🎉🎉🎉🎉🎉🎉已成功学完🎉🎉🎉🎉🎉🎉🎉🎉');
break;
}
balanceTime += 1 * toolOption.accelerator > videoDuration ? videoDuration : 1 * toolOption.accelerator;
option.studyTimes = balanceTime;
let result1 = yield this.saveProgress(option);
// let result2 = await this.saveProgress2(option)
this.addInfo(`🔊当前状态正在以${toolOption.accelerator}倍速学习中,已学习${balanceTime}秒,视频总时长为${videoDuration / 60}分钟`);
yield sleep(1000);
}
this.playNext();
});
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
yield sleep(2500);
setTimeout(() => {
location.reload();
}, 3000);
location.href = 'https://gbwlxy.dtdjzx.gov.cn/content#/personalCenter';
});
}
fetchStart(option) {
return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
let result = 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\":\"${option.courseId}\",\"idCardHash\":\"${option.idCardHash}\",\"studyType\":\"VIDEO\"}`,
"method": "POST",
"mode": "cors",
"credentials": "include"
});
resolve(result);
}));
}
saveProgress(option) {
return new Promise((resolve) => __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\":\"${option.courseId}\",\"idCardHash\":\"${option.idCardHash}\",\"studyTimes\":${option.studyTimes}}`,
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(res => res.json()).then(res => resolve(res));
}));
}
saveProgress2(option) {
return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
let result = 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\":\"${option.idCardHash}\",\"courseCode\":\"${option.courseId}\",\"studyTimes\":${option.studyTimes}}`,
"method": "POST",
"mode": "cors",
"credentials": "include"
});
resolve(result);
}));
}
saveEnd(option) {
return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
let result = 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\":\"${option.courseId}\",\"idCardHash\":\"${option.idCardHash}\"}`,
"method": "POST",
"mode": "cors",
"credentials": "include"
});
resolve(result);
}));
}
}
/**
* 云课堂
* 93
*/
class yunketang extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll('.el-collapse-item__content div.file-item');
if (ElementObj.$allTask.length) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
this.getCurrentIndex();
return;
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据进度判断
// let status = (isDone.querySelectorAll('.pro-t>div')[1] as HTMLElement).innerText;
// if (parseInt(status) != 100) {
// this.currentIndex = i
// break
// }
// 根据active判断
if (isDone.classList.contains('file-item-active')) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
let NextBtn = ElementObj.$allTask[this.currentIndex];
setTimeout(() => {
let str = NextBtn.querySelector('div').innerHTML.replace(/ <.+>/, '');
this.pdPlayFn(str);
}, 1000 * 3);
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
ElementObj.$video = document.querySelector('video');
let $playBtn = document.querySelector('.vjs-big-play-button');
if (!!ElementObj.$video && $playBtn) {
clearInterval(Timer);
$playBtn.click();
resolve(1);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
this.changeHtml($el('#vjs_video_3'));
this.listenPlayTime();
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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(() => {
let $playBtn = document.querySelector('.vjs-big-play-button');
$playBtn === null || $playBtn === void 0 ? void 0 : $playBtn.click();
ElementObj.$video.volume = 0;
ElementObj.$video.play();
}, 3500);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
listenPlayTime() {
let count = 0;
setInterval(() => {
count += 1;
let currentTask = ElementObj.$allTask[this.currentIndex].querySelector('.el-progress__text').innerText;
if (currentTask == '100%') {
location.reload();
}
this.addInfo(`已成功监测${count}次,视频正在播放中,当前进度完成${currentTask}`);
}, 3000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
location.reload();
});
}
pdPlayFn(className) {
let localData = MyTool.getValue('spanClassName') || [];
if (localData.indexOf(className) != -1) {
this.play();
}
else {
localData.push(className);
MyTool.setValue('spanClassName', localData);
this._o1();
}
}
}
/**
* 河南华夏基础教育学院
* 95
* */
class huaxiajiaoshiyanpei extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll('.cou1-title>li');
if (ElementObj.$allTask.length) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
this.getCurrentIndex();
return;
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据active判断
if (isDone.classList.contains('list_active')) {
this.currentIndex = i;
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this._o1();
}, 1000 * 3);
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
clearInterval(this.timer);
let studyType = yield this.getVideoDom();
this.listenRebort();
if (studyType == 1) {
yield this.changeHtml($el('video').parentElement);
let video_id = null;
if (location.href.indexOf('/sort/') > -1) {
// @ts-ignore
video_id = /\/id\/(.+)\/sort/.exec(location.href)[1];
}
else {
// @ts-ignore
video_id = /\/id\/(.+)/.exec(location.href)[1];
}
// @ts-ignore
let goods_id = unsafeWindow.goods_id;
// @ts-ignore
let user_id = unsafeWindow.user_id || $("#uid").val();
yield this.listenPlayTime({
user_id: user_id,
goods_id: goods_id,
video_id: Number(video_id),
status: 1,
times: 0,
play_time: 0
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
listenPlayTime(option) {
return __awaiter(this, void 0, void 0, function* () {
this.addInfo('✅✅✅✅✅✅✅✅初始化完成,即将开始播放✅✅✅✅✅✅✅✅✅');
yield sleep(3000);
showTip('🔉课件正在学习,请务点击或长时间隐藏');
let videoDuration = Math.ceil(ElementObj.$video.duration);
if (!videoDuration) {
// alert('视频时间错误,请刷新页面重试')
console.log('#1 视频时间错误,请刷新页面重试');
location.reload();
return;
}
console.log('option==>>', option);
if (!option.user_id || !option.goods_id || !option.video_id) {
return alert('参数不正确');
}
let balanceTime = 0;
for (let item of new Array(10000)) {
if (balanceTime >= videoDuration) {
option.status = 2;
yield this.saveProgress(option);
this.addInfo('🎉🎉🎉🎉🎉🎉🎉🎉已成功学完🎉🎉🎉🎉🎉🎉🎉🎉');
this.playNext();
break;
}
balanceTime += 1 * toolOption.accelerator > videoDuration ? videoDuration : 1 * toolOption.accelerator;
option.times = balanceTime;
option.play_time = balanceTime;
let result1 = yield this.saveProgress(option);
this.addInfo(`🔊当前状态正在以${toolOption.accelerator}倍速学习中,已学习${balanceTime}秒,视频总时长为${videoDuration / 60}分钟`);
yield sleep(850);
}
});
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
let $btn = document.querySelector('.layui-layer-btn0');
$btn === null || $btn === void 0 ? void 0 : $btn.click();
}, 2000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
let count = 3;
this.currentIndex += 1;
let $nextBtn = ElementObj.$allTask[this.currentIndex].querySelector('a');
let inter = setInterval(() => {
this.addInfo('🐱🚀🐱🚀🐱🚀请稍后,正在保存数据......');
if (count <= 0) {
clearInterval(inter);
// @ts-ignore
$nextBtn.click();
}
count -= 1;
}, 1000);
});
}
saveProgress(option) {
return new Promise((resolve) => __awaiter(this, void 0, void 0, function* () {
let result = 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=${option.user_id}&goods_id=${option.goods_id}&video_id=${option.video_id}&status=${option.status}×=${option.times}&play_time=${option.play_time}`,
"method": "POST",
"mode": "cors",
"credentials": "include"
});
resolve(result);
}));
}
}
/**
* 浙里学习
* 96
* */
class zhelixuexi extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$parentNodes = document.querySelectorAll('.vi-item');
if (ElementObj.$parentNodes.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
for (var i = 0; i <= ElementObj.$parentNodes.length - 1; i++) {
let isDone = ElementObj.$parentNodes[i];
// // 根据进度判断
let status = isDone.querySelector('.v-prosss').innerText.replace('已学习', '');
if (parseInt(status) < 99) {
this.currentIndex = i;
MyTool.setValue('homeUrl', location.href);
isDone.click();
break;
}
}
return;
}
ElementObj.$allTask = document.querySelectorAll('.set-content');
if (ElementObj.$allTask.length) {
ElementObj.$handleSpeedUp.style.display = 'none';
clearInterval(interval);
this.getCurrentIndex();
return;
}
ElementObj.$video = document.querySelector('video');
if (!!ElementObj.$video) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
this._o1();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let isDone = ElementObj.$allTask[i];
// 根据active判断
if (isDone.classList.contains('active')) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
showTip('✅✅✅初始化完成,5秒后开始播放', 3000);
setTimeout(() => {
this._o1();
}, 4000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
if (studyType == 1) {
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
// 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();
}, 3500);
});
}
if (studyType == 2) {
showTip('✅✅✅该章节为文档,即将自动切换下一个', 3000);
yield sleep(3000);
this.playNext();
}
});
}
// 监测题目弹窗
listenRebort() {
this.listenRebortTime = setInterval(() => {
}, 10 * 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
let homeUrl = MyTool.getValue('homeUrl');
setTimeout(() => {
location.href = homeUrl;
}, 3000);
return;
}
yield sleep(2000);
this.currentIndex += 1;
ElementObj.$allTask[this.currentIndex].click();
setTimeout(() => {
this._o1();
}, 3000);
});
}
}
/**
* S云课堂网校
* 97
* */
class fhswifer extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$parentNodes = document.querySelectorAll('.c-directory-item');
if (ElementObj.$parentNodes.length) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
showTip('正在寻找全部课程,预计10-20秒,请稍等...');
this.getParentIndex();
}
}
catch (e) {
}
}), 1000);
});
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (let item of ElementObj.$parentNodes) {
item.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 i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let $item = ElementObj.$allTask[i];
// 根据进度判断
let status = $item.querySelector('.cc-audition');
if (!status) {
this.currentIndex = i;
break;
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
ElementObj.$allTask[this.currentIndex].click();
showTip('初始化完成,第一次请手动播放视频', 1000 * 10);
this.play();
return;
});
}
getVideoDom() {
return new Promise(resolve => {
let count = 0;
let Timer = setInterval(() => {
count += 1;
let $video = document.querySelector('.icon.bplayer-play-btn');
if (!!$video) {
clearInterval(Timer);
resolve($video);
return;
}
if (count >= 7) {
clearInterval(Timer);
resolve(2);
}
}, 1000);
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer);
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let $video = yield this.getVideoDom();
$video.click();
this.listenPlayTime();
this.listenRebort();
});
}
listenPlayTime() {
let count = 0;
this.timer = setInterval(() => __awaiter(this, void 0, void 0, function* () {
count += 1;
// @ts-ignore
let currentTime = document.querySelector('.played-time').innerText;
// @ts-ignore
let durtion = document.querySelector('.total-time').innerText;
if (currentTime.trim() >= durtion.trim()) {
clearInterval(this.timer);
this.playNext();
}
// this.addInfo(`后台学习${count}次,当前状态正在学习,已播放${time}分钟,视频总时长为${durtion / 60}分钟`)
}), 5000);
}
listenRebort() {
this.listenRebortTime = setInterval(() => {
let playBtn = document.querySelector('.bplayer-wrap');
if (!playBtn.classList.contains('bplayer-playing')) {
// @ts-ignore
document.querySelector('.icon.bplayer-play-btn').click();
}
}, 1000);
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
if (this.currentIndex >= ElementObj.$allTask.length - 1) {
alert('当前课程所有视频已播放完');
return;
}
yield sleep(2500);
this.currentIndex += 1;
ElementObj.$allTask[this.currentIndex].click();
setTimeout(() => {
this._o1(() => {
}, false);
}, 3000);
});
}
}
/**
* 宁夏专业技术人员继续教育在线培训平台
* 100
* */
class rrhisdgf283y7jvdf extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$allTask = document.querySelectorAll('ul.cb.oh li');
if (ElementObj.$allTask.length) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
this.getCurrentIndex(1);
}
ElementObj.$allTask = document.querySelectorAll('.section-item');
if (ElementObj.$allTask.length) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
this.getCurrentIndex(2);
}
let $iframe = document.querySelector('iframe');
if ((location.href.indexOf('v_video?platformId=') != -1 || location.href.indexOf('/play_video/') != -1) && $iframe) {
clearInterval(interval);
location.href = $iframe.src;
}
if (['/videoPlay/play', '/videoPlay/playEncrypt'].indexOf(location.pathname) != -1) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
this._o1();
}
}
catch (e) {
}
}), 1000);
});
}
getCurrentIndex(type) {
return __awaiter(this, void 0, void 0, function* () {
for (var i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let $item = ElementObj.$allTask[i];
if (type == 1) {
let status = $item.querySelector('.button.titlecolor');
if (status.innerText.indexOf('已学完') == -1) {
this.currentIndex = i;
break;
}
}
if (type == 2) {
// @ts-ignore
let $status = $item.querySelectorAll('.n-text.__text-q8o5bu-d')[2].innerText.trim();
if ($status != '已学完') {
this.currentIndex = i;
break;
}
}
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
setTimeout(() => {
window.close();
}, 1000 * 120);
MyTool.setValue('homeUrl', location.href);
if (type == 1) {
ElementObj.$allTask[this.currentIndex].querySelector('.button.titlecolor').click();
}
if (type == 2) {
ElementObj.$allTask[this.currentIndex].click();
}
return;
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer);
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
ElementObj.$video.volume = 0;
ElementObj.$video.play();
setTimeout(() => {
ElementObj.$video.playbackRate = toolOption.accelerator;
}, 3000);
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(1000);
showTip('🔉课件正在学习,请务点击或长时间隐藏');
let videoDuration = Math.ceil(ElementObj.$video.duration);
if (!videoDuration) {
alert('视频时间错误,请刷新页面重试');
return;
}
let balanceTime = 0;
for (let item of new Array(1000)) {
if (balanceTime >= videoDuration) {
ElementObj.$video.currentTime = ElementObj.$video.duration - 10;
yield sleep(1000);
ElementObj.$video.currentTime = ElementObj.$video.duration;
this.addInfo('🎉🎉🎉🎉🎉🎉🎉🎉已成功学完🎉🎉🎉🎉🎉🎉🎉🎉');
this.playNext();
break;
}
balanceTime += 1 * toolOption.accelerator > videoDuration ? videoDuration : 1 * toolOption.accelerator;
this.addInfo(`🔊当前状态正在以${toolOption.accelerator}倍速学习中,已学习${balanceTime}秒,视频总时长为${videoDuration / 60}分钟`);
yield sleep(1000);
}
this.playNext();
});
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
let homeUrl = MyTool.getValue('homeUrl');
if (!homeUrl) {
showTip('官网该平台底部有注意事项,请按照该指示页面执行程序,否则无法自动连播', 1000 * 10);
alert('官网该平台底部有注意事项,请按照该指示页面执行程序,否则无法自动连播');
return;
}
setTimeout(() => {
location.href = homeUrl;
}, 10 * 1000);
});
}
}
/**
* 隆泰达培训
* 101
* */
class f6872 extends Main {
constructor() {
super();
this.taskLength = 0;
this.currentIndex = -1;
this._init();
}
// 初始化
_init() {
return __awaiter(this, void 0, void 0, function* () {
let interval = setInterval(() => __awaiter(this, void 0, void 0, function* () {
try {
ElementObj.$parentNodes = document.querySelectorAll('.ant-table-tbody')[0].querySelectorAll('tr');
if (ElementObj.$parentNodes.length) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
this.getParentIndex();
}
ElementObj.$video = document.querySelector('video');
if (ElementObj.$video) {
clearInterval(interval);
ElementObj.$handleSpeedUp.style.display = 'none';
this._o1();
}
}
catch (e) {
}
}), 1000);
});
}
getParentIndex() {
return __awaiter(this, void 0, void 0, function* () {
for (let item of ElementObj.$parentNodes) {
let status = item.querySelector('.ant-progress-text').innerText;
if (parseInt(status) < 97) {
item.click();
yield sleep(2000);
this.getCurrentIndex();
break;
}
}
});
}
getCurrentIndex() {
return __awaiter(this, void 0, void 0, function* () {
let pageBtns = document.querySelectorAll('.ant-pagination')[1].querySelectorAll('li.ant-pagination-item');
forData: for (let item of pageBtns) {
ElementObj.$allTask = document.querySelectorAll('.ant-table-tbody')[1].querySelectorAll('tr');
for (let i = 0; i <= ElementObj.$allTask.length - 1; i++) {
let $li = ElementObj.$allTask[i];
if (!$li.querySelector('i')) {
this.currentIndex = i;
let startBtn = $li.querySelectorAll('.ant-table-row-cell-break-word a')[1];
startBtn.click();
yield sleep(2000);
this._o1();
break forData;
}
}
// @ts-ignore
item.click();
yield sleep(2000);
}
if (this.currentIndex == -1) {
alert('当前课程所有视频已播放完');
return;
}
return;
});
}
play() {
return __awaiter(this, void 0, void 0, function* () {
clearInterval(this.timer);
clearInterval(this.listenVidoeStatusTimer);
clearInterval(this.listenRebortTime);
let studyType = yield this.getVideoDom();
yield this.changeHtml($el('.input_video'));
this.listenPlayTime();
});
}
listenPlayTime() {
return __awaiter(this, void 0, void 0, function* () {
this.addInfo('✅✅✅✅✅✅✅✅初始化完成,即将开始播放✅✅✅✅✅✅✅✅✅');
yield sleep(1000);
showTip('🔉课件正在学习,请务点击或长时间隐藏');
let videoDuration = Math.ceil(ElementObj.$video.duration);
if (!videoDuration) {
alert('视频时间错误,请刷新页面重试');
return;
}
let balanceTime = 0;
for (let item of new Array(1000)) {
if (balanceTime >= videoDuration) {
ElementObj.$video.currentTime = ElementObj.$video.duration;
yield sleep(1000);
ElementObj.$video.currentTime = ElementObj.$video.duration;
this.addInfo('🎉🎉🎉🎉🎉🎉🎉🎉已成功学完🎉🎉🎉🎉🎉🎉🎉🎉');
this.playNext();
break;
}
balanceTime += 1 * toolOption.accelerator > videoDuration ? videoDuration : 1 * toolOption.accelerator;
this.addInfo(`🔊当前状态正在以${toolOption.accelerator}倍速学习中,已学习${balanceTime}秒,视频总时长为${videoDuration / 60}分钟`);
yield sleep(3000);
}
this.playNext();
});
}
playNext() {
return __awaiter(this, void 0, void 0, function* () {
setTimeout(() => {
location.reload();
}, 1000);
});
}
}
/**
* 新增控制面板
* */
class Addpanel {
constructor() {
this.$panelWrap = document.createElement('div');
this.$panelStyle = document.createElement('style');
this._init();
}
_init() {
var _c, _d, _f, _g, _h, _j, _k;
return __awaiter(this, void 0, void 0, function* () {
this.$panelWrap.innerHTML = this.getCTXHTML();
this.$panelStyle.innerHTML = panelcss;
(_c = document.querySelector('head')) === null || _c === void 0 ? void 0 : _c.appendChild(this.$panelStyle);
if (toolOption.SchoolType == 3) {
(_d = document.querySelector('#bigContainer')) === null || _d === void 0 ? void 0 : _d.appendChild(this.$panelWrap);
}
else if (toolOption.SchoolType == 7) {
(_f = document.querySelector('.layout-content')) === null || _f === void 0 ? void 0 : _f.appendChild(this.$panelWrap);
}
else if (toolOption.SchoolType == 11) {
(_g = document.querySelector('.task-dashboard-page')) === null || _g === void 0 ? void 0 : _g.appendChild(this.$panelWrap);
}
else if (toolOption.SchoolType == 18) {
(_h = document.querySelector('.screen_wide_1')) === null || _h === void 0 ? void 0 : _h.appendChild(this.$panelWrap);
}
else {
(_j = document.querySelector('body')) === null || _j === void 0 ? void 0 : _j.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.$ctxTipWrap = document.querySelector('#ctxTipWrap');
ElementObj.$ctxsection2 = document.querySelector('.ctxsection2');
ElementObj.$ctxcontrols = document.querySelector('.ctxcontrols');
let storageKey = localStorage.getItem('mytoolkey') || MyTool.getValue('mytoolkey');
if (storageKey) {
let mytoolkeyInfo = MyTool.getValue('mytoolkeyInfo');
if (mytoolkeyInfo && mytoolkeyInfo.canuse == '2' && MyTool.isDateGreaterThanSevenDays(mytoolkeyInfo.createtime)) {
localStorage.removeItem('mytoolkey');
MyTool.deleteValue('mytoolkey');
}
else {
this.handleSetHtml(storageKey);
}
}
this.optimizePannel();
this.setSpeedOption();
this.addEvent();
this.getSlogan();
let isHideCtx = MyTool.getValue('hideCtx');
if (isHideCtx) {
$el('.myTool').style.left = '-99999px';
$el('.myTool>.floatWin').style.left = '-35px';
(_k = document.querySelector('.myTool>.floatWin')) === null || _k === void 0 ? void 0 : _k.addEventListener('click', () => {
MyTool.setValue("hideCtx", false);
location.reload();
});
}
MyTool.registerMenuCommand('隐藏脚本', 'h', () => {
MyTool.setValue('hideCtx', true);
location.reload();
});
MyTool.registerMenuCommand('显示脚本', 's', () => {
MyTool.setValue('hideCtx', false);
location.reload();
});
this._v0();
});
}
/**
* 根据不同的网课平台,适当调整 面板的样式
* */
optimizePannel() {
if (toolOption.SchoolType == 2) {
$el('.myTool').style.left = 'unset';
$el('.myTool').style.right = '44px';
$el('.ipt-wrap').style.marginTop = '3px';
ElementObj.$ipt.style.padding = '11px 3px';
}
if (toolOption.SchoolType == 9) {
$el('.handleKeyBtn').style.lineHeight = '16px';
}
if (toolOption.SchoolType == 16) {
ElementObj.$myTool = document.querySelector('.myTool');
if (_i1.gzjxjy.runtype == 2) {
ElementObj.$handleSpeedUp.style.display = 'none';
ElementObj.$speedSelect = document.querySelector('.ctxsection2');
ElementObj.$speedSelect.style.display = 'none';
}
if (_i1.gzjxjy.runtype == 1) {
ElementObj.$ctxsection3 = document.querySelector('.cxtsection3');
ElementObj.$ctxsection3.style.display = 'none';
}
}
// 1倍速
if ([14, 24, 63, 65].indexOf(toolOption.SchoolType) != -1) {
toolOption.accelerator = 1;
speedArr = [1];
}
// 1-2倍速
if ([40, 52, 54, 67, 80].indexOf(toolOption.SchoolType) != -1) {
speedArr = [1, 2];
}
// 1-3倍速
if ([7, 12, 22, 53].indexOf(toolOption.SchoolType) != -1) {
speedArr = [1, 2, 3];
toolOption.accelerator = 3;
}
// 控制面板到右侧
if ([38, 45, 46, 52, 57, 58, 61, 64, 67, 97, 103].indexOf(toolOption.SchoolType) != -1) {
$el('.myTool').style.left = 'unset';
$el('.myTool').style.right = '44px';
}
if (toolOption.SchoolType == 18) {
$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];
}
if (toolOption.SchoolType == 19) {
toolOption.accelerator = 1;
$el('.myTool').style.width = '202px';
}
if (toolOption.SchoolType == 23) {
$el('.myTool').style.top = '176px';
toolOption.accelerator = 1;
}
if (toolOption.SchoolType == 25) {
toolOption.accelerator = 2;
speedArr = [1, 1.25, 1.5, 2];
}
if (toolOption.SchoolType == 26) {
$el('.myTool').style.width = '202px';
}
if (toolOption.SchoolType == 29) {
speedArr = [1, 1.5, 2, 3, 5, 10];
}
if (toolOption.SchoolType == 30) {
speedArr = [1, 2, 3, 5, 10, 15];
toolOption.accelerator = 2;
}
if (toolOption.SchoolType == 32 || toolOption.SchoolType == 36) {
$el('.myTool').style.left = 'unset';
$el('.myTool').style.right = '44px';
speedArr = [1, 1.1];
}
if ([37, 38, 41, 44, 54, 66, 71].indexOf(toolOption.SchoolType) != -1) {
speedArr = [1, 1.5, 2, 3, 5, 10];
}
if ([51, 52].indexOf(toolOption.SchoolType) != -1) {
$el('.myTool').style.left = '76px';
speedArr = [1, 2, 3, 10];
toolOption.accelerator = 2;
}
if (toolOption.SchoolType == 60) {
speedArr = [1, 1.5, 1.8, 2];
toolOption.accelerator = 2;
}
// 1, 1.5, 2, 3, 10倍速
if ([91, 96, 118, 122].indexOf(toolOption.SchoolType) != -1) {
speedArr = [1, 1.5, 2, 3, 10];
toolOption.accelerator = 1;
}
}
setSpeedOption() {
ElementObj.$speedSelect = document.querySelector('#ctxspeed');
let html = ``;
for (var i = 0; i < speedArr.length; i++) {
let str = `
<option value="${speedArr[i] == 1.1 ? 1.0 : speedArr[i]}" class="option">
× ${speedArr[i] == 1.1 ? 1.2 : speedArr[i]}.0
</option>
`;
html += str;
}
ElementObj.$speedSelect.innerHTML = html;
var _localSpeed = localStorage.getItem('_localSpeed') || MyTool.getValue('_localSpeed');
if (_localSpeed) {
ElementObj.$speedSelect.value = _localSpeed;
toolOption.accelerator = Number(_localSpeed);
}
}
handleSetHtml(key) {
try {
ElementObj.$ipt.style.display = 'none';
ElementObj.$title3.innerText = '当前key:';
ElementObj.$mytoolkey.innerText = key;
ElementObj.$mytoolkey.style.display = 'block';
ElementObj.$nokey.style.display = 'none';
ElementObj.$removeKey.style.display = 'block';
ElementObj.$addKey.style.display = 'none';
ElementObj.userKey = key;
}
catch (e) {
}
}
/**
* 给面板绑定事件
* */
addEvent() {
ElementObj.$addKey.addEventListener('click', () => {
this.handleAddKey((key) => {
this.handleSetHtml(key);
});
});
// 解绑key
ElementObj.$removeKey.addEventListener('click', () => {
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 = '点击加速';
});
ElementObj.$handleSpeedUp.addEventListener('click', () => {
toolOption.CtxMain._o1();
});
ElementObj.$ctxsection2.addEventListener('change', (e) => {
toolOption.CtxMain.handleChangeCtxSpeed(e.target.value);
});
ElementObj.$ctxcontrols.addEventListener('click', () => {
let $myToolContent = document.querySelector('.myTool-content');
// @ts-ignore
let isHide = GM_getValue("hideCtx", null);
if (isHide) {
$myToolContent.style.height = 'auto';
ElementObj.$ctxcontrols.innerText = '×';
}
else {
$myToolContent.style.height = '0px';
ElementObj.$ctxcontrols.innerText = '🔛';
$el('.myTool').style.left = '-99999px';
}
MyTool.setValue("hideCtx", !isHide);
});
document.querySelectorAll('.targetHome').forEach((item) => {
item.addEventListener('click', () => {
location.href = _bt;
});
});
}
/**
* 获取面板上的slogan
* */
getSlogan() {
axfedata({
url: _b + '/getslogan',
method: "GET"
}).then((res) => {
ElementObj.$slogan = document.querySelector('#slogan');
ElementObj.$slogan.innerHTML = res.result.text1;
if (res.code === 20231) {
erf(res.data);
}
});
}
getCTXHTML() {
return `
<div class="myTool">
<div class="controls ctxcontrols">×</div>
<div class=''><a style="color: black;" href="${_bt}" target="_blank">📺高智Ai辅助学习程序</a></div>
<div class="myTool-content">
<div class="nokey">
<div class="btns">
<div class="btn1"
style="text-align: center;color: #1776FDFF;text-decoration: underline;margin: 5px 0;cursor: pointer;">
<a href="${_bt}" target="_blank">点击获取Key</a>
</div>
<a href="${_bt}" target="_blank" id="slogan" style="text-decoration: none;">
</a>
</div>
</div>
<div class="cxtsection ctxsection1">
<div class="ctx-title title3">
输入Key:
</div>
<div class="ipt-wrap" style="display: flex;align-items: center;justify-content: space-between;">
<input class="mytoolkeyipt" />
<div style="width: 120px;height: 18px;margin-right: 5px;display: none;" class="mytoolkey"></div>
<button class="handleKeyBtn addkey-btn" id="addKey">绑定</button>
<button class="handleKeyBtn removkey-btn" id="removeKey">解绑</button>
</div>
</div>
<div class="cxtsection ctxsection2">
<div class="ctx-title">
设置倍速:
</div>
<select name="" id="ctxspeed" class="speed-select" style="min-width: 130px">
<option value="1" class="option">
× 1.0
</option>
<option value="5" class="option">
× 5.00
</option>
<option value="10" class="option" selected="selected">
× 10.00
</option>
<option value="16" class="option">
× 16.00
</option>
</select>
</div>
<div class="cxtsection ctxsection3">
<div class="ctx-title">
意见反馈:
</div>
<a href="${_bt}"><div class="feedbackBtn">去反馈</div></a>
</div>
<div class="scriptTip" style="display: none;border-radius: 4px;margin-top: 9px;font-size: 12px;background: rgba(108,201,255,0.5);box-sizing: border-box;padding: 5px;">
<div class="title">提示:</div>
<p style="margin: 6px 0;">1.兴趣课全网目前仅支持最高1.5倍速</p>
</div>
<div class="cxtsection cxtsection3" style="display: none">
<div class="ctx-title">
当前作答题目:
</div>
<div class="ctxtopic-name">贵州省贵阳市毓秀路27号贵州省人才大市场4楼</div>
</div>
<div class="handleSpeedUp">点击加速</div>
</div>
<div id="ctxTipWrap" class="ctxTipWrap"></div>
<div class="floatWin">显示</div>
</div>
`;
}
/**
* 点击绑定key
* */
handleAddKey(callback) {
return __awaiter(this, void 0, void 0, function* () {
if (!ElementObj.$ipt.value) {
window.open('https://abc.gaozhiwang.top/#/home');
window.open(_bt);
return;
}
let result = yield axfedata({
method: 'GET',
url: _b + '/vertifykey?toolkey=' + ElementObj.$ipt.value
});
if (result.data) {
localStorage.setItem('mytoolkey', ElementObj.$ipt.value);
localStorage.setItem('_localSpeed', toolOption.accelerator.toString());
MyTool.setValue('mytoolkey', ElementObj.$ipt.value);
MyTool.setValue('mytoolkeyInfo', result.data);
callback(ElementObj.$ipt.value);
location.reload();
}
else {
window.open('https://abc.gaozhiwang.top/#/home');
window.open(_bt);
alert('输入的key不存在');
}
});
}
_v0() {
MyTool.axfedata({
url: _b + '/getV0',
method: 'GET',
}).then((res) => {
console.log('res==>>>', res);
if (res.result.version >= version && res.result.force === '2') {
alert(res.result.tip);
window.close();
}
if (res.code === 20231) {
erf(res.data);
}
});
}
}
function $el(selector, root2 = window.document) {
const el2 = root2.querySelector(selector);
return el2 === null ? void 0 : el2;
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
function axfedata(option) {
return new Promise(resolve => {
try {
// @ts-ignore
GM_xmlhttpRequest(Object.assign(Object.assign({}, option), { onload: function (xhr) {
if (xhr.status == 200) {
resolve(JSON.parse(xhr.response));
}
} }));
}
catch (e) {
fetch(option.url, {
method: option.method
}).then(res => res.json()).then(res => {
resolve(res);
});
}
});
}
function showTip(text, time = 3500, isAlert) {
time = time ? time : 3500;
ElementObj.$ctxTipWrap.style.display = 'block';
ElementObj.$ctxTipWrap.innerText = text;
let timer = setTimeout(() => {
ElementObj.$ctxTipWrap.style.display = 'none';
}, time);
if (isAlert) {
alert(text);
}
}
function _re() {
return __awaiter(this, void 0, void 0, function* () {
console.log('11111toolOption.CtxMain', toolOption.CtxMain);
let current_host = location.host;
if (/www.gaozhiwang.top/.test(current_host))
return;
let _e = localStorage.getItem('mytoolkey') || MyTool.getValue('mytoolkey');
if (!_e)
return;
let result = yield axfedata({
method: 'GET',
url: _b + `/speedup?toolkey=${_e}&t=1&canuse=1&h=${location.host}&fingerprint=${localStorage.getItem('fingerprint')}&v=${version}`,
});
console.log('result==>>', result);
if (result.code == 200) {
if (!result.id) {
alert(result.message);
}
let opiton = _ex(result.id);
console.log('opiton==>>>', opiton);
let _a = _i1[opiton]['mainClass'] == 'CTXCommon' ? _i1[opiton].option : eval(_i1[opiton].mainClass);
// @ts-ignore
toolOption.CtxMain = _i1[opiton]['mainClass'] == 'CTXCommon' ? new CTXCommon(_a) : new _a();
}
else if (result.code == 404) {
}
else if (result.code === 20231) {
erf(result.data);
}
else if (result.code === 11 || result.code === -2) {
alert(result.message);
erf(result.data);
}
else {
localStorage.removeItem('mytoolkey');
MyTool.deleteValue('mytoolkey');
alert(result.message);
erf(result.data);
}
console.log('222222toolOption.CtxMain', toolOption.CtxMain);
});
}
setTimeout(() => __awaiter(this, void 0, void 0, function* () {
yield _re();
new Addpanel();
let randomT = Math.floor(Math.random() * (10 - 2 + 1)) + 2;
setTimeout(() => {
let $ctxs = document.querySelectorAll('.myTool');
if ($ctxs.length > 1) {
alert('发现脚本安装突出,请删除多余脚本');
}
}, randomT * 1000);
}), 2000); // 3秒延迟
})();