diff --git a/jd_crazy_joy.js b/jd_crazy_joy.js index 469474f4..2e746db6 100644 --- a/jd_crazy_joy.js +++ b/jd_crazy_joy.js @@ -29,6 +29,8 @@ const JD_API_HOST = 'https://api.m.jd.com/'; const notify = $.isNode() ? require('./sendNotify') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 +let helpSelf = false // 循环助力 +let applyJdBean = 0 let cookiesArr = [], cookie = '', message = ''; const inviteCodes = [ 'EdLPh8A6X5G1iWXu-uPYfA==@0gUO7F7N-4HVDh9mdQC2hg==@fUJTgR9z26fXdQgTvt_bgqt9zd5YaBeE', @@ -171,6 +173,8 @@ if ($.isNode()) { return; } await requireConfig(); + $.nextCode = "EdLPh8A6X5G1iWXu-uPYfA==" + $.selfCodes = [] for (let i = 0; i < cookiesArr.length; i++) { if (cookiesArr[i]) { cookie = cookiesArr[i]; @@ -190,10 +194,35 @@ if ($.isNode()) { } continue } - await shareCodesFormat() await jdCrazyJoy() } } + if (helpSelf) { + console.log(`开始循环助力`) + for (let i = 0; i < cookiesArr.length; i++) { + if (cookiesArr[i]) { + cookie = cookiesArr[i]; + $.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1]) + $.index = i + 1; + $.isLogin = true; + $.nickName = ''; + await TotalBean(); + console.log(`\n开始【京东账号${$.index}】${$.nickName || $.UserName}\n`); + if (!$.isLogin) { + $.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/`, {"open-url": "https://bean.m.jd.com/"}); + + if ($.isNode()) { + await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`); + } else { + $.setdata('', `CookieJD${i ? i + 1 : ""}`);//cookie失效,故清空cookie。$.setdata('', `CookieJD${i ? i + 1 : "" }`);//cookie失效,故清空cookie。 + } + continue + } + await shareCodesFormat() + await helpFriends() + } + } + } })() .catch((e) => { $.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '') @@ -205,9 +234,9 @@ if ($.isNode()) { async function jdCrazyJoy() { $.coin = 0 $.bean = 0 - await getUserInfo() + await getUserInfo($.nextCode) await doSign() - await helpFriends() + // await helpFriends() await getTaskInfo() for (let j = 0; j < $.taskList.length; ++j) { let task = $.taskList[j] @@ -221,8 +250,38 @@ async function jdCrazyJoy() { await getCoin() await getUserBean() console.log(`当前信息:${$.bean} 京豆,${$.coin} 金币`) + if ( applyJdBean!==0 && applyJdBean<=$.bean){ + await $.wait(1000) + console.log(`检测您打开了自动兑换开关,去兑换京豆`) + await doApplyJdBean(applyJdBean) + } +} +function doApplyJdBean(bean = 1000) { + // 兑换京豆 + let body = {"paramData":{"bean":bean}} + return new Promise(async resolve => { + $.get(taskUrl('crazyJoy_user_applyJdBeanPaid', JSON.stringify(body)), async (err, resp, data) => { + try { + if (err) { + console.log(`${JSON.stringify(err)}`) + console.log(`${$.name} API请求失败,请检查网路重试`) + } else { + if (safeGet(data)) { + data = JSON.parse(data); + if (data.success) + console.log(`兑换${bean}京豆成功`) + else + console.log(`兑换${bean}京豆失败,错误信息:${data.resultTips||data.message}`) + } + } + } catch (e) { + $.logErr(e, resp) + } finally { + resolve(); + } + }) + }) } - function getUserInfo(code = "EdLPh8A6X5G1iWXu-uPYfA==") { let body = {"paramData": {"inviter": code}} return new Promise(async resolve => { @@ -234,8 +293,11 @@ function getUserInfo(code = "EdLPh8A6X5G1iWXu-uPYfA==") { } else { if (safeGet(data)) { data = JSON.parse(data); - if (data.success && data.data && data.data.userInviteCode) + if (data.success && data.data && data.data.userInviteCode) { console.log(`您的助力码为: ${data.data.userInviteCode}`) + $.selfCodes.push(data.data.userInviteCode) + $.nextCode = data.data.userInviteCode + } else console.log(`用户信息获取失败`) } @@ -250,7 +312,8 @@ function getUserInfo(code = "EdLPh8A6X5G1iWXu-uPYfA==") { } async function helpFriends() { - for (let code of $.newShareCodes) { + let codes = $.newShareCodes.concat($.selfCodes) + for (let code of codes) { if (!code) continue await helpFriend(code) await $.wait(500) @@ -517,11 +580,24 @@ function requireConfig() { if ($.isNode()) { if (process.env.JDJOY_SHARECODES) { if (process.env.JDJOY_SHARECODES.indexOf('\n') > -1) { + console.log(`您的互助码选择的是用\n隔开\n`) shareCodes = process.env.JDJOY_SHARECODES.split('\n'); - } else { + } else if (process.env.JDJOY_SHARECODES.indexOf('&') > -1) { + console.log(`您的互助码选择的是用&隔开\n`) shareCodes = process.env.JDJOY_SHARECODES.split('&'); + } else if (process.env.JDJOY_SHARECODES.indexOf('@') > -1) { + console.log(`您的互助码选择的是用@隔开\n`) + shareCodes = process.env.JDJOY_SHARECODES.split('@'); + } else { + shareCodes = process.env.JDJOY_SHARECODES.split(); } } + if (process.env.JDJOY_HELPSELF) { + helpSelf = process.env.JDJOY_HELPSELF + } + if (process.env.JDJOY_APPLYJDBEAN) { + applyJdBean = process.env.JDJOY_APPLYJDBEAN + } } console.log(`共${cookiesArr.length}个京东账号\n`); $.shareCodesArr = [];