Giter Club home page Giter Club logo

zhihuishu-assistant's People

Contributors

cdroad avatar heiye9 avatar wangzexi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

zhihuishu-assistant's Issues

当发生"弹窗答题"导致切换到下一节 bug解决

(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 (!/liuchang/.test($('.definiBox').attr('style'))) {
			// 	console.log('更改画质')
			// 	$('.line1bq').click()
			// }

			if (!/1\.5/.test($('.speedBox').attr('style')) && !SpeedFlag) {
				console.log('提升到1.5倍速')
				SpeedFlag = 1
				$('.speedTab15').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()

			}

			else 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()
}())

// 由wangzexi代码改进而来,增加了两个flag用于判断。

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

(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()

}())

A similar project by me

TalentChopper is a similar project which I made several years ago (when I was a student), and I'm not sure if it still works.
However, when it works you would just need to spend a few seconds on each lesson.

疑似发现使用bug

弹题之后马上就进行了下一个while 循环 进行了是否播放if判断 迅速在弹题之后将暂停的视频继续播放,和正常用户行为不一样。

点击按钮坐标是否需要随机偏移

jQuery的DOM元素click方法是否存在坐标点偏移,还是默认0,0点 ,我之前写过其他平台的挂课脚本,弹窗关闭按钮在固定位置将会检测到作弊

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.