循环助力/兑换京豆

默认不开启循环助力,可通过环境变量JDJOY_HELPSELF设置
默认不开启京豆兑换,可通过环境变量JDJOY_APPLYJDBEAN设置,目前最小为500/1000京豆
This commit is contained in:
any
2020-12-23 15:21:51 +08:00
parent bf20c28388
commit 077f6e3bdf

View File

@@ -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 = [];