42 // ==UserScript== // @name 二次元云每日签到 // @namespace https://bbs.tampermonkey.net.cn/ // @version 1.1.0 // @description 每天二次元云自动签到领流量 // @author Vikrant // @match https://docs.scriptcat.org/dev/background.html#promise // @crontab * * once * * // @grant GM_xmlhttpRequest // @grant GM_log // @connect owo.ecycloud.com // ==/UserScript== let i = 0 return new Promise((resolve, reject) => { function main() { setTimeout(() => { GM_xmlhttpRequest({ method: "POST", url: "https://owo.ecycloud.com/user/checkin", responseType: "json", timeout: 10000, onload: xhr => { let ret = xhr.response.ret let msg = xhr.response.msg if (xhr.status == 200) { resolve(msg) } else { GM_log('请求失败,再试一次。') ++i main() } }, ontimeout: () => { GM_log("请求超时,再试一次。") ++i main() } }) }, Math.random() * 50000) } setInterval(() => { if (i >= 5) { resolve("出错超过五次,已退出脚本。") } }, 10000); main() })