// ==UserScript== // @name 🏆超星学习通AI答题|🚀自动刷课|▶️一键操作|💯视频-章节测试|自动挂机|自动化操作小助手 // @namespace http://tampermonkey.net/ // @version 1.0.2 // @description 最新可用学习通自动答题、刷章节及章节测试,接入DeepSeek大模型,所有题目均可回答,无需任何操作自动完成所有任务点。 // @author JAY // @match *://*.chaoxing.com/* // @grant GM_xmlhttpRequest // @grant GM_addStyle // @grant GM_getResourceText // @resource typrMd5Lib https://116611.xyz/typr-md5.js // @resource fontTableData https://116611.xyz/table.json // @license CC-BY-NC-ND-4.0 // @antifeature payment 脚本存在第三方答题接口付费功能 // @icon data:image/png;base64,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 // ==/UserScript== const systemConfig = { buildTime: new Date().toISOString(), environment: 'production' }; class Logger { constructor(prefix) { this.prefix = prefix || 'System'; this.levels = ['DEBUG', 'INFO', 'WARN', 'ERROR']; } log(level, message) { if (this.levels.includes(level)) { const timestamp = new Date().toISOString(); } } debug(msg) { this.log('DEBUG', msg); } info(msg) { this.log('INFO', msg); } warn(msg) { this.log('WARN', msg); } error(msg) { this.log('ERROR', msg); } } const logger = new Logger('CXHelper'); const browserCheck = { isChrome: () => /Chrome/.test(navigator.userAgent), isFirefox: () => /Firefox/.test(navigator.userAgent), isEdge: () => /Edge/.test(navigator.userAgent), isSafari: () => /Safari/.test(navigator.userAgent) && !/Chrome/.test(navigator.userAgent) }; class PerformanceMonitor { constructor() { this.metrics = new Map(); this.startTimes = new Map(); } start(name) { this.startTimes.set(name, performance.now()); } end(name) { const startTime = this.startTimes.get(name); if (startTime) { const duration = performance.now() - startTime; this.metrics.set(name, duration); this.startTimes.delete(name); return duration; } return 0; } getMetric(name) { return this.metrics.get(name) || 0; } } const perfMonitor = new PerformanceMonitor(); const utils = { generateId: (length = 8) => { const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; let result = ''; for (let i = 0; i < length; i++) { result += chars.charAt(Math.floor(Math.random() * chars.length)); } return result; }, deepClone: (obj) => { if (obj === null || typeof obj !== 'object') return obj; if (obj instanceof Date) return new Date(obj.getTime()); if (obj instanceof Array) return obj.map(item => utils.deepClone(item)); if (typeof obj === 'object') { const cloned = {}; Object.keys(obj).forEach(key => { cloned[key] = utils.deepClone(obj[key]); }); return cloned; } }, debounce: (func, wait) => { let timeout; return function executedFunction(...args) { const later = () => { clearTimeout(timeout); func(...args); }; clearTimeout(timeout); timeout = setTimeout(later, wait); }; }, throttle: (func, limit) => { let inThrottle; return function() { const args = arguments; const context = this; if (!inThrottle) { func.apply(context, args); inThrottle = true; setTimeout(() => inThrottle = false, limit); } } } }; class CacheManager { constructor(maxSize = 100) { this.cache = new Map(); this.maxSize = maxSize; } set(key, value, ttl = 300000) { // 默认5分钟过期 if (this.cache.size >= this.maxSize) { const firstKey = this.cache.keys().next().value; this.cache.delete(firstKey); } const item = { value: value, expiry: Date.now() + ttl }; this.cache.set(key, item); } get(key) { const item = this.cache.get(key); if (!item) return null; if (Date.now() > item.expiry) { this.cache.delete(key); return null; } return item.value; } clear() { this.cache.clear(); } } const cacheManager = new CacheManager(); logger.info('System initialization completed'); (function() { 'use strict'; (function(){ function _b64ToBytes(b64){ const bin = atob(b64); const out = new Uint8Array(bin.length); for(let i=0;ic-1); const __SALT = String.fromCharCode.apply(null, __S); const __ENC = "idiM9YBNCEBSu80fAcWJtglB3UgCOQSNSUCG2EFbmlWW7AyIJkSb/kgNWgCHsoEA"; function __getDSK(){ try { const step1 = __ENC.split('').reverse().join(''); const xored = _b64ToBytes(step1); const plainB64Bytes = _xor(xored, _strToBytes(__SALT)); const plainB64 = _bytesToStr(plainB64Bytes); return atob(plainB64); } catch (e) { return ''; } } window.__getDeepseekKey = __getDSK; })(); const DEEPSEEK_API_KEY = (typeof window!=='undefined' && window.__getDeepseekKey) ? window.__getDeepseekKey() : ''; const DEEPSEEK_API_URL = 'https://api.deepseek.com/v1/chat/completions'; let isAnswering = false; let isStudyingChapters = false; let studyIntervalId = null; const STUDY_PERSIST_KEY = 'cx_helper_study_on_v2'; const PANEL_REG_KEY = 'cx_helper_active_panel_v2'; const PANEL_INSTANCE_ID = `${Date.now()}_${Math.random().toString(36).slice(2, 8)}`; const FRAME_DEPTH = (() => { let d = 0; try { let w = window; while (w !== w.top) { d++; w = w.parent; } } catch { d = 999; } return d; })(); let isActiveOwner = false; let createdPanelEl = null; const HEARTBEAT_INTERVAL_MS = 2000; const STALE_MS = 7000; let heartbeatTimerId = null; let lastAutoSkipTs = 0; let emptyChecksCount = 0; let lastEmptySectionKey = ''; let recoveryTimerId = null; const API_BASE = 'https://116611.xyz'; const MONEY_YUAN = '5.00'; const PAY_NAME = 'CxHelper 解锁/赞助'; const DEFAULT_PAY = 'wxpay'; const LS_KEY_DEV_ID = 'cxhelper_device_id'; const LS_KEY_FREE = 'cxhelper_free_used'; const LS_KEY_LICENSED = 'cxhelper_licensed'; const POLL_MS_PAY = 3000; const POLL_MAX_PAY = 100; const getFreeLimit = (() => { let cached = null; return function() { if (cached != null) return cached; try { const b64 = 'JDEw'; const decoded = atob(b64); const n = parseInt(decoded.replace(/\D/g, ''), 10); cached = Number.isFinite(n) ? n : 10; } catch { cached = 10; } return cached; }; })(); function getDeviceIdPaid() { try { let id = localStorage.getItem(LS_KEY_DEV_ID); if (!id) { id = ([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g, c => (c ^ crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16)); localStorage.setItem(LS_KEY_DEV_ID, id); } return id; } catch { return 'dev_' + Math.random().toString(36).slice(2); } } const DEVICE_ID_PAID = getDeviceIdPaid(); function isLocallyLicensed() { try { return localStorage.getItem(LS_KEY_LICENSED) === '1'; } catch { return false; } } function setLocallyLicensed() { try { localStorage.setItem(LS_KEY_LICENSED, '1'); } catch {} } function getFreeUsedCount() { try { return parseInt(localStorage.getItem(LS_KEY_FREE) || '0', 10) || 0; } catch { return 0; } } function incFreeUsedCount() { try { const n = getFreeUsedCount() + 1; localStorage.setItem(LS_KEY_FREE, String(n)); return n; } catch { return 0; } } async function checkLicensePaid() { if (isLocallyLicensed()) return true; try { const r = await fetch(`${API_BASE}/api/license/status?deviceId=${encodeURIComponent(DEVICE_ID_PAID)}`, { credentials: 'omit' }); const ct = (r.headers.get('content-type') || '').toLowerCase(); const data = ct.includes('application/json') ? await r.json() : await r.text(); const ok = !!(data && data.licensed); if (ok) setLocallyLicensed(); try { updateTrialBadge(); } catch {} return ok; } catch { return false; } } async function startPaymentPaid(payType) { const win = window.open('', '_blank'); try { const resp = await fetch(`${API_BASE}/api/create`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ name: PAY_NAME, money: MONEY_YUAN, type: payType || DEFAULT_PAY, param: DEVICE_ID_PAID }) }); const html = await resp.text(); win.document.open(); win.document.write(html); win.document.close(); return true; } catch (e) { if (win) win.close(); alert('发起支付失败:' + e.message); return false; } } async function pollUntilLicensedPaid(onProgress) { for (let i = 0; i < POLL_MAX_PAY; i++) { if (onProgress) { try { onProgress(i); } catch {} } const ok = await checkLicensePaid(); if (ok) { setLocallyLicensed(); return true; } await new Promise(r => setTimeout(r, POLL_MS_PAY)); } return false; } function showPayModalPaid(messageText) { return new Promise(resolve => { const mask = document.createElement('div'); mask.style.cssText = 'position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:999998;'; const box = document.createElement('div'); box.style.cssText = 'position:fixed;left:50%;top:120px;transform:translateX(-50%);width:420px;background:#fff;border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.2);overflow:hidden;z-index:999999;font-family:system-ui,Segoe UI,Arial;'; const msg = messageText || '试用已用完,打赏5元永久解锁哦'; box.innerHTML = ( '
解锁全部功能(永久)
' + '
' + '
' + msg + '
' + '
' + '' + '' + '
若支付方式不可用请尝试其他支付方式
' + '
' + '
点击"去支付"将打开收银台,完成后此处会自动检测。
' + '
' + '
' + '' + '' + '
' ); document.body.appendChild(mask); document.body.appendChild(box); const tip = box.querySelector('#cx_tip_paid'); const btnPay = box.querySelector('#cx_go_pay'); const btnCancel = box.querySelector('#cx_cancel_paid'); function close() { try { box.remove(); mask.remove(); } catch {} } btnCancel.onclick = () => { close(); resolve(false); }; btnPay.onclick = async () => { btnPay.disabled = true; btnPay.textContent = '打开收银台...'; const payType = (box.querySelector('input[name="cx_pay"]:checked') || {}).value || DEFAULT_PAY; const ok = await startPaymentPaid(payType); if (!ok) { btnPay.disabled = false; btnPay.textContent = '去支付'; return; } btnPay.textContent = '检测支付中...'; if (tip) tip.innerHTML = '已打开收银台,请完成支付,完成后此处会自动解锁...
💡 若无法打开支付页面请尝试连接手机热点网络'; const done = await pollUntilLicensedPaid(); if (done) { if (tip) tip.textContent = '支付成功,正在解锁...'; setLocallyLicensed(); try { updateTrialBadge(); } catch {} setTimeout(() => { close(); resolve(true); }, 500); } else { btnPay.disabled = false; btnPay.textContent = '去支付'; if (tip) tip.textContent = '未检测到支付完成,可重试或稍后再次打开本面板。'; } }; }); } function showFeedbackModal() { const mask = document.createElement('div'); mask.style.cssText = 'position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:999998;'; const box = document.createElement('div'); box.style.cssText = 'position:fixed;left:50%;top:120px;transform:translateX(-50%);width:400px;background:#fff;border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.2);overflow:hidden;z-index:999999;font-family:system-ui,Segoe UI,Arial;'; box.innerHTML = ( '
意见反馈
' + '
' + '
' + '如果您在使用过程中遇到问题或有任何建议,欢迎通过以下方式联系我们:' + '
' + '
' + '
联系邮箱
' + '
2036470448@qq.com
' + '
点击邮箱地址即可复制
' + '
' + '
我们将会认真对待每一条反馈,并且尽快回复您的问题。您的建议是我们改进产品的重要动力!
' + '
' + '
' + '' + '
' ); document.body.appendChild(mask); document.body.appendChild(box); const closeBtn = box.querySelector('#feedback-close'); function close() { try { box.remove(); mask.remove(); } catch {} } closeBtn.onclick = close; mask.onclick = close; // 添加复制成功的提示 const emailDiv = box.querySelector('[onclick*="clipboard"]'); if (emailDiv) { emailDiv.addEventListener('click', function() { const originalText = this.innerHTML; this.innerHTML = '✅ 已复制到剪贴板'; this.style.color = '#52c41a'; setTimeout(() => { this.innerHTML = originalText; this.style.color = '#333'; }, 2000); }); } } async function ensureAccessAllowed() { if (await checkLicensePaid()) return true; const used = getFreeUsedCount(); if (used < getFreeLimit()) { incFreeUsedCount(); try { updateTrialBadge(); } catch {} return true; } const ok = await showPayModalPaid(); if (ok) { setLocallyLicensed(); try { updateTrialBadge(); } catch {} return true; } throw new Error('试用已用完,请解锁后继续使用'); } function getActivePanelRecord() { try { const raw = localStorage.getItem(PANEL_REG_KEY); return raw ? JSON.parse(raw) : null; } catch { return null; } } function setActivePanelRecord(rec) { try { localStorage.setItem(PANEL_REG_KEY, JSON.stringify(rec)); } catch {} } function clearActivePanelRecordIfOwner() { try { const cur = getActivePanelRecord(); if (cur && cur.id === PANEL_INSTANCE_ID) { localStorage.removeItem(PANEL_REG_KEY); } } catch {} } function shouldWeOwn(current) { const nowTs = Date.now(); if (!current) return { own: true, ts: nowTs }; if (!current.aliveTs || nowTs - current.aliveTs > STALE_MS) return { own: true, ts: nowTs }; try { if (current.url && current.url !== location.href) return { own: true, ts: nowTs }; } catch {} if (FRAME_DEPTH > (current.depth || 0)) return { own: true, ts: nowTs }; if (FRAME_DEPTH === (current.depth || 0) && nowTs > (current.ts || 0)) return { own: true, ts: nowTs }; return { own: false, ts: nowTs }; } function claimOwnership() { const cur = getActivePanelRecord(); const decision = shouldWeOwn(cur); if (decision.own) { setActivePanelRecord({ id: PANEL_INSTANCE_ID, depth: FRAME_DEPTH, ts: decision.ts, aliveTs: Date.now(), url: location.href }); isActiveOwner = true; } else { isActiveOwner = false; } return isActiveOwner; } function startHeartbeat() { if (heartbeatTimerId) return; heartbeatTimerId = setInterval(() => { if (!isActiveOwner) return; const cur = getActivePanelRecord(); if (!cur || cur.id !== PANEL_INSTANCE_ID) { stopHeartbeat(); return; } cur.aliveTs = Date.now(); try { cur.url = location.href; } catch {} setActivePanelRecord(cur); }, HEARTBEAT_INTERVAL_MS); } function stopHeartbeat() { if (heartbeatTimerId) { clearInterval(heartbeatTimerId); heartbeatTimerId = null; } } const cleanupOwnership = () => { stopHeartbeat(); clearActivePanelRecordIfOwner(); }; window.addEventListener('beforeunload', cleanupOwnership); window.addEventListener('pagehide', cleanupOwnership); function destroyPanelAndStop() { try { if (studyIntervalId) { clearInterval(studyIntervalId); studyIntervalId = null; } isStudyingChapters = false; isAnswering = false; stopHeartbeat(); const panel = document.getElementById('answer-helper-panel'); if (panel && panel.parentNode) panel.parentNode.removeChild(panel); createdPanelEl = null; } catch {} } window.addEventListener('storage', (e) => { if (e.key !== PANEL_REG_KEY) return; const rec = getActivePanelRecord(); if (!rec) return; if (rec.id === PANEL_INSTANCE_ID) { if (!createdPanelEl) { try { createdPanelEl = createPanel(); bindPanelEvents(); } catch {} } isActiveOwner = true; startHeartbeat(); } else { isActiveOwner = false; destroyPanelAndStop(); } }); GM_addStyle(` #answer-helper-panel { position: fixed; top: 20px; left: 20px; width: 320px; background: #ffffff; border-radius: 12px; padding: 0; z-index: 9999; box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; user-select: none; } #answer-helper-header { cursor: move; background: #f5f7fa; border-radius: 12px 12px 0 0; padding: 0 15px; height: 44px; display: flex; align-items: center; justify-content: space-between; font-size: 16px; font-weight: 600; color: #333; } #answer-helper-header .status-badge { margin-left: 8px; } #answer-helper-header .collapse-btn { width: 32px; height: 32px; border-radius: 8px; background: #e0e0e0; border: none; font-size: 22px; cursor: pointer; color: #666; margin-left: 10px; display: flex; align-items: center; justify-content: center; box-shadow: 0 1px 2px rgba(0,0,0,0.04); transition: background 0.2s, color 0.2s; } #answer-helper-header .collapse-btn:hover { background: #1677ff; color: #fff; } .collapse-icon-bar { display: block; background: currentColor; border-radius: 2px; margin: 0 auto; } .collapse-icon-bar.horizontal { width: 16px; height: 3px; } .collapse-icon-bar.vertical { width: 3px; height: 16px; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); } .collapse-btn-inner { position: relative; width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; } #answer-helper-content { padding: 15px; } #answer-helper-panel.collapsed #answer-helper-content { display: none; } #answer-helper-panel.collapsed { width: 180px; min-width: 120px; } #no-task-toast { position: fixed; top: 20px; right: 20px; background: rgba(0, 0, 0, 0.8); color: white; padding: 12px 24px; border-radius: 8px; font-size: 14px; z-index: 10000; animation: fadeInOut 3s ease-in-out forwards; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; } @keyframes fadeInOut { 0% { opacity: 0; transform: translateY(-20px); } 10% { opacity: 1; transform: translateY(0); } 90% { opacity: 1; transform: translateY(0); } 100% { opacity: 0; transform: translateY(-20px); } } #answer-helper-panel h3 { margin: 0 0 15px 0; color: #333; font-size: 16px; font-weight: 600; display: flex; align-items: center; justify-content: space-between; } #answer-log { height: 240px; overflow-y: auto; border: 1px solid #eef0f5; border-radius: 8px; padding: 12px; margin: 10px 0; font-size: 13px; background: #f8f9fa; } #answer-log::-webkit-scrollbar { width: 6px; } #answer-log::-webkit-scrollbar-track { background: #f1f1f1; border-radius: 3px; } #answer-log::-webkit-scrollbar-thumb { background: #c1c1c1; border-radius: 3px; } .log-item { margin-bottom: 8px; padding: 8px; border-radius: 6px; background: #fff; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05); } .success { color: #00a854; border-left: 3px solid #00a854; } .error { color: #f5222d; border-left: 3px solid #f5222d; } .debug { color: #1890ff; border-left: 3px solid #1890ff; } .info { color: #666; border-left: 3px solid #666; } .button-group { display: flex; gap: 8px; } .helper-button { flex: 1; padding: 8px 12px; border: none; border-radius: 6px; font-size: 14px; font-weight: 500; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; justify-content: center; gap: 6px; } .primary-button { background: #1890ff; color: white; } .primary-button:hover { background: #40a9ff; } .danger-button { background: #ff4d4f; color: white; } .danger-button:hover { background: #ff7875; } .secondary-button { background: #f0f0f0; color: #666; } .secondary-button:hover { background: #d9d9d9; } .success-button { background: #00a854; color: #fff; } .success-button:hover { background: #36c06a; } .status-badge { padding: 4px 8px; border-radius: 4px; font-size: 12px; font-weight: normal; } .status-running { background: #e6f7ff; color: #1890ff; } .status-stopped { background: #fff1f0; color: #ff4d4f; } .button-icon { font-size: 14px; line-height: 1; } #debug-page{ display:none !important; } #answer-helper-panel .cx-trial-badge{ position: absolute; left: 12px; bottom: 8px; color: #888; font-size: 12px; pointer-events: none; } #answer-helper-content { padding-bottom: 30px; } `); function createPanel() { const panel = document.createElement('div'); panel.id = 'answer-helper-panel'; panel.innerHTML = `
学习通AI自动答题与刷课助手
检测中...
`; document.body.appendChild(panel); let isDragging = false, offsetX = 0, offsetY = 0; const header = panel.querySelector('#answer-helper-header'); header.addEventListener('mousedown', function(e) { if (e.target.classList.contains('collapse-btn')) return; isDragging = true; const rect = panel.getBoundingClientRect(); offsetX = e.clientX - rect.left; offsetY = e.clientY - rect.top; document.body.style.userSelect = 'none'; }); document.addEventListener('mousemove', function(e) { if (!isDragging) return; panel.style.left = (e.clientX - offsetX) + 'px'; panel.style.top = (e.clientY - offsetY) + 'px'; panel.style.right = 'auto'; }); document.addEventListener('mouseup', function() { isDragging = false; document.body.style.userSelect = ''; }); const collapseBtn = panel.querySelector('.collapse-btn'); const collapseBtnInner = collapseBtn.querySelector('.collapse-btn-inner'); collapseBtn.addEventListener('click', function() { panel.classList.toggle('collapsed'); collapseBtnInner.innerHTML = ''; if (panel.classList.contains('collapsed')) { const h = document.createElement('span'); h.className = 'collapse-icon-bar horizontal'; const v = document.createElement('span'); v.className = 'collapse-icon-bar vertical'; collapseBtnInner.appendChild(h); collapseBtnInner.appendChild(v); } else { const h = document.createElement('span'); h.className = 'collapse-icon-bar horizontal'; collapseBtnInner.appendChild(h); } }); return panel; } function bindPanelEvents() { document.getElementById('start-answer')?.addEventListener('click', () => { addLog('本助手仅供学习研究,请遵守课程与平台规则。', 'info'); addLog('开始自动答题...'); autoAnswer(); }); document.getElementById('pause-answer')?.addEventListener('click', () => { isAnswering = false; addLog('正在暂停自动答题...', 'info'); }); const startStudyBtn = document.getElementById('start-study'); const pauseStudyBtn = document.getElementById('pause-study'); if (startStudyBtn && pauseStudyBtn) { startStudyBtn.addEventListener('click', () => { addLog('本助手仅供学习研究,请遵守课程与平台规则。', 'info'); startStudyChapters(); }); pauseStudyBtn.addEventListener('click', () => { stopStudyChapters(); }); } const buyBtn = document.getElementById('buy-license'); if (buyBtn) { buyBtn.addEventListener('click', async () => { try { await showPayModalPaid('免费试用,打赏5元永久解锁哦'); } catch (e) { addLog('打开支付弹窗失败: ' + (e && e.message ? e.message : e), 'error'); } }); } document.getElementById('debug-page')?.addEventListener('click', () => { debugPageStructure(); }); document.getElementById('feedback-btn')?.addEventListener('click', () => { showFeedbackModal(); }); setTimeout(updateTrialBadge, 0); } function safeClick(el) { try { if (!el) return false; el.click(); el.dispatchEvent(new MouseEvent('click', { bubbles: true })); return true; } catch { return false; } } function forEachSameOriginFrame(callback) { const visit = (win) => { for (let i = 0; i < win.frames.length; i++) { const f = win.frames[i]; try { const doc = f.document || f.contentDocument; if (doc && doc.location && doc.location.href.includes('.chaoxing.com')) { callback(doc); visit(f); } } catch { } } }; try { callback(document); } catch {} try { visit(window); } catch {} } function forEachAllSameOriginDocs(callback) { const seen = new Set(); const visit = (win) => { if (!win || seen.has(win)) return; seen.add(win); try { const doc = win.document || win.contentDocument; if (doc) callback(doc); } catch {} try { const len = win.frames ? win.frames.length : 0; for (let i = 0; i < len; i++) { try { visit(win.frames[i]); } catch {} } } catch {} }; try { visit(window.top); } catch { visit(window); } } async function waitForQuestionsRenderAny(timeoutMs = 8000) { const end = Date.now() + timeoutMs; const selector = '.question, .questionLi, .subject_item, .examPaper_subject, .questionContainer, .q-item, .subject_node, [class*="question"], .ti-item, .exam-item'; while (Date.now() < end) { let hit = null; forEachAllSameOriginDocs((doc) => { if (hit) return; try { const qs = doc.querySelectorAll(selector); if (qs && qs.length > 0) hit = doc; } catch {} }); if (hit) return hit; await new Promise(r => setTimeout(r, 300)); } return null; } function gotoNextSection(contextDoc) { const docsToTry = []; if (contextDoc) docsToTry.push(contextDoc); try { if (window.top && window.top.document) docsToTry.push(window.top.document); } catch {} docsToTry.push(document); const textNextRegex = /下一(节|章|单元|页|个)|继续|下一步|下一个|Next/i; const nextBtnSelectors = [ '.next', '.vc-next', '.reader-next', 'a[title="下一页"]', '.btn-next', '#next', '.prev_next .right a', '.switch-btn.next', '.icon-arrow-right', '.right-btn .next' ]; const currentNodeSelectors = ['.cur', '.curr', 'li.active', 'li.selected', '.posCatalog_active']; try { if (isStudyingChapters) localStorage.setItem(STUDY_PERSIST_KEY, '1'); } catch {} for (const doc of docsToTry) { try { for (const sel of nextBtnSelectors) { const btn = doc.querySelector(sel); if (btn && !btn.getAttribute('disabled') && !String(btn.className).includes('disabled')) { if (safeClick(btn)) { addLog('检测到下一节按钮,已点击', 'success'); return true; } } } for (const curSel of currentNodeSelectors) { const cur = doc.querySelector(curSel); if (cur && cur.nextElementSibling) { const link = cur.nextElementSibling.querySelector('a'); if (link && safeClick(link)) { addLog('目录定位到下一小节', 'success'); return true; } } } const links = Array.from(doc.querySelectorAll('a[href*="knowledgeId"], a[href*="chapterId"], a[href*="studentstudy"]')); if (links.length > 1) { const hrefNow = (location && location.href) || ''; const idx = links.findIndex(a => (a.href || '').includes('knowledgeId') && hrefNow.includes('knowledgeId') && a.href.split('knowledgeId')[1] === hrefNow.split('knowledgeId')[1]); const next = idx >= 0 ? links[idx + 1] : null; if (next && safeClick(next)) { addLog('通过目录链接顺序跳转下一小节', 'success'); return true; } } const clickable = Array.from(doc.querySelectorAll('a, button, .btn, .el-button, .next')); for (const el of clickable) { const txt = (el.textContent || '').trim(); if (textNextRegex.test(txt)) { const excludeClasses = ['close', 'cancel', 'delete', 'remove', 'back', 'prev', 'disabled', 'popup', 'modal']; const hasExcludeClass = excludeClasses.some(cls => el.className.toLowerCase().includes(cls) || el.id.toLowerCase().includes(cls) ); const isVisible = el.offsetWidth > 0 && el.offsetHeight > 0 && window.getComputedStyle(el).display !== 'none' && window.getComputedStyle(el).visibility !== 'hidden'; const isValidNavigationElement = ( (el.tagName === 'A' && (el.href || el.onclick)) || (el.tagName === 'BUTTON' && el.onclick) || el.className.includes('btn') || el.className.includes('next') ) && !el.closest('.popup, .modal, .dialog, .alert'); const isNavigationText = /^(下一节|下一章|下一个|下一页|继续|Next)$/i.test(txt); if (!hasExcludeClass && isVisible && isValidNavigationElement && isNavigationText) { if (safeClick(el)) { addLog(`通过文本匹配跳转: ${txt}`, 'success'); return true; } } else { addLog(`跳过不合适的文本匹配元素: ${txt} (类名: ${el.className})`, 'debug'); } } } } catch {} } addLog('未能自动跳转到下一小节', 'error'); return false; } function handleVideosInDocument(doc) { try { const videos = doc.querySelectorAll('video, .video-js video'); if (videos.length === 0) return false; let any = false; videos.forEach(v => { try { v.muted = true; if (!Number.isNaN(v.playbackRate)) v.playbackRate = 1.0; const p = v.play(); if (p && typeof p.catch === 'function') p.catch(() => {}); v.loop = false; if (!v.dataset.autonextBind) { v.dataset.autonextBind = '1'; v.addEventListener('ended', () => { if (v.dataset.disableAutoNext === '1' || !isStudyingChapters) return; addLog('视频播放结束,进行完成度检测', 'success'); setTimeout(() => ensureSectionCompletedAndAdvance(doc), 300); }, { passive: true }); let nearingFired = false; const onTimeUpdate = () => { if (v.dataset.disableAutoNext === '1' || !isStudyingChapters) return; try { const d = v.duration || 0; const t = v.currentTime || 0; if (d > 0 && (d - t) <= 1.0 && !nearingFired) { nearingFired = true; addLog('检测到视频即将结束,进行完成度检测', 'debug'); setTimeout(() => ensureSectionCompletedAndAdvance(doc), 800); } } catch {} }; v.addEventListener('timeupdate', onTimeUpdate, { passive: true }); } any = true; } catch {} }); const popBtns = doc.querySelectorAll('.ans-job-icon, .popBtn, .dialog-footer .btn, .ans-modal .btn, .vjs-big-play-button'); popBtns.forEach(b => safeClick(b)); return any; } catch { return false; } } function handlePPTInDocument(doc) { try { const nextSelectors = ['.next', '.vc-next', '.reader-next', 'a[title="下一页"]', '.btn-next', '#next']; for (const sel of nextSelectors) { const btn = doc.querySelector(sel); if (btn && !btn.className.includes('disabled') && !btn.getAttribute('disabled')) { if (safeClick(btn)) { addLog('PPT自动下一页', 'debug'); return true; } } } const container = doc.scrollingElement || doc.body; if (container) container.scrollTop = container.scrollHeight; return false; } catch { return false; } } function findChapterQuizTab(doc) { try { const byTitle = doc.querySelector('li[title*="章节测验"], li[title*="测验"], a[title*="章节测验"], a[title*="测验"]'); if (byTitle) return byTitle; const byOnClick = Array.from(doc.querySelectorAll('li[onclick], a[onclick], button[onclick]')).find(el => { const oc = (el.getAttribute('onclick') || '').toString(); return oc.includes('changeDisplayContent') && (oc.includes('(2,2') || oc.includes(',2)')); }); if (byOnClick) return byOnClick; const candidates = Array.from(doc.querySelectorAll('li, a, button, [role="tab"], [role="option"]')); const textEl = candidates.find(el => /章节测验|测验/.test(((el.textContent || el.getAttribute('title') || '') + '').trim())); if (textEl) return textEl; } catch {} return null; } async function waitForQuestionsRender(doc, timeoutMs = 6000) { const end = Date.now() + timeoutMs; while (Date.now() < end) { try { const qs = doc.querySelectorAll('.question, .questionLi, .subject_item, .examPaper_subject, .questionContainer, .q-item, .subject_node, [class*="question"], .ti-item, .exam-item'); if (qs.length > 0) return true; } catch {} await new Promise(r => setTimeout(r, 300)); } return false; } let TYPR_MD5_LIB, FONT_TABLE_DATA; try { TYPR_MD5_LIB = GM_getResourceText('typrMd5Lib'); FONT_TABLE_DATA = GM_getResourceText('fontTableData'); if (TYPR_MD5_LIB) { window.TYPR_MD5_LIB = TYPR_MD5_LIB; } if (FONT_TABLE_DATA) { window.FONT_TABLE_DATA = FONT_TABLE_DATA; } } catch (e) { console.error('加载外部资源失败:', e); TYPR_MD5_LIB = ''; FONT_TABLE_DATA = '{}'; } function injectConsoleDecryptCode(doc, timeoutMs = 3000) { return new Promise((resolve) => { try { const consoleCode = ` if (!window.Typr || !window.md5) { ${TYPR_MD5_LIB || window.TYPR_MD5_LIB || ''} } if (!window.chaoXingFontTable) { window.chaoXingFontTable = ${FONT_TABLE_DATA || window.FONT_TABLE_DATA || '{}'}; } const decryptChaoXingFont = async () => { const { Typr, md5, chaoXingFontTable: table } = window; const base64ToUint8Array = (base64) => { const data = atob(base64); const buffer = new Uint8Array(data.length); for (let i = 0; i < data.length; i++) { buffer[i] = data.charCodeAt(i); } return buffer; }; const styleElements = [...document.querySelectorAll('style')]; const cxStyle = styleElements.find(el => el.textContent.includes('font-cxsecret') ); if (!cxStyle) { return; } const fontData = cxStyle.textContent.match(/base64,([\\w\\W]+?)'/)[1]; const parsedFont = Typr.parse(base64ToUint8Array(fontData))[0]; const charMap = {}; for (let charCode = 19968; charCode < 40870; charCode++) { const glyph = Typr.U.codeToGlyph(parsedFont, charCode); if (!glyph) continue; const path = Typr.U.glyphToPath(parsedFont, glyph); const pathHash = md5(JSON.stringify(path)).slice(24); charMap[String.fromCharCode(charCode)] = String.fromCharCode(table[pathHash]); } document.querySelectorAll('.font-cxsecret').forEach(element => { let htmlContent = element.innerHTML; Object.entries(charMap).forEach(([encryptedChar, decryptedChar]) => { const regex = new RegExp(encryptedChar, 'g'); htmlContent = htmlContent.replace(regex, decryptedChar); }); element.innerHTML = htmlContent; element.classList.remove('font-cxsecret'); }); }; decryptChaoXingFont().catch(console.error); `; const beforeCnt = (() => { try { return doc.querySelectorAll('.font-cxsecret').length; } catch { return -1; } })(); let script = doc.createElement('script'); script.type = 'text/javascript'; let blobUrl = ''; try { const blob = new Blob([consoleCode], { type: 'text/javascript' }); blobUrl = (doc.defaultView || window).URL.createObjectURL(blob); script.src = blobUrl; } catch { script.textContent = consoleCode; } (doc.head || doc.documentElement).appendChild(script); script.onload = () => { try { if (blobUrl) (doc.defaultView || window).URL.revokeObjectURL(blobUrl); } catch {} }; const start = Date.now(); const timer = setInterval(() => { try { const cnt = doc.querySelectorAll('.font-cxsecret').length; if (cnt === 0 || (beforeCnt >= 0 && cnt < beforeCnt)) { clearInterval(timer); resolve(); return; } } catch {} if (Date.now() - start > timeoutMs) { clearInterval(timer); resolve(); } }, 200); } catch { resolve(); } }); } async function tryEnterQuizAndAnswer(contextDoc) { try { if (!isStudyingChapters) return false; let targetDoc = null; let tabEl = null; forEachAllSameOriginDocs((doc) => { if (tabEl) return; const el = findChapterQuizTab(doc); if (el) { tabEl = el; targetDoc = doc; } }); if (!tabEl || !targetDoc) return false; addLog('检测到章节测验入口,正在进入...', 'info'); await new Promise((r) => { let pending = 0; let done = false; forEachAllSameOriginDocs((doc) => { pending++; injectConsoleDecryptCode(doc).finally(() => { if (--pending === 0 && !done) { done = true; r(); } }); }); if (pending === 0) r(); }); try { tabEl.scrollIntoView({ block: 'center', behavior: 'smooth' }); } catch {} const clicked = safeClick(tabEl); const oc = (tabEl.getAttribute('onclick') || '').toString(); const m = oc.match(/changeDisplayContent\(([^)]*)\)/); if (!clicked && m && m[1]) { try { const ownerWin = (tabEl.ownerDocument && tabEl.ownerDocument.defaultView) || null; const topWin = (function(){ try { return window.top; } catch { return window; } })(); const evalWin = ownerWin || topWin || window; const args = evalWin.eval('[' + m[1] + ']'); const fn = (ownerWin && ownerWin.changeDisplayContent) || (topWin && topWin.changeDisplayContent) || window.changeDisplayContent; if (typeof fn === 'function') { fn.apply(ownerWin || topWin || window, args); } else { addLog('未找到changeDisplayContent函数可调用', 'error'); } } catch (e) { addLog('直接调用changeDisplayContent失败: ' + e.message, 'error'); } } const qDoc = await waitForQuestionsRenderAny(10000); if (!isStudyingChapters) return false; if (!qDoc) { addLog('进入章节测验后未检测到题目,自动跳转下一节', 'info'); try { gotoNextSection(targetDoc || document); } catch {} return true; } await injectConsoleDecryptCode(qDoc); if (!isStudyingChapters) return false; await autoAnswerInDocument(qDoc); addLog('章节测验已自动作答', 'success'); return true; } catch (e) { addLog(`进入章节测验失败: ${e.message}`, 'error'); return false; } } function hasActionableStudyContent(doc) { try { if (doc.querySelector('video, .video-js video')) return true; const docSelectors = [ '.ans-attach-ct', '.reader', '.ppt', '.ppt-play', '.vjs-control', '.vjs-big-play-button', '.catalog', '.course_section', '.posCatalog', '.posCatalog_active', '.catalogTree' ]; if (docSelectors.some(sel => !!doc.querySelector(sel))) return true; const nextSelectors = ['.next', '.vc-next', '.reader-next', 'a[title="下一页"]', '.btn-next', '#next']; if (nextSelectors.some(sel => !!doc.querySelector(sel))) return true; if (doc.querySelector('.question, .questionLi, .subject_item, .examPaper_subject, .questionContainer, .q-item, .subject_node, [class*="question"], .ti-item, .exam-item')) return true; if (doc.querySelector('input[type="radio"], input[type="checkbox"], textarea, select')) return true; if (doc.querySelector('[id^="answerEditor"], iframe[id^="ueditor_"], div[contenteditable="true"]')) return true; const iframes = Array.from(doc.querySelectorAll('iframe')); if (iframes.some(f => { const src = (f.getAttribute('src') || '').toLowerCase(); return src.includes('mooc-ans') || src.includes('document') || src.includes('ppt') || src.includes('video') || src.includes('knowledgeid'); })) return true; if (doc.querySelector('.cur, .curr, li.active, li.selected, .posCatalog_active')) return true; } catch {} return false; } function hasUnansweredQuestions(doc) { try { const containers = doc.querySelectorAll('.question, .questionLi, .subject_item, .examPaper_subject, .questionContainer, .q-item, .subject_node, [class*="question"], .ti-item, .exam-item'); for (const q of containers) { try { if (!isQuestionAnswered(q)) return true; } catch {} } const radios = Array.from(doc.querySelectorAll('input[type="radio"]')); if (radios.length > 0) { const groups = new Map(); radios.forEach(r => { const k = r.name || `__radio_${Math.random()}`; if (!groups.has(k)) groups.set(k, []); groups.get(k).push(r); }); for (const [, list] of groups) { if (!list.some(r => r.checked)) return true; } } const texts = Array.from(doc.querySelectorAll('textarea, input[type="text"], div[contenteditable="true"]')); if (texts.length > 0) { if (texts.some(el => { if (el.tagName && el.tagName.toLowerCase() === 'div') return ((el.innerText || el.textContent || '').trim().length === 0); return ((el.value || '').trim().length === 0); })) return true; } } catch {} return false; } function tryAutoSkipEmptySection() { if (!isStudyingChapters) return false; const now = Date.now(); if (now - lastAutoSkipTs < 4000) return false; const href = (location && location.href) || ''; const key = href.split('?')[0] + (href.includes('knowledgeId') ? ('?k=' + href.split('knowledgeId')[1]) : ''); if (key !== lastEmptySectionKey) { lastEmptySectionKey = key; emptyChecksCount = 0; } let found = false; forEachSameOriginFrame((doc) => { if (found) return; if (hasActionableStudyContent(doc)) { found = true; return; } if (hasUnansweredQuestions(doc)) { found = true; return; } }); if (!found) { emptyChecksCount += 1; addLog(`小节判空第${emptyChecksCount}次`, 'debug'); if (emptyChecksCount >= 2) { lastAutoSkipTs = now; emptyChecksCount = 0; addLog('检测到空白小节(已二次确认),自动跳转下一小节', 'info'); gotoNextSection(document); return true; } } else { emptyChecksCount = 0; } return false; } async function autoAnswerInDocument(rootDoc) { try { if (!isStudyingChapters) return false; if (isQuizPageDoc(rootDoc)) { if (!isStudyingChapters) return false; const ok = await autoAnswerQuizInDocument(rootDoc); if (ok) return true; } const possibleSelectors = ['.question', '.questionLi', '.subject_item', '.examPaper_subject', '.questionContainer', '.q-item', '.subject_node', '[class*="question"]', '[class*="subject"]', '.ti-item', '.exam-item']; let questions = []; for (let selector of possibleSelectors) { questions = rootDoc.querySelectorAll(selector); if (questions.length > 0) break; } if (questions.length === 0) return false; addLog(`章节内发现 ${questions.length} 个题目,自动作答...`, 'info'); for (let q of questions) { if (!isStudyingChapters) { addLog('已暂停刷章节,停止小测作答', 'info'); return false; } const info = getQuestionInfo(q); if (!info || !info.question) continue; const ans = await getAnswer(info); if (ans) { fillAnswer(ans, q, info.type); await new Promise(r => setTimeout(r, 800)); } } return true; } catch (e) { addLog(`章节答题出错: ${e.message}`, 'error'); return false; } } function isStudyPage() { return /mycourse\/studentstudy|mooc2-ans|knowledgeId|chapterId/.test(location.href); } function hasStudyContentDeep() { let found = false; const tryDoc = (doc) => { try { if (doc.querySelector('video, .video-js, .ans-attach-ct, .reader, .ppt, .ppt-play, .catalog, .vjs-play-control')) { found = true; return; } if (doc.querySelector('.question, .questionLi, .subject_item, .examPaper_subject, .questionContainer, .q-item, .subject_node, [class*="question"], .ti-item, .exam-item')) { found = true; return; } } catch {} }; forEachSameOriginFrame(tryDoc); return found; } function updateStudyButtons(running) { const startBtn = document.getElementById('start-study'); const pauseBtn = document.getElementById('pause-study'); if (!startBtn || !pauseBtn) return; if (running) { startBtn.style.display = 'none'; pauseBtn.style.display = 'flex'; } else { startBtn.style.display = 'flex'; pauseBtn.style.display = 'none'; } } function startStudyChapters() { if (isStudyingChapters) { addLog('刷章节已在运行', 'info'); return; } isStudyingChapters = true; try { localStorage.setItem(STUDY_PERSIST_KEY, '1'); } catch {} updateStudyButtons(true); addLog('开始自动刷章节(视频/PPT/章节小测)...', 'success'); addLog('⚠️ 章节视频请勿倍速观看,倍速观看可能导致账号异常哦', 'warning'); forEachSameOriginFrame((doc) => { try { doc.querySelectorAll('video, .video-js video').forEach(v => { delete v.dataset.disableAutoNext; }); } catch {} handleVideosInDocument(doc); handlePPTInDocument(doc); autoAnswerInDocument(doc); }); tryAutoSkipEmptySection(); studyIntervalId = setInterval(() => { if (!isStudyingChapters) return; forEachSameOriginFrame((doc) => { handleVideosInDocument(doc); handlePPTInDocument(doc); }); tryAutoSkipEmptySection(); }, 3000); } function stopStudyChapters() { if (!isStudyingChapters) return; isStudyingChapters = false; if (studyIntervalId) { clearInterval(studyIntervalId); studyIntervalId = null; } try { localStorage.removeItem(STUDY_PERSIST_KEY); } catch {} forEachSameOriginFrame((doc) => { try { doc.querySelectorAll('video, .video-js video').forEach(v => { v.dataset.disableAutoNext = '1'; try { v.pause(); } catch {} }); } catch {} }); updateStudyButtons(false); addLog('已暂停刷章节', 'info'); } const LOG_SHOW_DEBUG = false; const LOG_MAX_ITEMS = 120; function addLog(message, type = 'info') { try { if (type === 'debug' && !LOG_SHOW_DEBUG) return; const logContainer = document.getElementById('answer-log'); if (!logContainer) return; const text = String(message || '') .replace(/\s+/g, ' ') .slice(0, 140); const logItem = document.createElement('div'); logItem.className = `log-item ${type}`; logItem.textContent = `${new Date().toLocaleTimeString()} - ${text}`; logContainer.appendChild(logItem); const items = logContainer.querySelectorAll('.log-item'); if (items.length > LOG_MAX_ITEMS) { const removeCount = items.length - LOG_MAX_ITEMS; for (let i = 0; i < removeCount; i++) { const n = logContainer.firstElementChild; if (n) logContainer.removeChild(n); } } logContainer.scrollTop = logContainer.scrollHeight; } catch {} } async function updateTrialBadge() { try { const el = document.getElementById('cx_trial_badge'); if (!el) return; const licensed = await checkLicensePaid(); const buyBtn = document.getElementById('buy-license'); if (buyBtn) { const group = buyBtn.closest('.button-group'); if (licensed) { if (group) group.style.display = 'none'; else buyBtn.style.display = 'none'; } else { if (group) group.style.display = 'flex'; else buyBtn.style.display = 'flex'; } } if (licensed) { el.textContent = '永久激活,感谢赞助'; return; } const used = getFreeUsedCount(); const remain = Math.max(0, getFreeLimit() - used); el.textContent = `试用剩余:${remain}/${getFreeLimit()}`; } catch {} } function getQuestionInfo(questionElement) { try { addLog('题目元素HTML结构:' + questionElement.outerHTML.substring(0, 200) + '...', 'debug'); const questionId = questionElement.id || ''; addLog(`题目ID: ${questionId}`, 'debug'); const possibleTypeSelectors = [ '.type_title', '.mark_name', '.questionType', 'div[class*="type"]', 'div[class*="Type"]', '.subject_type', '.q-type', 'div[class*="questionType"]', '.stem_type' ]; const possibleQuestionSelectors = [ '.subject_describe', '.mark_name', '.questionContent', '.title', 'div[class*="title"]', '.subject_stem', '.q-body', '.question-content', '.stem-content', '.stem_txt' ]; let typeText = ''; for (let selector of possibleTypeSelectors) { const element = questionElement.querySelector(selector); if (element) { typeText = element.textContent.trim(); addLog(`找到题目类型: ${typeText},使用选择器: ${selector}`, 'debug'); break; } } let type = ''; if (typeText.includes('单选题')) type = 'single'; else if (typeText.includes('多选题')) type = 'multiple'; else if (typeText.includes('判断题')) type = 'judge'; else if (typeText.includes('填空题')) type = 'blank'; else if (typeText.includes('简答题')) type = 'short'; else if (typeText.includes('名词解释')) type = 'term'; else if (typeText.includes('论述题')) type = 'essay'; else if (typeText.includes('计算题')) type = 'calculation'; else if (typeText.includes('完形填空')) type = 'cloze'; else if (typeText.includes('写作题')) type = 'writing'; else if (typeText.includes('连线题')) type = 'matching'; else if (typeText.includes('分录题')) type = 'accounting'; let questionText = ''; for (let selector of possibleQuestionSelectors) { const element = questionElement.querySelector(selector); if (element) { questionText = element.textContent.trim(); addLog(`找到题目内容: ${questionText.substring(0, 30)}...,使用选择器: ${selector}`, 'debug'); break; } } const optionSelectors = [ '.stem_answer > div', '.stem_answer div[class*="option"]', 'div.stem_answer > div', `#${questionId} > div.stem_answer > div`, '.answer_p', '.subject_node', '.answer_options', '.options div' ]; let options = []; let foundSelector = ''; for (let selector of optionSelectors) { const elements = questionElement.querySelectorAll(selector); if (elements.length > 0) { options = Array.from(elements).map((option, index) => { const text = option.textContent.trim(); const letter = String.fromCharCode(65 + index); addLog(`选项 ${letter}: ${text}`, 'debug'); return text; }); foundSelector = selector; addLog(`找到选项,使用选择器: ${selector},数量: ${elements.length}`, 'debug'); break; } } if (options.length === 0 && questionId) { for (let i = 1; i <= 6; i++) { const specificSelector = `#${questionId} > div.stem_answer > div:nth-child(${i})`; const element = document.querySelector(specificSelector); if (element) { options.push(element.textContent.trim()); addLog(`使用nth-child选择器找到选项 ${i}: ${element.textContent.trim()}`, 'debug'); } } } if (!type || !questionText) { addLog('未能完全识别题目信息', 'error'); } return { type, question: questionText, options, foundSelector, questionId }; } catch (error) { addLog(`解析题目失败: ${error.message}`, 'error'); return null; } } function getModelParams(questionType) { const preciseTypes = ['single', 'multiple', 'blank', 'cloze', 'judge', 'term']; if (preciseTypes.includes(questionType)) { return { temperature: 0.1, max_tokens: 100, top_p: 0.1, frequency_penalty: 0.1, presence_penalty: 0.1 }; } else { return { temperature: 0.5, max_tokens: 500, top_p: 0.8, frequency_penalty: 0.3, presence_penalty: 0.3 }; } } async function getAnswer(questionInfo) { try { await ensureAccessAllowed(); } catch (e) { addLog(String(e && e.message ? e.message : e), 'error'); return null; } const prompt = generatePrompt(questionInfo); addLog(`发送到DeepSeek的提示词:\n${prompt}`, 'debug'); try { const modelParams = getModelParams(questionInfo.type); addLog(`使用模型参数: ${JSON.stringify(modelParams)}`, 'debug'); const response = await fetch(DEEPSEEK_API_URL, { method: 'POST', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${DEEPSEEK_API_KEY}` }, body: JSON.stringify({ model: "deepseek-chat", messages: [{ role: "user", content: prompt }], ...modelParams }) }); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); } const data = await response.json(); if (!data.choices || !data.choices[0] || !data.choices[0].message) { throw new Error('Invalid API response format'); } const answer = data.choices[0].message.content.trim(); return answer; } catch (error) { addLog(`API调用失败: ${error.message}`, 'error'); return null; } } function generatePrompt(questionInfo) { let prompt = `直接给出答案不要解释 \n题目:${questionInfo.question}\n`; if (questionInfo.type === 'single' || questionInfo.type === 'multiple' || questionInfo.type === 'judge') { if (questionInfo.options && questionInfo.options.length > 0) { prompt += '选项:\n'; questionInfo.options.forEach((option, index) => { const letter = String.fromCharCode(65 + index); const cleanOption = option.replace(/^[A-Z][\s.、.。]+|^\d+[\s.、.。]+/, '').trim(); prompt += `${letter}. ${cleanOption}\n`; }); if (questionInfo.type === 'single') { prompt += '\n请直接回答选项字母(A/B/C/D/...)'; } else if (questionInfo.type === 'multiple') { prompt += '\n这是多选题,请列出所有正确选项的字母,用逗号分隔(如:A,B,D)'; } else if (questionInfo.type === 'judge') { prompt += '\n这是判断题,请回答A表示正确,B表示错误'; } } } else if (questionInfo.type === 'blank') { prompt += '\n这是填空题,请按顺序给出每个空的答案,用逗号分隔'; } return prompt; } function fillAnswer(answer, questionElement, type) { try { addLog(`开始填写答案: ${type}类型`, 'debug'); addLog('题目元素类名: ' + questionElement.className, 'debug'); let filled = false; const questionId = questionElement.id; addLog(`处理题目ID: ${questionId}`, 'debug'); switch (type) { case 'blank': case 'cloze': { const answers = answer.split(/[,,;;、]\s*/).map(a => a.trim()).filter(a => a); addLog(`解析到的答案数量: ${answers.length}`, 'debug'); answers.forEach((ans, idx) => addLog(`第${idx + 1}个答案: ${ans}`, 'debug')); const editorElements = questionElement.querySelectorAll('[id^="answerEditor"]'); if (editorElements.length > 0) { addLog(`找到UEditor元素数量: ${editorElements.length}`, 'debug'); editorElements.forEach((editorElement, index) => { const editorId = editorElement.id; addLog(`处理第${index + 1}个编辑器: ${editorId}`, 'debug'); if (index < answers.length) { const currentAnswer = answers[index]; try { if (typeof UE !== 'undefined' && UE.getEditor) { const editor = UE.getEditor(editorId); if (editor) { if (editor.ready) { editor.ready(() => { editor.setContent(currentAnswer); addLog(`通过UEditor API设置第${index + 1}个空的内容: ${currentAnswer}`, 'debug'); if (typeof editor.fireEvent === 'function') { editor.fireEvent('contentChange'); } }); filled = true; } } } if (!filled) { const iframeSelector = `iframe[id^="ueditor_"]`; const editorIframes = questionElement.querySelectorAll(iframeSelector); const editorIframe = editorIframes[index]; if (editorIframe) { try { const iframeDoc = editorIframe.contentDocument || editorIframe.contentWindow.document; const editorBody = iframeDoc.body; if (editorBody) { editorBody.innerHTML = currentAnswer; editorBody.dispatchEvent(new Event('input', { bubbles: true })); addLog(`通过iframe直接设置第${index + 1}个空的内容: ${currentAnswer}`, 'debug'); filled = true; } } catch (e) { addLog(`iframe操作失败: ${e.message}`, 'error'); } } } const textarea = document.getElementById(editorId); if (textarea) { textarea.value = currentAnswer; textarea.dispatchEvent(new Event('change', { bubbles: true })); textarea.dispatchEvent(new Event('input', { bubbles: true })); addLog(`设置第${index + 1}个空的textarea值: ${currentAnswer}`, 'debug'); } } catch (e) { addLog(`处理第${index + 1}个空时出错: ${e.message}`, 'error'); } } else { addLog(`警告:第${index + 1}个空没有对应的答案`, 'error'); } }); } if (!filled) { const blankInputs = [ ...questionElement.querySelectorAll('input[type="text"]'), ...questionElement.querySelectorAll('.blank'), ...questionElement.querySelectorAll('.fill-blank'), ...questionElement.querySelectorAll('[class*="blank"]'), ...questionElement.querySelectorAll('[class*="fill"]'), ...questionElement.querySelectorAll('textarea') ]; if (blankInputs.length > 0) { addLog(`找到 ${blankInputs.length} 个普通输入框`, 'debug'); blankInputs.forEach((input, index) => { if (index < answers.length) { try { input.value = answers[index]; input.dispatchEvent(new Event('input', { bubbles: true })); input.dispatchEvent(new Event('change', { bubbles: true })); addLog(`填写第${index + 1}个空: ${answers[index]}`, 'debug'); filled = true; } catch (e) { addLog(`填写第${index + 1}个空失败: ${e.message}`, 'error'); } } else { addLog(`警告:第${index + 1}个输入框没有对应的答案`, 'error'); } }); } } break; } case 'short': case 'term': case 'essay': case 'writing': case 'calculation': case 'matching': case 'accounting': { const textInputs = [ ...questionElement.querySelectorAll('textarea'), ...questionElement.querySelectorAll('.answer-area'), ...questionElement.querySelectorAll('.writing-area'), ...questionElement.querySelectorAll('[class*="answer"]'), ...questionElement.querySelectorAll('[class*="text-area"]'), ...questionElement.querySelectorAll('div[contenteditable="true"]') ]; if (textInputs.length > 0) { textInputs.forEach(input => { try { if (input.tagName.toLowerCase() === 'textarea' || input.tagName.toLowerCase() === 'input') { input.value = answer; input.dispatchEvent(new Event('input', { bubbles: true })); input.dispatchEvent(new Event('change', { bubbles: true })); } else if (input.getAttribute('contenteditable') === 'true') { input.innerHTML = answer; input.dispatchEvent(new Event('input', { bubbles: true })); } addLog(`填写答案到${input.tagName.toLowerCase()}`, 'debug'); filled = true; } catch (e) { addLog(`填写答案失败: ${e.message}`, 'error'); } }); } const editors = [ ...questionElement.querySelectorAll('.editor'), ...questionElement.querySelectorAll('[class*="editor"]'), ...questionElement.querySelectorAll('iframe') ]; editors.forEach(editor => { try { if (editor.tagName.toLowerCase() === 'iframe') { const iframeDoc = editor.contentDocument || editor.contentWindow.document; const editorBody = iframeDoc.body; if (editorBody) { editorBody.innerHTML = answer; editorBody.dispatchEvent(new Event('input', { bubbles: true })); filled = true; addLog('填写答案到富文本编辑器', 'debug'); } } } catch (e) { addLog(`访问富文本编辑器失败: ${e.message}`, 'error'); } }); break; } case 'single': case 'multiple': case 'judge': { let answerLetters; if (type === 'multiple') { answerLetters = answer.toUpperCase().split(/[,,、\s]+/).map(l => l.trim()); } else { answerLetters = [answer.toUpperCase().trim()]; } addLog(`识别到的选项字母: ${answerLetters.join(', ')}`, 'debug'); for (const letter of answerLetters) { if (!/^[A-Z]$/.test(letter)) { addLog(`跳过无效的选项字母: ${letter}`, 'error'); continue; } const index = letter.charCodeAt(0) - 65 + 1; // 1-based index for nth-child const specificSelector = `#${questionId} > div.stem_answer > div:nth-child(${index})`; const optionElement = document.querySelector(specificSelector); if (optionElement) { try { optionElement.click(); addLog(`点击选项元素: ${specificSelector}`, 'debug'); const input = optionElement.querySelector('input'); if (input) { input.click(); input.checked = true; input.dispatchEvent(new Event('change', { bubbles: true })); addLog(`点击选项input元素`, 'debug'); } const label = optionElement.querySelector('label'); if (label) { label.click(); addLog(`点击选项label元素`, 'debug'); } filled = true; } catch (e) { addLog(`点击选项 ${letter} 失败: ${e.message}`, 'error'); } } else { addLog(`未找到选项元素: ${specificSelector}`, 'error'); } } break; } default: break; } if (filled) { addLog(`答案填写成功`, 'success'); } else { addLog(`答案可能未成功填写,请检查`, 'error'); } try { const submitButtons = [ ...questionElement.querySelectorAll('button[type="submit"]'), ...questionElement.querySelectorAll('input[type="submit"]'), ...questionElement.querySelectorAll('.submit-btn'), ...questionElement.querySelectorAll('.save-btn'), ...questionElement.querySelectorAll('[class*="submit"]'), ...questionElement.querySelectorAll('[class*="save"]') ]; if (submitButtons.length > 0) { submitButtons[0].click(); addLog('触发了提交按钮', 'debug'); } } catch (e) { addLog(`触发提交按钮失败: ${e.message}`, 'debug'); } } catch (error) { addLog(`答案填写失败: ${error.message}`, 'error'); } } function debugPageStructure() { addLog('开始调试页面结构...', 'debug'); addLog('页面URL: ' + window.location.href, 'debug'); addLog('页面标题: ' + document.title, 'debug'); const possibleContainers = [ '.question', '.questionLi', '.subject_item', '.examPaper_subject', '.questionContainer', '.q-item', '.subject_node', '[class*="question"]', '[class*="subject"]' ]; for (let selector of possibleContainers) { const elements = document.querySelectorAll(selector); addLog(`使用选择器 ${selector} 找到 ${elements.length} 个元素`, 'debug'); if (elements.length > 0) { addLog(`第一个元素HTML结构:${elements[0].outerHTML.substring(0, 200)}...`, 'debug'); } } const allElements = document.querySelectorAll('*'); const relevantElements = Array.from(allElements).filter(el => { const className = el.className || ''; const id = el.id || ''; return (className + id).toLowerCase().includes('question') || (className + id).toLowerCase().includes('answer') || (className + id).toLowerCase().includes('option') || (className + id).toLowerCase().includes('subject'); }); addLog(`找到 ${relevantElements.length} 个可能相关的元素`, 'debug'); relevantElements.forEach(el => { addLog(`发现元素: ${el.tagName.toLowerCase()}.${el.className}#${el.id}`, 'debug'); addLog(`元素HTML: ${el.outerHTML.substring(0, 100)}...`, 'debug'); }); const inputs = document.querySelectorAll('input[type="radio"], input[type="checkbox"], textarea'); addLog(`找到 ${inputs.length} 个输入元素`, 'debug'); inputs.forEach(input => { addLog(`输入元素: type=${input.type}, name=${input.name}, class=${input.className}`, 'debug'); }); } function updateStatus(running) { const startButton = document.getElementById('start-answer'); const pauseButton = document.getElementById('pause-answer'); if (running) { startButton.style.display = 'none'; pauseButton.style.display = 'flex'; } else { startButton.style.display = 'flex'; pauseButton.style.display = 'none'; } } function hasQuestions() { const possibleSelectors = [ '.question', '.questionLi', '.subject_item', '.examPaper_subject', '.questionContainer', '.q-item', '.subject_node', '[class*="question"]', '[class*="subject"]', '.ti-item', '.exam-item' ]; for (let selector of possibleSelectors) { const questions = document.querySelectorAll(selector); if (questions.length > 0) { return true; } } const allElements = document.querySelectorAll('*'); const possibleQuestions = Array.from(allElements).filter(el => { const className = el.className || ''; const id = el.id || ''; const text = el.textContent || ''; return (className + id + text).toLowerCase().includes('题目') || (className + id).toLowerCase().includes('question') || (className + id).toLowerCase().includes('subject') || /^\d+[\.。]/.test(text.trim()); }); return possibleQuestions.length > 0; } function showNoTaskToast() { const toast = document.createElement('div'); toast.id = 'no-task-toast'; toast.textContent = '该页面无任务'; document.body.appendChild(toast); setTimeout(() => { if (toast && toast.parentNode) { toast.parentNode.removeChild(toast); } }, 3000); } let advanceInProgress = false; function isQuestionAnswered(q) { try { const choiceInputs = q.querySelectorAll('input[type="radio"], input[type="checkbox"]'); if (choiceInputs.length > 0) { return Array.from(choiceInputs).some(i => i.checked); } const textInputs = q.querySelectorAll('input[type="text"], textarea'); if (textInputs.length > 0) { if (Array.from(textInputs).some(t => (t.value || '').trim().length > 0)) return true; } const editableDivs = q.querySelectorAll('[contenteditable="true"]'); if (editableDivs.length > 0) { if (Array.from(editableDivs).some(d => (d.innerText || d.textContent || '').trim().length > 0)) return true; } const ueTextareas = q.querySelectorAll('[id^="answerEditor"]'); for (const ta of ueTextareas) { const id = ta.id; try { if (typeof UE !== 'undefined' && UE.getEditor) { const ed = UE.getEditor(id); if (ed && ed.getContentTxt && ed.getContentTxt().trim().length > 0) return true; } } catch {} if ((ta.value || '').trim().length > 0) return true; } const ifr = q.querySelector('iframe[id^="ueditor_"]'); if (ifr) { try { const doc = ifr.contentDocument || ifr.contentWindow.document; const txt = (doc && doc.body && (doc.body.innerText || doc.body.textContent)) || ''; if (txt.trim().length > 0) return true; } catch {} } } catch {} return false; } function isSectionDone(contextDoc) { const doc = contextDoc || document; try { const videos = doc.querySelectorAll('video, .video-js video'); for (const v of videos) { try { const d = v.duration || 0; const t = v.currentTime || 0; if (!(v.ended || (d > 0 && t / d >= 0.985))) { return false; } } catch { return false; } } const questions = doc.querySelectorAll('.question, .questionLi, .subject_item, .examPaper_subject, .questionContainer, .q-item, .subject_node, [class*="question"], .ti-item, .exam-item'); for (const q of questions) { if (!isQuestionAnswered(q)) { return false; } } return true; } catch { return false; } } async function ensureSectionCompletedAndAdvance(contextDoc) { if (!isStudyingChapters) { addLog('刷章节已暂停,跳过跳转检测', 'info'); return; } if (advanceInProgress) { addLog('跳转检测进行中,忽略重复触发', 'debug'); return; } advanceInProgress = true; try { const doc = contextDoc || document; await autoAnswerInDocument(doc); await tryEnterQuizAndAnswer(doc); let tries = 3; while (tries-- > 0) { if (!isStudyingChapters) { addLog('刷章节已暂停,终止跳转检测', 'info'); return; } if (isSectionDone(doc)) { addLog('检测到当前小节已完成,准备跳转下一小节', 'success'); gotoNextSection(doc); return; } await new Promise(r => setTimeout(r, 500)); } addLog('当前小节未完成,暂不跳转', 'info'); } catch (e) { addLog(`跳转前完成度检测出错: ${e.message}`, 'error'); } finally { advanceInProgress = false; } } async function autoAnswer() { if (isAnswering) { addLog('自动答题已经在运行中...', 'info'); return; } isAnswering = true; updateStatus(true); addLog('开始查找题目...', 'debug'); try { addLog('当前页面URL: ' + window.location.href, 'debug'); addLog('当前页面标题: ' + document.title, 'debug'); const possibleSelectors = [ '.question', '.questionLi', '.subject_item', '.examPaper_subject', '.questionContainer', '.q-item', '.subject_node', '[class*="question"]', '[class*="subject"]', '.ti-item', '.exam-item' ]; let questions = []; let foundSelector = ''; for (let selector of possibleSelectors) { questions = document.querySelectorAll(selector); if (questions.length > 0) { foundSelector = selector; addLog(`使用选择器 ${selector} 找到 ${questions.length} 个题目`, 'debug'); break; } } if (questions.length === 0) { addLog('使用常规选择器未找到题目,尝试查找可能的题目容器...', 'debug'); const allElements = document.querySelectorAll('*'); const possibleQuestions = Array.from(allElements).filter(el => { const className = el.className || ''; const id = el.id || ''; const text = el.textContent || ''; return (className + id + text).toLowerCase().includes('题目') || (className + id).toLowerCase().includes('question') || (className + id).toLowerCase().includes('subject') || /^\d+[\.。]/.test(text.trim()); // 匹配数字开头的内容 }); if (possibleQuestions.length > 0) { questions = possibleQuestions; addLog(`通过内容分析找到 ${questions.length} 个可能的题目`, 'debug'); } } if (questions.length === 0) { addLog('未找到任何题目,请确保页面已完全加载', 'error'); addLog('页面主要内容:' + document.body.innerHTML.substring(0, 500) + '...', 'debug'); return; } addLog(`共找到 ${questions.length} 个题目`, 'info'); Array.from(questions).forEach((q, idx) => { addLog(`题目 ${idx + 1} 类名: ${q.className}, ID: ${q.id}`, 'debug'); }); for (let question of questions) { if (!isAnswering) { addLog('自动答题已暂停', 'info'); break; } const questionInfo = getQuestionInfo(question); if (!questionInfo) { addLog('题目信息获取失败,跳过当前题目', 'error'); continue; } addLog(`正在处理题目: ${questionInfo.question.substring(0, 30)}...`); addLog(`题目类型: ${questionInfo.type}`, 'debug'); addLog(`选项数量: ${questionInfo.options.length}`, 'debug'); const answer = await getAnswer(questionInfo); if (answer) { addLog(`获取到答案: ${answer}`); fillAnswer(answer, question, questionInfo.type); } if (isAnswering) { await new Promise(resolve => setTimeout(resolve, 2000)); } } } catch (error) { addLog(`自动答题过程出错: ${error.message}`, 'error'); } finally { isAnswering = false; updateStatus(false); addLog('答题过程结束', 'success'); } } function init() { let persistedStudy = false; try { persistedStudy = localStorage.getItem(STUDY_PERSIST_KEY) === '1'; } catch {} const pageTitle = document.title || ''; const currentUrl = location.href || ''; if (pageTitle.includes('课程') || pageTitle === '课程' || pageTitle.includes('课表') || pageTitle === '课表') { addLog(`检测到${pageTitle.includes('课表') ? '课表' : '课程'}页面,不展现脚本面板`, 'info'); return; } const isCourseDetailPage = () => { if (currentUrl.includes('/mooc2-ans/mycourse/stu') || currentUrl.includes('/mycourse/studentcourse') || currentUrl.includes('course/') && !currentUrl.includes('knowledge')) { const hasNavigationMenu = document.querySelector('.nav-content ul, .stuNavigationList ul'); const hasModuleLinks = document.querySelectorAll('a[title="章节"], a[title="作业"], a[title="考试"], a[title="资料"]').length >= 3; const hasCourseInfo = document.querySelector('.classDl, .sideCon, .nav_side'); const hasCourseId = document.querySelector('#courseid, input[name="courseid"]'); if ((hasNavigationMenu || hasModuleLinks) && hasCourseInfo && hasCourseId) { return true; } } return false; }; if (isCourseDetailPage()) { addLog('检测到课程详情页面,不展现脚本面板', 'info'); return; } const isChapterListPage = () => { const hasChapterList = document.querySelector('.fanyaChapter, .chapter_body, .xs_table'); const hasChapterItems = document.querySelectorAll('.chapter_unit, .chapter_item').length > 0; const hasChapterStructure = document.querySelector('.chapter_th, .chapter_td'); const hasProgressInfo = document.querySelector('.catalog_points_yi, .chapter_head'); const hasSearchBox = document.querySelector('#searchChapterListByName, .dataSearch'); const hasTypicalStructure = hasChapterList && hasChapterStructure && hasProgressInfo; const hasChapterTitles = document.querySelectorAll('.catalog_name, .newCatalog_name').length > 2; const urlIndicatesChapterList = currentUrl.includes('/mycourse/studentcourse') || currentUrl.includes('/studentstudy') && !currentUrl.includes('chapterId='); const hasNoLearningContent = !document.querySelector('video, .video-js, iframe[src*="chaoxing"], .questionLi, .TiMu'); return hasTypicalStructure && hasChapterItems && hasChapterTitles && urlIndicatesChapterList && hasNoLearningContent; }; if (isChapterListPage()) { addLog('检测到章节列表页面,不展现脚本面板', 'info'); return; } if (!persistedStudy && !hasQuestions() && !hasStudyContentDeep() && !isStudyPage()) { showNoTaskToast(); return; } if (!claimOwnership()) { if (persistedStudy && !recoveryTimerId) { recoveryTimerId = setInterval(() => { if (claimOwnership()) { clearInterval(recoveryTimerId); recoveryTimerId = null; createdPanelEl = createPanel(); bindPanelEvents(); startHeartbeat(); if (!isStudyingChapters) startStudyChapters(); } }, 1000); } return; } createdPanelEl = createPanel(); bindPanelEvents(); startHeartbeat(); if (persistedStudy) { startStudyChapters(); setTimeout(() => tryAutoSkipEmptySection(), 600); } } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } function isQuizPageDoc(doc) { try { if (doc.getElementById('form1') && doc.querySelector('#RightCon .newTestTitle')) return true; if (doc.querySelector('.newTestCon form#form1') && doc.querySelector('.ans-cc')) return true; } catch {} return false; } function collectQuizQuestions(doc) { const questions = []; try { const typeInputs = doc.querySelectorAll('input[id^="answertype"]'); typeInputs.forEach((inp) => { try { const id = inp.id.replace('answertype', ''); const qid = id.trim(); const block = doc.querySelector(`.singleQuesId[data="${qid}"]`) || inp.closest('.TiMu') || doc; const typeVal = (inp.value || '').trim(); let type = ''; if (typeVal === '0') type = 'single'; else if (typeVal === '1') type = 'multiple'; else if (typeVal === '3') type = 'judge'; else if (typeVal === '2') type = 'blank'; else if (typeVal === '4') type = 'short'; else { const hasTextInput = block.querySelector('input[type="text"], textarea, [contenteditable="true"], [id^="answerEditor"], iframe[id^="ueditor_"]'); type = hasTextInput ? 'short' : 'text'; } const opts = []; const lis = block.querySelectorAll(`ul.Zy_ulTop li[onclick][qid="${qid}"]`); lis.forEach((li, idx) => { const span = li.querySelector('.num_option, .num_option_dx'); const letter = span?.getAttribute('data') || String.fromCharCode(65 + idx); const txt = (li.querySelector('a.after')?.textContent || '').trim(); opts.push(`${letter}. ${txt}`); }); let qtext = ''; const label = block.querySelector('.Zy_TItle .fontLabel'); if (label) qtext = label.textContent.replace(/\s+/g, ' ').trim(); questions.push({ qid, type, question: qtext, options: opts }); } catch {} }); } catch {} return questions; } function fillQuizAnswer(doc, qid, type, answer) { try { const block = doc.querySelector(`.singleQuesId[data="${qid}"]`) || doc; if (!block) return false; if (type === 'single' || type === 'multiple' || type === 'judge') { let letters = []; if (type === 'multiple') { letters = (answer || '').toUpperCase().split(/[,,、\s]+/).filter(Boolean); } else if (type === 'judge') { const val = String(answer || '').trim().toLowerCase(); if (/^a$|对|true|正确/.test(val)) letters = ['A']; else if (/^b$|错|false|错误/.test(val)) letters = ['B']; else if (/^t$/.test(val)) letters = ['A']; else if (/^f$/.test(val)) letters = ['B']; else letters = [(val.match(/[ab]/i) || ['A'])[0].toUpperCase()]; } else { const m = String(answer || '').toUpperCase().match(/[A-Z]/g); letters = m ? m : []; } const ul = block.querySelector('ul.Zy_ulTop'); if (!ul) return false; letters.forEach((L) => { let target = null; if (type === 'judge') { const dataVal = (L === 'A') ? 'true' : 'false'; target = ul.querySelector(`li .num_option[data='${dataVal}'], li .num_option_dx[data='${dataVal}']`) || ul.querySelector(`li .num_option[data='${L}'], li .num_option_dx[data='${L}']`); } else { target = ul.querySelector(`li .num_option[data='${L}'], li .num_option_dx[data='${L}']`); } if (target) { const li = target.closest('li'); safeClick(li); } }); const hidden = doc.getElementById(`answer${qid}`); if (hidden) { const want = (type === 'judge') ? (letters[0] === 'A' ? 'true' : 'false') : letters.join(''); if (!hidden.value || (type !== 'multiple' && hidden.value.toLowerCase() !== want)) { hidden.value = want; const spans = ul.querySelectorAll(`.choice${qid}`); spans.forEach(s => s.classList.remove('check_answer', 'check_answer_dx')); letters.forEach((L) => { let sel = null; if (type === 'judge') { const dv = (L === 'A') ? 'true' : 'false'; sel = ul.querySelector(`.choice${qid}[data='${dv}']`) || ul.querySelector(`.choice${qid}[data='${L}']`); } else { sel = ul.querySelector(`.choice${qid}[data='${L}']`); } if (sel) { const isMulti = !!ul.querySelector('.num_option_dx'); sel.classList.add(isMulti ? 'check_answer_dx' : 'check_answer'); const li = sel.closest('li'); if (li) { li.setAttribute('aria-checked', 'true'); li.setAttribute('aria-pressed', 'true'); } } }); } } return true; } else if (type === 'blank') { // 多空填空:按分隔符拆分并逐个填入 const answers = String(answer || '').split(/[,,;;、]\s*/).map(s => s.trim()).filter(Boolean); const ueAreas = block.querySelectorAll('[id^="answerEditor"]'); ueAreas.forEach((ta, i) => { const val = answers[i] || ''; if (!val) return; try { if (typeof UE !== 'undefined' && UE.getEditor) { const ed = UE.getEditor(ta.id); if (ed) { ed.ready(() => { ed.setContent(val); if (typeof ed.fireEvent === 'function') ed.fireEvent('contentChange'); }); } } else { ta.value = val; ta.dispatchEvent(new Event('input', { bubbles: true })); ta.dispatchEvent(new Event('change', { bubbles: true })); } } catch {} }); const ifrs = block.querySelectorAll('iframe[id^="ueditor_"]'); ifrs.forEach((ifr, i) => { const val = answers[i] || ''; if (!val) return; try { const d = ifr.contentDocument || ifr.contentWindow?.document; const body = d && d.body; if (body) { body.innerHTML = val; body.dispatchEvent(new Event('input', { bubbles: true })); } } catch {} }); const inputs = [ ...block.querySelectorAll('input[type="text"]'), ...block.querySelectorAll('textarea'), ...block.querySelectorAll('[contenteditable="true"]') ]; inputs.forEach((el, i) => { const val = answers[i] || ''; if (!val) return; try { const tag = (el.tagName || '').toLowerCase(); if (tag === 'input' || tag === 'textarea') { el.value = val; el.dispatchEvent(new Event('input', { bubbles: true })); el.dispatchEvent(new Event('change', { bubbles: true })); } else if (el.getAttribute('contenteditable') === 'true') { el.innerHTML = val; el.dispatchEvent(new Event('input', { bubbles: true })); } } catch {} }); const hidden = doc.getElementById(`answer${qid}`); if (hidden) hidden.value = answers.join(' '); return true; } else if (type === 'text' || type === 'short' || type === 'essay' || type === 'writing') { // 简答题:整体写入,不做分割 const val = String(answer || '').trim(); if (!val) return false; const ueAreas = block.querySelectorAll('[id^="answerEditor"]'); ueAreas.forEach((ta) => { try { if (typeof UE !== 'undefined' && UE.getEditor) { const ed = UE.getEditor(ta.id); if (ed) { ed.ready(() => { ed.setContent(val); if (typeof ed.fireEvent === 'function') ed.fireEvent('contentChange'); }); } } else { ta.value = val; ta.dispatchEvent(new Event('input', { bubbles: true })); ta.dispatchEvent(new Event('change', { bubbles: true })); } } catch {} }); const ifrs = block.querySelectorAll('iframe[id^="ueditor_"]'); ifrs.forEach((ifr) => { try { const d = ifr.contentDocument || ifr.contentWindow?.document; const body = d && d.body; if (body) { body.innerHTML = val; body.dispatchEvent(new Event('input', { bubbles: true })); } } catch {} }); const inputs = [ ...block.querySelectorAll('textarea'), ...block.querySelectorAll('input[type="text"]'), ...block.querySelectorAll('[contenteditable="true"]') ]; inputs.forEach((el) => { try { const tag = (el.tagName || '').toLowerCase(); if (tag === 'input' || tag === 'textarea') { el.value = val; el.dispatchEvent(new Event('input', { bubbles: true })); el.dispatchEvent(new Event('change', { bubbles: true })); } else if (el.getAttribute('contenteditable') === 'true') { el.innerHTML = val; el.dispatchEvent(new Event('input', { bubbles: true })); } } catch {} }); const hidden = doc.getElementById(`answer${qid}`); if (hidden) hidden.value = val; return true; } return false; } catch { return false; } } function findAndClickQuizSubmitButton(doc) { try { const targetWindow = doc.defaultView || window; const chaoxingSubmitMethods = [ () => { if (typeof targetWindow.btnBlueSubmit === 'function') { targetWindow.btnBlueSubmit(); addLog('使用 btnBlueSubmit() 方法提交', 'success'); return true; } return false; }, () => { if (typeof targetWindow.submitCheckTimes === 'function') { targetWindow.submitCheckTimes(); addLog('使用 submitCheckTimes() 方法提交', 'success'); return true; } return false; }, () => { if (typeof targetWindow.submitWork === 'function') { targetWindow.submitWork(); addLog('使用 submitWork() 方法提交', 'success'); return true; } return false; }, () => { const forms = doc.querySelectorAll('form'); for (const form of forms) { const formAction = form.action || ''; if (formAction.includes('work') || formAction.includes('quiz') || formAction.includes('submit')) { try { form.submit(); addLog('使用表单 submit() 方法提交', 'success'); return true; } catch (e) { addLog(`表单提交失败: ${e.message}`, 'error'); } } } return false; } ]; for (const method of chaoxingSubmitMethods) { try { if (method()) return true; } catch (e) { addLog(`提交方法执行失败: ${e.message}`, 'error'); } } const submitSelectors = [ 'input[type="submit"][value*="提交"]', 'button[type="submit"]', 'input[value="提交答案"]', 'input[value="提交"]', 'button[onclick*="submit"]', 'button[onclick*="btnBlueSubmit"]', 'button[onclick*="submitCheckTimes"]', '.submit-btn', '.btn-submit', '#submit', '.submit', 'input[id*="submit"]', 'button[id*="submit"]', 'a[onclick*="submit"]', 'input[onclick*="tijiao"]', 'button[onclick*="tijiao"]' ]; for (const selector of submitSelectors) { const submitBtn = doc.querySelector(selector); if (submitBtn && !submitBtn.disabled && !submitBtn.classList.contains('disabled')) { try { submitBtn.scrollIntoView({ block: 'center', behavior: 'smooth' }); const onclick = submitBtn.getAttribute('onclick'); if (onclick) { try { const func = new targetWindow.Function(onclick); func.call(submitBtn); addLog(`通过onclick执行提交: ${onclick}`, 'success'); return true; } catch (e) { addLog(`onclick执行失败: ${e.message}`, 'error'); } } if (safeClick(submitBtn)) { addLog(`成功点击提交按钮: ${selector}`, 'success'); return true; } } catch (e) { addLog(`点击提交按钮失败: ${e.message}`, 'error'); } } } const clickableElements = Array.from(doc.querySelectorAll('input, button, a, span, div')); for (const el of clickableElements) { const text = (el.textContent || el.value || '').trim(); if (/^(提交|提交答案|完成|确认提交)$/.test(text)) { try { el.scrollIntoView({ block: 'center', behavior: 'smooth' }); const onclick = el.getAttribute('onclick'); if (onclick) { try { const func = new targetWindow.Function(onclick); func.call(el); addLog(`通过文本匹配和onclick执行提交: ${text}`, 'success'); return true; } catch (e) { addLog(`文本匹配onclick执行失败: ${e.message}`, 'error'); } } if (safeClick(el)) { addLog(`通过文本匹配点击提交按钮: ${text}`, 'success'); return true; } } catch (e) { addLog(`通过文本匹配点击提交按钮失败: ${e.message}`, 'error'); } } } addLog('未找到章节测验提交按钮', 'error'); return false; } catch (e) { addLog(`查找提交按钮时出错: ${e.message}`, 'error'); return false; } } function validateAndFixSubmitParams(doc) { try { const targetWindow = doc.defaultView || window; if (typeof targetWindow.workRelationId === 'undefined') { const workIdInputs = doc.querySelectorAll('input[name*="workRelationId"], input[id*="workRelationId"]'); if (workIdInputs.length > 0) { targetWindow.workRelationId = workIdInputs[0].value; addLog(`设置workRelationId: ${targetWindow.workRelationId}`, 'debug'); } } if (typeof targetWindow.courseId === 'undefined') { const courseIdInputs = doc.querySelectorAll('input[name*="courseId"], input[id*="courseId"]'); if (courseIdInputs.length > 0) { targetWindow.courseId = courseIdInputs[0].value; addLog(`设置courseId: ${targetWindow.courseId}`, 'debug'); } } if (typeof targetWindow.classId === 'undefined') { const classIdInputs = doc.querySelectorAll('input[name*="classId"], input[id*="classId"]'); if (classIdInputs.length > 0) { targetWindow.classId = classIdInputs[0].value; addLog(`设置classId: ${targetWindow.classId}`, 'debug'); } } const questions = doc.querySelectorAll('[class*="TiMu"], [class*="timu"]'); questions.forEach((q, index) => { const qid = q.getAttribute('id') || `question_${index}`; let answerInput = doc.querySelector(`input[name="answer${qid}"], input[id="answer${qid}"]`); if (!answerInput) { answerInput = doc.createElement('input'); answerInput.type = 'hidden'; answerInput.name = `answer${qid}`; answerInput.id = `answer${qid}`; q.appendChild(answerInput); addLog(`为题目${qid}创建答案input`, 'debug'); } }); addLog('提交参数验证完成', 'debug'); return true; } catch (e) { addLog(`提交参数验证失败: ${e.message}`, 'error'); return false; } } async function handleSubmitConfirmDialog(doc, timeoutMs = 3000) { const startTime = Date.now(); while (Date.now() - startTime < timeoutMs) { try { const confirmDialogSelectors = [ '.popDiv', '.modal', '.dialog', '.alert', '.layui-layer', '.confirm-dialog', '.submit-confirm', '[class*="confirm"]', '[class*="dialog"]', '[class*="modal"]' ]; for (const selector of confirmDialogSelectors) { const dialog = doc.querySelector(selector); if (dialog && dialog.style.display !== 'none' && (dialog.textContent.includes('确认提交') || dialog.textContent.includes('提交') || dialog.textContent.includes('确定'))) { addLog('检测到提交确认弹窗', 'info'); const confirmButtonSelectors = [ 'button[onclick*="submit"]', 'button[value*="提交"]', 'button[value*="确定"]', 'button[value*="确认"]', 'input[type="button"][value*="提交"]', 'input[type="button"][value*="确定"]', 'input[type="button"][value*="确认"]', '.confirm-btn', '.submit-btn', '.ok-btn', 'button:contains("提交")', 'button:contains("确定")', 'button:contains("确认")', 'a[onclick*="submit"]' ]; for (const btnSelector of confirmButtonSelectors) { const confirmBtn = dialog.querySelector(btnSelector) || doc.querySelector(`${selector} ${btnSelector}`); if (confirmBtn && !confirmBtn.disabled) { try { const onclick = confirmBtn.getAttribute('onclick'); if (onclick) { const targetWindow = doc.defaultView || window; const func = new targetWindow.Function(onclick); func.call(confirmBtn); addLog(`通过onclick执行确认提交: ${onclick}`, 'success'); return true; } if (safeClick(confirmBtn)) { addLog(`点击确认提交按钮: ${btnSelector}`, 'success'); return true; } } catch (e) { addLog(`点击确认按钮失败: ${e.message}`, 'error'); } } } const allButtons = dialog.querySelectorAll('button, input[type="button"], a'); for (const btn of allButtons) { const text = (btn.textContent || btn.value || '').trim(); if (/^(提交|确定|确认|OK)$/.test(text)) { try { if (safeClick(btn)) { addLog(`通过文本匹配点击确认按钮: ${text}`, 'success'); return true; } } catch (e) { addLog(`文本匹配点击确认按钮失败: ${e.message}`, 'error'); } } } } } } catch (e) { } await new Promise(r => setTimeout(r, 200)); } return false; } async function waitForQuizSubmitCompletion(doc, timeoutMs = 5000) { const startTime = Date.now(); const originalUrl = doc.location.href; while (Date.now() - startTime < timeoutMs) { try { const successIndicators = [ '.success', '.alert-success', '.msg-success', '[class*="success"]', '[class*="complete"]', '*[text()*="提交成功"]', '*[text()*="完成"]' ]; for (const selector of successIndicators) { const indicator = doc.querySelector(selector); if (indicator && indicator.textContent.includes('成功')) { addLog('检测到提交成功提示', 'success'); return true; } } if (doc.location.href !== originalUrl) { addLog('检测到页面跳转,提交可能已完成', 'info'); return true; } const nextStepSelectors = [ 'button[onclick*="next"]', 'a[onclick*="next"]', 'input[value*="下一"]', 'button[value*="下一"]', '.next-btn', '.btn-next', '#next' ]; for (const selector of nextStepSelectors) { if (doc.querySelector(selector)) { addLog('检测到下一步按钮,提交可能已完成', 'info'); return true; } } } catch (e) { } await new Promise(r => setTimeout(r, 200)); } addLog('等待提交完成超时', 'error'); return false; } async function autoAnswerQuizInDocument(doc) { try { if (!isStudyingChapters) return false; if (!isQuizPageDoc(doc)) return false; await injectConsoleDecryptCode(doc); const qs = collectQuizQuestions(doc); if (!qs || qs.length === 0) return false; addLog(`检测到章节测验,共 ${qs.length} 题,开始作答...`, 'info'); for (const q of qs) { if (!isStudyingChapters) { addLog('已暂停刷章节,停止测验作答', 'info'); return false; } const promptInfo = { type: q.type, question: q.question || `题目 ${q.qid}`, options: q.options || [] }; const ans = await getAnswer(promptInfo); if (ans) { fillQuizAnswer(doc, q.qid, q.type, ans); } await new Promise(r => setTimeout(r, 500)); } addLog('章节测验答题完成,准备提交...', 'success'); await new Promise(r => setTimeout(r, 1000)); addLog('验证提交参数...', 'info'); validateAndFixSubmitParams(doc); let submitSuccess = false; const targetWindow = doc.defaultView || window; try { const originalAlert = targetWindow.alert; targetWindow.alert = function(msg) { addLog(`阻止弹窗: ${msg}`, 'debug'); if (msg && msg.includes('code-1')) { addLog('检测到code-1错误,尝试其他提交方式', 'info'); return; } return originalAlert.call(this, msg); }; if (typeof targetWindow.btnBlueSubmit === 'function') { addLog('使用学习通标准提交流程', 'info'); targetWindow.btnBlueSubmit(); await new Promise(r => setTimeout(r, 1000)); if (typeof targetWindow.submitCheckTimes === 'function') { targetWindow.submitCheckTimes(); addLog('执行submitCheckTimes完成', 'success'); } if (typeof targetWindow.noSubmit === 'function') { addLog('检测到noSubmit函数,跳过自动提交以避免错误', 'info'); } submitSuccess = true; addLog('学习通标准提交流程执行完成', 'success'); } else if (typeof targetWindow.submitWork === 'function') { addLog('使用submitWork提交', 'info'); targetWindow.submitWork(); submitSuccess = true; } else { submitSuccess = findAndClickQuizSubmitButton(doc); } // 恢复原始alert targetWindow.alert = originalAlert; } catch (e) { addLog(`提交流程执行失败: ${e.message}`, 'error'); submitSuccess = findAndClickQuizSubmitButton(doc); } if (submitSuccess) { addLog('已执行提交操作,等待确认弹窗...', 'info'); await new Promise(r => setTimeout(r, 500)); const confirmHandled = await handleSubmitConfirmDialog(doc, 3000); if (confirmHandled) { addLog('已处理提交确认弹窗', 'success'); } else { addLog('未检测到确认弹窗或处理失败', 'info'); } const submitCompleted = await waitForQuizSubmitCompletion(doc, 8000); if (submitCompleted) { addLog('章节测验提交完成,准备跳转下一节...', 'success'); await new Promise(r => setTimeout(r, 2000)); if (isStudyingChapters) { const jumpSuccess = gotoNextSection(doc); if (jumpSuccess) { addLog('已自动跳转到下一节', 'success'); } else { addLog('自动跳转失败,请手动切换到下一节', 'error'); } } } else { addLog('等待提交完成超时,但将继续尝试跳转', 'info'); await new Promise(r => setTimeout(r, 1500)); if (isStudyingChapters) gotoNextSection(doc); } } else { addLog('未找到提交按钮,跳过提交直接尝试跳转', 'info'); await new Promise(r => setTimeout(r, 1000)); if (isStudyingChapters) gotoNextSection(doc); } return true; } catch (e) { addLog(`章节测验自动作答失败: ${e.message}`, 'error'); return false; } } })();