Update jd_plantBean.js

This commit is contained in:
Faker 2022-10-11 21:49:41 +08:00
parent ef9554ac72
commit ea5a5d3342

View File

@ -1,6 +1,6 @@
/* /*
种豆得豆 种豆得豆
updatetime:2022-07-17 updatetime:2022-10-11 做特价双签和万人团任务
活动入口京东APP我的-更多工具-种豆得豆 活动入口京东APP我的-更多工具-种豆得豆
已支持IOS京东多账号,云端多京东账号 已支持IOS京东多账号,云端多京东账号
脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js 脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js
@ -18,21 +18,17 @@ cron "15 7-21/2 * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sy
====================================小火箭============================= ====================================小火箭=============================
京东种豆得豆 = type=cron,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_plantBean.js, cronexpr="15 7-21/2 * * *", timeout=3600, enable=true 京东种豆得豆 = type=cron,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_plantBean.js, cronexpr="15 7-21/2 * * *", timeout=3600, enable=true
*/ */
const JD_ZLC_URL = process.env.JD_ZLC_URL ? process.env.JD_ZLC_URL : "https://zlc1.chaoyi996.com";
const $ = new Env('京东种豆得豆'); const $ = new Env('京东种豆得豆');
//Node.js用户请在jdCookie.js处填写京东ck; //Node.js用户请在jdCookie.js处填写京东ck;
//ios等软件用户直接用NobyDa的jd cookie //ios等软件用户直接用NobyDa的jd cookie
let jdNotify = true;//是否开启静默运行。默认true开启 let jdNotify = true;//是否开启静默运行。默认true开启
let cookiesArr = [], cookie = '', jdPlantBeanShareArr = [], isBox = false, notify, newShareCodes, option, message, subTitle; let cookiesArr = [], cookie = '', fullist = [], notify, newShareCodes, message,subTitle;
//京东接口地址 //京东接口地址
const JD_API_HOST = 'https://api.m.jd.com/client.action'; const JD_API_HOST = 'https://api.m.jd.com/client.action';
//助力好友分享码(最多3个,否则后面的助力失败) //助力好友分享码(最多3个,否则后面的助力失败)
//此此内容是IOS用户下载脚本到本地使用填写互助码的地方同一京东账号的好友互助码请使用@符号隔开。 //此此内容是IOS用户下载脚本到本地使用填写互助码的地方同一京东账号的好友互助码请使用@符号隔开。
//下面给出两个账号的填写示例iOS只支持2个京东账号 //下面给出两个账号的填写示例iOS只支持2个京东账号
let shareCodes = [''] let shareCodes = ['']
let codeType = 1;
let allMessage = ``; let allMessage = ``;
let currentRoundId = null;//本期活动id let currentRoundId = null;//本期活动id
let lastRoundId = null;//上期id let lastRoundId = null;//上期id
@ -41,10 +37,21 @@ let awardState = '';//上期活动的京豆是否收取
let randomCount = $.isNode() ? 20 : 5; let randomCount = $.isNode() ? 20 : 5;
let num; let num;
let NowHour = new Date().getHours();
let llhelp=true;
if ($.isNode() && process.env.CC_NOHELPAFTER8) {
console.log(NowHour);
if (process.env.CC_NOHELPAFTER8=="true"){
if (NowHour>8){
llhelp=false;
console.log(`现在是9点后时段不启用互助....`);
}
}
}
!(async () => { !(async () => {
await requireConfig(); await requireConfig();
if (!cookiesArr[0]) { if (!cookiesArr[0]) {
$.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', { "open-url": "https://bean.m.jd.com/bean/signIndex.action" }); $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"});
return; return;
} }
for (let i = 0; i < cookiesArr.length; i++) { for (let i = 0; i < cookiesArr.length; i++) {
@ -57,7 +64,7 @@ let num;
await TotalBean(); await TotalBean();
console.log(`开始【京东账号${$.index}${$.nickName || $.UserName}\n`); console.log(`开始【京东账号${$.index}${$.nickName || $.UserName}\n`);
if (!$.isLogin) { if (!$.isLogin) {
$.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/bean/signIndex.action`, { "open-url": "https://bean.m.jd.com/bean/signIndex.action" }); $.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/bean/signIndex.action`, {"open-url": "https://bean.m.jd.com/bean/signIndex.action"});
if ($.isNode()) { if ($.isNode()) {
await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`); await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`);
@ -67,8 +74,8 @@ let num;
message = ''; message = '';
subTitle = ''; subTitle = '';
option = {}; option = {};
await shareCodesFormat();
await jdPlantBean(); await jdPlantBean();
await showMsg(); await showMsg();
} }
} }
@ -101,8 +108,6 @@ async function jdPlantBean() {
const shareUrl = $.plantBeanIndexResult.data.jwordShareInfo.shareUrl const shareUrl = $.plantBeanIndexResult.data.jwordShareInfo.shareUrl
$.myPlantUuid = getParam(shareUrl, 'plantUuid') $.myPlantUuid = getParam(shareUrl, 'plantUuid')
console.log(`\n【京东账号${$.index}${$.UserName})的${$.name}好友互助码】${$.myPlantUuid}\n`); console.log(`\n【京东账号${$.index}${$.UserName})的${$.name}好友互助码】${$.myPlantUuid}\n`);
jdPlantBeanShareArr.push($.myPlantUuid)
roundList = $.plantBeanIndexResult.data.roundList; roundList = $.plantBeanIndexResult.data.roundList;
currentRoundId = roundList[num].roundId;//本期的roundId currentRoundId = roundList[num].roundId;//本期的roundId
lastRoundId = roundList[num - 1].roundId;//上期的roundId lastRoundId = roundList[num - 1].roundId;//上期的roundId
@ -113,15 +118,14 @@ async function jdPlantBean() {
message += `【上期成长值】${roundList[num - 1].growth}\n`; message += `【上期成长值】${roundList[num - 1].growth}\n`;
await receiveNutrients();//定时领取营养液 await receiveNutrients();//定时领取营养液
await doTask();//做日常任务 await doTask();//做日常任务
//await doEgg();
await stealFriendWater(); await stealFriendWater();
await doCultureBean(); await doCultureBean();
await doGetReward(); await doGetReward();
await showTaskProcess(); await showTaskProcess();
if(llhelp){
await shareCodesFormat();
await doHelp() await doHelp()
}
await plantShareSupportList(); await plantShareSupportList();
} else { } else {
console.log(`种豆得豆-初始失败: ${JSON.stringify($.plantBeanIndexResult)}`); console.log(`种豆得豆-初始失败: ${JSON.stringify($.plantBeanIndexResult)}`);
@ -188,7 +192,7 @@ async function stealFriendWater() {
return return
} }
if ($.stealFriendList.data && $.stealFriendList.data.friendInfoList && $.stealFriendList.data.friendInfoList.length > 0) { if ($.stealFriendList.data && $.stealFriendList.data.friendInfoList && $.stealFriendList.data.friendInfoList.length > 0) {
let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000); let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000);
for (let item of $.stealFriendList.data.friendInfoList) { for (let item of $.stealFriendList.data.friendInfoList) {
if (new Date(nowTimes).getHours() === 20) { if (new Date(nowTimes).getHours() === 20) {
if (item.nutrCount >= 2) { if (item.nutrCount >= 2) {
@ -243,7 +247,7 @@ async function doTask() {
console.log(`${item.taskName} 任务已完成\n`); console.log(`${item.taskName} 任务已完成\n`);
continue; continue;
} else { } else {
switch (item.taskType) { switch(item.taskType){
case 92: case 92:
await farmtask(); await farmtask();
continue; continue;
@ -251,9 +255,17 @@ async function doTask() {
await jxdoublesign1('https://m.jingxi.com/jxbfd/user/DoubleSignDeal?g_ty=h5&g_tk=&appCode=msd1188198&__t=1657108409440&dwEnv=7&strDeviceId=a3b4e844090b28d5c38e7529af8115172079be4d&strZone=jxbfd&bizCode=jxbfd&source=jxbfd&_cfd_t=1657108409190&_stk=__t%2C_cfd_t%2CbizCode%2CdwEnv%2Csource%2CstrDeviceId%2CstrZone&_ste=1&h5st=20220706195330228%3B1980457211661562%3B10032%3Btk02w78551ad830nuMcGB4Qsv9QxapLP7gZdOCYE5PVV%2Bna%2Bb4KU21drJq64oP82965Vdc1tGqVU%2Flp7ydcZ5XgH0Feh%3B241b6f1d21bf8e41f380a5dd29a7bac2a6f1f65a0c7ef1b1f751eaea4c40dd9c%3B3.0%3B1657108410228&sceneval=2'); await jxdoublesign1('https://m.jingxi.com/jxbfd/user/DoubleSignDeal?g_ty=h5&g_tk=&appCode=msd1188198&__t=1657108409440&dwEnv=7&strDeviceId=a3b4e844090b28d5c38e7529af8115172079be4d&strZone=jxbfd&bizCode=jxbfd&source=jxbfd&_cfd_t=1657108409190&_stk=__t%2C_cfd_t%2CbizCode%2CdwEnv%2Csource%2CstrDeviceId%2CstrZone&_ste=1&h5st=20220706195330228%3B1980457211661562%3B10032%3Btk02w78551ad830nuMcGB4Qsv9QxapLP7gZdOCYE5PVV%2Bna%2Bb4KU21drJq64oP82965Vdc1tGqVU%2Flp7ydcZ5XgH0Feh%3B241b6f1d21bf8e41f380a5dd29a7bac2a6f1f65a0c7ef1b1f751eaea4c40dd9c%3B3.0%3B1657108410228&sceneval=2');
await $.wait(2000); await $.wait(2000);
await jxdoublesign1('https://wq.jd.com/jxjdsignin/SignedInfo?channel=jx_zdddsq&_t=1658021925021&h5st=20220717093845024%3B5548444396555217%3B0f6ed%3Btk02w9b851b9c18nin7CZjR7vNSlwRexAOGWbYAbl85d9DiQJ1SufW8ZQEQ%2FSygreq626CVRO2gT8DwUUTLBXGyK6wam%3B7eb86560860f8f60ad3b679c34f89aacf891b5a85580efd0a30c355537bfec54%3B3.0%3B1658021925024&_stk=_t%2Cchannel&_=1658021925027&sceneval=2&g_login_type=1&g_ty=ajax&appCode=msc588d6d5'); await jxdoublesign1('https://wq.jd.com/jxjdsignin/SignedInfo?channel=jx_zdddsq&_t=1658021925021&h5st=20220717093845024%3B5548444396555217%3B0f6ed%3Btk02w9b851b9c18nin7CZjR7vNSlwRexAOGWbYAbl85d9DiQJ1SufW8ZQEQ%2FSygreq626CVRO2gT8DwUUTLBXGyK6wam%3B7eb86560860f8f60ad3b679c34f89aacf891b5a85580efd0a30c355537bfec54%3B3.0%3B1658021925024&_stk=_t%2Cchannel&_=1658021925027&sceneval=2&g_login_type=1&g_ty=ajax&appCode=msc588d6d5');
await $.wait(2000); await $.wait(1000);
await jxdoublesign1('https://wq.jd.com/jxjdsignin/IssueReward?channel=jx_zdddsq&_t=1658021926276&h5st=20220717093846279%3B5548444396555217%3B0f6ed%3Btk02w9b851b9c18nin7CZjR7vNSlwRexAOGWbYAbl85d9DiQJ1SufW8ZQEQ%2FSygreq626CVRO2gT8DwUUTLBXGyK6wam%3Be2d7b6810b3bd1b9d9692d354ecbb582e69afc64df19bd8d6c14632b1a65660c%3B3.0%3B1658021926279&_stk=_t%2Cchannel&sceneval=2&g_login_type=1&g_ty=ajax&appCode=msc588d6d5'); await jxdoublesign1('https://wq.jd.com/jxjdsignin/IssueReward?channel=jx_zdddsq&_t=1658021926276&h5st=20220717093846279%3B5548444396555217%3B0f6ed%3Btk02w9b851b9c18nin7CZjR7vNSlwRexAOGWbYAbl85d9DiQJ1SufW8ZQEQ%2FSygreq626CVRO2gT8DwUUTLBXGyK6wam%3Be2d7b6810b3bd1b9d9692d354ecbb582e69afc64df19bd8d6c14632b1a65660c%3B3.0%3B1658021926279&_stk=_t%2Cchannel&sceneval=2&g_login_type=1&g_ty=ajax&appCode=msc588d6d5');
await $.wait(1000);
continue;
case 96:
await tjdoublesign('https://wq.jd.com/tjjdsignin/SignedInfo?channel=jx_zdddsq&_t=1665408290789&h5st=20221010212450810%3B6918147264530298%3B0f6ed%3Btk02wc5421cb218nIrUUKibebHSO9xcuoGghWvuYMwC0SFXJaDjbIH5j0m1wTODJ7fc1RtfXsa5cpPVqYaFcfWpgnN63%3Badb2b487bdc5153c21cdb5904f6341286fda615ab4ebcf9a3e88e2d6b82ae05e%3B3.1%3B1665408290810%3B62f4d401ae05799f14989d31956d3c5f0a269d1342e4ecb6ab00268fc69555cdc3295f00e681fd72cd76a48b9fb3faf3579d80b37c85b023e9e8ba94d8d2b852b9cbef42726bbe41ffd8c74540f4a1ced584468ba9e46bfbef62144b678f5532e02456edc95e6131cb12c2dd5fa5c6c0496017f4d3b47ccd5533601d6637bade7c708817b3649de05cdc0f31e890c46e&_stk=_t%2Cchannel&_=1665408290814&sceneval=2&g_login_type=1&g_ty=ajax&appCode=msc588d6d5');
await $.wait(2000); await $.wait(2000);
await tjdoublesign('https://wq.jd.com/tjjdsignin/IssueReward?channel=jx_zdddsq&_t=1665408290397&h5st=20221010212450410%3B6918147264530298%3B0f6ed%3Btk02wc5421cb218nIrUUKibebHSO9xcuoGghWvuYMwC0SFXJaDjbIH5j0m1wTODJ7fc1RtfXsa5cpPVqYaFcfWpgnN63%3Bbe06e2e3ebb5fde9e89c2126456346c7c8b75462d1d0e60c41f9e46c11838a6e%3B3.1%3B1665408290410%3B62f4d401ae05799f14989d31956d3c5f0a269d1342e4ecb6ab00268fc69555cdc3295f00e681fd72cd76a48b9fb3faf3579d80b37c85b023e9e8ba94d8d2b852b9cbef42726bbe41ffd8c74540f4a1ced584468ba9e46bfbef62144b678f5532e02456edc95e6131cb12c2dd5fa5c6c0496017f4d3b47ccd5533601d6637bade7c708817b3649de05cdc0f31e890c46e&_stk=_t%2Cchannel&sceneval=2&g_login_type=1&g_ty=ajax&appCode=msc588d6d5');
await $.wait(1000);
await tjdoublesign('https://wq.jd.com/tjjdsignin/SignedInfo?channel=jx_zdddsq&_t=1665408290789&h5st=20221010212450810%3B6918147264530298%3B0f6ed%3Btk02wc5421cb218nIrUUKibebHSO9xcuoGghWvuYMwC0SFXJaDjbIH5j0m1wTODJ7fc1RtfXsa5cpPVqYaFcfWpgnN63%3Badb2b487bdc5153c21cdb5904f6341286fda615ab4ebcf9a3e88e2d6b82ae05e%3B3.1%3B1665408290810%3B62f4d401ae05799f14989d31956d3c5f0a269d1342e4ecb6ab00268fc69555cdc3295f00e681fd72cd76a48b9fb3faf3579d80b37c85b023e9e8ba94d8d2b852b9cbef42726bbe41ffd8c74540f4a1ced584468ba9e46bfbef62144b678f5532e02456edc95e6131cb12c2dd5fa5c6c0496017f4d3b47ccd5533601d6637bade7c708817b3649de05cdc0f31e890c46e&_stk=_t%2Cchannel&_=1665408290814&sceneval=2&g_login_type=1&g_ty=ajax&appCode=msc588d6d5');
await $.wait(1000);
continue; continue;
case 3: case 3:
console.log(`开始做 ${item.taskName}任务`); console.log(`开始做 ${item.taskName}任务`);
@ -263,7 +275,7 @@ async function doTask() {
} }
await shopTaskList(); await shopTaskList();
const { data } = $.shopTaskListRes; const { data } = $.shopTaskListRes;
let goodShopListARR = [], moreShopListARR = [], shopList = []; let goodShopListARR = [],moreShopListARR = [], shopList = [];
const { goodShopList, moreShopList } = data; const { goodShopList, moreShopList } = data;
if (goodShopList) { if (goodShopList) {
for (let i of goodShopList) { for (let i of goodShopList) {
@ -292,7 +304,7 @@ async function doTask() {
console.log(`shopRes结果:${JSON.stringify(shopRes)}`); console.log(`shopRes结果:${JSON.stringify(shopRes)}`);
if (shopRes && shopRes.code === '0') { if (shopRes && shopRes.code === '0') {
if (shopRes.data && shopRes.data.nutrState && shopRes.data.nutrState === '1') { if (shopRes.data && shopRes.data.nutrState && shopRes.data.nutrState === '1') {
unFinishedShopNum--; unFinishedShopNum --;
} }
} }
if (unFinishedShopNum <= 0) { if (unFinishedShopNum <= 0) {
@ -314,7 +326,7 @@ async function doTask() {
let productListARR = [], productList = []; let productListARR = [], productList = [];
const { productInfoList } = $.productTaskList.data; const { productInfoList } = $.productTaskList.data;
for (let i = 0; i < productInfoList.length; i++) { for (let i = 0; i < productInfoList.length; i++) {
for (let j = 0; j < productInfoList[i].length; j++) { for (let j = 0; j < productInfoList[i].length; j++){
productListARR.push(productInfoList[i][j]); productListARR.push(productInfoList[i][j]);
} }
} }
@ -335,7 +347,7 @@ async function doTask() {
// console.log('nutrState', productRes) // console.log('nutrState', productRes)
//这里添加多重判断,有时候会出现活动太火爆的问题,导致nutrState没有 //这里添加多重判断,有时候会出现活动太火爆的问题,导致nutrState没有
if (productRes.data && productRes.data.nutrState && productRes.data.nutrState === '1') { if (productRes.data && productRes.data.nutrState && productRes.data.nutrState === '1') {
unFinishedProductNum--; unFinishedProductNum --;
} }
} }
if (unFinishedProductNum <= 0) { if (unFinishedProductNum <= 0) {
@ -378,7 +390,7 @@ async function doTask() {
console.log(`channelRes结果:${JSON.stringify(channelRes)}`); console.log(`channelRes结果:${JSON.stringify(channelRes)}`);
if (channelRes && channelRes.code === '0') { if (channelRes && channelRes.code === '0') {
if (channelRes.data && channelRes.data.nutrState && channelRes.data.nutrState === '1') { if (channelRes.data && channelRes.data.nutrState && channelRes.data.nutrState === '1') {
unFinishedChannelNum--; unFinishedChannelNum --;
} }
} }
if (unFinishedChannelNum <= 0) { if (unFinishedChannelNum <= 0) {
@ -415,85 +427,38 @@ function showTaskProcess() {
} }
//助力好友 //助力好友
async function doHelp() { async function doHelp() {
helpStatisticArr = {}
helpStatisticArr['fromCode'] = $.myPlantUuid
helpStatisticArr['codeType'] = codeType;
helpStatisticArr['results'] = {};
helpStatisticRemark = ''
helpStatisticStatus = 2;
for (let plantUuid of newShareCodes) { for (let plantUuid of newShareCodes) {
console.log(`开始助力京东账号${$.index} - ${$.nickName}的好友: ${plantUuid}`); console.log(`开始助力京东账号${$.index} - ${$.nickName}的好友: ${plantUuid}`);
await $.wait(3000)
if (!plantUuid) continue; if (!plantUuid) continue;
if (plantUuid === $.myPlantUuid) { if (plantUuid === $.myPlantUuid) {
console.log(`\n跳过自己的plantUuid\n`) console.log(`\n跳过自己的plantUuid\n`)
continue continue
} }
await helpShare(plantUuid); await helpShare(plantUuid);
if ($.helpResult && $.helpResult.code === '0') { if ($.helpResult && $.helpResult.code === '0') {
// console.log(`助力好友结果: ${JSON.stringify($.helpResult.data.helpShareRes)}`); // console.log(`助力好友结果: ${JSON.stringify($.helpResult.data.helpShareRes)}`);
if ($.helpResult.data?.helpShareRes) { if ($.helpResult.data?.helpShareRes) {
if ($.helpResult.data.helpShareRes.state === '1') { if ($.helpResult.data.helpShareRes.state === '1') {
console.log(`助力好友${plantUuid}成功`) console.log(`助力好友${plantUuid}成功`)
helpStatisticStatus = 1;
console.log(`${$.helpResult.data.helpShareRes.promptText}\n`); console.log(`${$.helpResult.data.helpShareRes.promptText}\n`);
} else if ($.helpResult.data.helpShareRes.state === '2') { } else if ($.helpResult.data.helpShareRes.state === '2') {
console.log('您今日助力的机会已耗尽,已不能再帮助好友助力了\n'); console.log('您今日助力的机会已耗尽,已不能再帮助好友助力了\n');
helpStatisticStatus = 3;
if (!(helpStatisticStatus in helpStatisticArr['results'])) {
helpStatisticArr['results'][helpStatisticStatus] = [plantUuid]
} else {
helpStatisticArr['results'][helpStatisticStatus].push(plantUuid)
}
break; break;
} else if ($.helpResult.data.helpShareRes.state === '3') { } else if ($.helpResult.data.helpShareRes.state === '3') {
helpStatisticStatus = 4; console.log('该好友今日已满9人助力,明天再来为Ta助力吧\n')
console.log('该好友今日已满9人助力/20瓶营养液,明天再来为Ta助力吧\n') //removeVal(newShareCodes,plantUuid)
fullist.push(plantUuid);
} else if ($.helpResult.data.helpShareRes.state === '4') { } else if ($.helpResult.data.helpShareRes.state === '4') {
helpStatisticStatus = 6;
helpStatisticRemark += $.helpResult.data.helpShareRes.promptText
console.log(`${$.helpResult.data.helpShareRes.promptText}\n`) console.log(`${$.helpResult.data.helpShareRes.promptText}\n`)
} else { } else {
helpStatisticStatus = 6;
helpStatisticRemark += `助力其他情况:${JSON.stringify($.helpResult.data.helpShareRes)}`
console.log(`助力其他情况:${JSON.stringify($.helpResult.data.helpShareRes)}`); console.log(`助力其他情况:${JSON.stringify($.helpResult.data.helpShareRes)}`);
} }
} }
} else { } else {
helpStatisticStatus = 2;
console.log(`助力好友失败: ${JSON.stringify($.helpResult)}`); console.log(`助力好友失败: ${JSON.stringify($.helpResult)}`);
} }
if (!(helpStatisticStatus in helpStatisticArr['results'])) {
helpStatisticArr['results'][helpStatisticStatus] = [plantUuid]
} else {
helpStatisticArr['results'][helpStatisticStatus].push(plantUuid)
}
await $.wait(2000) await $.wait(2000)
} }
helpStatisticArr['Remark'] = helpStatisticRemark;
r = { url: `https://zlc1.chaoyi996.com/api/app/booster-code/submit-real-contribution`, body: JSON.stringify(helpStatisticArr), headers: { "Content-Type": "application/json" } };
$.post(r, (err, resp, data) => {
try {
if (err) {
console.log(`${JSON.stringify(err)}`)
console.log(`${$.name} 提交助力结果API请求失败`)
} else {
if (data) {
console.log(`提交成功`)
data = JSON.parse(data);
}
}
} catch (e) {
$.logErr(e, resp)
}
})
} }
function showMsg() { function showMsg() {
$.log(`\n${message}\n`); $.log(`\n${message}\n`);
@ -505,7 +470,7 @@ function showMsg() {
// ================================================此处是API================================= // ================================================此处是API=================================
//每轮种豆活动获取结束后,自动收取京豆 //每轮种豆活动获取结束后,自动收取京豆
async function farmtask() { async function farmtask(){
await receivefruit(); await receivefruit();
await $.wait(500); await $.wait(500);
await dofarm('gotConfigDataForBrand'); await dofarm('gotConfigDataForBrand');
@ -519,22 +484,22 @@ async function farmtask() {
await dofarm('initForFarm'); await dofarm('initForFarm');
await $.wait(500); await $.wait(500);
} }
async function receivefruit() { async function receivefruit(){
const body = { const body = {
"monitor_refer": "plant_receiveNutrientsTask", "monitor_refer": "plant_receiveNutrientsTask",
"monitor_source": "plant_app_plant_index", "monitor_source": "plant_app_plant_index",
"awardType": "92", "awardType": "92",
"version": "9.2.4.1" "version": "9.2.4.2"
}
await request('receiveNutrientsTask', body)
} }
async function dofarm(function_id) { await request('receiveNutrientsTask',body)
let body = { }
async function dofarm(function_id){
let body ={
"version": 17, "version": 17,
"channel": 1, "channel": 1,
"babelChannel": "45" "babelChannel": "45"
} }
if (function_id == 'gotConfigDataForBrand') { if (function_id == 'gotConfigDataForBrand'){
body["type"] = "json"; body["type"] = "json";
body["k"] = "farmShareConfig"; body["k"] = "farmShareConfig";
} }
@ -568,15 +533,15 @@ async function dofarm(function_id) {
} }
function jxdoublesign1(url) { function jxdoublesign1(url){
let opt = { let opt = {
url, url,
headers: { headers: {
//'Host': 'wq.jd.com', //'Host': 'wq.jd.com',
'accept': 'application/json', 'accept':'application/json',
'referer': 'https://st.jingxi.com/', 'referer': 'https://st.jingxi.com/',
'User-Agent': 'jdpingou;iPhone;4.13.0;14.4.2;${randomString(40)};network/wifi;model/iPhone10,2;appBuild/100609;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/${Math.random * 98 + 1};pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148', 'User-Agent': 'jdpingou;iPhone;4.13.0;14.4.2;${randomString(40)};network/wifi;model/iPhone10,2;appBuild/100609;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/1;hasOCPay/0;supportBestPay/0;session/${Math.random * 98 + 1};pap/JA2019_3111789;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148',
'Cookie': 'cid=4;' + cookie 'Cookie': 'cid=4;'+cookie
} }
} }
return new Promise(async resolve => { return new Promise(async resolve => {
@ -600,6 +565,38 @@ function jxdoublesign1(url) {
resolve() resolve()
}) })
} }
function tjdoublesign(url){
let opt = {
url,
headers: {
'Accept':'application/json',
'Referer': 'https://wqs.jd.com/',
'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"),
'Cookie': cookie
}
}
return new Promise(async resolve => {
$.get(opt, (err, resp, data) => {
try {
if (err) {
console.log(`${JSON.stringify(err)}`)
console.log(`tjdoublesign 请求失败,请检查网路重试`)
} else {
if (data) {
//data = JSON.parse(data);
//console.log(data)
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve(data);
}
})
})
}
async function getReward() { async function getReward() {
const body = { const body = {
"roundId": lastRoundId "roundId": lastRoundId
@ -636,7 +633,7 @@ async function collectUserNutr(paradiseUuid) {
$.stealFriendRes = await request(functionId, body); $.stealFriendRes = await request(functionId, body);
} }
async function receiveNutrients() { async function receiveNutrients() {
$.receiveNutrientsRes = await request('receiveNutrients', { "roundId": currentRoundId, "monitor_refer": "plant_receiveNutrients" }) $.receiveNutrientsRes = await request('receiveNutrients', {"roundId": currentRoundId, "monitor_refer": "plant_receiveNutrients"})
// console.log(`定时领取营养液结果:${JSON.stringify($.receiveNutrientsRes)}`) // console.log(`定时领取营养液结果:${JSON.stringify($.receiveNutrientsRes)}`)
} }
async function plantEggDoLottery() { async function plantEggDoLottery() {
@ -648,7 +645,7 @@ async function egg() {
} }
async function productTaskList() { async function productTaskList() {
let functionId = arguments.callee.name.toString(); let functionId = arguments.callee.name.toString();
$.productTaskList = await requestGet(functionId, { "monitor_refer": "plant_productTaskList" }); $.productTaskList = await requestGet(functionId, {"monitor_refer": "plant_productTaskList"});
} }
async function plantChannelTaskList() { async function plantChannelTaskList() {
let functionId = arguments.callee.name.toString(); let functionId = arguments.callee.name.toString();
@ -657,7 +654,7 @@ async function plantChannelTaskList() {
} }
async function shopTaskList() { async function shopTaskList() {
let functionId = arguments.callee.name.toString(); let functionId = arguments.callee.name.toString();
$.shopTaskListRes = await requestGet(functionId, { "monitor_refer": "plant_receiveNutrients" }); $.shopTaskListRes = await requestGet(functionId, {"monitor_refer": "plant_receiveNutrients"});
// console.log('$.shopTaskListRes', $.shopTaskListRes) // console.log('$.shopTaskListRes', $.shopTaskListRes)
} }
async function receiveNutrientsTask(awardType) { async function receiveNutrientsTask(awardType) {
@ -669,7 +666,7 @@ async function receiveNutrientsTask(awardType) {
$.receiveNutrientsTaskRes = await requestGet(functionId, body); $.receiveNutrientsTaskRes = await requestGet(functionId, body);
} }
async function plantShareSupportList() { async function plantShareSupportList() {
$.shareSupportList = await requestGet('plantShareSupportList', { "roundId": "" }); $.shareSupportList = await requestGet('plantShareSupportList', {"roundId": ""});
if ($.shareSupportList && $.shareSupportList.code === '0') { if ($.shareSupportList && $.shareSupportList.code === '0') {
const { data } = $.shareSupportList; const { data } = $.shareSupportList;
//当日北京时间0点时间戳 //当日北京时间0点时间戳
@ -692,28 +689,26 @@ async function helpShare(plantUuid) {
console.log(`\n开始助力好友: ${plantUuid}`); console.log(`\n开始助力好友: ${plantUuid}`);
const body = { const body = {
"plantUuid": plantUuid, "plantUuid": plantUuid,
"wxHeadImgUrl": "", //"wxHeadImgUrl": "",
"shareUuid": "", //"shareUuid": "",
"followType": "1", //"followType": "1",
} }
$.helpResult = await request(`plantBeanIndex`, body); $.helpResult = await request(`plantBeanIndex`, body);
console.log(`助力结果的code:${$.helpResult && $.helpResult.code}`); //console.log(`助力结果的code:${$.helpResult && $.helpResult.code}`);
} }
async function plantBeanIndex() { async function plantBeanIndex() {
$.plantBeanIndexResult = await request('plantBeanIndex');//plantBeanIndexBody $.plantBeanIndexResult = await request('plantBeanIndex');//plantBeanIndexBody
} }
function readShareCode(code) { function readShareCode() {
console.log(`当前使用助力池${JD_ZLC_URL}`)
console.log(JD_ZLC_URL + `/bean?code=` + code)
return new Promise(async resolve => { return new Promise(async resolve => {
$.get({ url: JD_ZLC_URL + `/bean?code=` + code, timeout: 10000 }, (err, resp, data) => { $.get({url: `https://cdn.jsdelivr.net/gh/6dylan6/updateTeam@main/shareCodes/plant_bean.json`, timeout: 20000}, (err, resp, data) => {
try { try {
if (err) { if (err) {
console.log(`${JSON.stringify(err)}`) //console.log(`${JSON.stringify(err)}`)
console.log(`${$.name} API请求失败请检查网路重试`) //console.log(`${$.name} API请求失败请检查网路重试`)
} else { } else {
if (data) { if (data) {
console.log(`随机取${randomCount}个码放到您固定的互助码后面`) //console.log(`随机取码放到您固定的互助码后面(不影响已有固定互助)`)
data = JSON.parse(data); data = JSON.parse(data);
} }
} }
@ -730,14 +725,20 @@ function readShareCode(code) {
//格式化助力码 //格式化助力码
function shareCodesFormat() { function shareCodesFormat() {
return new Promise(async resolve => { return new Promise(async resolve => {
console.log(`${$.index}个京东账号的助力码:::${jdPlantBeanShareArr[$.index - 1]}`) // console.log(`第${$.index}个京东账号的助力码:::${$.shareCodesArr[$.index - 1]}`)
newShareCodes = []; newShareCodes = [];
if ($.shareCodesArr[$.index - 1]) {
newShareCodes = $.shareCodesArr[$.index - 1].split('@');
const readShareCodeRes = await readShareCode(jdPlantBeanShareArr[$.index - 1]); } else {
console.log(`由于您第${$.index}个京东账号未提供shareCode,将采纳本脚本自带的助力码\n`)
const tempIndex = $.index > shareCodes.length ? (shareCodes.length - 1) : ($.index - 1);
newShareCodes = shareCodes[tempIndex].split('@');
}
const readShareCodeRes = await readShareCode();
if (readShareCodeRes && readShareCodeRes.code === 200) { if (readShareCodeRes && readShareCodeRes.code === 200) {
newShareCodes = [...new Set([...newShareCodes, ...(readShareCodeRes.data || [])])]; newShareCodes = [...new Set([...newShareCodes, ...(readShareCodeRes.data || [])])];
} }
newShareCodes = newShareCodes.filter(item => {return fullist.indexOf(item) == -1});
console.log(`${$.index}个京东账号将要助力的好友${JSON.stringify(newShareCodes)}`) console.log(`${$.index}个京东账号将要助力的好友${JSON.stringify(newShareCodes)}`)
resolve(); resolve();
}) })
@ -756,7 +757,7 @@ function requireConfig() {
cookiesArr.push(jdCookieNode[item]) cookiesArr.push(jdCookieNode[item])
} }
}) })
if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => { }; if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {};
} else { } else {
cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item); cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item);
} }
@ -779,7 +780,7 @@ function requireConfig() {
} }
function requestGet(function_id, body = {}) { function requestGet(function_id, body = {}) {
if (!body.version) { if (!body.version) {
body["version"] = "9.0.0.1"; body["version"] = "9.2.4.2";
} }
body["monitor_source"] = "plant_app_plant_index"; body["monitor_source"] = "plant_app_plant_index";
body["monitor_refer"] = ""; body["monitor_refer"] = "";
@ -860,16 +861,16 @@ function TotalBean() {
}) })
}) })
} }
function request(function_id, body = {}) { function request(function_id, body = {}){
return new Promise(async resolve => { return new Promise(async resolve => {
await $.wait(5000); await $.wait(2000);
$.post(taskUrl(function_id, body), (err, resp, data) => { $.post(taskUrl(function_id, body), (err, resp, data) => {
try { try {
if (err) { if (err) {
console.log('\n种豆得豆: API查询请求失败 ‼️‼️') console.log('\n种豆得豆: API查询请求失败 ‼️‼️')
console.log(`function_id:${function_id}`) console.log(`function_id:${function_id}`)
$.logErr(err); $.logErr(err);
} else if (data.indexOf('data') > -1) { } else if (data.indexOf('data') > -1){
data = JSON.parse(data); data = JSON.parse(data);
} else { } else {
data = JSON.parse(data); data = JSON.parse(data);
@ -884,17 +885,19 @@ function request(function_id, body = {}) {
}) })
} }
function taskUrl(function_id, body) { function taskUrl(function_id, body) {
body["version"] = "9.2.4.1"; body["version"] = "9.2.4.2";
body["monitor_source"] = "plant_app_plant_index"; body["monitor_source"] = "plant_app_plant_index";
if (!body["monitor_refer"]){
body["monitor_refer"] = ""; body["monitor_refer"] = "";
}
return { return {
url: JD_API_HOST, url: JD_API_HOST,
body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&appid=ld&client=apple&area=19_1601_50258_51885&build=167490&clientVersion=9.3.2`, body: `functionId=${function_id}&body=${encodeURIComponent(JSON.stringify(body))}&appid=ld&client=apple&area=19_1601_50258_51885&build=167490&clientVersion=9.3.2`,
headers: { headers: {
"Cookie": cookie, "Cookie": cookie,
"Host": "api.m.jd.com", //"Host": "api.m.jd.com",
"Accept": "*/*", "Accept": "*/*",
"Connection": "keep-alive", //"Connection": "keep-alive",
"User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"), "User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"),
"Accept-Language": "zh-Hans-CN;q=1,en-CN;q=0.9", "Accept-Language": "zh-Hans-CN;q=1,en-CN;q=0.9",
"Accept-Encoding": "gzip, deflate, br", "Accept-Encoding": "gzip, deflate, br",