diff --git a/JD-DailyBonus/JD_DailyBonus.js b/JD-DailyBonus/JD_DailyBonus.js index 9cd5b7c..8e9c5eb 100644 --- a/JD-DailyBonus/JD_DailyBonus.js +++ b/JD-DailyBonus/JD_DailyBonus.js @@ -2,7 +2,7 @@ 京东多合一签到脚本 -更新时间: 2020.8.12 22:30 v1.40 (Beta) +更新时间: 2020.8.14 23:00 v1.41 (Beta) 有效接口: 27+ 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js 电报频道: @NobyDa @@ -91,7 +91,11 @@ var LogDetails = false; //是否开启响应日志, true则开启 var stop = 0; //自定义延迟签到,单位毫秒. 默认分批并发无延迟. 延迟作用于每个签到接口, 如填入延迟则切换顺序签到(耗时较长), VPN重启或越狱用户建议填写1, Surge用户请注意在SurgeUI界面调整脚本超时 -var DeleteCookie = false; //是否清除Cookie, true则开启 +var DeleteCookie = false; //是否清除Cookie, true则开启. (该选项仅适用于QX,Surge,Loon,JsBox) + +var boxdis = true; //是否开启自动禁用, false则关闭. 脚本运行崩溃时(如VPN断连), 下次运行时将自动禁用相关崩溃接口(仅部分接口启用), 崩溃时可能会误禁用正常接口. (该选项仅适用于QX,Surge,Loon) + +var ReDis = false; //是否移除所有禁用列表, true则开启. 适用于触发自动禁用后, 需要再次启用接口的情况. (该选项仅适用于QX,Surge,Loon) var out = 0; //接口超时退出, 用于可能发生的网络不稳定, 0则关闭. 如QX日志出现大量"JS Context timeout"后脚本中断时, 建议填写6000 @@ -178,12 +182,14 @@ function notify() { var steel = 0; var success = 0; var fail = 0; + var err = 0; var notify = ''; for (var i in merge) { bean += Number(merge[i].bean) steel += Number(merge[i].steel) success += Number(merge[i].success) fail += Number(merge[i].fail) + err += Number(merge[i].error) notify += merge[i].notify ? "\n" + merge[i].notify : "" } var Cash = merge.JDCash.TCash ? merge.JDCash.TCash + "红包" : "" @@ -194,15 +200,17 @@ function notify() { var TSteel = steel ? steel + "钢镚" + (merge.JDCash.Cash ? ", " : "") : "" var TCash = merge.JDCash.Cash ? merge.JDCash.Cash + "红包" : "" var Tbsc = Tbean ? "\n" : TSteel ? "\n" : TCash ? "\n" : "获取失败\n" - var Ts = success ? "成功" + success + "个" + (fail ? ", " : "") : "" - var Tf = fail ? "失败" + fail + "个" : success ? "" : "获取失败" - var one = "【签到概览】: " + Ts + Tf + "\n" + var Ts = success ? "成功" + success + "个" + (fail || err ? ", " : "") : "" + var Tf = fail ? "失败" + fail + "个" + (err ? ", " : "") : "" + var Te = err ? "错误" + err + "个\n" : success ? "\n" : fail ? "\n" : "获取失败\n" + var one = "【签到概览】: " + Ts + Tf + Te var two = "【签到总计】: " + Tbean + TSteel + TCash + Tbsc var three = "【账号总计】: " + beans + Steel + Cash + bsc var four = "【左滑 '查看' 以显示签到详情】\n" + var disa = $nobyda.disable ? "\n检测到上次执行意外崩溃, 已为您自动禁用相关接口. 如需开启请前往BoxJs ‼️‼️\n" : "" var DName = merge.JDShake.nickname ? merge.JDShake.nickname : "获取失败" var Name = add ? DualAccount ? "【签到号一】: " + DName + "\n" : "【签到号二】: " + DName + "\n" : "" - console.log("\n" + Name + one + two + three + four + notify) + console.log("\n" + Name + one + two + three + four + disa + notify) if ($nobyda.isJSBox) { if (add && DualAccount) { Shortcut = Name + one + two + three + "\n" @@ -212,7 +220,7 @@ function notify() { $intents.finish(Shortcut + Name + one + two + three) } } - if (!$nobyda.isNode) $nobyda.notify("", "", Name + one + two + three + four + notify); + if (!$nobyda.isNode) $nobyda.notify("", "", Name + one + two + three + four + disa + notify); if (DualAccount) { double(); } else { @@ -282,9 +290,11 @@ function ReadCookie() { } else if (Key || $nobyda.read("CookieJD")) { add = DualKey || $nobyda.read("CookieJD2") ? true : false KEY = Key ? Key : $nobyda.read("CookieJD") - out = $nobyda.read("JD_DailyBonusTimeOut") || out - stop = $nobyda.read("JD_DailyBonusDelay") || stop - LogDetails = $nobyda.read("JD_DailyBonusLog") === "true" ? true : false || LogDetails + out = parseInt($nobyda.read("JD_DailyBonusTimeOut")) || out + stop = parseInt($nobyda.read("JD_DailyBonusDelay")) || stop + boxdis = $nobyda.read("JD_Crash_disable") === "false" ? false : boxdis + LogDetails = $nobyda.read("JD_DailyBonusLog") === "true" ? true : LogDetails + ReDis = ReDis ? $nobyda.write("", "JD_DailyBonusDisables") : "" all() } else { $nobyda.notify("京东签到", "", "脚本终止, 未获取Cookie ‼️") @@ -334,51 +344,39 @@ function JingDongBean(s) { console.log("\n" + "京东商城-京豆Cookie失效 " + Details) merge.JDBean.notify = "京东商城-京豆: 失败, 原因: Cookie失效‼️" merge.JDBean.fail = 1 - } else { - if (data.match(/跳转至拼图/)) { - merge.JDBean.notify = "京东商城-京豆: 失败, 原因: 需要拼图验证 ⚠️" - merge.JDBean.fail = 1 + } else if (data.match(/跳转至拼图/)) { + merge.JDBean.notify = "京东商城-京豆: 失败, 原因: 需要拼图验证 ⚠️" + merge.JDBean.fail = 1 + } else if (data.match(/\"status\":\"?1\"?/)) { + console.log("\n" + "京东商城-京豆签到成功 " + Details) + if (data.match(/dailyAward/)) { + merge.JDBean.notify = "京东商城-京豆: 成功, 明细: " + cc.data.dailyAward.beanAward.beanCount + "京豆 🐶" + merge.JDBean.bean = cc.data.dailyAward.beanAward.beanCount + } else if (data.match(/continuityAward/)) { + merge.JDBean.notify = "京东商城-京豆: 成功, 明细: " + cc.data.continuityAward.beanAward.beanCount + "京豆 🐶" + merge.JDBean.bean = cc.data.continuityAward.beanAward.beanCount + } else if (data.match(/新人签到/)) { + const quantity = data.match(/beanCount\":\"(\d+)\".+今天/) + merge.JDBean.bean = quantity ? quantity[1] : 0 + merge.JDBean.notify = "京东商城-京豆: 成功, 明细: " + (quantity ? quantity[1] : "无") + "京豆 🐶" } else { - if (data.match(/\"status\":\"?1\"?/)) { - console.log("\n" + "京东商城-京豆签到成功 " + Details) - if (data.match(/dailyAward/)) { - merge.JDBean.notify = "京东商城-京豆: 成功, 明细: " + cc.data.dailyAward.beanAward.beanCount + "京豆 🐶" - merge.JDBean.bean = cc.data.dailyAward.beanAward.beanCount - merge.JDBean.success = 1 - } else { - if (data.match(/continuityAward/)) { - merge.JDBean.notify = "京东商城-京豆: 成功, 明细: " + cc.data.continuityAward.beanAward.beanCount + "京豆 🐶" - merge.JDBean.bean = cc.data.continuityAward.beanAward.beanCount - merge.JDBean.success = 1 - } else { - if (data.match(/新人签到/)) { - const regex = /beanCount\":\"(\d+)\".+今天/; - const quantity = regex.exec(data)[1]; - merge.JDBean.notify = "京东商城-京豆: 成功, 明细: " + quantity + "京豆 🐶" - merge.JDBean.bean = quantity - merge.JDBean.success = 1 - } else { - merge.JDBean.notify = "京东商城-京豆: 失败, 原因: 未知 ⚠️" - merge.JDBean.fail = 1 - } - } - } - } else { - merge.JDBean.fail = 1 - console.log("\n" + "京东商城-京豆签到失败 " + Details) - if (data.match(/(已签到|新人签到)/)) { - merge.JDBean.notify = "京东商城-京豆: 失败, 原因: 已签过 ⚠️" - } else if (data.match(/人数较多|S101/)) { - merge.JDBean.notify = "京东商城-京豆: 失败, 签到人数较多 ⚠️" - } else { - merge.JDBean.notify = "京东商城-京豆: 失败, 原因: 未知 ⚠️" - } - } + merge.JDBean.notify = "京东商城-京豆: 成功, 明细: 无京豆 🐶" + } + merge.JDBean.success = 1 + } else { + merge.JDBean.fail = 1 + console.log("\n" + "京东商城-京豆签到失败 " + Details) + if (data.match(/(已签到|新人签到)/)) { + merge.JDBean.notify = "京东商城-京豆: 失败, 原因: 已签过 ⚠️" + } else if (data.match(/人数较多|S101/)) { + merge.JDBean.notify = "京东商城-京豆: 失败, 签到人数较多 ⚠️" + } else { + merge.JDBean.notify = "京东商城-京豆: 失败, 原因: 未知 ⚠️" } } } } catch (eor) { - $nobyda.notify("京东商城-京豆" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东商城-京豆", "JDBean", eor) } finally { resolve() } @@ -415,7 +413,7 @@ function JingDongTurn(s) { } } } catch (eor) { - $nobyda.notify("京东转盘-登录" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东转盘-查询", "JDTurn", eor) } finally { reject() } @@ -483,7 +481,7 @@ function JingDongTurnSign(s, code) { } } } catch (eor) { - $nobyda.notify("京东商城-转盘" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东商城-转盘", "JDTurn", eor) } finally { resolve() } @@ -528,7 +526,7 @@ function JingRongBean(s) { } } } catch (eor) { - $nobyda.notify("京东金融-金贴登录" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("金融金贴-登录", "JRBean", eor) } finally { resolve() } @@ -585,7 +583,7 @@ function JRBeanCheckin(s) { } } } catch (eor) { - $nobyda.notify("京东金融-金贴" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东金融-金贴", "JRBean", eor) } finally { resolve() } @@ -649,7 +647,7 @@ function JingRongSteel(s) { } } } catch (eor) { - $nobyda.notify("京东金融-钢镚" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东金融-钢镚", "JRSteel", eor) } finally { resolve() } @@ -706,7 +704,7 @@ function JRDoubleSign(s) { } } } catch (eor) { - $nobyda.notify("京东金融-双签" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东金融-双签", "JRDSign", eor) } finally { resolve() } @@ -775,7 +773,7 @@ function JingDongShake(s) { } } } catch (eor) { - $nobyda.notify("京东商城-摇摇" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东商城-摇摇", "JDShake", eor) } finally { resolve() } @@ -825,59 +823,55 @@ function JDUserSignPre1(s, key, title, ask) { if (signInfo.signStat == '1') { merge[key].notify = `${title}: 失败, 原因: 已签过 ⚠️` merge[key].fail = 1 - reject(); - return; } else { params = signInfo.params; } + } else { + merge[key].notify = `${title}: 失败, 活动查找异常 ⚠️` + merge[key].fail = 1 } } if (params) { - resolve({ + return resolve({ params: params }); // 执行签到处理 - return; } } else if (turnTableId) { // 无签到数据, 但含有关注店铺签到 const boxds = $nobyda.read("JD_Follow_disable") === "false" ? false : true if (boxds) { console.log(`\n${title}关注店铺`) - return reject(turnTableId[1]) + return resolve(parseInt(turnTableId[1])) } else { merge[key].notify = `${title}: 失败, 需要关注店铺 ⚠️` merge[key].fail = 1 - return reject() } } else if (page && !ask) { // 无签到数据, 尝试带参查询 const boxds = $nobyda.read("JD_Retry_disable") === "false" ? false : true if (boxds) { console.log(`\n${title}二次查询`) - await disable(key, title, 2) - await JDUserSignPre1(s, key, title, page[0]) - return reject() + return resolve(page[0]) } else { merge[key].notify = `${title}: 失败, 请尝试开启增强 ⚠️` merge[key].fail = 1 - return reject() } + } else { + merge[key].notify = `${title}: 失败, 不含活动数据 ⚠️` + merge[key].fail = 1 } - merge[key].notify = `${title}: 失败, 不含活动数据 ⚠️` - merge[key].fail = 1 } - } catch (eor) { - $nobyda.notify(`${title}${eor.name} ‼️`, JSON.stringify(eor), eor.message) - } finally { + disable(key, title, 2) reject() + } catch (eor) { + $nobyda.AnError(title, key, eor) } }) if (out) setTimeout(reject, out + s) }).then(data => { disable(key, title, 2) - return JDUserSign1(s, key, title, encodeURIComponent(JSON.stringify(data))); - }).catch(err => { - disable(key, title, 2) - if (err) return JDUserSign2(s, key, title, err) - }) + if (typeof(data) == "object") return JDUserSign1(s, key, title, encodeURIComponent(JSON.stringify(data))); + if (typeof(data) == "number") return JDUserSign2(s, key, title, data); + if (typeof(data) == "string") return JDUserSignPre1(s, key, title, data); + }, () => {}) } function JDUserSignPre2(s, key, title) { @@ -895,51 +889,47 @@ function JDUserSignPre2(s, key, title) { merge[key].notify = `${title}: 签到活动获取失败 ‼️‼️` merge[key].fail = 1 } else { - const act = data.match(/"params":"{\\"enActK\\".*?\\"}"/) + const act = data.match(/\"params\":\"\{\\\"enActK.+?\\\"\}\"/) const turnTable = data.match(/\"turnTableId\":\"(\d+)\"/) const page = data.match(/\"paginationFlrs\":\"\[\[.+?\]\]\"/) if (act) { // 含有签到活动数据 - return resolve(`{${act}}`) + return resolve(act) } else if (turnTable) { // 无签到数据, 但含有关注店铺签到 const boxds = $nobyda.read("JD_Follow_disable") === "false" ? false : true if (boxds) { console.log(`\n${title}关注店铺`) - return reject(turnTableId[1]) + return resolve(parseInt(turnTable[1])) } else { merge[key].notify = `${title}: 失败, 需要关注店铺 ⚠️` merge[key].fail = 1 - return reject() } } else if (page) { // 无签到数据, 尝试带参查询 const boxds = $nobyda.read("JD_Retry_disable") === "false" ? false : true if (boxds) { console.log(`\n${title}二次查询`) - await disable(key, title, 2) - await JDUserSignPre1(s, key, title, page[0]) - return reject() + return resolve(page[0]) } else { merge[key].notify = `${title}: 失败, 请尝试开启增强 ⚠️` merge[key].fail = 1 - return reject() } + } else { + merge[key].notify = `${title}: 失败, 不含活动数据 ⚠️` + merge[key].fail = 1 } - merge[key].notify = `${title}: 失败, 不含活动数据 ⚠️` - merge[key].fail = 1 } - } catch (eor) { - $nobyda.notify(`${title}${eor.name} ‼️`, JSON.stringify(eor), eor.message) - } finally { + disable(key, title, 2) reject() + } catch (eor) { + $nobyda.AnError(title, key, eor) } }) if (out) setTimeout(reject, out + s) }).then(data => { disable(key, title, 2) - return JDUserSign1(s, key, title, encodeURIComponent(data)); - }).catch(err => { - disable(key, title, 2) - if (err) return JDUserSign2(s, key, title, err) - }) + if (typeof(data) == "object") return JDUserSign1(s, key, title, encodeURIComponent(`{${data}}`)); + if (typeof(data) == "number") return JDUserSign2(s, key, title, data) + if (typeof(data) == "string") return JDUserSignPre1(s, key, title, data) + }, () => {}) } function JDUserSign1(s, key, title, body) { @@ -976,25 +966,18 @@ function JDUserSign1(s, key, title, body) { console.log(`\n${title}签到失败(1)${Details}`) if (data.match(/(已签到|已领取)/)) { merge[key].notify = `${title}: 失败, 原因: 已签过 ⚠️` - merge[key].fail = 1 + } else if (data.match(/(不存在|已结束|未开始)/)) { + merge[key].notify = `${title}: 失败, 原因: 活动已结束 ⚠️` + } else if (cc.code == 3) { + merge[key].notify = `${title}: 失败, 原因: Cookie失效‼️` } else { - if (data.match(/(不存在|已结束|未开始)/)) { - merge[key].notify = `${title}: 失败, 原因: 活动已结束 ⚠️` - merge[key].fail = 1 - } else { - if (cc.code == 3) { - merge[key].notify = `${title}: 失败, 原因: Cookie失效‼️` - merge[key].fail = 1 - } else { - merge[key].notify = `${title}: 失败, 原因: 未知 ⚠️` - merge[key].fail = 1 - } - } + merge[key].notify = `${title}: 失败, 原因: 未知 ⚠️` } + merge[key].fail = 1 } } } catch (eor) { - $nobyda.notify(`${title}${eor.name} ‼️`, JSON.stringify(eor), eor.message) + $nobyda.AnError(title, key, eor) } finally { resolve() } @@ -1047,7 +1030,7 @@ function JDUserSign2(s, key, title, tid) { } } } catch (eor) { - $nobyda.notify(`${title}${eor.name} ‼️`, JSON.stringify(eor), eor.message) + $nobyda.AnError(title, key, eor) } finally { resolve() } @@ -1067,7 +1050,7 @@ function JDFlashSale(s) { "Content-Type": "application/x-www-form-urlencoded", Cookie: KEY, }, - body: "body=%7B%7D&client=apple&clientVersion=8.4.6&openudid=1fce88cd05c42fe2b054e846f11bdf33f016d676&sign=141ab5f9af92126bb46d50f3e8af758a&st=1579305780511&sv=102" + body: "body=%7B%22version%22%3A%22v2%22%7D&client=apple&clientVersion=9.0.8&openudid=1fce88cd05c42fe2b054e846f11bdf33f016d676&sign=6768e2cf625427615dd89649dd367d41&st=1597248593305&sv=121" }; $nobyda.post(JDPETUrl, async function(error, response, data) { try { @@ -1079,38 +1062,26 @@ function JDFlashSale(s) { const cc = JSON.parse(data) if (cc.result.code == 0) { console.log("\n" + "京东商城-闪购签到成功 " + Details) - if (data.match(/(\"count\":\d+)/)) { - merge.JDFSale.notify = "京东商城-闪购: 成功, 明细: " + cc.result.count + "京豆 🐶" - merge.JDFSale.bean = cc.result.count - merge.JDFSale.success = 1 - } else { - merge.JDFSale.notify = "京东商城-闪购: 成功, 明细: 无京豆 🐶" - merge.JDFSale.success = 1 - } + merge.JDFSale.bean = cc.result.jdBeanNum || 0 + merge.JDFSale.notify = "京东商城-闪购: 成功, 明细: " + (merge.JDFSale.bean || "无") + "京豆 🐶" + merge.JDFSale.success = 1 } else { + merge.JDFSale.fail = 1 console.log("\n" + "京东商城-闪购签到失败 " + Details) if (data.match(/(已签到|已领取|\"2005\")/)) { merge.JDFSale.notify = "京东商城-闪购: 失败, 原因: 已签过 ⚠️" - merge.JDFSale.fail = 1 + } else if (data.match(/(不存在|已结束|\"2008\")/)) { + //merge.JDFSale.notify = "京东商城-闪购: 失败, 原因: 需瓜分 ⚠️" + await FlashSaleDivide(s) + } else if (data.match(/(\"code\":\"3\"|\"1003\")/)) { + merge.JDFSale.notify = "京东商城-闪购: 失败, 原因: Cookie失效‼️" } else { - if (data.match(/(不存在|已结束|\"2008\")/)) { - //merge.JDFSale.notify = "京东商城-闪购: 失败, 原因: 需瓜分 ⚠️" - //merge.JDFSale.fail = 1 - await FlashSaleDivide(s) - } else { - if (data.match(/(\"code\":\"3\"|\"1003\")/)) { - merge.JDFSale.notify = "京东商城-闪购: 失败, 原因: Cookie失效‼️" - merge.JDFSale.fail = 1 - } else { - merge.JDFSale.notify = "京东商城-闪购: 失败, 原因: 未知 ⚠️" - merge.JDFSale.fail = 1 - } - } + merge.JDFSale.notify = "京东商城-闪购: 失败, 原因: 未知 ⚠️" } } } } catch (eor) { - $nobyda.notify("京东商城-闪购" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东商城-闪购", "JDFSale", eor) } finally { resolve() } @@ -1140,38 +1111,26 @@ function FlashSaleDivide(s) { const Details = LogDetails ? "response:\n" + data : ''; const cc = JSON.parse(data) if (cc.result.code == 0) { + merge.JDFSale.success = 1 + merge.JDFSale.bean = cc.result.jdBeanNum || 0 + merge.JDFSale.notify = "京东闪购-瓜分: 成功, 明细: " + (merge.JDFSale.bean || "无") + "京豆 🐶" console.log("\n" + "京东闪购-瓜分签到成功 " + Details) - if (data.match(/(\"jdBeanNum\":\d+)/)) { - merge.JDFSale.notify = "京东闪购-瓜分: 成功, 明细: " + cc.result.jdBeanNum + "京豆 🐶" - merge.JDFSale.bean = cc.result.jdBeanNum - merge.JDFSale.success = 1 - } else { - merge.JDFSale.notify = "京东闪购-瓜分: 成功, 明细: 无京豆 🐶" - merge.JDFSale.success = 1 - } } else { + merge.JDFSale.fail = 1 console.log("\n" + "京东闪购-瓜分签到失败 " + Details) - if (data.match(/(已参与|已领取|\"2006\")/)) { + if (data.match(/已参与|已领取|\"2006\"/)) { merge.JDFSale.notify = "京东闪购-瓜分: 失败, 原因: 已瓜分 ⚠️" - merge.JDFSale.fail = 1 + } else if (data.match(/不存在|已结束|未开始|\"2008\"|\"2012\"/)) { + merge.JDFSale.notify = "京东闪购-瓜分: 失败, 原因: 活动已结束 ⚠️" + } else if (data.match(/\"code\":\"1003\"|未获取/)) { + merge.JDFSale.notify = "京东闪购-瓜分: 失败, 原因: Cookie失效‼️" } else { - if (data.match(/(不存在|已结束|未开始|\"2008\")/)) { - merge.JDFSale.notify = "京东闪购-瓜分: 失败, 原因: 活动已结束 ⚠️" - merge.JDFSale.fail = 1 - } else { - if (data.match(/(\"code\":\"1003\"|未获取)/)) { - merge.JDFSale.notify = "京东闪购-瓜分: 失败, 原因: Cookie失效‼️" - merge.JDFSale.fail = 1 - } else { - merge.JDFSale.notify = "京东闪购-瓜分: 失败, 原因: 未知 ⚠️" - merge.JDFSale.fail = 1 - } - } + merge.JDFSale.notify = "京东闪购-瓜分: 失败, 原因: 未知 ⚠️" } } } } catch (eor) { - $nobyda.notify("京东闪购-瓜分" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东闪购-瓜分", "JDFSale", eor) } finally { resolve() } @@ -1233,7 +1192,7 @@ function JingDongCash(s) { } } } catch (eor) { - $nobyda.notify("京东现金-红包" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东现金-红包", "JDCash", eor) } finally { resolve() } @@ -1262,7 +1221,7 @@ function JDMagicCube(s) { console.log("\n京东魔方-查询活动失败 ") } } catch (eor) { - $nobyda.notify("京东魔方-查询" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东魔方-查询", "JDCube", eor) } finally { resolve(merge.JDCube.key) } @@ -1322,7 +1281,7 @@ function JDMagicCubeSign(s, id) { } } } catch (eor) { - $nobyda.notify("京东商城-魔方" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东商城-魔方", "JDCube", eor) } finally { resolve() } @@ -1372,7 +1331,7 @@ function JingDongPrize(s) { } } } catch (eor) { - $nobyda.notify("京东商城-大奖查询KEY" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东大奖-查询", "JDPrize", eor) } finally { resolve() } @@ -1436,7 +1395,7 @@ function JDPrizeCheckin(s) { } } } catch (eor) { - $nobyda.notify("京东商城-大奖签到" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东大奖-签到", "JDPrize", eor) } finally { resolve() } @@ -1510,7 +1469,7 @@ function JingDongSpeedUp(s, id) { } } } catch (eor) { - $nobyda.notify("京东天天-加速" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东天天-加速", "SpeedUp", eor) } finally { resolve() } @@ -1555,7 +1514,7 @@ function JDQueryTask(s) { } } } catch (eor) { - $nobyda.notify("天天加速-查询道具" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("查询道具-加速", "SpeedUp", eor) } finally { resolve(TaskID) } @@ -1594,7 +1553,7 @@ function JDReceiveTask(s, CID) { } } catch (eor) { - $nobyda.notify("天天加速-领取道具" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("领取道具-加速", "SpeedUp", eor) } finally { if (CID.length == count) { console.log("\n天天加速-已成功领取" + NumTask + "个道具") @@ -1647,7 +1606,7 @@ function JDQueryTaskID(s, EID) { } } } catch (eor) { - $nobyda.notify("天天加速-道具ID" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("查询号码-加速", "SpeedUp", eor) } finally { resolve(TaskCID) } @@ -1689,7 +1648,7 @@ function JDUseProps(s, PropID) { } } catch (eor) { - $nobyda.notify("天天加速-使用道具" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("使用道具-加速", "SpeedUp", eor) } finally { if (PropID.length == PropCount) { console.log("\n天天加速-已成功使用" + PropNumTask + "个道具") @@ -1746,7 +1705,7 @@ function JingDongSubsidy(s) { } } } catch (eor) { - $nobyda.notify("京东商城-金贴" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东商城-金贴", "subsidy", eor) } finally { resolve() } @@ -1813,7 +1772,7 @@ function JingRongDoll(s, type, num) { } } } catch (eor) { - $nobyda.notify("京东金融-娃娃" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东金融-娃娃", "JRDoll", eor) } finally { resolve() } @@ -1864,7 +1823,7 @@ function JDOverseas(s) { } } } catch (eor) { - $nobyda.notify("京东商城-国际" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东商城-国际", "Overseas", eor) } finally { resolve() } @@ -1914,7 +1873,7 @@ function JingDongGetCash(s) { } } } catch (eor) { - $nobyda.notify("京东商城-现金" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("京东商城-现金", "JDGetCash", eor) } finally { resolve() } @@ -1948,7 +1907,7 @@ function TotalSteel() { console.log("\n" + "京东-总钢镚查询请求失败 ") } } catch (eor) { - $nobyda.notify("钢镚接口" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("账户钢镚-查询", "JRSteel", eor) } finally { resolve() } @@ -1989,7 +1948,7 @@ function TotalBean() { console.log("\n" + "京东-总京豆查询请求失败 ") } } catch (eor) { - $nobyda.notify("京豆接口" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("账户京豆-查询", "JDShake", eor) } finally { resolve() } @@ -2024,7 +1983,7 @@ function TotalCash() { console.log("\n" + "京东-总红包查询请求失败 ") } } catch (eor) { - $nobyda.notify("红包接口" + eor.name + "‼️", JSON.stringify(eor), eor.message) + $nobyda.AnError("账户红包-查询", "JDCash", eor) } finally { resolve() } @@ -2036,20 +1995,25 @@ function TotalCash() { function disable(Val, name, way) { const read = $nobyda.read("JD_DailyBonusDisables") const annal = $nobyda.read("JD_Crash_" + Val) - const boxds = $nobyda.read("JD_Crash_disable") === "false" ? false : true - if (annal && way == 1 && boxds) { + if (annal && way == 1 && boxdis) { var Crash = $nobyda.write("", "JD_Crash_" + Val) if (read) { if (read.indexOf(Val) == -1) { var Crash = $nobyda.write(`${read},${Val}`, "JD_DailyBonusDisables") - $nobyda.notify("京东签到 ⚠️", "", `检测到上次执行"${name}"意外崩溃\n已为您自动禁用该接口, 如需开启请前往BoxJs`) + console.log(`\n${name}-触发自动禁用 ‼️`) + merge[Val].notify = `${name}: 崩溃, 触发自动禁用 ‼️` + merge[Val].error = 1 + $nobyda.disable = 1 } } else { var Crash = $nobyda.write(Val, "JD_DailyBonusDisables") - $nobyda.notify("京东签到 ⚠️", "", `检测到上次执行"${name}"意外崩溃\n已为您自动禁用该接口, 如需开启请前往BoxJs`) + console.log(`\n${name}-触发自动禁用 ‼️`) + merge[Val].notify = `${name}: 崩溃, 触发自动禁用 ‼️` + merge[Val].error = 1 + $nobyda.disable = 1 } return true - } else if (way == 1 && boxds) { + } else if (way == 1 && boxdis) { var Crash = $nobyda.write(name, "JD_Crash_" + Val) } else if (way == 2 && annal) { var Crash = $nobyda.write("", "JD_Crash_" + Val) @@ -2102,17 +2066,17 @@ function initial() { JDTurn: {}, JRDoll: {}, JRDSign: {}, - JDGStore: {}, + Overseas: {}, + JDFSale: {}, JDPet: {}, JD3C: {}, JDSubsidy: {}, JDDrug: {}, JDClocks: {}, - JDFSale: {}, JDBook: {}, + JDGStore: {}, JDShand: {}, JDMakeup: {}, - Overseas: {}, JDWomen: {}, JDCare: {}, JDFood: {}, @@ -2131,6 +2095,7 @@ function initial() { for (var i in merge) { merge[i].success = 0; merge[i].fail = 0; + merge[i].error = 0; merge[i].bean = 0; merge[i].steel = 0; merge[i].notify = ''; @@ -2197,7 +2162,7 @@ function GetCookie() { $nobyda.write("", "CookieJD") $nobyda.write("", "CookieJD2") $nobyda.notify("写入京东Cookie失败", "", '已尝试清空历史Cookie, 请重试 ⚠️') - console.log(JSON.stringify(eor) + "\n" + eor + "\n" + JSON.stringify($request.headers)) + console.log(`\n写入京东Cookie出现错误 ‼️\n${JSON.stringify(eor)}\n\n${eor}\n\n${JSON.stringify($request.headers)}\n`) } $nobyda.done() } @@ -2316,6 +2281,11 @@ function nobyda() { } } const log = (message) => console.log(message) + const AnError = (name, key, er) => { + if (!merge[key].notify) merge[key].notify = `${name}: 异常, 已输出日志 ‼️` + merge[key].error = 1 + return console.log(`\n${name}发生错误: \n名称: ${er.name}\n描述: ${er.message}\n行列: ${JSON.stringify(er)}`) + } const time = () => { const end = ((Date.now() - start) / 1000).toFixed(2) return console.log('\n签到用时: ' + end + ' 秒') @@ -2325,6 +2295,7 @@ function nobyda() { if (isSurge) isRequest ? $done(value) : $done() } return { + AnError, isRequest, isJSBox, isSurge, diff --git a/NobyDa_BoxJs.json b/NobyDa_BoxJs.json index ef30a68..56b242a 100644 --- a/NobyDa_BoxJs.json +++ b/NobyDa_BoxJs.json @@ -64,7 +64,7 @@ {"key": "JDVege","label": "京东菜场"}, {"key": "JDCash","label": "京东红包"}, {"key": "JDFood","label": "京东美食"}, - {"key": "JDClean","label": "京东清洁"}, + {"key": "JDClean","label": "京东清洁 (如VPN重启,建议禁用)"}, {"key": "JDCare","label": "京东个护"}, {"key": "JDJewels","label": "京东珠宝 (如VPN重启,建议禁用)"}, {"key": "JDCube","label": "京东魔方"},