// ==UserScript== // @name 秒过2025年智慧中小学寒假教师研修学习助手 // @namespace http://tampermonkey.net/ // @version 1.12 // @description 智慧中小学自动学习工具 // @author Your name // @match https://auth.smartedu.cn/* // @match https://www.smartedu.cn/* // @match https://basic.smartedu.cn/* // @grant GM_xmlhttpRequest // @copyright // @license CUSTOM // @connect zhihuizhongxiaoxue.a1.luyouxia.net // ==/UserScript== (function() { 'use strict'; // 等待DOM加载完成 function initHelper() { if (document.readyState !== 'complete') { window.addEventListener('load', createHelper); } else { createHelper(); } } // 将原有的DOM创建和样式添加逻辑封装到函数中 function createHelper() { // 检查是否已经存在助手界面 if (document.querySelector('.study-helper') || document.querySelector('.show-helper-button')) { return; } // 创建样式 const style = document.createElement('style'); style.textContent = ` .study-helper { position: fixed; top: 20px; right: 20px; background: white; padding: 20px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); width: 300px; z-index: 10000; } .helper-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px; } .helper-header h2 { margin: 0; color: #333; font-size: 18px; } .hide-button { background: none; border: none; color: #666; font-size: 20px; cursor: pointer; padding: 0 5px; width: auto !important; } .hide-button:hover { color: #333; } .show-helper-button { position: fixed; top: 20px; right: 20px; background: #4CAF50; color: white; border: none; border-radius: 4px; padding: 8px 15px; cursor: pointer; z-index: 10000; font-size: 14px; transition: background-color 0.3s; } .show-helper-button:hover { background: #45a049; } .study-helper .notice { font-size: 14px; color: #666; margin-bottom: 15px; line-height: 1.4; } .study-helper .input-group { margin-bottom: 10px; } .study-helper label { display: block; margin-bottom: 5px; color: #333; font-size: 14px; } .study-helper input { width: 100%; padding: 8px; margin-bottom: 0; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; } .study-helper button { width: 100%; padding: 10px; background: #4CAF50; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 16px; transition: background-color 0.3s; } .study-helper button:hover:not(:disabled) { background: #45a049; } .study-helper button:disabled { background: #cccccc; cursor: not-allowed; } .study-helper .result { margin-top: 10px; padding: 10px; border-radius: 4px; font-size: 14px; } .study-helper .success { background: #e8f5e9; color: #2e7d32; } .study-helper .error { background: #ffebee; color: #c62828; } .study-helper .loading { background: #fff3e0; color: #ef6c00; } @keyframes spin { 0% { content: "?"; } 33% { content: "?"; } 66% { content: "?"; } 100% { content: "?"; } } .study-helper .loading::after { content: "?"; display: inline-block; margin-left: 5px; animation: spin 1s infinite steps(4); } `; document.head.appendChild(style); // 创建HTML结构 const div = document.createElement('div'); div.className = 'study-helper'; div.innerHTML = `

智慧中小学学习助手

尊敬的用户你好,需要你输入username,password,和授权码, 授权码在这里获取, 注意,授权码有使用次数,请确认您的账号密码正确。
如果油猴脚本无法使用,可以访问网页版进行学习。
`; document.body.appendChild(div); // 创建展开按钮(初始隐藏) const showButton = document.createElement('button'); showButton.className = 'show-helper-button'; showButton.textContent = '显示学习助手'; showButton.style.display = 'none'; document.body.appendChild(showButton); // 添加隐藏按钮事件处理 const hideButton = div.querySelector('.hide-button'); hideButton.addEventListener('click', function() { div.style.display = 'none'; showButton.style.display = 'block'; }); // 添加展开按钮事件处理 showButton.addEventListener('click', function() { div.style.display = 'block'; showButton.style.display = 'none'; }); // 添加提交事件处理 document.getElementById('helper-submit').addEventListener('click', function() { const submitBtn = this; const username = document.getElementById('helper-username').value.trim(); const password = document.getElementById('helper-password').value.trim(); const authcode = document.getElementById('helper-authcode').value.trim(); const resultDiv = document.getElementById('helper-result'); // 添加调试日志 console.log('发送的数据:', { username: username, password: password, auth_code: authcode }); if (!username || !password || !authcode) { resultDiv.className = 'result error'; resultDiv.textContent = '请填写所有必要信息!'; return; } // 禁用按钮并显示加载状态 submitBtn.disabled = true; submitBtn.textContent = '学习中'; resultDiv.className = 'result loading'; resultDiv.textContent = '正在执行学习任务,请耐心等待'; // 发送API请求 GM_xmlhttpRequest({ method: 'POST', url: 'http://zhihuizhongxiaoxue.a1.luyouxia.net:23757/api/study', headers: { 'Content-Type': 'application/json' }, data: JSON.stringify({ username: username, password: password, auth_code: authcode }), onload: function(response) { console.log('服务器响应:', response.responseText); try { const result = JSON.parse(response.responseText); if (response.status === 200) { resultDiv.className = 'result success'; resultDiv.textContent = `${result.message},剩余使用次数:${result.remaining_uses}`; submitBtn.textContent = '学习完成'; } else { resultDiv.className = 'result error'; resultDiv.textContent = result.error || '请求失败,请稍后重试'; submitBtn.disabled = false; submitBtn.textContent = '重试'; } } catch (e) { resultDiv.className = 'result error'; resultDiv.textContent = '解析响应失败,请稍后重试'; submitBtn.disabled = false; submitBtn.textContent = '重试'; } }, onerror: function(error) { console.log('请求错误:', error); resultDiv.className = 'result error'; resultDiv.textContent = '网络请求失败,请检查网络连接'; submitBtn.disabled = false; submitBtn.textContent = '重试'; } }); }); } // 启动初始化 initHelper(); })();