ZhiHuiShu-Assistant icon indicating copy to clipboard operation
ZhiHuiShu-Assistant copied to clipboard

代码较短直接在上面改进了,加入两个flag修改了倍速和静音的判断条件。fork走了哈

Open Wangjinqian opened this issue 6 years ago • 0 comments

(function () { const MAX_DELAY = 30 // 切课时的最大延迟,单位:秒

const sleep = (time) => new Promise((resolve) => setTimeout(resolve, time))

SpeedFlag = 0
VolumeFlag = 0

const start = async function () {
	console.log('智慧树助手已启动')

	while (true) {
		console.log('正在检查')
		const delay = Math.floor(Math.random() * MAX_DELAY * 1000) + 1000

		if (!/1\.5/.test($('.speedBox').attr('style')) && !SpeedFlag) {
			console.log('提升到1.5倍速')
			SpeedFlag = 1
			$('.speedTab15').click()
		}

		// if (!/liuchang/.test($('.definiBox').attr('style'))) {
		// 	console.log('更改画质')
		// 	$('.line1bq').click()
		// }

		if ($('.volumeBox').find('.passVolume').width() != 0 && !VolumeFlag) {
			console.log('静音')
			VolumeFlag = 1
			$('.volumeIcon').click()
		}
		
		if ($('.popbtn_cancel')[0]) {
			console.log('发现弹题,将在' + delay / 1000 + ' 秒后点击关闭')
			await sleep(delay / 2)
			const iframe = document.getElementById('tmDialog_iframe').contentWindow
			iframe.document.querySelector('.answerOption label').click()
			await sleep(delay / 2)
			$('.popbtn_cancel').click()
		}

		if ($('.playButton').length > 0) {
			console.log('本节完成,' + delay / 1000 + ' 秒后将切到下一课')
			await sleep(delay)
			$('.current_play').nextAll('.video')[0].click()
			console.log('已经切换到下一课')
			console.log('点击播放')
			$('.playButton').click()
			SpeedFlag = 0
			VolumeFlag = 0
		}

		await sleep(1000)
	}
}

start()

}())

Wangjinqian avatar Oct 07 '19 10:10 Wangjinqian