您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
基于FSU/Enhancer 的永动机滚卡助手
// ==UserScript== // @name pandaSBC // @namespace http://tampermonkey.net/ // @version 2.1.5 // @description 基于FSU/Enhancer 的永动机滚卡助手 // @license MIT // @match https://www.ea.com/ea-sports-fc/ultimate-team/web-app/* // @match https://www.easports.com/*/ea-sports-fc/ultimate-team/web-app/* // @match https://www.ea.com/*/ea-sports-fc/ultimate-team/web-app/* // @match https://signin.ea.com/* // @grant GM_getValue // @grant GM_setValue // @grant GM_addStyle // @grant GM_deleteValue // @run-at document-end // ==/UserScript== /* * 脚本使用免责声明(Script Usage Disclaimer) * * 本脚本仅供个人学习和研究使用,不得用于任何商业或非法用途。 * 作者对因使用本脚本造成的任何直接或间接损失、损害或法律责任不承担任何责任。 * 使用者须自行评估风险并对其行为负责。请务必遵守目标网站的用户协议和相关法律法规。 * * This script is provided “as is,” without warranty of any kind, express or implied. * The author shall not be liable for any damages arising out of the use of this script. * Use at your own risk and in compliance with the target site’s terms of service and applicable laws. */ (function () { 'use strict'; const GUIDE_SHOWN_KEY = 'guide_shown_v1'; const PandaSBC = (() => { const config = { version: '2.1.5', DEFAULT_TIMEOUT: 15000, LOGIN_BUTTON_CHECK_TIMEOUT: 60, UI: { SP_STABLE_FOR: 300, SP_FILL_SUCCESS_TIME: 1000, }, RANGES: [ { range: [82, 86], type: 'all' }, { range: [87, 88], type: 'all' }, { range: [89, 96], type: 'all' }, { type: 'storage' }, ], STORAGE_MAX: 100, MIN_RATING_KEY: 'minRating', DEFAULT_MIN_RATING: 98, HIGH_RATED_POPUP_THRESHOLD: 98, MAX_RATING_TOTW: 90, MAX_RATING_NORMAL: 98, targetKeywords: [ '89 阵容变异', 'TOTW 升级', '10 名 85+ 升级', '10 名 84+ 升级', ], blacklistKeywords: [ '可交易', '青铜升级', '白银升级', '黄金升级', '混合联赛升级' ], PRO: { LOWBIN_RANGE: [75, 80], LOWBIN_SAFE_MIN: 20, TOTW_RANGE: [83, 84], TOTW_NEED: 11, TOTW_SAFE_MIN: 3, LOOP_FAIL_BACKOFF_MS: 3 * 60 * 1000, TRY_LOOP_FAILS_BEFORE_FALLBACK: 2, AUX_MAX_CONSEC: 2, LOGIN_EMAIL: '', LOGIN_PASSWORD: '', }, }; const CFG_KEYS = { SP_STABLE_FOR: 'cfg_SP_STABLE_FOR', SP_FILL_SUCCESS_TIME: 'cfg_SP_FILL_SUCCESS_TIME', HIGH_RATED_POPUP_THRESHOLD: 'cfg_HIGH_RATED_POPUP_THRESHOLD', MAX_RATING_TOTW: 'cfg_MAX_RATING_TOTW', MAX_RATING_NORMAL: 'cfg_MAX_RATING_NORMAL', TOTW_SAFE_MIN: 'cfg_TOTW_SAFE_MIN', AUTO_RESTART_ON_STOP: 'cfg_AUTO_RESTART_ON_STOP', }; const DONATE = { ALIPAY_QR: 'data:image/png;base64,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KvZoxeN8U+7WrZsMGzZMGjduHFtvklvmfUWFBk8cCSWrb+P08dRTTxVYlEigz7KkOTAUze/Loi1pGW00HVtTVfw4WfJifX+L6ZunNVXFOleQ86kqxxxzjGmI04AnhBSUOL1Hv3lq483vIVVlxXCF07Z5TLfYtm05jZbE+cTNSJwZ/fvoo49cnqeFVo13W5PEV1fwTAMCScHTEztkSWgQpWrTxtETGPi+xi1QkoKnt8k4O/bvg9mHxH2oELMus2bNcqQHL774ojqnmjVrJjfffLOa55lUb1bw9ExThQbP4447zqlZm+MBPAN4qvOxGMATJwOVGflgUG5lVaiXydi7d283WbQIDnkovNZff31VljYWCjw32WQTx5xCVEK7s1hM+DqgSpswYUJsnd6RjRgxQgYPHmwajqTgCW3c6NGjM4+sN910U+nRo4ejm4sbb0CA3E0LbRy6I1KHmm/y5Ml59RElrIAl55tvvskr63VMO7E5aCGzLgAXYzhlyhS16gYNGjhCBSj6NL1R2aefflpBr5ivcm9z6CxOF/55zznLfPW7LnENJw1m5MiRMmnSJLV/0P4deeSRsu2225r4ewN4BvBUjapYwBPQ9JRxGsipnVouwOQFLHbbbTeZN2+eChi8984775Q//OEPJoq+QoEnEx3gTBMBarr5xz/+IYceeqiwjRVX0N29994r55xzjgm8k4InfMOvvvpqBbdtFgsE9HXppZcKN5o0adIkFgRwvK+99poccsghTg353u8detu2bQXS+b333lvVGwKwEaE/rVA/4w2IZl0AIOx51113VQGD/mNztEWLylh4/PWvf3V0fnHFU13+/ve/l9tvv92kt/nz57v2AopaoX///Oc/hfopmt+gf1Bv+jGNqz+AZwBPzf6K5sCQ2tCUAt9++6306dPHEXtbSjHcqmJpZ1oZy60qHkyQBYgsJSl47rvvvibmG8u7ozL+VhXAUytsZ9IOS4FQn21N+mkp1ivJLHWlleE7P9R4AL4GLEneAdBefPHFbudFK4AVLEfMK0sbmKfMV+atVujf3Xff7Ra7WZcAngE8VZsqhshTbWQVBAJ4rqy8AJ4r9BHAM93ECuC5st569erlSOd32GEHVaGBYSiPigLD0MqKueyyy+TKK680rThVq0spEMAzgGc+0wngmW5SBfAM4BlnOXzfdlfbjRgxopx0B0sJ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to3RW9i2TW9UATzT6876ZIg8Q+RptZWwbZuFpsK2rVmLATzNqvqVYADP9LqzPvlbAM/777/fnOdZyMiTi7aPOeYYdWjCaVtVRXkFflOnbZcsWVI+c+ZMk7ZIgG3QoEEF+UFc0i5J0muuuWZFgraWS7RgwQJHOabJ0VAGqGHDhrFH2f0x9/XXX1/ee+89lWGI93qGISsl3emnny7kpVHiGECo++mnn3a5fGyvxBXqgRUGdhOOtWvH9S0D50kSkOUmexLX89Xrk9t55p577nFECZZCvzxlnJYrRS4YjC++DXHypCzAwHP00UerLCuWdiLD++gn+Yew2RSikBrhGVzi6gc8Tz75ZJcSpLHI0G50zFzxNpevbvpH3jJ1a8WTYnjbyCcftRkWVscff3zeqv2YYmvPPfecIz6wFMaZOYVefJ54vucgSTjvvPMcM4xGN4m9wR72+9//PlbPvh7m3913321psknG6w7/iT46d+5seg4f4HPUsyJJoC20A5avJCQImt/idzCCFClr/0xKKKAQdkreJjn74ITmu2hKRZ7nxIkTy//2t7+ZmgfhAMbXtm1bJx83mDTitttuq2hMHAjw24cffihPPfVU7CTwdcCNetBBB7nB1wp5gtDdMRHjHA2/jRkzRgYNGiRTp07VqnW/IxeVjesjDCetW7c2gSF67tevnzPEOB2bGrlcyBsF3KjkmeUzkui/ozvabCmwpvznP/9xjl1LrIZjlHw7KOy0ApXgtGnTZPr06SbdafXxu8+n5KAAub2WCWOpNyoDaG244YbqYzjGTTbZRPr27WsCT3htAUUWKxqZAo537bXXNultxowZzql//vnnsW3274S/tGfPnnllvU6RZyGx1lprqbpAgHYw3p4KTvMb+CL6qRXsCO5SeEy1BSltZ+HPwi2LEs3fBZxHjx7tFrBaYfF12GGHSe/evZ1o3OIq6TfPPffcU3bffXetCYl/T9K/xJUX6IEpU6Y4v4//t/iCCvAcMWJEuZUNYqeddpKbbrrJESz7wczXn2gEY1lRE+UQYWj8idR11FFHya233uomZb7ileANV3M0Frncd0GQwH8WhbNKp80AhrboiL5Hm+hWe/LjceyxxwoAmo/fNso+csEFF8i1115resXDDz/sWIDYxdDAk1tVHnvssQry6Lg+4khhcSLB3aJnU2OXC2ntTFJXrizk33vt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', WECHAT_QR: 'data:image/png;base64,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', }; const state = { page: unsafeWindow, running: false, runningTask: '', isStopping: false, abortCtrl: null, currentTaskDone: Promise.resolve(), FILTERED_SETS: [], selectedLoopSetId: null, selectedDoSbcSetId: null, minRating: Number(GM_getValue(config.MIN_RATING_KEY, config.DEFAULT_MIN_RATING)) || config.DEFAULT_MIN_RATING, enableHandleDuplicate: !!GM_getValue('enableHandleDuplicate', false), _hiRatedPlayers: [], _loopFailStrike: 0, _lastLoopFailAt: 0, _xhrPromiseList: [], _xhrHooked: false, _tryLoopFailStrike2: 0, _tryLoopFbUsedForStrike: false, _auxActGuard: { lastAct: null, consec: 0 }, btn: { loop: null, open: null, do: null, auto: null }, autoRestartOnStop: !!GM_getValue(CFG_KEYS.AUTO_RESTART_ON_STOP, false), }; const log = { d: (...a) => console.debug('[pandaSBC]', ...a), i: (...a) => console.info('[pandaSBC]', ...a), w: (...a) => console.warn('[pandaSBC]', ...a), e: (...a) => console.error('[pandaSBC]', ...a), }; class AbortedError extends Error { constructor(msg = 'Aborted') { super(msg); this.name = 'AbortedError'; } } class TimeoutError extends Error { constructor(msg = 'Timeout') { super(msg); this.name = 'TimeoutError'; } } class ExpectError extends Error { constructor(msg = 'Unexpected') { super(msg); this.name = 'ExpectError'; } } const isAbort = (e) => e && (e.name === 'AbortedError' || /Aborted/.test(String(e.message))); const isHighRatedError = (e) => e && e.name === 'ExpectError' && /HighRatedInSquad/.test(String(e.message || '')); const util = { sleep: (ms) => { const s = state.abortCtrl?.signal; return new Promise((resolve, reject) => { if (s?.aborted) return reject(new AbortedError()); const onAbort = () => { clearTimeout(t); reject(new AbortedError()); }; const t = setTimeout(() => { s?.removeEventListener?.('abort', onAbort); resolve(); }, ms); s?.addEventListener?.('abort', onAbort, { once: true }); }); }, nextPaint: () => new Promise((r) => requestAnimationFrame(() => requestAnimationFrame(r))), abortPoint() { const s = state.abortCtrl?.signal; if (s?.aborted) throw new AbortedError(); if (state.isStopping || !state.running) throw new AbortedError(); return s; }, withAbort(fn) { return function (...args) { const s = state.abortCtrl?.signal; if (!s) return fn.apply(this, args); if (s.aborted) return Promise.reject(new AbortedError()); const p = fn.apply(this, args); const ap = new Promise((_, rej) => { if (s.aborted) return rej(new AbortedError()); s.addEventListener('abort', () => rej(new AbortedError()), { once: true }); }); return Promise.race([p, ap]); }; }, retry: async (fn, { tries = 2, delay = 400, factor = 1.6 } = {}) => { let err; for (let i = 0; i < tries; i++) { try { return await fn(); } catch (e) { if (isAbort(e)) throw e; err = e; await util.sleep(Math.floor(delay)); delay *= factor; } } throw err; }, clamp(n, min, max) { return Math.max(min, Math.min(max, n)); }, once(fn) { let done = false; let val; return (...a) => { if (done) return val; val = fn(...a); done = true; return val; }; }, }; const dom = { simulateClick(el) { if (!el) throw new ExpectError('simulateClick: no element'); const r = el.getBoundingClientRect(); ['mousedown', 'mouseup', 'click'].forEach((t) => el.dispatchEvent( new MouseEvent(t, { bubbles: true, cancelable: true, clientX: r.left + r.width / 2, clientY: r.top + r.height / 2, button: 0, }), ), ); }, isVisible(el) { if (!el || !el.isConnected) return false; const r = el.getBoundingClientRect(); if (r.width <= 0 || r.height <= 0) return false; const s = getComputedStyle(el); return s.visibility !== 'hidden' && s.display !== 'none'; }, isInteractable(el) { if (!dom.isVisible(el)) return false; let n = el; while (n && n !== document) { const s = getComputedStyle(n); if (s.visibility === 'hidden' || s.display === 'none' || s.pointerEvents === 'none') { return false; } n = n.parentElement || n.ownerDocument?.host; } const r = el.getBoundingClientRect(); const pts = [ [r.left + r.width / 2, r.top + r.height / 2], [r.left + r.width * 0.8, r.top + r.height / 2], [r.left + r.width * 0.2, r.top + r.height / 2], [r.left + r.width / 2, r.top + r.height * 0.3], [r.left + r.width / 2, r.top + r.height * 0.7], ]; for (const [x, y] of pts) { const top = document.elementFromPoint(x, y); if (top === el || el.contains(top)) return true; } return false; }, waitForElement: util.withAbort( async (fnOrSelector, timeout = config.DEFAULT_TIMEOUT, opts = {}) => { let { root = document, subtree = true, returnAll = false, strict = false, stableFor = 16, preferLast = false, signal = state.abortCtrl?.signal, } = opts; root = typeof root === 'string' ? document.querySelector(root) || document : root; const pass = strict ? dom.isInteractable : dom.isVisible; const getCandidates = () => { if (typeof fnOrSelector === 'string') { const list = root.querySelectorAll(fnOrSelector); const arr = list ? Array.from(list) : []; return preferLast ? arr.reverse() : arr; } else if (typeof fnOrSelector === 'function') { const res = fnOrSelector(); if (!res) return []; if (res instanceof Element) return [res]; if (NodeList.prototype.isPrototypeOf(res) || Array.isArray(res)) { const arr = Array.from(res); return preferLast ? arr.reverse() : arr; } return []; } return []; }; const watchStability = (el, onStable, onAbort) => { let stableTimer = null; const clearStableTimer = () => { if (stableTimer) { clearTimeout(stableTimer); stableTimer = null; } }; const startStableTimerIfPass = () => { clearStableTimer(); if (!el || !el.isConnected) return; if (!pass(el)) return; if (stableFor <= 32) { requestAnimationFrame(() => requestAnimationFrame(() => { if (el && el.isConnected && pass(el)) onStable(el); }), ); return; } stableTimer = setTimeout(() => onStable(el), stableFor); }; const mos = []; let node = el; while (node && node !== document && node.nodeType === 1) { const mo = new MutationObserver(startStableTimerIfPass); mo.observe(node, { attributes: true, attributeFilter: ['class', 'style', 'hidden', 'aria-hidden'], childList: true, subtree: false, }); mos.push(mo); node = node.parentElement || node.ownerDocument?.host; } const ro = new ResizeObserver(startStableTimerIfPass); try { ro.observe(el); } catch { } let io = null; try { io = new IntersectionObserver(startStableTimerIfPass, { threshold: [0, 0.01, 0.5, 1], }); io.observe(el); } catch { } const onTransEnd = startStableTimerIfPass; el.addEventListener('transitionend', onTransEnd, { passive: true }); el.addEventListener('animationend', onTransEnd, { passive: true }); startStableTimerIfPass(); const unwatch = () => { clearStableTimer(); mos.forEach((m) => m.disconnect()); try { ro.disconnect(); } catch { } try { io && io.disconnect(); } catch { } el.removeEventListener('transitionend', onTransEnd); el.removeEventListener('animationend', onTransEnd); }; if (signal) { const abortFn = () => { unwatch(); onAbort && onAbort(); }; if (signal.aborted) abortFn(); else signal.addEventListener('abort', abortFn, { once: true }); } return unwatch; }; return await new Promise((resolve, reject) => { let settled = false; let timeoutId = null; let rootObserver = null; let unwatchEl = null; const resolveOnce = (val) => { if (settled) return; settled = true; try { rootObserver && rootObserver.disconnect(); } catch { } try { unwatchEl && unwatchEl(); } catch { } if (timeoutId) clearTimeout(timeoutId); resolve(val); }; const tryPick = () => { if (settled) return; if (unwatchEl) { unwatchEl(); unwatchEl = null; } const list = getCandidates(); if (returnAll) { const okList = list.filter(pass); if (okList.length) return resolveOnce(okList); } else { const el = list.find(pass) || list[0]; if (el) { unwatchEl = watchStability( el, (stableEl) => resolveOnce(stableEl), () => resolveOnce(false), ); } } }; if (timeout > 0) timeoutId = setTimeout(() => resolveOnce(false), timeout); if (signal) { if (signal.aborted) return reject(new AbortedError()); signal.addEventListener('abort', () => reject(new AbortedError()), { once: true }); } tryPick(); rootObserver = new MutationObserver(() => requestAnimationFrame(tryPick)); rootObserver.observe(root, { childList: true, subtree, attributes: true, attributeFilter: ['class', 'style', 'hidden', 'aria-hidden'], }); }); }, ), waitGone: util.withAbort( (selector, timeout = config.DEFAULT_TIMEOUT, { interval = 200 } = {}) => new Promise((resolve, reject) => { const start = Date.now(); let timer = null; const step = () => { if (state.abortCtrl?.signal?.aborted) { if (timer) clearTimeout(timer); return reject(new AbortedError()); } if (!document.querySelector(selector)) { if (timer) clearTimeout(timer); return resolve(true); } if (Date.now() - start > timeout) { if (timer) clearTimeout(timer); return resolve(false); } timer = setTimeout(step, interval); }; step(); }), ), clickIfExists: util.withAbort( async (selectorOrFn, timeout = 2000, clickDelay = 200, opt = {}, ignoreError = false) => { const s = state.abortCtrl?.signal; if (s?.aborted) throw new AbortedError(); const el = await dom.waitForElement(selectorOrFn, timeout, opt); if (!el) { if (s?.aborted) throw new AbortedError(); if (ignoreError) return false; throw new TimeoutError(`clickIfExists: "${selectorOrFn}" not found in ${timeout}ms`); } try { if (clickDelay > 0) await util.nextPaint(); dom.simulateClick(el); return el; } catch (e) { if (ignoreError) return false; throw e; } }, ), }; const ea = { get ctrl() { try { return getAppMain() .getRootViewController() .getPresentedViewController() .getCurrentViewController() .getCurrentController(); } catch { return null; } }, get squad() { const c = ea.ctrl; return c && c._squad ? c._squad : null; }, get slots() { const sq = ea.squad; return sq ? sq.getPlayers?.() || sq._players || [] : []; }, getFilledCount() { return ea.slots.filter((s) => s && s._item && Number(s._item.definitionId) > 0).length; }, getUnassignedController() { const ctl = ea.ctrl; if (!ctl || !ctl.childViewControllers) return null; return Array.from(ctl.childViewControllers).find( (c) => c.className && c.className.includes('UTUnassigned') && c.className.includes('Controller'), ); }, waitController: util.withAbort( (name, timeout = config.DEFAULT_TIMEOUT, { pollInterval = 800 } = {}) => new Promise((resolve, reject) => { const start = Date.now(); let timer = null; const tick = () => { if (state.abortCtrl?.signal?.aborted) { clearTimeout(timer); return reject(new AbortedError()); } try { const ctrl = ea.ctrl; if (ctrl?.constructor?.name === name) { clearTimeout(timer); return resolve(ctrl); } } catch { } if (Date.now() - start > timeout) { clearTimeout(timer); return reject(new TimeoutError(`等待 ${name} 超时`)); } timer = setTimeout(tick, pollInterval); }; tick(); }), ), waitLoadingEndOnce: util.withAbort( () => new Promise((res) => { const shield = typeof gClickShield === 'object' ? gClickShield : null; if (shield && !shield.isShowing()) return res(); EAClickShieldView._onLoadingEndQueue = EAClickShieldView._onLoadingEndQueue || []; EAClickShieldView._onLoadingEndQueue.push(res); }), ), waitAllLoadingEnd: util.withAbort(async (stableDelay = 600, timeout = 10000) => { const shield = typeof gClickShield === 'object' ? gClickShield : null; const start = Date.now(); while (true) { if (shield && shield.isShowing()) { await util.sleep(300); } else { let stable = true; const t0 = Date.now(); while (Date.now() - t0 < stableDelay) { if (shield && shield.isShowing()) { stable = false; break; } await util.sleep(100); } if (stable) return true; } if (Date.now() - start > timeout) { log.w('[waitAllLoadingEnd] timeout'); return false; } } }), hookXHR: util.once(() => { if (state._xhrHooked) return true; state._xhrHooked = true; state.page._xhrPromiseList = state._xhrPromiseList; const originOpen = XMLHttpRequest.prototype.open; XMLHttpRequest.prototype.open = function (m, url, ...args) { this._xhrFlag = { method: String(m || '').toUpperCase(), url: String(url || '') }; return originOpen.apply(this, [m, url, ...args]); }; const originSend = XMLHttpRequest.prototype.send; XMLHttpRequest.prototype.send = function (body) { this.addEventListener('load', function () { const list = state.page._xhrPromiseList || []; for (const item of list) { if ( this._xhrFlag && this._xhrFlag.url.includes(item.apiPath) && (!item.method || this._xhrFlag.method === item.method.toUpperCase()) ) { if (this.status === 401) { item.status401Count = (item.status401Count || 0) + 1; if (item.status401Count >= 2 && !item.resolved) { item.resolved = true; clearTimeout(item._timer); item.resolve(null); } continue; } if (!item.resolved) { item.resolved = true; clearTimeout(item._timer); try { item.resolve(JSON.parse(this.responseText)); } catch { item.resolve(null); } } } } state.page._xhrPromiseList = (state.page._xhrPromiseList || []).filter((i) => !i.resolved); }); return originSend.apply(this, arguments); }; log.i('[hookXHR] Hooked'); return true; }), waitRequest: util.withAbort((apiPath, method, timeout = 15000) => { return new Promise((resolve, reject) => { ea.hookXHR(); const item = { apiPath, method, resolve: (v) => { cleanup(); resolve(v); }, status401Count: 0, resolved: false, _timer: null, }; const cleanup = () => { if (item.resolved) return; item.resolved = true; if (item._timer) clearTimeout(item._timer); state.page._xhrPromiseList = (state.page._xhrPromiseList || []).filter((x) => x !== item); }; item._timer = setTimeout(() => { if (!item.resolved) item.resolve(null); }, timeout); if (!Array.isArray(state.page._xhrPromiseList)) state.page._xhrPromiseList = []; state.page._xhrPromiseList.push(item); const s = state.abortCtrl?.signal; if (s) { if (s.aborted) { cleanup(); return reject(new AbortedError()); } s.addEventListener( 'abort', () => { cleanup(); reject(new AbortedError()); }, { once: true }, ); } }); }), hookRepositories: util.once(() => { try { const domain = repositories?.Item; if (!state.page.repositories || !domain) return false; if (domain._statsHooked) return true; const safeUpdate = typeof ui.updateStatsUI === 'function' ? ui.updateStatsUI : () => { }; const debouncedUpdate = ((fn) => { let t = null; return () => { clearTimeout(t); t = setTimeout(fn, 100); }; })(safeUpdate); const hook = (obj, methods) => { methods.forEach((name) => { if (!obj || typeof obj[name] !== 'function' || obj[name]._pandaHooked) return; const orig = obj[name]; obj[name] = function (...args) { const ret = orig.apply(this, args); try { debouncedUpdate(); } catch { } return ret; }; obj[name]._pandaHooked = true; }); }; hook(domain, ['add', 'remove', 'update', 'reset', 'set']); hook(domain.storage || {}, ['set', 'remove', 'reset', 'add', 'update']); hook(domain.club || {}, ['add', 'remove', 'update', 'reset', 'set']); domain._statsHooked = true; safeUpdate(); return true; } catch (e) { log.w('[hookRepositories] failed', e); return false; } }), hookEventsPopup: util.once(() => { const events = state.page.events; if (!events || typeof events.popup !== 'function') return false; if (events.popup._isPatched) return true; const interceptMap = { 珍贵球员: 44408, 快速任务: 2 }; const _orig = events.popup; events.popup = function ( title, message, callback, buttonOptions, inputPlaceholder, inputValue, inputEnabled, extraNode, ) { if (typeof title === 'string') { for (let key in interceptMap) { if (title.includes(key)) { const code = interceptMap[key]; return callback(code); } } } return _orig.call( this, title, message, callback, buttonOptions, inputPlaceholder, inputValue, inputEnabled, extraNode, ); }; events.popup._isPatched = true; log.i('[hookEventsPopup] Hooked'); return true; }), hookLoadingEnd: util.once(() => { if (EAClickShieldView._hookedForLoadingEnd) return true; const oldHideShield = EAClickShieldView.prototype.hideShield; EAClickShieldView.prototype.hideShield = function () { oldHideShield.apply(this, arguments); if (!this.isShowing()) { if (Array.isArray(EAClickShieldView._onLoadingEndQueue)) { for (const fn of EAClickShieldView._onLoadingEndQueue) { try { fn(); } catch { } } EAClickShieldView._onLoadingEndQueue = []; } } }; EAClickShieldView._onLoadingEndQueue = []; EAClickShieldView._hookedForLoadingEnd = true; log.i('[hookLoadingEnd] Hooked'); return true; }), ensureHooks() { ea.hookXHR(); ea.hookEventsPopup(); ea.hookLoadingEnd(); ea.hookRepositories(); }, }; const sbc = { _lastMainFailReason: null, getMainFailReason() { return sbc._lastMainFailReason || 'need_89'; }, sel: { rptBtn: () => Array.from(document.querySelectorAll('button.btn-standard.mini.call-to-action')).find( (b) => b.textContent.trim() === '重复球员填充阵容', ), addBtn: '.ut-image-button-control.btnAction.add', searchBtn: '.ut-image-button-control.fsu-eligibilitysearch', canvas: '.ut-squad-pitch-view--canvas', }, async addPlayer() { await dom.waitForElement(sbc.sel.rptBtn, 5000, { root: '.ut-navigation-container-view--content', strict: true, }); if (!(await dom.waitForElement('.ut-image-button-control.filter-btn.custom-player-add', 5000))) return; const maxTries = 3; const waitCountStable = async ({ baseCount, stableFor = 1000, timeout = 6000, poll = 150, }) => { const t0 = Date.now(); let last = ea.getFilledCount(); let lastAt = Date.now(); while (Date.now() - t0 <= timeout) { util.abortPoint(); await util.sleep(poll); const cur = ea.getFilledCount(); if (cur !== last) { last = cur; lastAt = Date.now(); } if (last >= baseCount + 1 && Date.now() - lastAt >= stableFor) return true; } return false; }; for (let attempt = 1; attempt <= maxTries; attempt++) { util.abortPoint(); const baseCount = ea.getFilledCount(); const ok1 = await dom.clickIfExists( sbc.sel.searchBtn, 5000, 0, { strict: false, stableFor: config.UI.SP_STABLE_FOR }, true, ); if (!ok1) { await dom.clickIfExists(sbc.sel.canvas, 800, 0, { strict: false }, true); continue; } await ea.waitAllLoadingEnd(); const ok2 = await dom.clickIfExists( sbc.sel.addBtn, 10000, 0, { strict: false, stableFor: config.UI.SP_STABLE_FOR }, true, ); if (!ok2) { await dom.clickIfExists(sbc.sel.canvas, 800, 0, { strict: false }, true); continue; } await ea.waitAllLoadingEnd(); await dom.clickIfExists(sbc.sel.canvas, 200, 0, { strict: false }, true); const ok = await waitCountStable({ baseCount, stableFor: config.UI.SP_FILL_SUCCESS_TIME, timeout: 6000, }); if (ok) return; if (attempt < maxTries) { await dom.clickIfExists(sbc.sel.canvas, 800, 0, { strict: false }, true); } else { throw new ExpectError('色卡添加失败'); } } }, collectHiRated(items, threshold = config.HIGH_RATED_POPUP_THRESHOLD) { if (!Array.isArray(items) || !items.length) return; const hi = items.filter(p => p && p.type === 'player' && p.loans === -1 && p.rating >= threshold); state._hiRatedPlayers.push(...hi); state.page.info.lock ||= []; for (const p of hi) { if (!p.isDuplicate?.() && p.rating == 99 && !state.page.info.lock.includes(p.id)) { state.page.info.lock.push(p.id); } } }, showHiRatedPopup(title = `本次高分球员(≥${config.HIGH_RATED_POPUP_THRESHOLD})`) { const list = state._hiRatedPlayers; if (!list.length) return; const popupController = new EADialogViewController({ dialogOptions: [ { labelEnum: enums.UIDialogOptions.OK } ], message: '', title, type: EADialogView.Type.MESSAGE, }); popupController.init(); popupController.onExit.observe(popupController, (e) => { e.unobserve(popupController); state._hiRatedPlayers = []; try { const cur = ea.ctrl; if ( cur && cur.constructor && cur.constructor.name === 'UTStorePackViewController' && cur.getStorePacks ) { cur.getStorePacks(true); } } catch { } }); const rootEl = popupController.getView().getRootElement(); const bodyEl = rootEl.querySelector('.ea-dialog-view--body') || rootEl; popupController.getView().getRootElement().style.width = '40rem'; const box = document.createElement('div'); box.style.cssText = 'padding:0 1rem 1.5rem 1rem;'; const players = list .slice() .sort((a, b) => Number(b.rating || 0) - Number(a.rating || 0)) .slice(0, 20); if (players.length) { const listBox = document.createElement('div'); listBox.className = 'ut-store-reveal-modal-list-view'; const ul = document.createElement('ul'); ul.className = 'itemList'; listBox.appendChild(ul); popupController.listRows = players.map((i) => { const row = new UTItemTableCellView(); row.setData( i, void 0, typeof ListItemPriority !== 'undefined' ? ListItemPriority.DEFAULT : void 0, ); row.render(); ul.appendChild(row.getRootElement()); return row; }); box.appendChild(listBox); } const maxRating = players.reduce((m, p) => Math.max(m, Number(p.rating || 0)), 0); const summary = document.createElement('div'); summary.textContent = `本次共 ${list.length} 名 ≥${config.HIGH_RATED_POPUP_THRESHOLD} 分,最高 ${maxRating}。`; summary.style.cssText = 'padding-top:.5rem;font-size:1rem;'; box.appendChild(summary); bodyEl.prepend(box); try { const rootEl = popupController.getView().getRootElement(); const footer = rootEl.querySelector('.ea-dialog-view--footer') || rootEl; const btnGroup = footer.querySelector('.ut-st-button-group') || footer.appendChild(Object.assign(document.createElement('div'), { className: 'ut-st-button-group' })); if (!btnGroup.querySelector('button[data-donate-btn="1"]')) { const donateBtn = document.createElement('button'); donateBtn.setAttribute('data-donate-btn', '1'); donateBtn.innerHTML = ` <span class="btn-text">打赏一下</span> <span class="btn-subtext"></span> `; donateBtn.addEventListener('click', (ev) => { ev.preventDefault(); ev.stopPropagation(); ui.showDonateModal(); }); btnGroup.appendChild(donateBtn); } } catch (e) { console.warn('[donate-btn] append failed:', e); } if (typeof gPopupClickShield !== 'undefined' && gPopupClickShield?.setActivePopup) { gPopupClickShield.setActivePopup(popupController); } }, async moveItems(items, pile, controller, { timeout = 15000 } = {}) { return await util.withAbort(() => new Promise((resolve, reject) => { if (!items || !items.length) return resolve({ success: true, skipped: true }); let settled = false; const done = (err, val) => { if (settled) return; settled = true; clearTimeout(tid); err ? reject(err) : resolve(val); }; try { services.Item.move(items, pile, true).observe(controller, (e, res) => { try { e.unobserve(controller); } catch { } if (!res || !res.success) return done(new ExpectError('移动失败')); done(null, res); }); } catch (e) { return done(e); } const tid = setTimeout(() => { done(new TimeoutError('moveItems超时')); }, timeout); }) )(); }, getUnassignedItemsSafe: async () => { let items = []; for (let i = 0; i < 3 && !items.length; i++) { util.abortPoint(); items = repositories.Item.getUnassignedItems(); await util.sleep(1500); } return items; }, async handleUnassigned(minRating) { const controller = ea.getUnassignedController(); let items = await sbc.getUnassignedItemsSafe(); if (!items.length) return; sbc.collectHiRated(items, config.HIGH_RATED_POPUP_THRESHOLD); const tradablePlayers = items.filter( (p) => p.type === 'player' && p.loans === -1 && !p.untradeable, ); const toStorage = items.filter( (p) => p.type === 'player' && p.loans === -1 && p.untradeable && p.isDuplicate() && ( p.rating >= minRating || (p.groups && p.groups.includes(23)) ) ); const clubPlayers = items.filter( (p) => p.type === 'player' && p.loans === -1 && p.untradeable && !p.isDuplicate(), ); if (tradablePlayers.length) await sbc.moveItems(tradablePlayers, ItemPile.TRANSFER, controller); if (clubPlayers.length) await sbc.moveItems(clubPlayers, ItemPile.CLUB, controller); const spaceLeft = config.STORAGE_MAX - repositories.Item.numItemsInCache(ItemPile.STORAGE); if (toStorage.length > spaceLeft) { alert('仓库已满'); throw new ExpectError('仓库已满'); } if (toStorage.length) await sbc.moveItems(toStorage, ItemPile.STORAGE, controller); await sbc.refreshUnassignedItems(controller); await ea.waitAllLoadingEnd(); await util.sleep(800); items = repositories.Item.getUnassignedItems(); if (!items.length) return true; const ellipsisBtn = await dom.waitForElement(() => { const root = document.querySelector('.sectioned-item-list:last-of-type'); if (!root) return null; const container = root.querySelector('.ut-section-header-view') || root; return container.querySelector('.ut-image-button-control.ellipsis-btn') || null; }, 2000); if (ellipsisBtn) { dom.simulateClick(ellipsisBtn); await util.withAbort(async () => { const modal = await dom .waitForElement('.view-modal-container.form-modal .ut-bulk-action-popup-view', 8000) .catch(() => null); if (!modal) return; const btn = [...modal.querySelectorAll('button')].find((b) => b.textContent.includes('快速出售')); if (btn) dom.simulateClick(btn); await ea.waitLoadingEndOnce(); })(); } return true; }, async handleUnassignedDuplicate(minRating) { const controller = ea.getUnassignedController(); const items = await sbc.getUnassignedItemsSafe(); if (!items.length) return; const toStorage = items.filter( (p) => p.type === 'player' && p.loans === -1 && p.untradeable && p.isDuplicate() && ( p.rating >= minRating || (p.groups && p.groups.includes(23)) ) ); const spaceLeft = config.STORAGE_MAX - repositories.Item.numItemsInCache(ItemPile.STORAGE); if (toStorage.length > spaceLeft) { alert('仓库已满'); throw new ExpectError('仓库已满'); } await sbc.moveItems(toStorage, ItemPile.STORAGE, controller); }, async refreshUnassignedItems(controller) { await util.withAbort(async () => { const req = ea.waitRequest('/purchased/items', 'GET', 10000); await services.Item.itemDao.itemRepo.unassigned.reset(); await controller.getUnassignedItems(); await req; })(); }, getStoreView() { try { const vc = ea.ctrl; if (vc?.constructor?.name !== 'UTStorePackViewController') return null; return vc.getView?.() || null; } catch { return null; } }, getSelectedPackIdFromFilter(view) { try { const id = view?._fsufilterOption?.id; return typeof id === 'number' && id > 1 ? id : null; } catch { return null; } }, getPacksNum() { const view = sbc.getStoreView(); if (!view) return 0; const packsMap = view._fsuPacks || {}; const packId = sbc.getSelectedPackIdFromFilter(view); if (!packId || !packsMap[packId]) return 0; return packsMap[packId].count || 0; }, async setPackFilterId(filterId, timeout = 2000) { const c = ea.ctrl; const view = c?.getView?.(); if (!view || !view._fsufilterOption) throw new ExpectError('FSU筛选不存在'); const curId = view._fsufilterOption.id; if (Number(curId) === Number(filterId)) return { success: true, id: filterId, skipped: true }; let finished = false; return await util.withAbort( () => new Promise((resolve, reject) => { const onChange = () => { if (finished) return; finished = true; clearTimeout(timer); view._fsufilterOption.removeTarget(view._fsufilterOption, EventType.CHANGE); resolve({ success: true, id: filterId }); }; view._fsufilterOption.addTarget(view._fsufilterOption, onChange, EventType.CHANGE); const timer = setTimeout(() => { if (finished) return; finished = true; view._fsufilterOption.removeTarget(view._fsufilterOption, EventType.CHANGE); reject(new TimeoutError('设置筛选超时')); }, timeout); view._fsufilterOption.setIndexById(Number(filterId)); }), )(); }, async goToSBCSet(opts = {}) { const set = sbc.resolveSBCSetStrict(opts); return await sbc.pushSBCSet(set, { timeout: 15000 }); }, resolveSBCSetStrict({ setId, categoryName, setName }) { const categoriesArr = Object.values(services.SBC.repository.categories._collection || {}); const setsArr = Object.values(services.SBC.repository.sets._collection || {}); if (setId != null) { const s = setsArr.find((x) => x.id === Number(setId)); if (!s) throw new ExpectError(`找不到 setId=${setId} 的 SBC`); return s; } let pool = setsArr; if (categoryName) { const cat = categoriesArr.find((c) => c.name === categoryName); if (!cat) throw new ExpectError(`找不到分类: ${categoryName}`); const idSet = new Set(cat.setIds || []); pool = pool.filter((s) => idSet.has(s.id)); } if (setName) { const found = pool.find((s) => s.name === setName) || pool.find((s) => (s.name || '').includes(setName)); if (!found) throw new ExpectError(`找不到名为/包含 ${setName} 的 SBC`); return found; } if (!pool.length) throw new ExpectError('没有可用的SBC'); return pool[0]; }, async pushSBCSet( sbcSet, { timeout = 15000 } = {} ) { const controller = ea.ctrl; const view = controller?.getView?.(); if (!controller || !view) throw new ExpectError('[pushSBCSet] 无法获得当前 controller/view'); const setInteract = (flag) => { try { view.setInteractionState && view.setInteractionState(flag); } catch { } }; setInteract(false); const challengesResp = await new Promise((resolve, reject) => { let done = false; const t = setTimeout(() => { if (!done) reject(new TimeoutError('requestChallengesForSet超时')); }, timeout); services.SBC.requestChallengesForSet(sbcSet).observe(controller, (e, resp) => { done = true; try { e.unobserve(controller); } catch { } clearTimeout(t); if (!resp || !resp.success) return reject(new ExpectError('requestChallengesForSet失败')); if (!resp.data?.challenges?.length) return reject(new ExpectError('该SBC暂无挑战')); resolve(resp); }); }); const nav = controller.getNavigationController?.(); if (!nav) { setInteract(true); throw new ExpectError('无导航控制器'); } const list = challengesResp.data.challenges || []; let target = list.find(c => { const remote = (c.status || '').toUpperCase(); if (remote && remote !== 'COMPLETED') return true; try { const ch = sbcSet.getChallenge?.(c.id); if (ch) { const local = (ch.status || '').toUpperCase(); if (local && local !== 'COMPLETED') return true; if (typeof ch.isCompleted === 'function') return !ch.isCompleted(); if ('completed' in ch) return !ch.completed; } } catch { } return false; }); if (!target) target = list[0]; const openChallenge = async (c) => { await new Promise((resolve, reject) => { let done = false; const t = setTimeout(() => { if (!done) reject(new TimeoutError('loadChallenge超时')); }, timeout); services.SBC.loadChallenge(c).observe(controller, (ee, rr) => { done = true; try { ee.unobserve(controller); } catch { } clearTimeout(t); if (!rr || !rr.success) return reject(new ExpectError('loadChallenge失败')); resolve(); }); }); try { const ch = sbcSet.getChallenge?.(c.id); if (ch && !ch.squad) ch.update?.(c); } catch { } const vc = new UTSBCSquadSplitViewController(); vc.initWithSBCSet?.(sbcSet, c.id); nav.pushViewController?.(vc, true); }; try { await openChallenge(target); } catch (e) { const vc = new UTSBCGroupChallengeSplitViewController(); vc.initWithSBCSet?.(sbcSet); nav.pushViewController?.(vc, true); try { nav.setNavigationTitle?.(sbcSet.name); } catch { } setInteract(true); throw e; } setInteract(true); return true; }, async ensureSBCHub() { const c = ea.ctrl; if (!c || c.className !== 'UTSBCHubViewController') { await dom.clickIfExists('.ut-tab-bar-item.icon-sbc', 10000, 0); await ea.waitAllLoadingEnd(); } }, async goToPacks(reentered = false) { const c = ea.ctrl; if (c?.className !== 'UTStorePackViewController') { await dom.clickIfExists('.ut-tab-bar-item.icon-store', 10000, 0); await ea.waitAllLoadingEnd(); const clickedUnassigned = await dom.clickIfExists( () => { const tiles = document.querySelectorAll( '.tile, .ut-store-tile-view, .store-tile, .tile-container', ); for (const t of tiles) { util.abortPoint(); const h = t.querySelector('h1.tileHeader, .tileHeader'); if (h && h.textContent.trim() === '未分配的物品') return t; } return null; }, 1500, 0, { strict: false }, true, ); if (clickedUnassigned) { await ea.waitAllLoadingEnd(); await sbc.handleUnassigned(state.minRating); await ea.waitAllLoadingEnd(); if (!reentered) return sbc.goToPacks(true); } await dom.clickIfExists( () => document.querySelector('.packs-tile, .ut-store-pack-tile-view, .tile.packs'), 10000, 0, { strict: false }, ); await ea.waitAllLoadingEnd(); } return true; }, getPackIdFromSbc(sbcSet) { try { return Number(sbcSet?.awards?.[0]?.value) || null; } catch { return null; } }, async setPackFilterForSetId(setId, { timeout = 2000, retry = 1 } = {}) { const set = sbc.getSbcById(setId); if (!set) return false; const packId = sbc.getPackIdFromSbc(set); if (!packId) return false; try { await ea.waitController('UTStorePackViewController', 6000); } catch { await sbc.goToPacks(); } try { await sbc.setPackFilterId(packId, timeout); return true; } catch (e) { if (retry <= 0) return false; try { const ctrl = await ea.waitController('UTStorePackViewController', 6000); ctrl?.getStorePacks?.(true); await ea.waitAllLoadingEnd(); } catch { } try { await sbc.setPackFilterId(packId, timeout); return true; } catch { return false; } } }, getSbcById(id) { id = Number(id); return ( Object.values(services.SBC.repository.sets._collection || {}).find((s) => s.id === id) || null ); }, async fetchSbcList() { await sbc.ensureSBCHub(); const categories = Object.values(services?.SBC?.repository?.categories?._collection || {}); const setsDict = services?.SBC?.repository?.sets?._collection || {}; const wanted = new Set(['升级', "我的最爱"]); const idSet = new Set(); for (const cat of categories) { if (wanted.has(cat?.name)) for (const id of (cat?.setIds || [])) idSet.add(id); } console.log('[idSet]', idSet) const filtered = Array.from(idSet) .map(id => setsDict[id]) .filter(Boolean) .filter(set => set?.name && !set.name.includes('可交易') && set.repeatabilityMode !== "REFRESH" ); state.FILTERED_SETS = filtered; return state.FILTERED_SETS; }, async openPacksOnce(expectedCount = null, depth = 0) { const MAX_DEPTH = 1; const inferExpectedFromCurrentFilter = () => { try { const view = sbc.getStoreView(); const packId = sbc.getSelectedPackIdFromFilter(view); if (!packId) return null; const sets = Object.values(services.SBC.repository.sets._collection || {}); const found = sets.find(s => Number(s?.awards?.[0]?.value) === Number(packId)); if (!found) return null; const name = String(found.name || ''); if (/10\s*名\s*8(?:4|5)\+\s*升级/.test(name)) return 10; if (name.includes('TOTW 升级')) return 1; if (/阵容变异/.test(name) && /\b89\b/.test(name)) return 50; } catch { return null; } }; if (expectedCount == null) { expectedCount = inferExpectedFromCurrentFilter(); } await ea.waitController('UTStorePackViewController', 20000); await dom.clickIfExists( () => { const btns = document.querySelectorAll('button.currency.call-to-action'); return Array.from(btns) .reverse() .find((b) => { const txt = b.querySelector('span.text')?.textContent.trim(); return txt === '打开' && b.closest('.ut-store-pack-details-view')?.style.display !== 'none'; }); }, 20000, 0, ); await ea.waitController('UTUnassignedItemsSplitViewController', 20000); const waitUnassignedCount = async (timeout = 8000) => { const t0 = Date.now(); let last = 0; while (Date.now() - t0 < timeout) { util.abortPoint(); const items = await sbc.getUnassignedItemsSafe(); const c = Array.isArray(items) ? items.length : 0; last = c; if (c > 0) return c; await util.sleep(250); } return last; }; const count = await waitUnassignedCount(8000); if (Number.isFinite(expectedCount) && expectedCount > 0 && count !== expectedCount) { await sbc.handleUnassigned(state.minRating); await ea.waitAllLoadingEnd(); if (depth < MAX_DEPTH) { await ea.waitController('UTStorePackViewController', 12000).catch(() => null); await ea.waitAllLoadingEnd(); return await sbc.openPacksOnce(expectedCount, depth + 1); } else { throw new ExpectError(`[openPacksOnce] count mismatch: got ${count}, expect ${expectedCount}`); } } await sbc.handleUnassigned(state.minRating); await ea.waitController('UTStorePackViewController'); await ea.waitAllLoadingEnd(); return true; }, async loopOnce(retry = 0) { if (state.abortCtrl?.signal?.aborted) throw new AbortedError(); log.i('[loopOnce] start'); try { await ea.waitController('UTStorePackViewController', 20000); const ok = await sbc.setPackFilterForLoop(); if (!ok) return false; await dom.clickIfExists( () => { const btns = document.querySelectorAll('button.currency.call-to-action'); return Array.from(btns) .reverse() .find((b) => { const txt = b.querySelector('span.text')?.textContent.trim(); return txt === '打开' && b.closest('.ut-store-pack-details-view')?.style.display !== 'none'; }); }, 30000, 0, ); await ea.waitController('UTUnassignedItemsSplitViewController', 20000); const getCountOnce = async () => { const items = await sbc.getUnassignedItemsSafe(); return Array.isArray(items) ? items.length : 0; }; const waitUnassignedCount = async (timeout = 8000) => { const t0 = Date.now(); let last = 0; while (Date.now() - t0 < timeout) { util.abortPoint(); const c = await getCountOnce(); last = c; if (c > 0) return c; await util.sleep(250); } return last; }; const unassignedCount = await waitUnassignedCount(8000); if (unassignedCount !== 10) { try { await sbc.handleUnassigned(state.minRating); await ea.waitAllLoadingEnd(); } catch (e) { if (!isAbort(e)) log.w('[loopOnce] handleUnassigned failed', e); } return (retry < 1) ? await sbc.loopOnce(retry + 1) : false; } if (state.enableHandleDuplicate) await sbc.handleUnassignedDuplicate(state.minRating); await sbc.goToSBCSet({ setId: Number(state.selectedLoopSetId) }); const rptBtn = await dom.waitForElement(sbc.sel.rptBtn, 5000, { strict: true }); ea.squad.removeAllItems() if (rptBtn) { dom.simulateClick(rptBtn); await ea.waitAllLoadingEnd(); } await sbc.addPlayer(); await dom.clickIfExists( () => Array.from(document.querySelectorAll('button.btn-standard.mini.call-to-action')).find( (b) => b.textContent.includes('阵容补全'), ), 5000, 0, { strict: true }, ); await dom.clickIfExists( () => Array.from(document.querySelectorAll('button')).find( (b) => b.textContent.trim() === '确定', ), 5000, 0, ); await ea.waitAllLoadingEnd(); let hasSwapPlayer = false; ea.waitRequest('/item?idList=', 'GET', 15000).then((data) => { if (data) hasSwapPlayer = true; }).catch(() => { }); const req = ea.waitRequest('?skipUserSquadValidation=', 'PUT'); const submit = await dom.clickIfExists( 'button.ut-squad-tab-button-control.actionTab.right.call-to-action:not(.disabled)', 5000, 0, { strict: true }, true, ); if (!submit) { log.w('[loopOnce] 提交按钮未出现,本轮失败'); return false; } const data = await req; if (!data?.grantedSetAwards?.length) return false; await ea.waitLoadingEndOnce(); const ctrl = await ea .waitController('UTUnassignedItemsSplitViewController', 12000) .catch(() => null); if (ctrl) { if (hasSwapPlayer) await util.sleep(3000); await sbc.handleUnassigned(state.minRating); } await ea.waitController('UTStorePackViewController'); await ea.waitAllLoadingEnd(); log.i('[loopOnce] done'); return true; } catch (e) { log.e(e); await tasks.stopAsync(); return false; } }, getSelectedLoopPackId() { const set = sbc.getSbcById(state.selectedLoopSetId); return sbc.getPackIdFromSbc(set); }, async setPackFilterForLoop(retry = 0) { if (!state.selectedLoopSetId) return false; const packId = sbc.getSelectedLoopPackId(); if (!packId) return false; try { await sbc.setPackFilterId(packId, 2000); return true; } catch (e) { log.w('[setPackFilterForLoop] failed', e); if (retry >= 1) return false; const oldDo = state.selectedDoSbcSetId; state.selectedDoSbcSetId = state.selectedLoopSetId; try { await sbc.doSBCOnce(); } catch { } finally { state.selectedDoSbcSetId = oldDo; } return await sbc.setPackFilterForLoop(retry + 1); } }, async doSBCOnce() { if (state.abortCtrl?.signal?.aborted) throw new AbortedError(); await sbc.goToSBCSet({ setId: Number(state.selectedDoSbcSetId) }); const sbcSet = services.SBC.repository.getSetById(state.selectedDoSbcSetId); const sbcTitle = sbcSet.name || ''; const isTOTW = sbcTitle.includes('TOTW'); await Promise.all([ ea.waitController('UTSBCSquadSplitViewController', 20000), ea.waitLoadingEndOnce(), ]); ea.squad.removeAllItems() const doFill = async () => { if (!isTOTW) await sbc.addPlayer(); await dom.clickIfExists( () => Array.from(document.querySelectorAll('button.btn-standard.mini.call-to-action')).find( (b) => b.textContent.includes('阵容补全'), ), 10000, 0, ); await dom.clickIfExists( () => Array.from(document.querySelectorAll('button')).find( (b) => b.textContent.trim() === '确定', ), 10000, 0, ); }; const tryFastFill = async () => { const fastBtn = await util.withAbort(async () => { const start = Date.now(); while (Date.now() - start < 2000) { util.abortPoint(); const btn = Array.from( document.querySelectorAll('button.btn-standard.mini.call-to-action'), ).find((el) => el.innerText.trim().includes('一键填充')); if (btn) return btn; await util.sleep(200); } return null; })(); if (fastBtn) { dom.simulateClick(fastBtn); return true; } return false; }; const squadPromise = ea.waitRequest('/squad', 'GET'); if (isTOTW) await doFill(); else if (!(await tryFastFill())) await doFill(); await ea.waitAllLoadingEnd(); const squad = await squadPromise; const threshold = isTOTW ? config.MAX_RATING_TOTW : config.MAX_RATING_NORMAL; const hiList = ea.slots .map((p) => p?._item || p) .filter((it) => it && it.rating >= threshold && it.pile!=10); console.log(hiList,ea.slots) if (hiList.length > 0) { const maxRating = hiList.reduce((m, p) => Math.max(m, Number(p.rating || 0)), 0); alert(`检测到高分球员(≥${threshold}),已取消提交。\n数量:${hiList.length},最高:${maxRating}`); try { state.abortCtrl?.abort?.(); } catch { } setTimeout(() => tasks.stopAsync({ suppressAutoRestartOnce: true, timeout: 2000 }), 0); throw new AbortedError('HighRatedInSquad'); } const req = ea.waitRequest('?skipUserSquadValidation=', 'PUT'); await dom.clickIfExists( 'button.ut-squad-tab-button-control.actionTab.right.call-to-action:not(.disabled)', 5000, 0, ); const data = await req; if (!data?.grantedSetAwards?.length && !data?.grantedChallengeAwards?.length) return false; await ea.waitAllLoadingEnd(); log.i('[doSBCOnce] done'); return true; }, async openPacksForSet(setId, n) { n = Number(n) || 0; if (n <= 0) return 0; const ok = await sbc.goPacksSelectFromSet(setId); if (!ok) return 0; let opened = 0; let spin = 0; while (opened < n && !state.abortCtrl?.signal?.aborted) { let count = Number(sbc.getPacksNum()) || 0; if (count <= 0) { try { const ctrl = await ea.waitController('UTStorePackViewController', 6000); ctrl?.getStorePacks?.(true); await ea.waitAllLoadingEnd(); } catch { } count = Number(sbc.getPacksNum()) || 0; if (count <= 0) { if (++spin >= 2) break; await util.sleep(600); continue; } } const okOpen = await sbc.openPacksOnce().catch(() => false); if (okOpen) { opened++; try { await ea.waitController('UTStorePackViewController', 12000); await ea.waitAllLoadingEnd(); } catch { } } else { spin++; if (spin > 2) break; try { const ctrl = await ea.waitController('UTStorePackViewController', 6000); ctrl?.getStorePacks?.(true); await ea.waitAllLoadingEnd(); } catch { } } } return opened; }, async openPacksAfterDo(setId = state.selectedDoSbcSetId, expected = null) { if (!setId) return false; if (state.abortCtrl?.signal?.aborted) throw new AbortedError(); if (expected != null) { const opened = await sbc.openPacksForSet(setId, Number(expected) || 0); return opened >= (Number(expected) || 0); } const ok = await sbc.goPacksSelectFromSet(setId); if (!ok) return false; let count = Number(sbc.getPacksNum()) || 0; if (count <= 0) { util.abortPoint(); try { const ctrl = await ea.waitController('UTStorePackViewController', 6000); ctrl?.getStorePacks?.(true); await ea.waitAllLoadingEnd(); count = Number(sbc.getPacksNum()) || 0; } catch { } } if (count <= 0) return true; for (let i = 0; i < count; i++) { util.abortPoint(); await sbc.openPacksOnce(); try { await ea.waitController('UTStorePackViewController', 12000); await ea.waitAllLoadingEnd(); } catch { } } return true; }, async goPacksSelectFromSet(setId) { await sbc.goToPacks(); const ok = await sbc.setPackFilterForSetId(setId, { timeout: 3000, retry: 1 }); if (!ok) { log.w('[goPacksSelectFromSet] 选择筛选失败', setId); return false; } return true; }, getInventorySummary() { try { const clubIter = repositories?.Item?.club?.items?.values?.(); const clubItems = clubIter ? Array.from(clubIter) : []; const storageItems = repositories?.Item?.getStorageItems?.() || []; const valid = (p) => p?.isPlayer?.() && p.loans === -1 && !p.isEnrolledInAcademy?.() && p.endTime === -1; const all = clubItems.concat(storageItems).filter(valid); const excludeSet = new Set(state?.page?.info?.lock || []); const inRange = (range) => all.reduce((n, p) => { const r = p.rating | 0; const g = Array.isArray(p?.groups) ? p.groups : Array.isArray(p?._data?.groups) ? p._data.groups : []; if ( (!range || (r >= range[0] && r <= range[1])) && Array.isArray(g) && !g.includes(23) && !excludeSet.has(p.id) ) { n++; } return n; }, 0); let totw = 0; for (const p of all) { const g = Array.isArray(p?.groups) ? p.groups : Array.isArray(p?._data?.groups) ? p._data.groups : []; if (!excludeSet.has(p.id) && g.includes(23)) totw++; } return { totw, cntTotw: inRange(config.PRO.TOTW_RANGE), cntLow: inRange(config.PRO.LOWBIN_RANGE), total: all.length, }; } catch { return { totw: 0, cntTotw: 0, cntLow: 0, total: 0 }; } }, decideAction() { const inv = sbc.getInventorySummary(); if (inv.cntLow < config.PRO.LOWBIN_SAFE_MIN) return 'do_var89'; if (inv.totw >= config.PRO.TOTW_SAFE_MIN) return 'try_loop'; if (inv.cntTotw >= config.PRO.TOTW_NEED) return 'do_totw'; return 'do_var89'; }, async ensureAutoTargets() { if (!Array.isArray(state.FILTERED_SETS) || !state.FILTERED_SETS.length) { try { await sbc.fetchSbcList(); } catch (e) { log.w('[auto] fetchSbcList failed', e); } } const list = Array.isArray(state.FILTERED_SETS) ? state.FILTERED_SETS : []; const isLoop = (s) => /10\s*名\s*8(?:4|5)\+\s*升级/.test(s?.name || ''); let loopId = null; if (state.selectedLoopSetId != null) { const sel = list.find((s) => String(s.id) === String(state.selectedLoopSetId)); if (sel && isLoop(sel)) loopId = sel.id; } const totw = list.find((s) => (s?.name || '').includes('TOTW 升级')) || null; const var89 = list.find((s) => /阵容变异/.test(s?.name || '') && /\b89\b/.test(s.name)) || null; return { loopId, totwId: totw?.id || null, var89Id: var89?.id || null }; }, async tryLoopWithBackoff(targets) { const loopId = targets?.loopId ? String(targets.loopId) : ''; if (!loopId) { sbc._lastMainFailReason = 'need_89'; return false; } state.selectedLoopSetId = loopId; try { await sbc.goToPacks(); const ok = await sbc.loopOnce(); sbc._lastMainFailReason = ok ? 'ok' : inferMainFailReason(); return !!ok; } catch (e) { if (isAbort?.(e)) throw e; log.w('[tryLoopOnce] error:', e); sbc._lastMainFailReason = inferMainFailReason(); return false; } function inferMainFailReason() { const inv = sbc.getInventorySummary?.() || {}; return (inv.totw < (config.PRO?.TOTW_SAFE_MIN ?? 0)) ? 'need_totw' : 'need_89'; } }, async runSbcNTimesPreferOpen(setId, times = 3, { openAfter = true, totw = false } = {}) { util.abortPoint(); if (!setId) return 0; state.selectedDoSbcSetId = String(setId); const targetTotal = Math.max(1, Number(times) || 3); let existingCount = 0; let packId = null; try { const set = sbc.getSbcById(state.selectedDoSbcSetId); packId = sbc.getPackIdFromSbc(set); if (!packId) { log.w('[runSbcNTimesPreferOpen] 获取 packId 失败,回退到纯做包流程'); throw new Error('NO_PACK_ID'); } const packs = services?.Store?.storeDao?.storeRepo?.myPacks?._collection || []; existingCount = packs.filter(p => String(p.id) === String(packId)).length; if (existingCount >= targetTotal) { await sbc.goToPacks(); if (openAfter) await sbc.openPacksAfterDo(state.selectedDoSbcSetId, targetTotal); return true; } } catch (e) { if (!isAbort?.(e)) log.w('[runSbcNTimesPreferOpen] 预检查包数量失败或packId缺失,进入做包流程', e); } if (!totw) await sbc.ensureSBCHub(); const needToMake = Math.max(0, targetTotal - existingCount); let made = 0; for (let i = 0; i < needToMake; i++) { util.abortPoint(); try { const ok = await sbc.doSBCOnce(); if (!ok) break; made++; } catch (e) { if (isAbort(e)) throw e; if (isHighRatedError?.(e)) throw e; break; } await util.sleep(300 + Math.random() * 400); } const totalAvailableThisRound = existingCount + made; if (openAfter && totalAvailableThisRound > 0) { const toOpen = Math.min(targetTotal, totalAvailableThisRound); try { await sbc.openPacksAfterDo(state.selectedDoSbcSetId, toOpen); } catch (e) { if (!isAbort?.(e)) log.w('[runSbcNTimesPreferOpen] 开包失败:', e); } } return made > 0 || existingCount >= targetTotal; }, async runVar89NTimes(targets, times = 3, { openAfter = true } = {}) { util.abortPoint(); if (!targets?.var89Id) return 0; return sbc.runSbcNTimesPreferOpen(targets.var89Id, times, { openAfter }); }, async runTotwNTimes(targets, times = 1, { openAfter = true, totw = true } = {}) { util.abortPoint(); if (!targets?.totwId) return 0; return sbc.runSbcNTimesPreferOpen(targets.totwId, times, { openAfter, totw }); }, async autoRound() { if (state.abortCtrl?.signal?.aborted) throw new AbortedError(); if (!Array.isArray(state.FILTERED_SETS) || !state.FILTERED_SETS.length) { try { await sbc.fetchSbcList(); } catch (e) { log.w('[auto] fetchSbcList failed', e); } } const targets = await sbc.ensureAutoTargets(); util.abortPoint(); state._auxActGuard ??= { lastAct: null, consec: 0 }; const stepAuxGuard = (act) => { if (act === 'do_totw' || act === 'do_var89') { const g = state._auxActGuard; if (g.lastAct === act) g.consec += 1; else { g.lastAct = act; g.consec = 1; } return g.consec <= (config.PRO?.AUX_MAX_CONSEC ?? 2); } else { state._auxActGuard.lastAct = null; state._auxActGuard.consec = 0; return true; } }; const getMainFailReason = async () => { try { if (typeof sbc.getMainFailReason === 'function') { const r = await sbc.getMainFailReason(targets); if (r === 'need_totw' || r === 'need_89') return r; if (r === 'ok') return 'ok'; } if (typeof sbc.getLastLoopFailReason === 'function') { const r2 = await sbc.getLastLoopFailReason(targets); if (r2 === 'need_totw' || r2 === 'need_89') return r2; if (r2 === 'ok') return 'ok'; } } catch (e) { log.w('[auto] reason-check error:', e); } const inv = sbc.getInventorySummary?.() || {}; return (inv.totw < (config.PRO?.TOTW_SAFE_MIN ?? 0)) ? 'need_totw' : 'need_89'; }; const runVar89 = async () => { util.abortPoint(); if (!targets?.var89Id) { log.i('[auto] 无 var89Id'); return false; } if (!stepAuxGuard('do_var89')) { log.w('[auto] do_var89 达到连续上限'); return false; } try { return !!(await sbc.runVar89NTimes(targets, 3, { openAfter: true })); } catch (e) { if (isAbort?.(e)) throw e; log.w('[auto] runVar89NTimes error:', e); return false; } }; const runTotw = async () => { util.abortPoint(); if (!targets?.totwId) { log.i('[auto] 无 totwId'); return false; } if (!stepAuxGuard('do_totw')) { log.w('[auto] do_totw 达到连续上限'); return false; } try { return !!(await sbc.runTotwNTimes(targets, 1, { openAfter: true, totw: true })); } catch (e) { if (isAbort?.(e)) throw e; log.w('[auto] runTotwNTimes error:', e); return false; } }; const runMain = async () => { util.abortPoint(); const loopId = targets?.loopId ? String(targets.loopId) : ''; if (!loopId) { log.i('[auto] 无可用主线 loopId'); return false; } stepAuxGuard('try_loop'); state.selectedLoopSetId = loopId; try { await sbc.goToPacks(); return !!(await sbc.tryLoopWithBackoff(targets)); } catch (e) { if (isAbort?.(e)) throw e; log.w('[auto] tryLoop error:', e); return false; } }; const primary = sbc.decideAction() || 'do_var89'; if (primary === 'try_loop') { util.abortPoint(); const okMain = await runMain(); if (okMain) return true; let reason = await getMainFailReason(); if (reason === 'ok') reason = 'need_89'; if (reason === 'need_totw') { const okTotw = await runTotw(); util.abortPoint(); if (okTotw) return true; const ok89 = await runVar89(); util.abortPoint(); if (ok89) return true; log.w('[auto] 本回合失败:主线→TOTW→89 全部失败'); return false; } else { const ok89 = await runVar89(); util.abortPoint(); if (ok89) return true; log.w('[auto] 本回合失败:主线→89 全部失败'); return false; } } if (primary === 'do_totw') { const okTotw = await runTotw(); util.abortPoint(); if (okTotw) return true; const ok89 = await runVar89(); util.abortPoint(); if (ok89) return true; log.w('[auto] 本回合失败:TOTW→89 全部失败'); return false; } const ok89 = await runVar89(); util.abortPoint(); if (ok89) return true; log.w('[auto] 本回合失败:89 失败(无其他链路可尝试)'); return false; }, getSbcByNameCandidates(filteredSets = []) { const all = Array.isArray(filteredSets) ? filteredSets : []; const KW = config?.targetKeywords || [ '89 阵容变异', 'TOTW 升级', '10 名 85+ 升级', '10 名 84+ 升级', ]; const LOOP_KEYS = ['10 名 85+ 升级', '10 名 84+ 升级']; const BLACKLIST = config?.blacklistKeywords || [ '可交易', '青铜升级', '白银升级', '黄金升级', '混合联赛升级', ]; const hitAny = (name, arr) => arr.some(k => name.includes(k)); const kwIndex = (name) => { const i = KW.findIndex(k => name.includes(k)); return i === -1 ? Number.POSITIVE_INFINITY : i; }; const loopCandidates = []; const doCandidates = []; for (const s of all) { if (!s?.name) continue; if (hitAny(s.name, BLACKLIST)) continue; if (hitAny(s.name, LOOP_KEYS)) loopCandidates.push(s); else doCandidates.push(s); } loopCandidates.sort((a, b) => kwIndex(a.name) - kwIndex(b.name)); doCandidates.sort((a, b) => kwIndex(a.name) - kwIndex(b.name)); return { doCandidates, loopCandidates }; } }; const tasks = { startAsync({ button, taskName, asyncLoop, startText, stopText, countLimit, randomPause, pauseEveryRange, bigPauseRange, }) { if (state._starting) return; state._starting = true; (async () => { try { if (state.running) { if (state.abortCtrl?.signal?.aborted) { try { await (state.currentTaskDone || Promise.resolve()); } catch { } state.running = false; state.runningTask = ''; state.abortCtrl = null; } else { return; } } tasks.resetAutoGuards({ full: true }); state.running = true; state.runningTask = taskName; if (['openPacks', 'loop', 'auto'].includes(taskName)) state._hiRatedPlayers = []; ui.updateButtonState(); button.textContent = stopText; let _doneResolve; state.abortCtrl = new AbortController(); state.currentTaskDone = new Promise((r) => (_doneResolve = r)); log.i('start', taskName); try { let count = 0; let pauseEvery = pauseEveryRange ? pauseEveryRange[0] + Math.floor(Math.random() * (pauseEveryRange[1] - pauseEveryRange[0] + 1)) : 0; let pauseTime = bigPauseRange ? bigPauseRange[0] + Math.floor(Math.random() * (bigPauseRange[1] - bigPauseRange[0] + 1)) : 0; while (state.running && !state.abortCtrl.signal.aborted) { util.abortPoint(); if (state.isStopping) throw new AbortedError(); if (countLimit != null) { const remainingRaw = typeof countLimit === 'function' ? await Promise.resolve(countLimit()) : countLimit; const remaining = Number(remainingRaw); if (!Number.isFinite(remaining) || remaining <= 0) break; } const canContinue = await asyncLoop(); util.abortPoint(); if (canContinue === false) break; count++; util.abortPoint(); if (state.isStopping) throw new AbortedError(); if (pauseEvery && count >= pauseEvery) { for (let s = Math.floor(pauseTime / 1000); s > 0; s--) { if (!state.running || state.abortCtrl.signal.aborted) break; button.textContent = `等待${s}秒`; await util.sleep(1000); } button.textContent = stopText; pauseEvery = pauseEveryRange ? pauseEveryRange[0] + Math.floor(Math.random() * (pauseEveryRange[1] - pauseEveryRange[0] + 1)) : pauseEvery; pauseTime = bigPauseRange ? bigPauseRange[0] + Math.floor(Math.random() * (bigPauseRange[1] - bigPauseRange[0] + 1)) : pauseTime; count = 0; } if (randomPause) { log.i(`等待 ${randomPause[0]} - ${randomPause[1]} 秒`); await util.sleep(randomPause[0] + Math.random() * (randomPause[1] - randomPause[0])); } } } catch (e) { if (!isAbort(e)) log.e(`[${taskName}] 中断:`, e?.message); } finally { state.running = false; state.runningTask = ''; button.textContent = startText; ui.updateButtonState(); if (['openPacks', 'loop', 'auto'].includes(taskName)) { sbc.showHiRatedPopup(`本次高分球员(≥${config.HIGH_RATED_POPUP_THRESHOLD})`); } _doneResolve(); } } finally { state._starting = false; } })(); }, resetAutoGuards({ full = true } = {}) { state._auxActGuard = { lastAct: null, consec: 0 }; state._tryLoopFailStrike2 = 0; state._tryLoopFbUsedForStrike = false; if (full) { state._loopFailStrike = 0; state._lastLoopFailAt = 0; } }, _stopPromise: null, async stopAsync({ timeout = 6000, suppressAutoRestartOnce = false, minHold = 300 } = {}) { if (tasks._stopPromise) return tasks._stopPromise; tasks._stopPromise = (async () => { const wasAuto = state.runningTask === 'auto'; try { if (!state.isStopping) { state.isStopping = true; state.running = false; ui.updateButtonState(); } try { state.abortCtrl?.abort(); } catch { } const hold = new Promise((r) => setTimeout(r, minHold)); const done = state.currentTaskDone || Promise.resolve(); const wait = Promise.race([ done, new Promise((_, rej) => setTimeout(() => rej(new Error('stop timeout')), timeout)), ]); try { await Promise.all([wait, hold]); } catch (e) { log.w('[stopAsync] timeout/err, force cleanup'); } state.running = false; state.runningTask = ''; state.abortCtrl = null; state._tryLoopFailStrike2 = 0; tasks.resetAutoGuards({ full: true }); } finally { state.isStopping = false; ui.resetButtonText(); ui.updateButtonState(); if (wasAuto && state.autoRestartOnStop && !suppressAutoRestartOnce) { try { recover.triggerAndReload('pro_stopped'); } catch { } } tasks._stopPromise = null; } })(); return tasks._stopPromise; }, startLoop() { tasks.startAsync({ button: state.btn.loop, taskName: 'loop', asyncLoop: sbc.loopOnce, startText: '永动机', stopText: '停止循环', randomPause: [500, 1000], pauseEveryRange: [35, 45], bigPauseRange: [20000, 30000], }); }, startOpen() { tasks.startAsync({ button: state.btn.open, taskName: 'openPacks', asyncLoop: sbc.openPacksOnce, startText: '开包', stopText: '停止开包', countLimit: () => sbc.getPacksNum(), randomPause: [1000, 1500], }); }, startDoSBC() { tasks.startAsync({ button: state.btn.do, taskName: 'doSBC', asyncLoop: sbc.doSBCOnce, startText: '猛猛干', stopText: '不干了', randomPause: [500, 1000], pauseEveryRange: [35, 45], bigPauseRange: [20000, 30000], }); }, startAuto() { tasks.startAsync({ button: state.btn.auto, taskName: 'auto', asyncLoop: sbc.autoRound, startText: '永动机Pro', stopText: '停止Pro', randomPause: [500, 900], }); }, }; const ui = { injectStyle: util.once(() => { GM_addStyle(` .panda-modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:100000;display:flex;align-items:center;justify-content:center} .panda-modal{width:720px;max-width:calc(100vw - 40px);max-height:calc(100vh - 40px);background:#1f1f1f;border:1px solid #333;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.5);color:#eee;overflow:hidden;display:flex;flex-direction:column;font-family:inherit} .panda-modal__hd{padding:12px 16px;background:#252525;border-bottom:1px solid #333;display:flex;align-items:center;justify-content:space-between} .panda-modal__title{font-weight:700;font-size:15px} .panda-modal__close{border:none;background:transparent;color:#bbb;cursor:pointer;font-size:18px;line-height:1} .panda-modal__bd{padding:14px;display:grid;grid-template-columns:1fr 1fr;gap:12px;overflow:auto;flex:1;min-height:260px} .panda-col{background:#171717;border:1px solid #333;border-radius:10px;padding:10px;display:flex;flex-direction:column} .panda-col__title{font-size:13px;font-weight:700;color:#fff;margin-bottom:8px;display:flex;align-items:center;gap:8px} .panda-col__tip{font-size:12px;color:#aaa} .panda-col__list{display:flex;flex-direction:column;gap:6px;overflow:auto} .panda-row{display:flex;gap:8px;align-items:center;color:#ddd;font-size:13px} .panda-row input[type="radio"]{accent-color:#ffc800;cursor:pointer} .panda-modal__ft{padding:10px 14px;border-top:1px solid #333;display:flex;gap:10px;justify-content:flex-end;background:#202020} .panda-btn{min-width:80px;height:32px;border-radius:8px;border:1px solid #555;cursor:pointer;font-weight:600;background:#2b2b2b;color:#ddd} .panda-btn--ok{background:#ffd76a;color:#222;border-color:#caa84b} #sbc-panel{position:fixed;bottom:20px;right:20px;z-index:99999;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:110px;padding:16px 8px 10px 8px;background:rgba(30,30,30,0.96);border-radius:16px;box-shadow:0 4px 24px #0005;font-family:inherit} .sbc-input{width:70px;height:30px;font-size:18px;text-align:center;border-radius:8px;border:1px solid #ccc;margin-bottom:2px;background:#252525;color:#ffc800} .sbc-btn{width:90px;height:38px;border:none;outline:none;cursor:pointer;border-radius:10px;box-shadow:0 2px 8px #0002;font-weight:bold;transition:all .15s;user-select:none} .sbc-btn--open{background:#ffa600;color:#333} .sbc-btn--open:hover{background:#ffd700} .sbc-btn--loop{background:#ffe066;color:#333} .sbc-btn--loop:hover{background:#fffeb2} .sbc-btn--do{background:#ff6347;color:#fff} .sbc-btn--do:hover{background:#fd8578} .sbc-btn--assign{width:90px;height:38px;border-radius:8px;background:#5bc0de;color:#111;font-weight:bold} .sbc-btn--assign:hover{background:#74d5f1} .sbc-btn--settings{background-color:#4caf50 !important;color:#fff !important;border:1px solid #3e8e41 !important} .sbc-btn--settings:hover{background-color:#45a049 !important} .sbc-btn--donate{background:#ff9f0a !important;color:#111 !important;border:1px solid #d67f00 !important} .sbc-btn--donate:hover{background:#ffb23c !important} .sbc-chk{width:14px;height:14px;margin:2px 0 0 0;border-radius:3px;cursor:pointer;accent-color:#ffc800} .sbc-chklabel{color:#fff;font-size:13px;display:flex;align-items:flex-start;gap:6px;cursor:pointer;max-width:80px;line-height:1.3} #panda-dock{position:fixed;top:140px;right:0;z-index:99998;display:flex;align-items:stretch;transform:translateX(calc(100% - 28px));transition:transform .18s ease,opacity .12s ease} #panda-dock.left{left:0;right:auto;transform:translateX(calc(-100% + 28px))} #panda-dock.expanded.right,#panda-dock.expanded.left{transform:translateX(0)} #panda-dock.dragging{transition:none;opacity:.96} #panda-dock .dock-handle{width:38px;min-height:132px;background:#1e1e1e;border:1px solid #333;border-right:none;border-radius:12px 0 0 12px;box-shadow:0 4px 24px #0005;display:flex;align-items:center;justify-content:center;cursor:pointer;user-select:none;color:#ffc800;font-weight:700;writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:2px} #panda-dock.left .dock-handle{border-right:1px solid #333;border-left:none;border-radius:0 12px 12px 0} #panda-dock .dock-panel{background:rgba(30,30,30,.96);border:1px solid #333;border-radius:12px;box-shadow:0 4px 24px #0005;padding:12px;display:flex;flex-direction:column;gap:10px;min-width:120px} #panda-dock #sbc-panel{all:unset;display:flex;flex-direction:column;align-items:center;gap:12px;min-width:110px} #panda-dock .dock-foot{display:flex;flex-direction:column;gap:8px;justify-content:center;align-items:center;font-size:12px;color:#bbb;margin-top:6px} #panda-dock .dock-toggle{cursor:pointer;user-select:none;padding:4px 6px;border:1px solid #555;border-radius:8px;background:#2b2b2b} .sbc-stats{display:flex;flex-direction:column;align-items:center;gap:6px} .sbc-stat-card{width:90px;height:38px;background:#141414;border:1px solid #2a2a2a;border-radius:8px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px} .sbc-stat-label{font-size:11px;color:#9aa;line-height:1} .sbc-stat-value{font-weight:800;font-size:14px;color:#ffd76a;line-height:1} .panda-donate-mask{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:100001;display:flex;align-items:center;justify-content:center} .panda-donate{width:560px;max-width:calc(100vw - 40px);background:#1f1f1f;border:1px solid #333;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.5);color:#eee;overflow:hidden} .panda-donate__hd{padding:12px 16px;background:#252525;border-bottom:1px solid #333;display:flex;align-items:center;justify-content:space-between} .panda-donate__title{font-weight:700;font-size:15px} .panda-donate__close{border:none;background:transparent;color:#bbb;cursor:pointer;font-size:18px;line-height:1} .panda-donate__bd{padding:16px;display:grid;grid-template-columns:1fr 1fr;gap:14px} .panda-donate__col{background:#171717;border:1px solid #333;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center} .panda-donate__col h4{margin:0;font-size:14px;color:#ffd76a} .panda-donate__qr{width:220px;max-width:100%;height:auto;border-radius:8px;border:1px solid #2a2a2a;background:#111;object-fit:contain} .panda-donate__ft{padding:10px 14px;border-top:1px solid #333;display:flex;gap:10px;justify-content:flex-end;background:#202020} .dock-toggle.dock-guide{border-color:#3f58d1;background:#2b2b2b;color:#cfd7ff} .dock-toggle.dock-guide:hover{filter:brightness(1.08)} .SBCSquadPanel .ut-sbc-challenge-details-view{overflow-y:initial !important;margin-bottom:20px !important} `); }), updateStatsUI() { try { const clubItemsIter = repositories?.Item?.club?.items?.values?.(); const clubItems = clubItemsIter ? Array.from(clubItemsIter) : []; const storageItems = repositories?.Item?.getStorageItems?.() || []; const isValid = (p) => p?.isPlayer?.() && p.loans === -1 && !p.isEnrolledInAcademy?.() && p.endTime === -1; const club = clubItems.filter(isValid); const storage = storageItems.filter(isValid); const all = club.concat(storage); const excludeIds = state.page.info?.lock || []; const excludeSet = new Set(excludeIds); const countPlayersInRange = (players, range, excludeSet) => { const [min, max] = range; return players.reduce((n, p) => { if ( (!range || (p.rating >= min && p.rating <= max)) && Array.isArray(p.groups) && !p.groups.includes(23) && !excludeSet.has(p.id) ) { return n + 1; } return n; }, 0); }; for (const cfg of config.RANGES) { let val = 0; let id; if (cfg.type === 'all') { val = countPlayersInRange(all, cfg.range, excludeSet); id = `stat-${cfg.range[0]}-${cfg.range[1]}`; } else { val = storage.length; id = 'stat-storage'; } const node = document.getElementById(id); if (node) node.textContent = String(val); } } catch (err) { log.w('[updateStatsUI] fail', err); } }, showDonateModal() { const alipay = DONATE.ALIPAY_QR; const wechat = DONATE.WECHAT_QR; if (!alipay && !wechat) { alert('尚未设置收款码'); return; } const mask = document.createElement('div'); mask.className = 'panda-donate-mask'; const box = document.createElement('div'); box.className = 'panda-donate'; box.innerHTML = ` <div class="panda-donate__hd"> <div class="panda-donate__title">感谢支持 🧡</div> <button class="panda-donate__close">×</button> </div> <div class="panda-donate__bd"> <div class="panda-donate__col"> <h4>支付宝</h4> ${alipay ? `<img class="panda-donate__qr" src="${alipay}" alt="Alipay QR">` : '<div style="color:#888;font-size:12px">未配置</div>'} </div> <div class="panda-donate__col"> <h4>微信</h4> ${wechat ? `<img class="panda-donate__qr" src="${wechat}" alt="WeChat QR">` : '<div style="color:#888;font-size:12px">未配置</div>'} </div> </div> <div class="panda-donate__ft"> <button class="panda-btn panda-btn--ok">关闭</button> </div> `; const close = () => { try { document.body.removeChild(mask); } catch { } }; box.querySelector('.panda-donate__close').onclick = close; box.querySelector('.panda-btn--ok').onclick = close; mask.addEventListener('click', (e) => { if (e.target === mask) close(); }); mask.appendChild(box); document.body.appendChild(mask); }, updateButtonState() { const set = (btn, text, disabled) => { if (!btn) return; if (text != null) btn.textContent = text; if (typeof disabled !== 'undefined') btn.disabled = !!disabled; }; if (state.isStopping) { set(state.btn.loop, '停止中…', true); set(state.btn.open, '停止中…', true); set(state.btn.do, '停止中…', true); set(state.btn.auto, '停止中…', true); return; } if (!state.running) { set(state.btn.loop, '永动机', false); set(state.btn.open, '开包', false); set(state.btn.do, '猛猛干', false); set(state.btn.auto, '永动机Pro', false); return; } if (state.runningTask === 'loop') { set(state.btn.loop, '停止循环', false); set(state.btn.open, null, true); set(state.btn.do, null, true); set(state.btn.auto, null, true); } else if (state.runningTask === 'openPacks') { set(state.btn.open, '停止开包', false); set(state.btn.loop, null, true); set(state.btn.do, null, true); set(state.btn.auto, null, true); } else if (state.runningTask === 'doSBC') { set(state.btn.do, '不干了', false); set(state.btn.loop, null, true); set(state.btn.open, null, true); set(state.btn.auto, null, true); } else if (state.runningTask === 'auto') { set(state.btn.auto, '停止Pro', false); set(state.btn.loop, null, true); set(state.btn.open, null, true); set(state.btn.do, null, true); } }, resetButtonText() { if (state.btn.loop) state.btn.loop.textContent = '永动机'; if (state.btn.open) state.btn.open.textContent = '开包'; if (state.btn.do) state.btn.do.textContent = '猛猛干'; if (state.btn.auto) state.btn.auto.textContent = '永动机Pro'; }, async ensureConfigThenAssign(kind, { autostart = true } = {}) { if (!state.FILTERED_SETS.length) { alert('未获取配置,点TMD获取配置。网页需要设置成简体中文,是不是中国人?'); return; } await sbc.fetchSbcList(); const pick = await ui.SBCListPop( state.FILTERED_SETS, state.selectedDoSbcSetId, state.selectedLoopSetId, kind || null, ); if (!pick) return; state.selectedDoSbcSetId = pick.doId; state.selectedLoopSetId = pick.loopId; if (!autostart) return { doId: state.selectedDoSbcSetId, loopId: state.selectedLoopSetId }; if (kind === 'do' && pick.doId) { if (state.running && state.runningTask !== 'doSBC') await tasks.stopAsync({ suppressAutoRestartOnce: true }); if (!state.running) { await sbc.ensureSBCHub(); tasks.startDoSBC(); } } else if (kind === 'loop' && pick.loopId) { if (state.running && state.runningTask !== 'loop') await tasks.stopAsync({ suppressAutoRestartOnce: true }); if (!state.running) { await sbc.goToPacks(); tasks.startLoop(); } } return { doId: state.selectedDoSbcSetId, loopId: state.selectedLoopSetId }; }, SBCListPop(filteredSets, currentDoId, currentLoopId, preferColumn = null) { const el = (tag, className, props = {}) => { const node = document.createElement(tag); if (className) node.className = className; Object.assign(node, props); return node; }; const buildRadioList = (items, name, currentId) => { const listBox = el('div', 'panda-col__list'); items.forEach((s) => { const row = el('label', 'panda-row'); const r = el('input'); r.type = 'radio'; r.name = name; r.value = String(s.id); r.checked = String(currentId || '') === String(s.id); const span = el('span'); span.textContent = s.name; row.append(r, span); listBox.appendChild(row); }); return listBox; }; const buildColumn = ({ title, tipHTML = '', name, items, currentId, highlight = false, clearText = '清除绑定', }) => { const col = el('div', 'panda-col' + (highlight ? ' panda-col--highlight' : '')); const titleEl = el('div', 'panda-col__title'); titleEl.innerHTML = tipHTML ? `${title} ${tipHTML}` : title; const listBox = buildRadioList(items, name, currentId); const spacer = document.createElement('div'); spacer.style.height = '8px'; const clearBtn = el('button', 'panda-btn', { textContent: clearText }); clearBtn.onclick = () => { [...listBox.querySelectorAll('input[type="radio"]')].forEach((x) => (x.checked = false)); }; col.append(titleEl, listBox, spacer, clearBtn); return col; }; const { doCandidates, loopCandidates } = sbc.getSbcByNameCandidates(filteredSets); const mask = el('div', 'panda-modal-mask'); const modal = el('div', 'panda-modal'); mask.appendChild(modal); const hd = el('div', 'panda-modal__hd'); const title = el('div', 'panda-modal__title', { textContent: '分配SBC' }); const btnX = el('button', 'panda-modal__close'); btnX.innerHTML = '×'; hd.append(title, btnX); modal.appendChild(hd); const bd = el('div', 'panda-modal__bd'); const colDo = buildColumn({ title: '猛猛干(单选)', name: 'assign-do', items: doCandidates, currentId: currentDoId, highlight: preferColumn === 'do', }); const colLoop = buildColumn({ title: '永动机(仅 10x85 / 10x84)', tipHTML: '<span class="panda-col__tip"></span>', name: 'assign-loop', items: loopCandidates, currentId: currentLoopId, highlight: preferColumn === 'loop', }); bd.append(colDo, colLoop); modal.appendChild(bd); const ft = el('div', 'panda-modal__ft'); const btnCancel = el('button', 'panda-btn', { textContent: '取消' }); const btnOK = el('button', 'panda-btn panda-btn--ok', { textContent: '确定' }); ft.append(btnCancel, btnOK); modal.appendChild(ft); const autoStartName = preferColumn === 'do' ? 'assign-do' : preferColumn === 'loop' ? 'assign-loop' : null; if (autoStartName) bd.querySelectorAll(`input[name="${autoStartName}"]`).forEach((r) => r.addEventListener('change', () => btnOK.click(), { once: true }), ); return new Promise((resolve) => { const close = (res) => { try { document.body.removeChild(mask); } catch { } resolve(res); }; const onKey = (e) => { if (e.key === 'Escape') { e.preventDefault(); close(null); } else if (e.key === 'Enter') { e.preventDefault(); btnOK.click(); } }; btnX.onclick = () => close(null); btnCancel.onclick = () => close(null); mask.addEventListener('click', (e) => { if (e.target === mask) close(null); }); document.addEventListener('keydown', onKey); btnOK.onclick = () => { document.removeEventListener('keydown', onKey); const pick = (name) => { const r = modal.querySelector(`input[name="${name}"]:checked`); return r ? r.value : null; }; close({ doId: pick('assign-do'), loopId: pick('assign-loop') }); }; document.body.appendChild(mask); setTimeout(() => btnOK.focus(), 0); }); }, openSbcSettings() { const cur = { SP_STABLE_FOR: Number(config.UI.SP_STABLE_FOR) || 300, SP_FILL_SUCCESS_TIME: Number(config.UI.SP_FILL_SUCCESS_TIME) || 1000, HIGH_RATED_POPUP_THRESHOLD: Number(config.HIGH_RATED_POPUP_THRESHOLD) || 98, MAX_RATING_TOTW: Number(config.MAX_RATING_TOTW) || 87, MAX_RATING_NORMAL: Number(config.MAX_RATING_NORMAL) || 98, TOTW_SAFE_MIN: Number(config.PRO.TOTW_SAFE_MIN) || 3, }; const mask = document.createElement('div'); mask.className = 'panda-modal-mask'; const modal = document.createElement('div'); modal.className = 'panda-modal'; mask.appendChild(modal); const hd = document.createElement('div'); hd.className = 'panda-modal__hd'; hd.innerHTML = ` <div class="panda-modal__title">参数设置</div> <button class="panda-modal__close">×</button> `; const bd = document.createElement('div'); bd.className = 'panda-modal__bd'; bd.style.gridTemplateColumns = '1fr'; const row = (label, id, val, hint = '', min = 0, max = 99999) => ` <div class="panda-col"> <div class="panda-col__title">${label}</div> <div style="display:flex;gap:8px;align-items:center;"> <input id="${id}" type="number" value="${val}" min="${min}" max="${max}" style="width:140px;height:30px;border-radius:8px;border:1px solid #555;background:#252525;color:#ffd76a;text-align:center;"> ${hint ? `<div class="panda-col__tip">${hint}</div>` : ''} </div> </div> `; bd.innerHTML = [ row( '色卡按钮稳定检测 (ms)', 'in-SP_STABLE_FOR', cur.SP_STABLE_FOR, '如果周黑添加失败可适当调大该数值', 0, 5000, ), row( '高分弹窗阈值', 'in-HIGH_RATED_POPUP_THRESHOLD', cur.HIGH_RATED_POPUP_THRESHOLD, '≥高分球员展示阈值,自动滚卡/开包结束以后展示高分球员弹窗', 85, 99, ), row('周黑保护阈值', 'in-MAX_RATING_TOTW', cur.MAX_RATING_TOTW, '做周黑升级时检测到 ≥该分数则取消提交', 80, 99), row('普通SBC保护阈', 'in-MAX_RATING_NORMAL', cur.MAX_RATING_NORMAL, '普通SBC检测到 ≥该分数则取消提交', 80, 99), // row( // '永动机Pro周黑/TOTS判定数量', // 'in-TOTW_SAFE_MIN', // cur.TOTW_SAFE_MIN, // '周黑/TOTS低于该数量自动做周黑', // 0, // 50, // ), ].join(''); const ft = document.createElement('div'); ft.className = 'panda-modal__ft'; ft.innerHTML = ` <button class="panda-btn" id="btn-cancel">取消</button> <button class="panda-btn panda-btn--ok" id="btn-save">保存</button> `; modal.append(hd, bd, ft); document.body.appendChild(mask); const close = () => { try { document.body.removeChild(mask); } catch { } }; hd.querySelector('.panda-modal__close').onclick = close; ft.querySelector('#btn-cancel').onclick = close; ft.querySelector('#btn-save').onclick = () => { const valNum = (id, def, min, max) => { const el = document.getElementById(id); if (!el) return def; const raw = (el.value ?? '').toString().trim(); const n = Number(raw); if (!Number.isFinite(n)) return def; return Math.max(min, Math.min(max, Math.floor(n))); }; const next = { SP_STABLE_FOR: valNum('in-SP_STABLE_FOR', cur.SP_STABLE_FOR, 0, 5000), SP_FILL_SUCCESS_TIME: valNum('in-SP_FILL_SUCCESS_TIME', cur.SP_FILL_SUCCESS_TIME, 0, 10000), HIGH_RATED_POPUP_THRESHOLD: valNum('in-HIGH_RATED_POPUP_THRESHOLD', cur.HIGH_RATED_POPUP_THRESHOLD, 80, 99), MAX_RATING_TOTW: valNum('in-MAX_RATING_TOTW', cur.MAX_RATING_TOTW, 80, 99), MAX_RATING_NORMAL: valNum('in-MAX_RATING_NORMAL', cur.MAX_RATING_NORMAL, 80, 99), // TOTW_SAFE_MIN: valNum('in-TOTW_SAFE_MIN', cur.TOTW_SAFE_MIN, 0, 50), }; config.UI.SP_STABLE_FOR = next.SP_STABLE_FOR; config.UI.SP_FILL_SUCCESS_TIME = next.SP_FILL_SUCCESS_TIME; config.HIGH_RATED_POPUP_THRESHOLD = next.HIGH_RATED_POPUP_THRESHOLD; config.MAX_RATING_TOTW = next.MAX_RATING_TOTW; config.MAX_RATING_NORMAL = next.MAX_RATING_NORMAL; // config.PRO.TOTW_SAFE_MIN = next.TOTW_SAFE_MIN; GM_setValue(CFG_KEYS.SP_STABLE_FOR, next.SP_STABLE_FOR); GM_setValue(CFG_KEYS.SP_FILL_SUCCESS_TIME, next.SP_FILL_SUCCESS_TIME); GM_setValue(CFG_KEYS.HIGH_RATED_POPUP_THRESHOLD, next.HIGH_RATED_POPUP_THRESHOLD); GM_setValue(CFG_KEYS.MAX_RATING_TOTW, next.MAX_RATING_TOTW); GM_setValue(CFG_KEYS.MAX_RATING_NORMAL, next.MAX_RATING_NORMAL); // GM_setValue(CFG_KEYS.TOTW_SAFE_MIN, next.TOTW_SAFE_MIN); try { const tip = document.createElement('div'); tip.textContent = '已保存'; tip.style.cssText = 'position:fixed;bottom:22px;right:26px;background:#2b2b2b;color:#ffd76a;padding:8px 10px;border:1px solid #555;border-radius:8px;z-index:100000;'; document.body.appendChild(tip); setTimeout(() => { try { document.body.removeChild(tip); } catch { } }, 1200); } catch { } close(); }; }, initDock() { if (document.getElementById('panda-dock')) return; ui.injectStyle(); const el = (tag, className, props = {}) => { const node = document.createElement(tag); if (className) node.className = className; Object.assign(node, props); return node; }; const panel = el('div'); panel.id = 'sbc-panel'; const inputBox = el('input', 'sbc-input', { type: 'number', value: state.minRating, min: 80, max: 99, title: '最低评分阈值', }); inputBox.onchange = () => { const v = Math.floor(Number(inputBox.value)); if (Number.isFinite(v) && v >= 45 && v <= 99) { state.minRating = v; GM_setValue(config.MIN_RATING_KEY, v); } else { inputBox.value = state.minRating; } }; const mkBtn = (text, cls, id) => el('button', `sbc-btn ${cls}`, { textContent: text, id }); const statsBox = el('div', 'sbc-stats'); const mkCard = (cfg) => { const card = document.createElement('div'); card.className = 'sbc-stat-card'; let label; let id; if (cfg.type === 'storage') { label = '仓库'; id = 'stat-storage'; } else { label = `${cfg.range[0]}–${cfg.range[1]}`; id = `stat-${cfg.range[0]}-${cfg.range[1]}`; } card.innerHTML = ` <div class="sbc-stat-label">${label}</div> <div class="sbc-stat-value" id="${id}">0</div> `; return card; }; for (const cfg of config.RANGES) statsBox.appendChild(mkCard(cfg)); state.btn.do = mkBtn('猛猛干', 'sbc-btn--do', 'btn-do-sbc'); state.btn.do.onclick = async () => { if (state.isStopping) return; if (state.running && state.runningTask === 'doSBC') return await tasks.stopAsync(); if (state.running && state.runningTask !== 'doSBC') await tasks.stopAsync({ suppressAutoRestartOnce: true });; await ui.ensureConfigThenAssign('do'); }; state.btn.open = mkBtn('开包', 'sbc-btn--open', 'btn-open-packs'); state.btn.open.onclick = async () => { if (state.isStopping) return; if (state.running && state.runningTask !== 'openPacks') await tasks.stopAsync({ suppressAutoRestartOnce: true });; if (!state.running) tasks.startOpen(); else if (state.runningTask === 'openPacks') await tasks.stopAsync(); }; state.btn.loop = mkBtn('永动机', 'sbc-btn--loop', 'btn-loop'); state.btn.loop.onclick = async () => { if (state.isStopping) return; if (!state.selectedLoopSetId) { await ui.ensureConfigThenAssign('loop'); return; } if (state.running && state.runningTask !== 'loop') await tasks.stopAsync({ suppressAutoRestartOnce: true });; if (!state.running) { await sbc.goToPacks(); tasks.startLoop(); } else if (state.runningTask === 'loop') { await tasks.stopAsync(); } }; state.btn.auto = mkBtn('永动机Pro', 'sbc-btn--loop', 'btn-auto'); state.btn.auto.onclick = async () => { if (state.isStopping) return; if (!state.selectedLoopSetId) { await ui.ensureConfigThenAssign('loop', { autostart: false }); if (!state.selectedLoopSetId) return; } if (state.running && state.runningTask !== 'auto') await tasks.stopAsync({ suppressAutoRestartOnce: true });; if (!state.running) tasks.startAuto(); else if (state.runningTask === 'auto') await tasks.stopAsync({ suppressAutoRestartOnce: true });; }; const chkHandleDup = el('input', 'sbc-chk', { type: 'checkbox', checked: state.enableHandleDuplicate, }); chkHandleDup.onchange = () => { state.enableHandleDuplicate = chkHandleDup.checked; GM_setValue('enableHandleDuplicate', state.enableHandleDuplicate); }; const chkLabel = el('label', 'sbc-chklabel'); chkLabel.append(chkHandleDup, document.createTextNode('提前分配重复球员')); const chkAutoRestart = el('input', 'sbc-chk', { type: 'checkbox', checked: state.autoRestartOnStop, }); chkAutoRestart.onchange = () => { state.autoRestartOnStop = chkAutoRestart.checked; GM_setValue(CFG_KEYS.AUTO_RESTART_ON_STOP, state.autoRestartOnStop); }; const chkARLabel = el('label', 'sbc-chklabel'); chkARLabel.append(chkAutoRestart, document.createTextNode('Pro停止后\n自动重启')); const btnAssign = el('button', 'sbc-btn sbc-btn--assign', { textContent: '获取配置' }); btnAssign.onclick = async () => { const txt0 = btnAssign.textContent; try { if (!state.FILTERED_SETS.length) { btnAssign.disabled = true; btnAssign.textContent = '获取中…'; const sets = await sbc.fetchSbcList(); const list = Array.isArray(sets) ? sets : state.FILTERED_SETS; btnAssign.textContent = Array.isArray(list) && list.length > 0 ? '分配SBC' : txt0; return; } await ui.ensureConfigThenAssign(); } catch (e) { btnAssign.textContent = txt0; alert('获取配置失败,请稍后重试'); } finally { btnAssign.disabled = false; } }; const btnCfg = mkBtn('参数设置', 'sbc-btn--settings', 'btn-sbc-settings'); btnCfg.onclick = () => ui.openSbcSettings(); const btnDonate = mkBtn('打赏一下', 'sbc-btn--donate', 'btn-donate'); btnDonate.onclick = () => ui.showDonateModal(); panel.append( statsBox, inputBox, state.btn.do, state.btn.open, state.btn.loop, state.btn.auto, btnAssign, btnCfg, btnDonate, chkLabel, chkARLabel ); let side = GM_getValue('pandaDockSide', 'right'); let top = Number(GM_getValue('pandaDockTop', 140)) || 140; let autohide = !!GM_getValue('pandaDockAutohide', false); const dock = document.createElement('div'); dock.id = 'panda-dock'; dock.className = side; dock.style.top = `${top}px`; const handle = document.createElement('div'); handle.className = 'dock-handle'; handle.title = '点击展开/收起;拖动上下移动;双击切换左右'; handle.textContent = `PANDA SBC v${config.version}`; const panelWrap = document.createElement('div'); panelWrap.className = 'dock-panel'; panelWrap.appendChild(panel); const foot = document.createElement('div'); foot.className = 'dock-foot'; const toggle = document.createElement('span'); toggle.className = 'dock-toggle'; const setAutoText = () => (toggle.textContent = autohide ? '自动隐藏:开' : '自动隐藏:关'); setAutoText(); toggle.onclick = () => { autohide = !autohide; GM_setValue('pandaDockAutohide', autohide); setAutoText(); if (!autohide) expand(); else collapse(); }; const guideBtn = document.createElement('span'); guideBtn.className = 'dock-toggle dock-guide'; guideBtn.textContent = '功能引导'; guideBtn.onclick = () => { try { Guide.init({ force: true, showUI: true }); } catch (_) { alert('引导模块未就绪'); } }; foot.appendChild(toggle); foot.appendChild(guideBtn); panelWrap.appendChild(foot); if (side === 'right') { dock.append(panelWrap, handle); } else { dock.append(handle, panelWrap); } document.body.appendChild(dock); let expanded = !autohide; const expand = () => { dock.classList.add('expanded'); expanded = true; }; const collapse = () => { if (autohide) { dock.classList.remove('expanded'); expanded = false; } }; if (expanded) dock.classList.add('expanded'); let hovering = false; let leaveTimer = null; let clickTimer = null; let ignoreLeaveUntil = 0; dock.addEventListener('pointerenter', () => { hovering = true; if (autohide) expand(); if (leaveTimer) clearTimeout(leaveTimer); }); dock.addEventListener('pointerleave', () => { hovering = false; if (!autohide) return; if (Date.now() < ignoreLeaveUntil) return; if (leaveTimer) clearTimeout(leaveTimer); leaveTimer = setTimeout(() => { if (!hovering) collapse(); }, 220); }); handle.addEventListener('click', (e) => { if (e.detail > 1) return; if (clickTimer) clearTimeout(clickTimer); clickTimer = setTimeout(() => { expanded ? collapse() : expand(); clickTimer = null; }, 180); }); handle.addEventListener('dblclick', () => { if (clickTimer) { clearTimeout(clickTimer); clickTimer = null; } side = side === 'right' ? 'left' : 'right'; GM_setValue('pandaDockSide', side); dock.classList.remove('left', 'right'); dock.classList.add(side); panelWrap.remove(); handle.remove(); if (side === 'right') { dock.append(panelWrap, handle); } else { dock.append(handle, panelWrap); } expand(); ignoreLeaveUntil = Date.now() + 300; setTimeout(() => { if (autohide && !hovering) collapse(); }, 350); }); let dragging = false; let startY = 0; let startTop = 0; const onMove = (e) => { if (!dragging) return; const dy = e.clientY - startY; const newTop = util.clamp(startTop + dy, 20, window.innerHeight - 160); dock.style.top = `${newTop}px`; }; const onUp = () => { if (!dragging) return; dragging = false; dock.classList.remove('dragging'); document.removeEventListener('mousemove', onMove); document.removeEventListener('mouseup', onUp); GM_setValue('pandaDockTop', parseInt(dock.style.top, 10) || 140); }; handle.addEventListener('mousedown', (e) => { if (e.button !== 0) return; dragging = true; dock.classList.add('dragging'); startY = e.clientY; startTop = parseInt(dock.style.top || '140', 10) || 140; document.addEventListener('mousemove', onMove); document.addEventListener('mouseup', onUp); }); document.addEventListener('mouseout', (e) => { if (autohide && e.relatedTarget == null) { hovering = false; collapse(); } }); document.addEventListener('pointermove', (e) => { if (!autohide || !expanded) return; const margin = 8; if (side === 'right' && e.clientX < window.innerWidth - 240 - margin && !hovering) collapse(); if (side === 'left' && e.clientX > 240 + margin && !hovering) collapse(); }); window.addEventListener('blur', () => { if (autohide) collapse(); }); window.addEventListener('resize', () => { const curTop = parseInt(dock.style.top || '140', 10) || 140; const maxTop = Math.max(20, window.innerHeight - 160); if (curTop > maxTop) { dock.style.top = `${maxTop}px`; GM_setValue('pandaDockTop', maxTop); } }); ui.updateButtonState(); }, }; function init() { const ensure = () => { try { ea.ensureHooks(); } catch (e) { } }; ensure(); state.page._eaHookTimer = setInterval(() => { ensure(); if ( ea.hookXHR() && ea.hookEventsPopup() && ea.hookLoadingEnd() && ea.hookRepositories() && state.page._eaHookTimer ) { clearInterval(state.page._eaHookTimer); state.page._eaHookTimer = null; log.i('[init] hooks ready, timer stopped'); } }, 1500); ui.initDock(); } function loadSbcSettingsFromStorage() { const num = (k, def) => { const v = Number(GM_getValue(k, def)); return Number.isFinite(v) ? v : def; }; config.UI.SP_STABLE_FOR = num(CFG_KEYS.SP_STABLE_FOR, config.UI.SP_STABLE_FOR); config.UI.SP_FILL_SUCCESS_TIME = num( CFG_KEYS.SP_FILL_SUCCESS_TIME, config.UI.SP_FILL_SUCCESS_TIME, ); config.HIGH_RATED_POPUP_THRESHOLD = num( CFG_KEYS.HIGH_RATED_POPUP_THRESHOLD, config.HIGH_RATED_POPUP_THRESHOLD, ); config.MAX_RATING_TOTW = num(CFG_KEYS.MAX_RATING_TOTW, config.MAX_RATING_TOTW); config.MAX_RATING_NORMAL = num(CFG_KEYS.MAX_RATING_NORMAL, config.MAX_RATING_NORMAL); // config.PRO.TOTW_SAFE_MIN = num(CFG_KEYS.TOTW_SAFE_MIN, config.PRO.TOTW_SAFE_MIN); } const SHIELD_SEL = '.ut-click-shield.showing, .ut-click-shield.showing.fsu-loading'; function _waitForLoadingStart(timeout = 2000, opts = {}) { const { interval = 120, signal = (state?.abortCtrl?.signal) } = opts; return new Promise((resolve, reject) => { const t0 = Date.now(); let timer = null; const onAbort = () => { clearTimeout(timer); reject(new Error('Aborted')); }; if (signal) { if (signal.aborted) return onAbort(); signal.addEventListener('abort', onAbort, { once: true }); } const step = () => { if (signal?.aborted) return; if (document.querySelector(SHIELD_SEL)) { if (signal) signal.removeEventListener('abort', onAbort); return resolve(true); } if (Date.now() - t0 > timeout) { if (signal) signal.removeEventListener('abort', onAbort); return resolve(false); } timer = setTimeout(step, interval); }; step(); }); } function _waitForLoadingEnd(timeout = 8000, opts = {}) { const { interval = 200, stableGoneMs = 600, signal = (state?.abortCtrl?.signal) } = opts; return new Promise((resolve, reject) => { const start = Date.now(); let lastGoneAt = 0; let timer = null; const onAbort = () => { clearTimeout(timer); reject(new Error('Aborted')); }; if (signal) { if (signal.aborted) return onAbort(); signal.addEventListener('abort', onAbort, { once: true }); } const step = () => { if (signal?.aborted) return; const present = !!document.querySelector(SHIELD_SEL); if (!present) { if (!lastGoneAt) lastGoneAt = Date.now(); if (Date.now() - lastGoneAt >= stableGoneMs) { if (signal) signal.removeEventListener('abort', onAbort); return resolve(true); } } else { lastGoneAt = 0; } if (Date.now() - start > timeout) { if (signal) signal.removeEventListener('abort', onAbort); return resolve(false); } timer = setTimeout(step, interval); }; step(); }); } async function _waitFSULoading(timeout = 8000, opts = {}) { const appeared = await _waitForLoadingStart(10000, opts); if (!appeared) return false; const vanished = await _waitForLoadingEnd(timeout, opts); return vanished; } const recover = (() => { const KEY = 'panda_recover_ticket_v3'; const NAME_PREFIX = '__PANDA_RECOVER__::'; const CFG = { MAX_ATTEMPTS: 2, STEP_RETRY_MAX: 2, WAIT_QUERY: 10000, WAIT_BTN_TRANSITION: 15000, POLL_INTERVAL: 150, CLICK_DEBOUNCE_MS: 1500, WAIT_HOME_MS: 180000, WAIT_LOADING_MS: 120000, AUTOFILL_TIMEOUT: 15000, }; const GMX = { async set(key, val) { const s = typeof val === 'string' ? val : JSON.stringify(val); try { if (typeof GM?.setValue === 'function') return await GM.setValue(key, s); } catch { } try { if (typeof GM_setValue === 'function') { GM_setValue(key, s); return; } } catch { } try { localStorage.setItem(key, s); } catch { } }, async get(key) { let s = null; try { if (typeof GM?.getValue === 'function') s = await GM.getValue(key, null); } catch { } if (s == null) { try { if (typeof GM_getValue === 'function') s = GM_getValue(key); } catch { } } if (s == null) { try { s = localStorage.getItem(key); } catch { } } return s; }, async del(key) { try { if (typeof GM?.deleteValue === 'function') return await GM.deleteValue(key); } catch { } try { if (typeof GM_deleteValue === 'function') { GM_deleteValue(key); return; } } catch { } try { localStorage.removeItem(key); } catch { } }, }; const store = { async set(v) { const s = JSON.stringify(v); await GMX.set(KEY, s); try { window.name = NAME_PREFIX + s; } catch { } }, async get() { let s = await GMX.get(KEY); if (!s && typeof window.name === 'string' && window.name.startsWith(NAME_PREFIX)) { s = window.name.slice(NAME_PREFIX.length); } try { return s ? JSON.parse(s) : null; } catch { return null; } }, async del() { await GMX.del(KEY); try { if (typeof window.name === 'string' && window.name.startsWith(NAME_PREFIX)) window.name = ''; } catch { } }, async patch(extra = {}) { const old = await store.get() || {}; await store.set({ ...old, ...extra, lastAt: Date.now() }); }, }; function hasTaskId(payload) { const id = String( state?.selectedLoopSetId || payload?.selectedLoopSetId || payload?.targetId || '' ).trim(); return !!id; } const isLoginPage = () => /signin|login|auth|juno\/login/i.test(location.hostname + location.pathname + location.search + location.hash); function findFutLoginBtn(rootSel = '.ut-login-content') { const root = document.querySelector(rootSel); if (!root) return null; const exact = root.querySelector('button.btn-standard.call-to-action'); if (exact && (exact.textContent || '').trim() === '登录') return exact; const nodes = root.querySelectorAll('button,[role="button"],.btn,.call-to-action'); return Array.from(nodes).find(n => (n.textContent || '').trim() === '登录') || null; } const getLogInBtn = () => document.querySelector('#logInBtn'); const getLogInBtnText = () => { const el = getLogInBtn(); return el ? (el.textContent || el.value || '').trim() : ''; }; const waitUntil = util.withAbort((pred, timeout = CFG.WAIT_BTN_TRANSITION, interval = CFG.POLL_INTERVAL) => { return new Promise((resolve, reject) => { const signal = state?.abortCtrl?.signal; const start = Date.now(); let timer = null; const step = () => { if (signal?.aborted) { if (timer) clearTimeout(timer); return reject(new AbortedError()); } let ok = false; try { ok = !!pred(); } catch { ok = false; } if (ok) { if (timer) clearTimeout(timer); return resolve(true); } if (Date.now() - start >= timeout) { if (timer) clearTimeout(timer); return resolve(false); } timer = setTimeout(step, interval); }; step(); }); }); const waitBtnTransition = util.withAbort(async ({ expectTextChangeTo = null, timeout = CFG.WAIT_BTN_TRANSITION } = {}) => { const before = getLogInBtnText(); const goneP = dom.waitGone('#logInBtn', timeout, { interval: CFG.POLL_INTERVAL }) .then(() => true).catch(() => false); const textChangedP = waitUntil(() => { const now = getLogInBtnText(); if (!now) return false; return expectTextChangeTo ? (now === expectTextChangeTo) : (now !== before); }, timeout, CFG.POLL_INTERVAL).then(() => true).catch(() => false); const leftPageP = waitUntil(() => !isLoginPage(), timeout, CFG.POLL_INTERVAL) .then(() => true).catch(() => false); return await Promise.race([goneP, textChangedP, leftPageP]); }); function __jq() { return (typeof unsafeWindow !== 'undefined' && unsafeWindow.jQuery) || (typeof window !== 'undefined' && (window.jQuery || window.$)) || null; } function __jqCommit($el, val) { if (!$el || !$el.length) return false; const el = $el.get(0); try { const desc = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value'); if (desc && desc.set) desc.set.call(el, val); } catch { } $el.val(val); try { el.dispatchEvent(new InputEvent('input', { bubbles: true })); } catch { el.dispatchEvent(new Event('input', { bubbles: true })); } try { el.dispatchEvent(new KeyboardEvent('keyup', { bubbles: true, cancelable: true, key: '', code: '', keyCode: 0, which: 0 })); } catch { } el.dispatchEvent(new Event('change', { bubbles: true })); el.blur?.(); return true; } async function __jqClick(selectorOrPick) { const $ = __jq(); if (!$) return false; let el = null; if (typeof selectorOrPick === 'string') el = document.querySelector(selectorOrPick); else if (typeof selectorOrPick === 'function') el = selectorOrPick(); if (el) { try { $(el).trigger('click'); return true; } catch { } } let $btn = $('#logInBtn'); if (!$btn.length) { $btn = $('button, a, .btn, [role="button"]').filter(function () { const t = ($(this).val() || $(this).text() || '').trim(); return t === '下一步' || t === '登录'; }); $btn = $btn.first(); } if ($btn && $btn.length) { $btn.trigger('click'); return true; } return false; } function __ensureAutofillCSS() { if (document.getElementById('panda-autofill-style')) return; const style = document.createElement('style'); style.id = 'panda-autofill-style'; style.textContent = ` @keyframes pandaAutofillStart { from { opacity: 1; } to { opacity: 1; } } input:-webkit-autofill { animation-name: pandaAutofillStart; } `; document.head.appendChild(style); } const __waitAutofill = util.withAbort(async (elOrSelector, timeout = CFG.AUTOFILL_TIMEOUT) => { const el = typeof elOrSelector === 'string' ? document.querySelector(elOrSelector) : elOrSelector; if (!el) return ''; if (!document.getElementById('panda-autofill-style')) { const style = document.createElement('style'); style.id = 'panda-autofill-style'; style.textContent = ` @keyframes pandaAutofillStart { from { opacity: 1; } to { opacity: 1; } } input:-webkit-autofill { animation-name: pandaAutofillStart; } `; document.head.appendChild(style); } const signal = state?.abortCtrl?.signal; const start = Date.now(); let autoFilled = false; const onAnim = (e) => { if (e.animationName === 'pandaAutofillStart') autoFilled = true; }; try { el.addEventListener('animationstart', onAnim, { passive: true }); try { el.focus(); } catch { } while (Date.now() - start < timeout) { util.abortPoint(); if ((el.value || '').trim()) break; if (autoFilled && el.value) break; await util.sleep(CFG.POLL_INTERVAL); } return (el.value || '').trim(); } finally { try { el.removeEventListener('animationstart', onAnim); } catch { } } }); function _isVisible(el) { if (!el) return false; const cs = getComputedStyle(el); if (cs.display === 'none' || cs.visibility === 'hidden' || el.hidden) return false; const r = el.getBoundingClientRect(); return r.width > 0 && r.height > 0; } function detectPagePhase() { if (!isLoginPage()) { const futBtn = findFutLoginBtn(); return { page: 'FUT', futLoginBtn: futBtn }; } const btn = getLogInBtn(); const btnTxt = btn ? (btn.textContent || btn.value || '').trim() : ''; const emailEl = document.querySelector('#email'); const passEl = document.querySelector('#password') || document.querySelector('input[type="password"]'); const emailVis = _isVisible(emailEl); const passVis = _isVisible(passEl); if (passVis || btnTxt === '登录') return { page: 'LOGIN_SUBMIT', btnTxt }; if (emailVis || btnTxt === '下一步') return { page: 'LOGIN_NEXT', btnTxt }; return { page: 'LOGIN_UNKNOWN', btnTxt }; } async function buildTicketForStep2(email, password) { const old = await store.get() || {}; await store.set({ phase: 'STEP2_NEXT', attempts: (old.attempts || 0) + 1, step2Tries: 0, step3Tries: 0, lastClickAt_step2: 0, lastClickAt_step3: 0, email: (email || '').trim(), password: String(password || ''), at: Date.now(), }); return true; } async function reconcileStateWithDOM() { const payload = await store.get(); const phaseDOM = detectPagePhase(); if (phaseDOM.page === 'FUT') { return { payload, phase: phaseDOM }; } if (!payload) { const base = { attempts: 1, step2Tries: 0, step3Tries: 0, lastClickAt: 0, email: (config?.PRO?.LOGIN_EMAIL || '').trim(), password: String(config?.PRO?.LOGIN_PASSWORD ?? ''), selectedLoopSetId: String(state?.selectedLoopSetId || ''), at: Date.now() }; const phase = (phaseDOM.page === 'LOGIN_SUBMIT') ? 'STEP3_LOGIN' : (phaseDOM.page === 'LOGIN_NEXT') ? 'STEP2_NEXT' : 'STEP2_NEXT'; await store.set({ ...base, phase }); return { payload: await store.get(), phase: phaseDOM }; } if (phaseDOM.page === 'LOGIN_SUBMIT' && payload.phase !== 'STEP3_LOGIN') { await store.patch({ phase: 'STEP3_LOGIN' }); } else if (phaseDOM.page === 'LOGIN_NEXT' && payload.phase !== 'STEP2_NEXT') { await store.patch({ phase: 'STEP2_NEXT' }); } return { payload: await store.get(), phase: detectPagePhase() }; } async function step1_FUT_GotoLogin() { const futLogin = findFutLoginBtn(); if (!futLogin) return false; const email = (config?.PRO?.LOGIN_EMAIL || '').trim(); const password = (config?.PRO?.LOGIN_PASSWORD || ''); await buildTicketForStep2(email, password); log.i('[recover] Step1: FUT 发现“登录”,已记录 phase=STEP2_NEXT,并跳转登录页'); await dom.clickIfExists( () => findFutLoginBtn(), 5000, 60, { strict: false, stableFor: 64, preferLast: true, signal: state?.abortCtrl?.signal }, true ); return true; } const step2_Login_Next = util.withAbort(async () => { await dom.waitForElement(() => document.querySelector('#email') || getLogInBtn(), CFG.WAIT_QUERY, { strict: false, stableFor: 64, preferLast: true, signal: state?.abortCtrl?.signal }); const payload = await store.get(); const attempts = payload?.attempts || 1; if (attempts > CFG.MAX_ATTEMPTS) { await store.del(); return false; } const tries = payload?.step2Tries || 0; if (tries >= CFG.STEP_RETRY_MAX) { log.w('[recover] Step2: 重试超限'); await store.del(); return false; } await store.patch({ step2Tries: tries + 1 }); { const now = Date.now(); const last = payload?.lastClickAt_step2 || 0; const gap = now - last; if (gap < CFG.CLICK_DEBOUNCE_MS) { await util.sleep(CFG.CLICK_DEBOUNCE_MS - gap + 50); } await store.patch({ lastClickAt_step2: Date.now() }); } const $ = __jq(); const email = (payload?.email || (config?.PRO?.LOGIN_EMAIL || '')).trim(); const $mail = $ ? $('#email') : null; const mailEl = document.querySelector('#email'); if (!email || !mailEl) { log.w('[recover] Step2: 缺少邮箱或 #email,不执行“下一步”;清空进度'); await store.del(); return false; } if ($) { __jqCommit($mail, email); $('#loginMethod').val('emailPassword'); $('#online-input-error-email,#online-general-error,#offline-auth-error').removeClass('otkform-group-haserror'); $('.otkinput-grouped').removeClass('otkinput-iserror'); } else { try { const desc = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value'); desc && desc.set && desc.set.call(mailEl, email); } catch { } mailEl.value = email; mailEl.dispatchEvent(new Event('input', { bubbles: true })); mailEl.dispatchEvent(new Event('change', { bubbles: true })); mailEl.blur?.(); const lm = document.querySelector('#loginMethod'); if (lm) lm.value = 'emailPassword'; } await store.patch({ phase: 'STEP3_LOGIN' }); await __jqClick('#logInBtn'); await dom.clickIfExists( () => getLogInBtn(), 5000, 60, { strict: false, stableFor: 64, preferLast: true, signal: state?.abortCtrl?.signal }, true ); const ok = await waitBtnTransition({ expectTextChangeTo: '登录', timeout: CFG.WAIT_BTN_TRANSITION }); const stillLogin = isLoginPage(); const btnTxt = getLogInBtnText(); if (!ok && stillLogin && btnTxt === '下一步') { log.w('[recover] Step2: 仍是“下一步”,判失败,清空进度'); await store.del(); return false; } log.i('[recover] Step2: 下一步完成,进入 Step3 或已离开登录页'); return true; }); const step3_Login_Submit = util.withAbort(async () => { await dom.waitForElement(() => document.querySelector('#password') || getLogInBtn(), CFG.WAIT_QUERY, { strict: false, stableFor: 64, preferLast: true, signal: state?.abortCtrl?.signal }); { const payload = await store.get(); const now = Date.now(); const last = payload?.lastClickAt_step3 || 0; const gap = now - last; if (gap < CFG.CLICK_DEBOUNCE_MS) { const wait = CFG.CLICK_DEBOUNCE_MS - gap + 50; log.i(`debounce ${gap}ms < ${CFG.CLICK_DEBOUNCE_MS}ms → sleep ${wait}ms`); await util.sleep(wait); } await store.patch({ lastClickAt_step3: Date.now() }); } const $ = __jq(); const passEl = document.querySelector('#password') || document.querySelector('input[type="password"]'); let payload = await store.get(); let pwd = payload?.password ?? config?.PRO?.LOGIN_PASSWORD ?? ''; const btnBefore = getLogInBtnText(); log.i(`start. domPhase=%o btnText="%s"`, detectPagePhase(), btnBefore); if (passEl && !String(pwd)) { const got = await __waitAutofill(passEl, CFG.AUTOFILL_TIMEOUT); if (got) pwd = got; } if (!passEl || !String(pwd)) { log.i('密码为空. clear ticket.'); await store.del(); return false; } if ($) { __jqCommit($(passEl), String(pwd)); } else { try { const desc = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value'); desc && desc.set && desc.set.call(passEl, String(pwd)); } catch { } passEl.value = String(pwd); try { passEl.dispatchEvent(new InputEvent('input', { bubbles: true })); } catch { passEl.dispatchEvent(new Event('input', { bubbles: true })); } passEl.dispatchEvent(new Event('change', { bubbles: true })); passEl.blur?.(); } try { const ev = new KeyboardEvent('keydown', { bubbles: true, cancelable: true, key: 'Enter', code: 'Enter', keyCode: 13, which: 13 }); passEl.dispatchEvent(ev); } catch { } if ($) { try { $('#logInBtn').trigger('click'); } catch { } } await dom.clickIfExists( () => getLogInBtn(), 5000, 60, { strict: false, stableFor: 64, preferLast: true, signal: state?.abortCtrl?.signal }, true ); const ok = await Promise.race([ dom.waitGone('#logInBtn', CFG.WAIT_BTN_TRANSITION, { interval: CFG.POLL_INTERVAL }).then(() => true).catch(() => false), waitUntil(() => !isLoginPage(), CFG.WAIT_BTN_TRANSITION, CFG.POLL_INTERVAL).then(() => true).catch(() => false), waitUntil(() => getLogInBtnText() !== btnBefore, CFG.WAIT_BTN_TRANSITION, CFG.POLL_INTERVAL).then(() => true).catch(() => false), ]); if (isLoginPage()) { const errBox = document.querySelector('#online-general-error .otkc'); const errCode = (document.querySelector('#errorCode') || {}).value || ''; const errCodeDesc = (document.querySelector('#errorCodeWithDescription') || {}).value || ''; const errTxt = errBox ? (errBox.textContent || '').trim() : ''; return false; } await store.del(); return true; }); async function resumeProAfterReload() { try { await Guide.onceHomeReady(CFG.WAIT_HOME_MS); } catch { } await util.sleep(5000); await _waitFSULoading(12 * 60 * 1000); await dom.clickIfExists( () => document.querySelector('.sbc-btn--assign'), 6000, 60, { strict: false, stableFor: 64, preferLast: true, signal: state?.abortCtrl?.signal }, true ); try { await ea.waitAllLoadingEnd?.(800, 60000); } catch { } try { await sbc.fetchSbcList?.(); } catch { } const payload = await store.get(); const targets = await sbc.ensureAutoTargets?.() || {}; state.selectedLoopSetId = String(payload?.selectedLoopSetId || targets?.loopId || ''); await util.sleep(500); if (typeof tasks.startAuto === 'function') { state.isStopping = false; try { await tasks.startAuto.call(tasks); log.i('[recover] resume: 已触发 Pro 启动'); } catch (e) { log.w('[recover] resume: 启动异常', e); } finally { await store.del(); } return true; } else { log.w('[recover] resume: 未找到启动函数'); await store.del(); return false; } } async function triggerAndReload(reason = 'chain_exhausted') { if (state.__recovering) { return false; } const loopId = String(state?.selectedLoopSetId || '').trim(); if (!loopId) { await store.del(); return false; } state.__recovering = true; const old = await store.get(); const attempts = (old?.attempts || 0) + 1; await store.set({ phase: 'RESUME_PRO', attempts, reason, selectedLoopSetId: loopId, email: (config?.PRO?.LOGIN_EMAIL || '').trim(), password: String(config?.PRO?.LOGIN_PASSWORD ?? ''), lastOrigin: location.origin, seq: (old?.seq || 0) + 1, at: Date.now(), }); log.w(`[recover] 第 ${attempts} 次尝试,刷新页面…`, { reason, loopId: state?.selectedLoopSetId }); location.reload(); return false; } const tryOnBoot = util.withAbort(async () => { state.__recovering = false; const { payload, phase } = await reconcileStateWithDOM(); console.log(payload, phase) if (!hasTaskId(payload)) { log.i('[recover] 无凭证 -> 跳过恢复 & 清理凭证'); try { store.del(); } catch { } return false; } if (phase.page === 'FUT') { if (payload?.phase === 'RESUME_PRO') { const appear = await dom.waitForElement( () => findFutLoginBtn(), 20000, { strict: false, stableFor: 64, preferLast: true, signal: state?.abortCtrl?.signal } ); if (!appear) return false; const vanished = await dom.waitGone('.ut-login-content .btn-standard.call-to-action', 30000, { interval: 200 }); const stillThere = !!findFutLoginBtn(); if (vanished && !stillThere) { log.i('[recover] FUT 登录按钮在等待内消失,判定已登录或不需登录。'); return await resumeProAfterReload(); } else { return await step1_FUT_GotoLogin(); } } } const fresh = await store.get(); const attempts = fresh?.attempts || 1; if (attempts > CFG.MAX_ATTEMPTS) { log.w('[recover] 超过最大尝试次数,清理进度'); await store.del(); return false; } if (phase.page === 'LOGIN_NEXT') { return await step2_Login_Next(); } if (phase.page === 'LOGIN_SUBMIT') { console.log('step3_Login_Submit') return await step3_Login_Submit(); } log.i(`[recover] 登录页但状态不明(${phase.page}),等待下次机会。`); return false; }); return { tryOnBoot, triggerAndReload, _store: store }; })(); return { config, state, log, util, dom, ea, sbc, tasks, ui, init, loadSbcSettingsFromStorage, recover }; })(); const Guide = (() => { const KEY_SHOWN = 'panda_guide_shown_v1'; const HOME_H1_TEXT = '主页'; const WAIT_TIMEOUT_MS = 600000; const OBS_ROOT = document.body || document.documentElement; const hasShown = () => !!GM_getValue(KEY_SHOWN, false); const setShown = () => GM_setValue(KEY_SHOWN, true); function findHomeTitleNode() { const nodes = document.querySelectorAll('h1.title'); for (const n of nodes) { const txt = (n.textContent || '').trim(); if (txt === HOME_H1_TEXT) return n; } return null; } function detectDeps() { const fsuInstalled = !!document.querySelector('.fsu-loading-close'); const enhancerInstalled = !!( document.querySelector('.icon-enhancer') || document.querySelector('[class*="icon-enhancer"]') ); return { fsuInstalled, enhancerInstalled }; } function showOverlay({ fsuInstalled, enhancerInstalled }) { if (document.querySelector('.panda-guide-mask')) return; const RESOURCES = [ { label: '作者:伯纳乌书童甲', href: 'https://space.bilibili.com/23274961', note: 'B站链接' }, { label: 'FC25 PandaSBC 1群', href: 'https://qm.qq.com/q/zSDFaDZ1UA', note: '点击入群求助' }, { label: '安装教程', href: 'https://b23.tv/rg1dQVR', note: 'B站链接' }, { label: '使用教程', href: 'https://b23.tv/qo1svsY', note: 'B站链接' }, ]; const mask = document.createElement('div'); mask.style.cssText = ` position:fixed;inset:0;z-index:999999; background:rgba(0,0,0,0.55);display:flex;align-items:center;justify-content:center; font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial; `; const box = document.createElement('div'); box.style.cssText = ` width:520px;max-width:calc(100vw - 40px);background:#1f1f1f;color:#eee;border:1px solid #333; border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.5);padding:18px; `; const ok = (flag) => (flag ? '✅ 已检测到' : '⚠️ 未检测到'); const linksHTML = RESOURCES.map( (r) => ` <li style=" margin:6px 0; display:flex; align-items:center; justify-content:space-between; gap:10px; "> <div style="display:flex;align-items:center;gap:8px;"> ${r.note ? `<span style="font-size:12px;color:#bbb;">${r.note}</span>` : ''} <a href="${r.href}" target="_blank" rel="noopener noreferrer" style="color:#4ec9ff;text-decoration:none;">${r.label}</a> </div> <button data-copy="${r.href}" style=" min-width:64px;height:26px;border-radius:6px;border:1px solid #555; background:#2b2b2b;color:#ddd;cursor:pointer;font-size:12px; ">复制</button> </li> `, ).join(''); const html = ` <div style="font-size:16px;font-weight:700;margin-bottom:10px;">pandaSBC 新手引导(免费插件,谨防受骗)</div> <div style="font-size:14px;line-height:1.6;"> <div>• FSU:${ok(fsuInstalled)}</div> <div>• Enhancer:${ok(enhancerInstalled)}</div> </div> <div style="font-size:13px;margin:12px 0 6px 0;font-weight:700;">资源与帮助</div> <ul style="list-style:none;padding:0;margin:0;">${linksHTML}</ul> <div style="font-size:12px;color:#bbb;margin-top:10px;"> ${!fsuInstalled || !enhancerInstalled ? '提示:请先安装/启用以上依赖后再使用脚本。' : '环境检测通过,可开始使用。' } </div> <div style="display:flex;gap:8px;justify-content:flex-end;margin-top:14px;"> <button id="panda-guide-close" style=" min-width:88px;height:32px;border-radius:8px;border:1px solid #555; background:#2b2b2b;color:#ddd;cursor:pointer; ">我知道了</button> </div> `; box.innerHTML = html; mask.appendChild(box); document.body.appendChild(mask); box.addEventListener('click', async (e) => { const btn = e.target.closest('button[data-copy]'); if (!btn) return; const text = btn.getAttribute('data-copy') || ''; try { if (navigator.clipboard && navigator.clipboard.writeText) { await navigator.clipboard.writeText(text); } else { const ta = document.createElement('textarea'); ta.value = text; ta.style.position = 'fixed'; ta.style.opacity = '0'; document.body.appendChild(ta); ta.select(); document.execCommand('copy'); document.body.removeChild(ta); } btn.textContent = '已复制'; setTimeout(() => (btn.textContent = '复制'), 1200); } catch { alert('复制失败:' + text); } }); const closeBtn = box.querySelector('#panda-guide-close'); closeBtn.addEventListener('click', () => { try { document.body.removeChild(mask); } catch { } }); } function onceHomeReady() { const SEL = '.ut-tab-bar-item.icon-home'; return new Promise((resolve) => { const node = document.querySelector(SEL); if (node) return resolve(node); const mo = new MutationObserver(() => { const n = document.querySelector(SEL); if (n) { mo.disconnect(); resolve(n); } }); mo.observe(document.body || document.documentElement, { childList: true, subtree: true }); setTimeout(() => { try { mo.disconnect(); } catch { } resolve(null); }, WAIT_TIMEOUT_MS); }); } async function init({ force = false, showUI = true } = {}) { if (!force && hasShown()) { return; } const homeBtn = await onceHomeReady(); if (!homeBtn) return; const status = detectDeps(); setShown(); if (showUI) { showOverlay(status); } else { console.info('[pandaSBC][Guide]', status); } } return { init, detectDeps, onceHomeReady }; })(); window.addEventListener('load', () => { try { PandaSBC.init(); PandaSBC.loadSbcSettingsFromStorage() PandaSBC.recover.tryOnBoot(); const hasShownGuide = GM_getValue(GUIDE_SHOWN_KEY, false); if (!hasShownGuide) { Guide.init({ force: true, showUI: true }); GM_setValue(GUIDE_SHOWN_KEY, true); } } catch (e) { console.error(e); } }); })();