// ==UserScript==
// @name 信趣邦助手-章节点击 - hxdi.cn
// @namespace Violentmonkey Scripts
// @match https://study.cp.hxdi.cn/*
// @grant unsafeWindow
// @grant GM_log
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_deleteValue
// @grant GM_listValues
// @grant GM_addStyle
// @version 1.0.0
// @author -
// @run-at document-start
// @license MIT
// @description 2023/2/9 08:57:21
// ==/UserScript==
const sleep = (delay) => new Promise((resolve) => setTimeout(resolve, delay))
function isStrInArray(str, arr) {
let n = arr.length;
for (let i = 0; i < n; i++) {
if (arr[i] == str) {
return true;
}
}
return false;
}
addEventListener("load",function(){
console.log('信趣邦章节助手启动')
ty = 0
var hrefList = window.location.href.split('/')
console.log(hrefList)
if(hrefList[3]==='Studydet'){
if($('.ldtl3-item')[4].textContent!=='学习进度:100%'){
console.log('开学')
document.querySelectorAll('.ldt-ksxx')[0].click()
}
}
if((hrefList[3]==='studymap'||hrefList[3]==='StudyMap')&&hrefList[4]==='detail'){
console.log('章节界面')
var chapterslist = []
var watchingNow = 0
var chaptersIndexes = []
var timer1 = unsafeWindow.setTimeout(function() {
console.log('0.5秒钟之后读取未完成列表')
if($('.top1').length>1){
console.log('类型1')
$('.top1').each(function(index,element){
if(element.getElementsByClassName('percent').length>0 && element.getElementsByClassName('percent')[0].textContent!=='100%'){
chapterslist.push(element)
chaptersIndexes.push(element.getElementsByClassName('t_top')[0].textContent)
}
})
console.log('未完成列表:',chapterslist)
console.log('chaptersIndexes:',chaptersIndexes)
watchingNow = 0
console.log('将观看:',chapterslist[watchingNow].getElementsByClassName('t_top')[0].textContent,'进度:',chapterslist[watchingNow].getElementsByClassName('percent')[0].textContent)
}else{
console.log('类型2')
ty = 1
$('.br1').each(function(index,element){
if(element.getElementsByClassName('task_bt')[0].textContent.replaceAll('\n','').replaceAll(' ','')!=='已完成'){
chapterslist.push(element)
chaptersIndexes.push(element.getElementsByTagName('a')[0].textContent)
}
})
console.log('未完成列表:',chapterslist)
console.log('chaptersIndexes:',chaptersIndexes)
watchingNow = 0
console.log('将观看:',chapterslist[watchingNow].getElementsByTagName('a')[0].textContent,'进度:',chapterslist[watchingNow].getElementsByClassName('task_bt')[0].textContent.replaceAll('\n','').replaceAll(' ',''))
}
},500)
const repeatedGreetings1 = async () => {
console.log('点击详情','watchingNow:',watchingNow)
await sleep(1000)
// console.log(i,watchingList[i])
console.log(chapterslist[watchingNow].getElementsByClassName('detail')[0])
chapterslist[watchingNow].getElementsByClassName('detail')[0].click()
await sleep(1000)
console.log('点击学习')
// console.log(document.querySelectorAll('.study_btn')[0])
document.querySelectorAll('.study_btn')[0].click()
await sleep(1000)
}
const repeatedGreetings2 = async () => {
console.log('点击标题','watchingNow:',watchingNow)
await sleep(1000)
// console.log(i,watchingList[i])
chapterslist[watchingNow].getElementsByTagName('a')[0].click()
await sleep(1000)
console.log('点击学习')
// console.log(document.querySelectorAll('.study_btn')[0])
document.querySelectorAll('.study_btn')[0].click()
await sleep(1000)
}
var timer2 = unsafeWindow.setTimeout(function(){
console.log('timer2')
if(ty === 0){
console.log('尝试点击类型1')
repeatedGreetings1()
}else{
console.log('尝试点击类型2')
repeatedGreetings2()
}
},1000)
var timer3 = unsafeWindow.setInterval(function() {
console.log('检测当前','当前watchingNow',watchingNow)
if(ty === 0){
console.log('类型1,刷新chaptersList')
chapterslist = []
$('.top1').each(function(index,element){
if(element.getElementsByClassName('percent').length>0 && isStrInArray(element.getElementsByClassName('t_top')[0].textContent, chaptersIndexes)){
chapterslist.push(element)
}
})
console.log('刷新后列表',chapterslist)
console.log('当前播放进度:',chapterslist[watchingNow].getElementsByClassName('percent')[0].textContent)
if(chapterslist[watchingNow].getElementsByClassName('percent')[0].textContent==='100%'){
console.log('播放完毕一节,开启下一节')
watchingNow += 1
if(watchingNow === chapterslist.length){
alert('本页播放完毕')
}
repeatedGreetings1()
}
}else{
console.log('类型2,刷新chaptersList')
chapterslist = []
$('.br1').each(function(index,element){
if(isStrInArray(element.getElementsByTagName('a')[0].textContent, chaptersIndexes)){
chapterslist.push(element)
}
})
console.log('刷新后列表',chapterslist)
console.log('当前播放进度:',chapterslist[watchingNow].getElementsByClassName('task_bt')[0].textContent.replaceAll('\n','').replaceAll(' ',''))
if(chapterslist[watchingNow].getElementsByClassName('task_bt')[0].textContent.replaceAll('\n','').replaceAll(' ','')==='已完成'){
console.log('播放完毕一节,开启下一节')
watchingNow += 1
if(watchingNow === chapterslist.length){
alert('本页播放完毕')
}
repeatedGreetings2()
}
}
},10000)
}
})