// ==UserScript==
// @name (秒过失效)2025年智慧中小学寒假教师研修-此脚本不再更新,原因看简介
// @namespace http://tampermonkey.net/
// @version 0.676
// @author hydrachs
// @description 禁止非法修改与二次分发-实在是被某些人恶心到了,在油叉里面照搬我的代码干嘛,我tm熬夜写的代码就直接给你们做嫁衣是吧?!换上你的微信号就是你的代码?最起码的尊重都没有!想做单进我群也行了,群里一堆刷单的,我一没收钱二也没踢出去。实在不理解这种搬代码的行为。行,我不更新了,行了吧,太恶心了
// @license Proprietary
// @match https://basic.smartedu.cn/*
// @match https://www.smartedu.cn/*
// @match https://teacher.vocational.smartedu.cn/*
// @match https://core.teacher.vocational.smartedu.cn/*
// ==/UserScript==
(function () {
'use strict';
const validateAuthor = () => {
try {
const realAuthor = (() => {const arr = [104, 121, 100, // 134,135,49,63 //78,132,152
114, 97, 99, // 34,137,149,53 //126,59,76
104, 115 // 17,62,45,63 //78,132,152
];
return arr.map(c => String.fromCharCode(c)).join('');
})();
const declaredAuthor = GM_info.script.author;
if (realAuthor !== declaredAuthor) {
throw new Error('作者信息不匹配');
}
return true;
} catch (e) {
const errorMsg = `⚠️此脚本非原版!\n⚠️此脚本非原版!\n⚠️此脚本非原版!\n错误代码:0x${Date.now().toString(16)}\n点击“确定”去下载原版`;
alert(errorMsg);
window.location.href = 'https://greasyfork.org/zh-CN/scripts/486386';
return false;
}
};
if (!validateAuthor()) return;
const decodeBase64 = (base64Str) => {
try {
return decodeURIComponent(escape(atob(base64Str)));
} catch {
return '[消息被篡改]';
}
};
const popupMessage1 = '5rOo5oSP77yB5LiN5pSv5oyB6auY5qCh44CB6IGM5pWZ';
const popupMessage2 = '5L2c6ICFKGh5ZHJhY2hz77yJ5o+Q56S677ya';
const popupMessage3 = 'MS7kvb/nlKjmlrnms5XvvJrlhYjmiZPlvIDlvIDlj5HogIXmqKHlvI/vvIznhLblkI7ngrnlvIDop4bpopHvvIzpvKDmoIflv6vpgJ/ngrnlh6DmrKHnqbrnmb3lpITmiJbogIXmjInplK7nm5jlrZfmr43ljLrvvIznhLblkI7op4Llr5/ov5vluqbmnaHmmK/lkKbot7PovazliLDmnIDlkI7lh6Dnp5LvvIzlpoLmnpzot7Pov4fljrvkuobvvIznrYnlvoXop4bpopHmkq3mlL7lrozmiJDljbPlj6/jgILlpoLmnpzov5vluqbmnaHov5jlnKjliY3pnaLvvIzlho3mrKHlv6vpgJ/ngrnlh6DmrKHnqbrnmb3lpITmiJbogIXmmoLlgZwv5pKt5pS+6ZSu77yM55u05Yiw6L+b5bqm5p2h6Lez6L2s5Yiw5pyA5ZCO5Yeg56eS77yb';
const popupMessage4 = 'Mi7mraTohJrmnKzmsLjkuYXlhY3otLnvvIzku6XliY3jgIHnjrDlnKjjgIHmnKrmnaXpg73lhY3otLnvvIzosKjpmLLkuIrlvZPlj5fpqpfvvJs=';
const popupMessage5 = 'My7lj7PkuIrop5LmnInlvLnnqpflvIDlhbPmjInpkq7vvIzop4nlvpflvLnnqpfng6bnmoTlj6/ku6XlhbPpl60=';
const popupMessage6 = 'NC7pgYfliLDpl67popjngrnlj7PkuIrop5LliqDigJzkvIHpuYXnvqTigJ3vvIzkuZ/lj6/ku6XngrnigJzogZTns7vohJrmnKzkvZzogIXigJ0sIOe+pOWPtzEwMzAwOTAxMTTmiJbogIUyNDcwNTY3MTfmiJbogIUxOTEzNDQ1NzDjgII=';
const popupMessage7 = '4oCU4oCU4oCUaHlkcmFjaHM=';
function createPopup() {
const checkDOM = setInterval(() => {
if (document.body) {
clearInterval(checkDOM);
createPopupNow();
}
}, 100);
function createPopupNow() {
const messages = [
decodeBase64(popupMessage1),
decodeBase64(popupMessage2),
decodeBase64(popupMessage3),
decodeBase64(popupMessage4),
decodeBase64(popupMessage5),
decodeBase64(popupMessage6),
decodeBase64(popupMessage7)
];
// 移除舅弹窗
const oldModal = document.querySelector('div[style*="zIndex: 9999"]');
if (oldModal) oldModal.remove();
const modal = document.createElement('div');
modal.style.cssText = `
position: fixed;
top: 20%;
left: 20%;
width: 60%;
background: white;
padding: 20px;
border-radius: 5px;
box-shadow: 0 0 10px rgba(0,0,0,0.5);
z-index: 9999;
`;
const style = document.createElement('style');
style.innerHTML = `@keyframes snakeAnim {
0%{transform:rotate(0)}
25%{transform:rotate(10deg)}
50%{transform:rotate(0)}
75%{transform:rotate(-10deg)}
100%{transform:rotate(0)}
}`;
document.head.appendChild(style);
//社联动化
const title = document.createElement('h1');
title.textContent = messages[0];
title.style.cssText = `
color: red;
font-size: 70px;
text-align: center;
margin: 0 0 20px 0;
animation: snakeAnim 2s infinite;
`;
modal.appendChild(title);
messages.slice(1).forEach((msg, index) => {
if (!msg) return;
const p = document.createElement('p');
p.textContent = msg;
p.style.cssText = `
font-size: ${index === 5 ? '25px' : index === 0 ? '23px' : '19px'};
margin: 0 0 15px 0;
${index === 5 ? 'text-align: right;' : ''}
`;
modal.appendChild(p);
});
const btn = document.createElement('button');
btn.textContent = '我知道了';
btn.style.cssText = `
display: block;
margin: 20px auto 0;
padding: 8px 20px;
cursor: pointer;
`;
btn.onclick = () => {
modal.remove();
style.remove();
};
modal.appendChild(btn);
document.body.appendChild(modal);
}
}
// █████████████████████ 初始化高达 █████████████████████
let isPopupOpen = localStorage.getItem('popupState') !== 'false';
if (isPopupOpen) {
setTimeout(createPopup, 500);
}
// 创建暗影
function createContactButton() {
const button = document.createElement('button');
button.textContent = '联系作者';
button.style.position = 'fixed';
button.style.top = '10px';
button.style.right = '10px';
button.style.zIndex = '10000';
button.style.padding = '10px 20px';
button.style.border = 'none';
button.style.backgroundColor = '#ff0000';
button.style.color = '#ffd700';
button.style.fontWeight = 'bold';
button.onclick = function () {
window.open('https://space.bilibili.com/15344563', '_blank');
};
document.body.appendChild(button);
const qqGroupButton = document.createElement('button');
qqGroupButton.textContent = '加企鹅群';
qqGroupButton.style.position = 'fixed';
qqGroupButton.style.top = '50px';
qqGroupButton.style.right = '10px';
qqGroupButton.style.zIndex = '10000';
qqGroupButton.style.padding = '10px 20px';
qqGroupButton.style.border = 'none';
qqGroupButton.style.backgroundColor = '#007BFF';
qqGroupButton.style.color = '#fff';
qqGroupButton.style.fontWeight = 'bold';
qqGroupButton.onclick = function () {
window.open('https://s.fnnas.net/s/94300283165348b2bb', '_blank');
};
document.body.appendChild(qqGroupButton);
const popupControlButton = document.createElement('button');
popupControlButton.style.position = 'fixed';
popupControlButton.style.top = '90px';
popupControlButton.style.right = '10px';
popupControlButton.style.zIndex = '10000';
popupControlButton.style.padding = '10px 20px';
popupControlButton.style.border = 'none';
popupControlButton.style.backgroundColor = isPopupOpen? '#28a745' : '#dc3545';
popupControlButton.style.color = '#fff';
popupControlButton.style.fontWeight = 'bold';
popupControlButton.style.cursor = 'pointer';
updatePopupControlButtonText(popupControlButton);
popupControlButton.onclick = function () {
isPopupOpen =!isPopupOpen;
localStorage.setItem('popupState', isPopupOpen? 'true' : 'false');
const existingPopup = document.querySelector('div[style*="zIndex: 9999"]');
if (existingPopup) {
existingPopup.remove();
}
if (isPopupOpen) {
createPopup(popupMessage1, popupMessage2, popupMessage3, popupMessage4, popupMessage5, popupMessage6, popupMessage7);
}
updatePopupControlButtonText(popupControlButton);
};
document.body.appendChild(popupControlButton);
}
function updatePopupControlButtonText(button) {
if (isPopupOpen) {
button.textContent = '已开启弹窗';
button.style.backgroundColor = '#28a745';
} else {
button.textContent = '已关闭弹窗';
button.style.backgroundColor = '#dc3545';
}
}
// 弹弹弹
if (isPopupOpen) {
createPopup(popupMessage1, popupMessage2, popupMessage3, popupMessage4, popupMessage5, popupMessage6, popupMessage7);
}
createContactButton();
function removePopup() {
var popup = document.querySelector('.fish - modal - confirm - btns');
if (popup) {
popup.parentNode.removeChild(popup);
console.log('出现知道了按钮');
}
}
function removeNewPopup() {
var newPopup = document.querySelector('.fish - modal - content');
if (newPopup) {
newPopup.parentNode.removeChild(newPopup);
console.log('移除弹窗2');
}
}
function skipVideo() {
let video = document.querySelector('video');
if (video) {
video.muted = true;
video.play();
video.pause();
video.currentTime = video.duration;
video.play();
setTimeout(700);
video.currentTime = video.duration - 3;
video.play();
video.currentTime = video.duration - 5;
video.play();
}
}
// 海豚音播放视频
function skipVideo2() {
let video = document.querySelector('video');
if (video) {
video.muted = true;
video.play();
}
}
function rapidSkip(times, interval) {
let count = 0;
const intervalId = setInterval(() => {
if (count >= times) {
clearInterval(intervalId);
return;
}
skipVideo();
count++;
}, interval);
}
let clickTimer;
document.addEventListener('DOMContentLoaded', function () {
removePopup();
removeNewPopup();
console.log('移除弹窗');
});
document.addEventListener('click', function (event) {
if (event.button === 0) {
if (clickTimer) {
clearInterval(clickTimer);
}
rapidSkip(4, 50);
clickTimer = setInterval(() => {
rapidSkip(4, 50);
}, 13000);
}
});
document.addEventListener('keydown', function (event) {
const charCode = event.keyCode;
if ((charCode >= 65 && charCode <= 90) || (charCode >= 97 && charCode <= 122)) {
rapidSkip(4, 50);
}
});
})();