// ==UserScript== // @name iKuuu自动签到插件(Edge版) // @namespace https://scriptcat.org/ // @version 1.0 // @description iKuuu机场每日自动签到,支持Microsoft Edge // @author YourName // @match https://ikuuu.top/user#* // @icon https://ikuuu.top/favicon.ico // @grant GM_xmlhttpRequest // @grant GM_notification // @grant GM_openInTab // @connect ikuuu.top // @crontab * * once * * // ==/UserScript== (function() { 'use strict'; const MAX_RETRY = 7; let retryCount = 0; // 检测登录状态 function checkLogin() { GM_xmlhttpRequest({ method: "GET", url: "https://ikuuu.top/user", onload: function(response) { if (response.finalUrl.includes("/auth/login")) { GM_notification({ title: "iKuuu未登录!", text: "请先登录以启用自动签到", timeout: 5000, onclick: () => GM_openInTab("https://ikuuu.top/auth/login") }); } else { performCheckin(); } }, onerror: handleError }); } // 执行签到 function performCheckin() { GM_xmlhttpRequest({ method: "POST", url: "https://ikuuu.top/user/checkin", headers: { "Content-Type": "application/json" }, onload: function(response) { if (response.status === 200) { const result = JSON.parse(response.responseText); GM_notification({ title: "签到成功", text: result.msg || "今日流量已领取", timeout: 3000 }); } else { handleError(); } }, onerror: handleError, ontimeout: handleError }); } // 错误处理与重试 function handleError() { if (retryCount < MAX_RETRY) { retryCount++; setTimeout(performCheckin, 5000); // 5秒后重试 } else { GM_notification({ title: "签到失败", text: "已尝试7次,请手动检查网络或登录状态", timeout: 5000 }); } } // 初始化任务(每天首次启动浏览器时运行) checkLogin(); })();