mirror of
https://github.com/shufflewzc/faker2.git
synced 2025-04-23 02:48:44 +08:00
助力池对接
This commit is contained in:
parent
fd0036e477
commit
c016ea9469
198
jd_dreamFactory.js
Normal file → Executable file
198
jd_dreamFactory.js
Normal file → Executable file
File diff suppressed because one or more lines are too long
1619
jd_fruit.js
Executable file
1619
jd_fruit.js
Executable file
File diff suppressed because one or more lines are too long
262
jd_health.js
Normal file → Executable file
262
jd_health.js
Normal file → Executable file
File diff suppressed because one or more lines are too long
176
jd_jdfactory.js
Normal file → Executable file
176
jd_jdfactory.js
Normal file → Executable file
File diff suppressed because one or more lines are too long
1515
jd_pet.js
Normal file → Executable file
1515
jd_pet.js
Normal file → Executable file
File diff suppressed because one or more lines are too long
540
jd_plantBean.js
Normal file → Executable file
540
jd_plantBean.js
Normal file → Executable file
@ -1,34 +1,48 @@
|
||||
/*
|
||||
种豆得豆
|
||||
updatetime:2022-07-17
|
||||
种豆得豆 脚本更新地址:https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_plantBean.js
|
||||
更新时间:2021-08-20
|
||||
活动入口:京东APP我的-更多工具-种豆得豆
|
||||
已支持IOS京东多账号,云端多京东账号
|
||||
脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js
|
||||
注:会自动关注任务中的店铺跟商品,介意者勿使用。
|
||||
互助码shareCode请先手动运行脚本查看打印可看到
|
||||
每个京东账号每天只能帮助3个人。多出的助力码将会助力失败。
|
||||
|
||||
// zero205:已添加自己账号内部互助,有剩余助力次数再帮我助力
|
||||
|
||||
=====================================Quantumult X=================================
|
||||
[task_local]
|
||||
15 7-21/2 * * * https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true
|
||||
1 7-21/2 * * * https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true
|
||||
|
||||
=====================================Loon================================
|
||||
[Script]
|
||||
cron "15 7-21/2 * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_plantBean.js,tag=京东种豆得豆
|
||||
cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_plantBean.js,tag=京东种豆得豆
|
||||
|
||||
======================================Surge==========================
|
||||
京东种豆得豆 = type=cron,cronexp="15 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_plantBean.js
|
||||
京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_plantBean.js
|
||||
|
||||
====================================小火箭=============================
|
||||
京东种豆得豆 = 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="1 7-21/2 * * *", timeout=3600, enable=true
|
||||
|
||||
*/
|
||||
const $ = new Env('京东种豆得豆');
|
||||
//Node.js用户请在jdCookie.js处填写京东ck;
|
||||
//ios等软件用户直接用NobyDa的jd cookie
|
||||
let jdNotify = true;//是否开启静默运行。默认true开启
|
||||
let cookiesArr = [], cookie = '', jdPlantBeanShareArr = [], isBox = false, notify, newShareCodes, option, message,subTitle;
|
||||
let cookiesArr = [], cookie = '', jdPlantBeanShareArr = [], isBox = false, notify, newShareCodes, option, message, subTitle;
|
||||
//京东接口地址
|
||||
const JD_API_HOST = 'https://api.m.jd.com/client.action';
|
||||
//助力好友分享码(最多3个,否则后面的助力失败)
|
||||
//此此内容是IOS用户下载脚本到本地使用,填写互助码的地方,同一京东账号的好友互助码请使用@符号隔开。
|
||||
//下面给出两个账号的填写示例(iOS只支持2个京东账号)
|
||||
let shareCodes = ['']
|
||||
let shareCodes = [ // IOS本地脚本用户这个列表填入你要助力的好友的shareCode
|
||||
//账号一的好友shareCode,不同好友的shareCode中间用@符号隔开
|
||||
'mlrdw3aw26j3xc6xycqtc74umufg2kphl3yfaxy@4npkonnsy7xi3ii7u6y52byc4urucexhl2wh2pq@olmijoxgmjutydymkyc56wollvia4yorekjt5ky@q7knrx5fitalyburqkflsm4jjq3h7wlwy7o5jii@4npkonnsy7xi2dkkbvl643342m5of4rpapky3ha@u72q4vdn3zes3byfckc62jqcbkxq3wtymnzrz2i@e7lhibzb3zek3ziaj5fstdr2qbxofrnt63pxzpq@fn5sjpg5zdejmpxw4mttxyyppqmy3t6eveppesy@hjkb2bbfm2bdr7lxto2hvcagyq3h7wlwy7o5jii',
|
||||
//账号二的好友shareCode,不同好友的shareCode中间用@符号隔开
|
||||
'mlrdw3aw26j3xc6xycqtc74umufg2kphl3yfaxy@4npkonnsy7xi3ii7u6y52byc4urucexhl2wh2pq@olmijoxgmjutydymkyc56wollvia4yorekjt5ky@q7knrx5fitalyburqkflsm4jjq3h7wlwy7o5jii@4npkonnsy7xi2dkkbvl643342m5of4rpapky3ha@u72q4vdn3zes3byfckc62jqcbkxq3wtymnzrz2i@e7lhibzb3zek3ziaj5fstdr2qbxofrnt63pxzpq@fn5sjpg5zdejmpxw4mttxyyppqmy3t6eveppesy@hjkb2bbfm2bdr7lxto2hvcagyq3h7wlwy7o5jii',
|
||||
]
|
||||
const ZLC = !(process.env.JD_JOIN_ZLC && process.env.JD_JOIN_ZLC === 'false')
|
||||
const JD_ZLC_URL=process.env.JD_ZLC_URL?process.env.JD_ZLC_URL:"http://zlc1.chaoyi996.com:8880";
|
||||
let allMessage = ``;
|
||||
let currentRoundId = null;//本期活动id
|
||||
let lastRoundId = null;//上期id
|
||||
@ -36,22 +50,14 @@ let roundList = [];
|
||||
let awardState = '';//上期活动的京豆是否收取
|
||||
let randomCount = $.isNode() ? 20 : 5;
|
||||
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点后时段,不启用互助....`);
|
||||
}
|
||||
}
|
||||
}
|
||||
$.newShareCode = [];
|
||||
!(async () => {
|
||||
if (!process.env.JD_JOIN_ZLC) {
|
||||
console.log(`【注意】本脚本默认会给助力池进行助力!\n如需加入助力池请添加TG群:https://t.me/jd_zero_205\n如不加入助力池互助,可添加变量名称:JD_JOIN_ZLC,变量值:false\n`)
|
||||
}
|
||||
await requireConfig();
|
||||
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;
|
||||
}
|
||||
for (let i = 0; i < cookiesArr.length; i++) {
|
||||
@ -62,9 +68,9 @@ if ($.isNode() && process.env.CC_NOHELPAFTER8) {
|
||||
$.isLogin = true;
|
||||
$.nickName = '';
|
||||
await TotalBean();
|
||||
console.log(`开始【京东账号${$.index}】${$.nickName || $.UserName}\n`);
|
||||
console.log(`\n开始【京东账号${$.index}】${$.nickName || $.UserName}\n`);
|
||||
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()) {
|
||||
await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`);
|
||||
@ -74,12 +80,19 @@ if ($.isNode() && process.env.CC_NOHELPAFTER8) {
|
||||
message = '';
|
||||
subTitle = '';
|
||||
option = {};
|
||||
await shareCodesFormat();
|
||||
await jdPlantBean();
|
||||
await showMsg();
|
||||
}
|
||||
}
|
||||
|
||||
for (let j = 0; j < cookiesArr.length; j++) {
|
||||
if (cookiesArr[j]) {
|
||||
cookie = cookiesArr[j];
|
||||
$.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1])
|
||||
$.index = j + 1;
|
||||
await shareCodesFormat();
|
||||
await doHelp()
|
||||
}
|
||||
}
|
||||
if ($.isNode() && allMessage) {
|
||||
await notify.sendNotify(`${$.name}`, `${allMessage}`)
|
||||
}
|
||||
@ -97,7 +110,7 @@ async function jdPlantBean() {
|
||||
console.log(`\n活动太火爆了,还是去买买买吧!\n`)
|
||||
return
|
||||
}
|
||||
for (let i = 0; i < $.plantBeanIndexResult.data?.roundList?.length; i++) {
|
||||
for (let i = 0; i < $.plantBeanIndexResult.data.roundList.length; i++) {
|
||||
if ($.plantBeanIndexResult.data.roundList[i].roundState === "2") {
|
||||
num = i
|
||||
break
|
||||
@ -108,6 +121,8 @@ async function jdPlantBean() {
|
||||
const shareUrl = $.plantBeanIndexResult.data.jwordShareInfo.shareUrl
|
||||
$.myPlantUuid = getParam(shareUrl, 'plantUuid')
|
||||
console.log(`\n【京东账号${$.index}(${$.UserName})的${$.name}好友互助码】${$.myPlantUuid}\n`);
|
||||
jdPlantBeanShareArr.push($.myPlantUuid)
|
||||
|
||||
roundList = $.plantBeanIndexResult.data.roundList;
|
||||
currentRoundId = roundList[num].roundId;//本期的roundId
|
||||
lastRoundId = roundList[num - 1].roundId;//上期的roundId
|
||||
@ -118,14 +133,11 @@ async function jdPlantBean() {
|
||||
message += `【上期成长值】${roundList[num - 1].growth}\n`;
|
||||
await receiveNutrients();//定时领取营养液
|
||||
await doTask();//做日常任务
|
||||
//await doEgg();
|
||||
// await doEgg();
|
||||
await stealFriendWater();
|
||||
await doCultureBean();
|
||||
await doGetReward();
|
||||
await showTaskProcess();
|
||||
if(llhelp){
|
||||
await doHelp()
|
||||
}
|
||||
await plantShareSupportList();
|
||||
} else {
|
||||
console.log(`种豆得豆-初始失败: ${JSON.stringify($.plantBeanIndexResult)}`);
|
||||
@ -137,6 +149,7 @@ async function jdPlantBean() {
|
||||
$.msg($.name, '', `${errMsg}`)
|
||||
}
|
||||
}
|
||||
|
||||
async function doGetReward() {
|
||||
console.log(`【上轮京豆】${awardState === '4' ? '采摘中' : awardState === '5' ? '可收获了' : '已领取'}`);
|
||||
if (awardState === '4') {
|
||||
@ -150,7 +163,7 @@ async function doGetReward() {
|
||||
console.log('京豆领取成功');
|
||||
message += `【上期兑换京豆】${$.getReward.data.awardBean}个\n`;
|
||||
$.msg($.name, subTitle, message);
|
||||
allMessage += `京东账号${$.index}🆔 ${$.nickName}\n${message}${$.index !== cookiesArr.length ? '\n\n' : ''}`
|
||||
allMessage += `京东账号${$.index} ${$.nickName}\n${message}${$.index !== cookiesArr.length ? '\n\n' : ''}`
|
||||
// if ($.isNode()) {
|
||||
// await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName || $.UserName}`, `京东账号${$.index} ${$.nickName}\n${message}`);
|
||||
// }
|
||||
@ -170,8 +183,8 @@ async function doGetReward() {
|
||||
async function doCultureBean() {
|
||||
await plantBeanIndex();
|
||||
if ($.plantBeanIndexResult && $.plantBeanIndexResult.code === '0') {
|
||||
const plantBeanRound = $.plantBeanIndexResult.data?.roundList[num]
|
||||
if (plantBeanRound?.roundState === '2') {
|
||||
const plantBeanRound = $.plantBeanIndexResult.data.roundList[num]
|
||||
if (plantBeanRound.roundState === '2') {
|
||||
//收取营养液
|
||||
if (plantBeanRound.bubbleInfos && plantBeanRound.bubbleInfos.length) console.log(`开始收取营养液`)
|
||||
for (let bubbleInfo of plantBeanRound.bubbleInfos) {
|
||||
@ -192,7 +205,7 @@ async function stealFriendWater() {
|
||||
return
|
||||
}
|
||||
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) {
|
||||
if (new Date(nowTimes).getHours() === 20) {
|
||||
if (item.nutrCount >= 2) {
|
||||
@ -215,7 +228,6 @@ async function stealFriendWater() {
|
||||
}
|
||||
}
|
||||
}
|
||||
await $.wait(1000)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -247,167 +259,153 @@ async function doTask() {
|
||||
console.log(`${item.taskName} 任务已完成\n`);
|
||||
continue;
|
||||
} else {
|
||||
switch(item.taskType){
|
||||
case 92:
|
||||
await farmtask();
|
||||
continue;
|
||||
case 57:
|
||||
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 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 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(2000);
|
||||
continue;
|
||||
case 3:
|
||||
console.log(`开始做 ${item.taskName}任务`);
|
||||
let unFinishedShopNum = item.totalNum - item.gainedNum;
|
||||
if (unFinishedShopNum === 0) {
|
||||
continue
|
||||
}
|
||||
await shopTaskList();
|
||||
const { data } = $.shopTaskListRes;
|
||||
let goodShopListARR = [],moreShopListARR = [], shopList = [];
|
||||
const { goodShopList, moreShopList } = data;
|
||||
if (goodShopList) {
|
||||
for (let i of goodShopList) {
|
||||
if (i.taskState === '2') {
|
||||
goodShopListARR.push(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (moreShopList) {
|
||||
for (let j of moreShopList) {
|
||||
if (j.taskState === '2') {
|
||||
moreShopListARR.push(j);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
shopList = goodShopListARR.concat(moreShopListARR);
|
||||
for (let shop of shopList) {
|
||||
const { shopId, shopTaskId } = shop;
|
||||
const body = {
|
||||
"monitor_refer": "plant_shopNutrientsTask",
|
||||
"shopId": shopId,
|
||||
"shopTaskId": shopTaskId
|
||||
}
|
||||
const shopRes = await requestGet('shopNutrientsTask', body);
|
||||
console.log(`shopRes结果:${JSON.stringify(shopRes)}`);
|
||||
if (shopRes && shopRes.code === '0') {
|
||||
if (shopRes.data && shopRes.data.nutrState && shopRes.data.nutrState === '1') {
|
||||
unFinishedShopNum --;
|
||||
}
|
||||
}
|
||||
if (unFinishedShopNum <= 0) {
|
||||
console.log(`${item.taskName}任务已做完\n`)
|
||||
break;
|
||||
}
|
||||
}
|
||||
continue;
|
||||
case 5:
|
||||
//挑选商品
|
||||
console.log(`开始做 ${item.taskName}任务`);
|
||||
let unFinishedProductNum = item.totalNum - item.gainedNum;
|
||||
if (unFinishedProductNum === 0) {
|
||||
continue
|
||||
}
|
||||
await productTaskList();
|
||||
// console.log('productTaskList', $.productTaskList);
|
||||
//const { data1 } = $.productTaskList;
|
||||
let productListARR = [], productList = [];
|
||||
const { productInfoList } = $.productTaskList.data;
|
||||
for (let i = 0; i < productInfoList.length; i++) {
|
||||
for (let j = 0; j < productInfoList[i].length; j++){
|
||||
productListARR.push(productInfoList[i][j]);
|
||||
}
|
||||
}
|
||||
for (let i of productListARR) {
|
||||
if (i.taskState === '2') {
|
||||
productList.push(i);
|
||||
}
|
||||
}
|
||||
for (let product of productList) {
|
||||
const { skuId, productTaskId } = product;
|
||||
const body = {
|
||||
"monitor_refer": "plant_productNutrientsTask",
|
||||
"productTaskId": productTaskId,
|
||||
"skuId": skuId
|
||||
}
|
||||
const productRes = await requestGet('productNutrientsTask', body);
|
||||
if (productRes && productRes.code === '0') {
|
||||
// console.log('nutrState', productRes)
|
||||
//这里添加多重判断,有时候会出现活动太火爆的问题,导致nutrState没有
|
||||
if (productRes.data && productRes.data.nutrState && productRes.data.nutrState === '1') {
|
||||
unFinishedProductNum --;
|
||||
}
|
||||
}
|
||||
if (unFinishedProductNum <= 0) {
|
||||
console.log(`${item.taskName}任务已做完\n`)
|
||||
break;
|
||||
}
|
||||
}
|
||||
continue;
|
||||
case 10:
|
||||
//关注频道
|
||||
console.log(`开始做 ${item.taskName}任务`);
|
||||
let unFinishedChannelNum = item.totalNum - item.gainedNum;
|
||||
if (unFinishedChannelNum === 0) {
|
||||
continue
|
||||
}
|
||||
await plantChannelTaskList();
|
||||
//const { data2 } = $.plantChannelTaskList;
|
||||
// console.log('goodShopList', data.goodShopList);
|
||||
// console.log('moreShopList', data.moreShopList);
|
||||
let goodChannelListARR = [], normalChannelListARR = [], channelList = [];
|
||||
const { goodChannelList, normalChannelList } = $.plantChannelTaskList.data;
|
||||
for (let i of goodChannelList) {
|
||||
if (i.taskState === '2') {
|
||||
goodChannelListARR.push(i);
|
||||
}
|
||||
}
|
||||
for (let j of normalChannelList) {
|
||||
if (j.taskState === '2') {
|
||||
normalChannelListARR.push(j);
|
||||
}
|
||||
}
|
||||
channelList = goodChannelListARR.concat(normalChannelListARR);
|
||||
for (let channelItem of channelList) {
|
||||
const { channelId, channelTaskId } = channelItem;
|
||||
const body = {
|
||||
"channelId": channelId,
|
||||
"channelTaskId": channelTaskId
|
||||
}
|
||||
const channelRes = await requestGet('plantChannelNutrientsTask', body);
|
||||
console.log(`channelRes结果:${JSON.stringify(channelRes)}`);
|
||||
if (channelRes && channelRes.code === '0') {
|
||||
if (channelRes.data && channelRes.data.nutrState && channelRes.data.nutrState === '1') {
|
||||
unFinishedChannelNum --;
|
||||
}
|
||||
}
|
||||
if (unFinishedChannelNum <= 0) {
|
||||
console.log(`${item.taskName}任务已做完\n`)
|
||||
break;
|
||||
}
|
||||
}
|
||||
continue;
|
||||
default:
|
||||
console.log(`\n开始做 ${item.taskName}任务`);
|
||||
// $.receiveNutrientsTaskRes = await receiveNutrientsTask(item.taskType);
|
||||
await receiveNutrientsTask(item.taskType);
|
||||
console.log(`做 ${item.taskName}任务结果:${JSON.stringify($.receiveNutrientsTaskRes)}\n`);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
if (item.taskType === 8) {
|
||||
console.log(`\n【${item.taskName}】任务未完成,需自行手动去京东APP完成,${item.desc}营养液\n`)
|
||||
} else {
|
||||
console.log(`\n【${item.taskName}】任务未完成,${item.desc}营养液\n`)
|
||||
}
|
||||
}
|
||||
if (item.dailyTimes === 1 && item.taskType !== 8) {
|
||||
console.log(`\n开始做 ${item.taskName}任务`);
|
||||
// $.receiveNutrientsTaskRes = await receiveNutrientsTask(item.taskType);
|
||||
await receiveNutrientsTask(item.taskType);
|
||||
console.log(`做 ${item.taskName}任务结果:${JSON.stringify($.receiveNutrientsTaskRes)}\n`);
|
||||
}
|
||||
if (item.taskType === 3) {
|
||||
//浏览店铺
|
||||
console.log(`开始做 ${item.taskName}任务`);
|
||||
let unFinishedShopNum = item.totalNum - item.gainedNum;
|
||||
if (unFinishedShopNum === 0) {
|
||||
continue
|
||||
}
|
||||
await shopTaskList();
|
||||
const { data } = $.shopTaskListRes;
|
||||
let goodShopListARR = [], moreShopListARR = [], shopList = [];
|
||||
const { goodShopList, moreShopList } = data;
|
||||
for (let i of goodShopList) {
|
||||
if (i.taskState === '2') {
|
||||
goodShopListARR.push(i);
|
||||
}
|
||||
}
|
||||
for (let j of moreShopList) {
|
||||
if (j.taskState === '2') {
|
||||
moreShopListARR.push(j);
|
||||
}
|
||||
}
|
||||
shopList = goodShopListARR.concat(moreShopListARR);
|
||||
for (let shop of shopList) {
|
||||
const { shopId, shopTaskId } = shop;
|
||||
const body = {
|
||||
"monitor_refer": "plant_shopNutrientsTask",
|
||||
"shopId": shopId,
|
||||
"shopTaskId": shopTaskId
|
||||
}
|
||||
const shopRes = await requestGet('shopNutrientsTask', body);
|
||||
console.log(`shopRes结果:${JSON.stringify(shopRes)}`);
|
||||
if (shopRes && shopRes.code === '0') {
|
||||
if (shopRes.data && shopRes.data.nutrState && shopRes.data.nutrState === '1') {
|
||||
unFinishedShopNum--;
|
||||
}
|
||||
}
|
||||
if (unFinishedShopNum <= 0) {
|
||||
console.log(`${item.taskName}任务已做完\n`)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item.taskType === 5) {
|
||||
//挑选商品
|
||||
console.log(`开始做 ${item.taskName}任务`);
|
||||
let unFinishedProductNum = item.totalNum - item.gainedNum;
|
||||
if (unFinishedProductNum === 0) {
|
||||
continue
|
||||
}
|
||||
await productTaskList();
|
||||
// console.log('productTaskList', $.productTaskList);
|
||||
const { data } = $.productTaskList;
|
||||
let productListARR = [], productList = [];
|
||||
const { productInfoList } = data;
|
||||
for (let i = 0; i < productInfoList.length; i++) {
|
||||
for (let j = 0; j < productInfoList[i].length; j++) {
|
||||
productListARR.push(productInfoList[i][j]);
|
||||
}
|
||||
}
|
||||
for (let i of productListARR) {
|
||||
if (i.taskState === '2') {
|
||||
productList.push(i);
|
||||
}
|
||||
}
|
||||
for (let product of productList) {
|
||||
const { skuId, productTaskId } = product;
|
||||
const body = {
|
||||
"monitor_refer": "plant_productNutrientsTask",
|
||||
"productTaskId": productTaskId,
|
||||
"skuId": skuId
|
||||
}
|
||||
const productRes = await requestGet('productNutrientsTask', body);
|
||||
if (productRes && productRes.code === '0') {
|
||||
// console.log('nutrState', productRes)
|
||||
//这里添加多重判断,有时候会出现活动太火爆的问题,导致nutrState没有
|
||||
if (productRes.data && productRes.data.nutrState && productRes.data.nutrState === '1') {
|
||||
unFinishedProductNum--;
|
||||
}
|
||||
}
|
||||
if (unFinishedProductNum <= 0) {
|
||||
console.log(`${item.taskName}任务已做完\n`)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (item.taskType === 10) {
|
||||
//关注频道
|
||||
console.log(`开始做 ${item.taskName}任务`);
|
||||
let unFinishedChannelNum = item.totalNum - item.gainedNum;
|
||||
if (unFinishedChannelNum === 0) {
|
||||
continue
|
||||
}
|
||||
await plantChannelTaskList();
|
||||
const { data } = $.plantChannelTaskList;
|
||||
// console.log('goodShopList', data.goodShopList);
|
||||
// console.log('moreShopList', data.moreShopList);
|
||||
let goodChannelListARR = [], normalChannelListARR = [], channelList = [];
|
||||
const { goodChannelList, normalChannelList } = data;
|
||||
for (let i of goodChannelList) {
|
||||
if (i.taskState === '2') {
|
||||
goodChannelListARR.push(i);
|
||||
}
|
||||
}
|
||||
for (let j of normalChannelList) {
|
||||
if (j.taskState === '2') {
|
||||
normalChannelListARR.push(j);
|
||||
}
|
||||
}
|
||||
channelList = goodChannelListARR.concat(normalChannelListARR);
|
||||
for (let channelItem of channelList) {
|
||||
const { channelId, channelTaskId } = channelItem;
|
||||
const body = {
|
||||
"channelId": channelId,
|
||||
"channelTaskId": channelTaskId
|
||||
}
|
||||
const channelRes = await requestGet('plantChannelNutrientsTask', body);
|
||||
console.log(`channelRes结果:${JSON.stringify(channelRes)}`);
|
||||
if (channelRes && channelRes.code === '0') {
|
||||
if (channelRes.data && channelRes.data.nutrState && channelRes.data.nutrState === '1') {
|
||||
unFinishedChannelNum--;
|
||||
}
|
||||
}
|
||||
if (unFinishedChannelNum <= 0) {
|
||||
console.log(`${item.taskName}任务已做完\n`)
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
function showTaskProcess() {
|
||||
return new Promise(async resolve => {
|
||||
await plantBeanIndex();
|
||||
$.taskList = $.plantBeanIndexResult.data?.taskList;
|
||||
$.taskList = $.plantBeanIndexResult.data.taskList;
|
||||
if ($.taskList && $.taskList.length > 0) {
|
||||
console.log(" 任务 进度");
|
||||
for (let item of $.taskList) {
|
||||
@ -419,8 +417,14 @@ function showTaskProcess() {
|
||||
}
|
||||
//助力好友
|
||||
async function doHelp() {
|
||||
for (let plantUuid of newShareCodes) {
|
||||
console.log(`开始助力京东账号${$.index} - ${$.nickName}的好友: ${plantUuid}`);
|
||||
if ($.isNode() && !process.env.PLANT_BEAN_SHARECODES) {
|
||||
console.log(`您未填写助力码变量,开始账号内互助,再帮【zero205】助力`);
|
||||
$.newShareCode = [...(jdPlantBeanShareArr || []), ...(newShareCodes || [])]
|
||||
} else {
|
||||
$.newShareCode = newShareCodes
|
||||
}
|
||||
for (let plantUuid of $.newShareCode) {
|
||||
console.log(`${$.UserName}开始助力: ${plantUuid}`);
|
||||
if (!plantUuid) continue;
|
||||
if (plantUuid === $.myPlantUuid) {
|
||||
console.log(`\n跳过自己的plantUuid\n`)
|
||||
@ -429,7 +433,7 @@ async function doHelp() {
|
||||
await helpShare(plantUuid);
|
||||
if ($.helpResult && $.helpResult.code === '0') {
|
||||
// console.log(`助力好友结果: ${JSON.stringify($.helpResult.data.helpShareRes)}`);
|
||||
if ($.helpResult.data?.helpShareRes) {
|
||||
if ($.helpResult.data.helpShareRes) {
|
||||
if ($.helpResult.data.helpShareRes.state === '1') {
|
||||
console.log(`助力好友${plantUuid}成功`)
|
||||
console.log(`${$.helpResult.data.helpShareRes.promptText}\n`);
|
||||
@ -447,7 +451,6 @@ async function doHelp() {
|
||||
} else {
|
||||
console.log(`助力好友失败: ${JSON.stringify($.helpResult)}`);
|
||||
}
|
||||
await $.wait(2000)
|
||||
}
|
||||
}
|
||||
function showMsg() {
|
||||
@ -459,102 +462,6 @@ function showMsg() {
|
||||
}
|
||||
// ================================================此处是API=================================
|
||||
//每轮种豆活动获取结束后,自动收取京豆
|
||||
|
||||
async function farmtask(){
|
||||
await receivefruit();
|
||||
await $.wait(500);
|
||||
await dofarm('gotConfigDataForBrand');
|
||||
await $.wait(500);
|
||||
await dofarm('initForFarm');
|
||||
await $.wait(500);
|
||||
await dofarm('taskInitForFarm');
|
||||
await $.wait(500);
|
||||
await dofarm('farmMarkStatus');
|
||||
await $.wait(500);
|
||||
await dofarm('initForFarm');
|
||||
await $.wait(500);
|
||||
}
|
||||
async function receivefruit(){
|
||||
const body = {
|
||||
"monitor_refer": "plant_receiveNutrientsTask",
|
||||
"monitor_source": "plant_app_plant_index",
|
||||
"awardType": "92",
|
||||
"version": "9.2.4.1"
|
||||
}
|
||||
await request('receiveNutrientsTask',body)
|
||||
}
|
||||
async function dofarm(function_id){
|
||||
let body ={
|
||||
"version": 17,
|
||||
"channel": 1,
|
||||
"babelChannel": "45"
|
||||
}
|
||||
if (function_id == 'gotConfigDataForBrand'){
|
||||
body["type"] = "json";
|
||||
body["k"] = "farmShareConfig";
|
||||
}
|
||||
return new Promise(async resolve => {
|
||||
const option = {
|
||||
url: `${JD_API_HOST}?functionId=${function_id}&body=${encodeURIComponent(JSON.stringify(body))}&appid=wh5`,
|
||||
headers: {
|
||||
'Cookie': cookie,
|
||||
'Host': 'api.m.jd.com',
|
||||
'Accept': '*/*',
|
||||
'Connection': 'keep-alive',
|
||||
'User-Agent': 'JD4iPhone/167283 (iPhone;iOS 13.6.1;Scale/3.00)',
|
||||
'Accept-Encoding': 'gzip, deflate, br',
|
||||
'Referer': 'https://h5.m.jd.com'
|
||||
},
|
||||
timeout: 20000,
|
||||
};
|
||||
$.get(option, (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log('\n API查询请求失败 ‼️‼️')
|
||||
$.logErr(err);
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp);
|
||||
} finally {
|
||||
resolve();
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
function jxdoublesign1(url){
|
||||
let opt = {
|
||||
url,
|
||||
headers: {
|
||||
//'Host': 'wq.jd.com',
|
||||
'accept':'application/json',
|
||||
'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',
|
||||
'Cookie': 'cid=4;'+cookie
|
||||
}
|
||||
}
|
||||
return new Promise(async resolve => {
|
||||
$.get(opt, (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
if (data) {
|
||||
//data = JSON.parse(data);
|
||||
//console.log(data)
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp)
|
||||
} finally {
|
||||
resolve(data);
|
||||
}
|
||||
})
|
||||
resolve()
|
||||
})
|
||||
}
|
||||
async function getReward() {
|
||||
const body = {
|
||||
"roundId": lastRoundId
|
||||
@ -591,7 +498,7 @@ async function collectUserNutr(paradiseUuid) {
|
||||
$.stealFriendRes = await request(functionId, body);
|
||||
}
|
||||
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)}`)
|
||||
}
|
||||
async function plantEggDoLottery() {
|
||||
@ -603,7 +510,7 @@ async function egg() {
|
||||
}
|
||||
async function productTaskList() {
|
||||
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() {
|
||||
let functionId = arguments.callee.name.toString();
|
||||
@ -612,7 +519,7 @@ async function plantChannelTaskList() {
|
||||
}
|
||||
async function shopTaskList() {
|
||||
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)
|
||||
}
|
||||
async function receiveNutrientsTask(awardType) {
|
||||
@ -624,7 +531,7 @@ async function receiveNutrientsTask(awardType) {
|
||||
$.receiveNutrientsTaskRes = await requestGet(functionId, body);
|
||||
}
|
||||
async function plantShareSupportList() {
|
||||
$.shareSupportList = await requestGet('plantShareSupportList', {"roundId": ""});
|
||||
$.shareSupportList = await requestGet('plantShareSupportList', { "roundId": "" });
|
||||
if ($.shareSupportList && $.shareSupportList.code === '0') {
|
||||
const { data } = $.shareSupportList;
|
||||
//当日北京时间0点时间戳
|
||||
@ -657,16 +564,17 @@ async function helpShare(plantUuid) {
|
||||
async function plantBeanIndex() {
|
||||
$.plantBeanIndexResult = await request('plantBeanIndex');//plantBeanIndexBody
|
||||
}
|
||||
function readShareCode() {
|
||||
function readShareCode(code) {
|
||||
console.log(`当前使用助力池${JD_ZLC_URL}`)
|
||||
return new Promise(async resolve => {
|
||||
$.get({url: `https://cdn.jsdelivr.net/gh/6dylan6/updateTeam@main/shareCodes/plant_bean.json`, timeout: 20000}, (err, resp, data) => {
|
||||
$.get({ url: JD_ZLC_URL +`/bean?code=`+code, timeout: 10000}, (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
//console.log(`${JSON.stringify(err)}`)
|
||||
//console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
if (data) {
|
||||
//console.log(`随机取码放到您固定的互助码后面(不影响已有固定互助)`)
|
||||
console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`)
|
||||
data = JSON.parse(data);
|
||||
}
|
||||
}
|
||||
@ -683,19 +591,24 @@ function readShareCode() {
|
||||
//格式化助力码
|
||||
function shareCodesFormat() {
|
||||
return new Promise(async resolve => {
|
||||
// console.log(`第${$.index}个京东账号的助力码:::${$.shareCodesArr[$.index - 1]}`)
|
||||
console.log(`第${$.index}个京东账号的助力码:::${$.shareCodesArr[$.index - 1]}`)
|
||||
newShareCodes = [];
|
||||
if ($.shareCodesArr[$.index - 1]) {
|
||||
newShareCodes = $.shareCodesArr[$.index - 1].split('@');
|
||||
} else {
|
||||
console.log(`由于您第${$.index}个京东账号未提供shareCode,将采纳本脚本自带的助力码\n`)
|
||||
// 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) {
|
||||
newShareCodes = [...new Set([...newShareCodes, ...(readShareCodeRes.data || [])])];
|
||||
}
|
||||
if (!ZLC) {
|
||||
console.log(`您设置了不加入助力池,跳过\n`)
|
||||
} else {
|
||||
|
||||
const readShareCodeRes = await readShareCode(jdPlantBeanShareArr[$.index - 1]);
|
||||
if (readShareCodeRes && readShareCodeRes.code === 200) {
|
||||
newShareCodes = [...new Set([...newShareCodes, ...(readShareCodeRes.data || [])])];
|
||||
}
|
||||
}
|
||||
console.log(`第${$.index}个京东账号将要助力的好友${JSON.stringify(newShareCodes)}`)
|
||||
resolve();
|
||||
})
|
||||
@ -714,7 +627,7 @@ function requireConfig() {
|
||||
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 {
|
||||
cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item);
|
||||
}
|
||||
@ -755,7 +668,7 @@ function requestGet(function_id, body = {}) {
|
||||
'Accept-Encoding': 'gzip, deflate, br',
|
||||
'Content-Type': "application/x-www-form-urlencoded"
|
||||
},
|
||||
timeout: 20000,
|
||||
timeout: 10000,
|
||||
};
|
||||
$.get(option, (err, resp, data) => {
|
||||
try {
|
||||
@ -787,7 +700,7 @@ function TotalBean() {
|
||||
"Referer": "https://wqs.jd.com/my/jingdou/my.shtml?sceneval=2",
|
||||
"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")
|
||||
},
|
||||
"timeout": 20000,
|
||||
"timeout": 10000,
|
||||
}
|
||||
$.post(options, (err, resp, data) => {
|
||||
try {
|
||||
@ -818,20 +731,17 @@ function TotalBean() {
|
||||
})
|
||||
})
|
||||
}
|
||||
function request(function_id, body = {}){
|
||||
function request(function_id, body = {}) {
|
||||
return new Promise(async resolve => {
|
||||
await $.wait(5000);
|
||||
await $.wait(2000);
|
||||
$.post(taskUrl(function_id, body), (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log('\n种豆得豆: API查询请求失败 ‼️‼️')
|
||||
console.log(`function_id:${function_id}`)
|
||||
$.logErr(err);
|
||||
} else if (data.indexOf('data') > -1){
|
||||
data = JSON.parse(data);
|
||||
} else {
|
||||
data = JSON.parse(data);
|
||||
console.log(data.errorMessage)
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp);
|
||||
@ -842,7 +752,7 @@ function request(function_id, body = {}){
|
||||
})
|
||||
}
|
||||
function taskUrl(function_id, body) {
|
||||
body["version"] = "9.2.4.1";
|
||||
body["version"] = "9.2.4.0";
|
||||
body["monitor_source"] = "plant_app_plant_index";
|
||||
body["monitor_refer"] = "";
|
||||
return {
|
||||
@ -858,7 +768,7 @@ function taskUrl(function_id, body) {
|
||||
"Accept-Encoding": "gzip, deflate, br",
|
||||
"Content-Type": "application/x-www-form-urlencoded"
|
||||
},
|
||||
timeout: 20000,
|
||||
timeout: 10000,
|
||||
}
|
||||
}
|
||||
function getParam(url, name) {
|
||||
|
80
jd_sgmh.js
Normal file → Executable file
80
jd_sgmh.js
Normal file → Executable file
@ -4,33 +4,37 @@
|
||||
修改自 @yangtingxiao 抽奖机脚本
|
||||
活动入口:京东APP首页-闪购-闪购盲盒
|
||||
网页地址:https://h5.m.jd.com/babelDiy/Zeus/3vzA7uGuWL2QeJ5UeecbbAVKXftQ/index.html
|
||||
更新地址:https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_sgmh.js
|
||||
更新地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js
|
||||
已支持IOS双京东账号, Node.js支持N个京东账号
|
||||
脚本兼容: QuantumultX, Surge, Loon, 小火箭,JSBox, Node.js
|
||||
============Quantumultx===============
|
||||
[task_local]
|
||||
#闪购盲盒
|
||||
20 8 * * * https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_sgmh.js, tag=闪购盲盒, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true
|
||||
20 8 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js, tag=闪购盲盒, img-url=https://raw.githubusercontent.com/Orz-3/task/master/jd.png, enabled=true
|
||||
|
||||
================Loon==============
|
||||
[Script]
|
||||
cron "20 8 * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_sgmh.js, tag=闪购盲盒
|
||||
cron "20 8 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js, tag=闪购盲盒
|
||||
|
||||
===============Surge=================
|
||||
闪购盲盒 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_sgmh.js
|
||||
闪购盲盒 = type=cron,cronexp="20 8 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js
|
||||
|
||||
============小火箭=========
|
||||
闪购盲盒 = type=cron,script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_sgmh.js, cronexpr="20 8 * * *", timeout=3600, enable=true
|
||||
闪购盲盒 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_sgmh.js, cronexpr="20 8 * * *", timeout=3600, enable=true
|
||||
|
||||
*/
|
||||
const $ = new Env('闪购盲盒');
|
||||
//Node.js用户请在jdCookie.js处填写京东ck;
|
||||
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
|
||||
let appId = '1EFRXxg' , homeDataFunPrefix = 'interact_template', collectScoreFunPrefix = 'harmony', message = ''
|
||||
let lotteryResultFunPrefix = homeDataFunPrefix, browseTime = 6
|
||||
const inviteCodes = [
|
||||
'',
|
||||
'',
|
||||
];
|
||||
const inviteCodes = ['T0225KkcRUxL9FKDJh7ylvMLcACjVWmIaW5kRrbA','T0225KkcRx0Q_AaCdRr1xf8DIQCjVWmIaW5kRrbA','T0225KkcRksZpgDSIBj3xvADdQCjVWmIaW5kRrbA','T018v_52Qxge81HeJB2b1ACjVWmIaW5kRrbA','T0205KkcPFd_vD2uSkCi3YhXCjVWmIaW5kRrbA','T018v_hzQhwZ8FbUIRib1ACjVQmoaT5kRrbA'].sort(() => 0.5 - Math.random()).splice(0,3)
|
||||
const ZLC = !(process.env.JD_JOIN_ZLC && process.env.JD_JOIN_ZLC === 'false')
|
||||
const JD_ZLC_URL=process.env.JD_ZLC_URL?process.env.JD_ZLC_URL:"http://zlc1.chaoyi996.com:8880";
|
||||
const randomCount = $.isNode() ? 20 : 5;
|
||||
const notify = $.isNode() ? require('./sendNotify') : '';
|
||||
let merge = {}
|
||||
let self_code = []
|
||||
//IOS等用户直接用NobyDa的jd cookie
|
||||
let cookiesArr = [], cookie = '';
|
||||
if ($.isNode()) {
|
||||
@ -41,12 +45,16 @@ if ($.isNode()) {
|
||||
} else {
|
||||
cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item);
|
||||
}
|
||||
|
||||
const JD_API_HOST = `https://api.m.jd.com/client.action`;
|
||||
!(async () => {
|
||||
if (!cookiesArr[0]) {
|
||||
$.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"});
|
||||
$.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', { "open-url": "https://bean.m.jd.com/" });
|
||||
return;
|
||||
}
|
||||
if (!process.env.JD_JOIN_ZLC) {
|
||||
console.log(`【注意】本脚本默认会给助力池进行助力!\n如需加入助力池请添加TG群:https://t.me/jd_zero_205\n如不加入助力池互助,可添加变量名称:JD_JOIN_ZLC,变量值:false\n`)
|
||||
}
|
||||
await requireConfig();
|
||||
for (let i = 0; i < cookiesArr.length; i++) {
|
||||
cookie = cookiesArr[i];
|
||||
@ -61,7 +69,7 @@ const JD_API_HOST = `https://api.m.jd.com/client.action`;
|
||||
await shareCodesFormat();
|
||||
console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`);
|
||||
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()) {
|
||||
await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`);
|
||||
@ -69,7 +77,14 @@ const JD_API_HOST = `https://api.m.jd.com/client.action`;
|
||||
continue
|
||||
}
|
||||
await interact_template_getHomeData()
|
||||
await showMsg();
|
||||
// await showMsg();
|
||||
// console.log(`📦闪购盲盒-开始提交互助码!📦`);
|
||||
// const submitCodeRes = await submitCode();
|
||||
// if (submitCodeRes && submitCodeRes.code === 200) {
|
||||
// console.log(`📦闪购盲盒-互助码提交成功!📦`);
|
||||
// } else if (submitCodeRes.code === 300) {
|
||||
// console.log(`📦闪购盲盒-互助码已提交!📦`);
|
||||
// }
|
||||
}
|
||||
}
|
||||
})()
|
||||
@ -93,11 +108,14 @@ function interact_template_getHomeData(timeout = 0) {
|
||||
},
|
||||
body : `functionId=${homeDataFunPrefix}_getHomeData&body={"appId":"${appId}","taskToken":""}&client=wh5&clientVersion=1.0.0`
|
||||
}
|
||||
|
||||
$.post(url, async (err, resp, data) => {
|
||||
try {
|
||||
data = JSON.parse(data);
|
||||
if (data.data.bizCode !== 0) {
|
||||
console.log(data.data.bizMsg);
|
||||
// merge.jdBeans.fail++;
|
||||
// merge.jdBeans.notify = `${data.data.bizMsg}`;
|
||||
return
|
||||
}
|
||||
scorePerLottery = data.data.result.userInfo.scorePerLottery||data.data.result.userInfo.lotteryMinusScore
|
||||
@ -108,10 +126,12 @@ function interact_template_getHomeData(timeout = 0) {
|
||||
//签到
|
||||
if (data.data.result.taskVos[i].taskName === '邀请好友助力') {
|
||||
console.log(`\n【京东账号${$.index}(${$.UserName})的${$.name}好友互助码】${data.data.result.taskVos[i].assistTaskDetailVo.taskToken}\n`);
|
||||
self_code.push(data.data.result.taskVos[i].assistTaskDetailVo.taskToken)
|
||||
for (let code of $.newShareCodes) {
|
||||
if (!code) continue
|
||||
await harmony_collectScore(code, data.data.result.taskVos[i].taskId);
|
||||
const c = await harmony_collectScore(code, data.data.result.taskVos[i].taskId);
|
||||
await $.wait(2000)
|
||||
if (c === 108) break
|
||||
}
|
||||
}
|
||||
else if (data.data.result.taskVos[i].status === 3) {
|
||||
@ -184,16 +204,18 @@ function harmony_collectScore(taskToken,taskId,itemId = "",actionType = 0,timeou
|
||||
//if (appId === "1EFRTxQ") url.body += "&appid=golden-egg"
|
||||
$.post(url, async (err, resp, data) => {
|
||||
try {
|
||||
|
||||
data = JSON.parse(data);
|
||||
if (data.data.bizMsg === "任务领取成功") {
|
||||
await harmony_collectScore(taskToken,taskId,itemId,0,parseInt(browseTime) * 1000);
|
||||
} else{
|
||||
console.log(data.data.bizMsg)
|
||||
}
|
||||
data = data.data.bizCode
|
||||
} catch (e) {
|
||||
$.logErr(e, resp);
|
||||
} finally {
|
||||
resolve()
|
||||
resolve(data)
|
||||
}
|
||||
})
|
||||
},timeout)
|
||||
@ -274,6 +296,9 @@ function requireConfig() {
|
||||
$.shareCodesArr.push(shareCodes[item])
|
||||
}
|
||||
})
|
||||
} else {
|
||||
if ($.getdata('JDSGMH_SHARECODES')) $.shareCodesArr = $.getdata('JDSGMH_SHARECODES').split('\n').filter(item => !!item);
|
||||
console.log(`\nBoxJs设置的闪购盲盒邀请码:${$.getdata('JDSGMH_SHARECODES')}\n`);
|
||||
}
|
||||
console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`);
|
||||
resolve()
|
||||
@ -286,16 +311,17 @@ function shareCodesFormat() {
|
||||
// console.log(`第${$.index}个京东账号的助力码:::${$.shareCodesArr[$.index - 1]}`)
|
||||
$.newShareCodes = [];
|
||||
if ($.shareCodesArr[$.index - 1]) {
|
||||
console.log('检测到助力码环境变量,在前')
|
||||
$.newShareCodes = $.shareCodesArr[$.index - 1].split('@');
|
||||
} else {
|
||||
console.log(`由于您第${$.index}个京东账号未提供shareCode,将采纳本脚本自带的助力码\n`)
|
||||
const tempIndex = $.index > inviteCodes.length ? (inviteCodes.length - 1) : ($.index - 1);
|
||||
$.newShareCodes = inviteCodes[tempIndex].split('@');
|
||||
}
|
||||
const readShareCodeRes = await readShareCode();
|
||||
// console.log(readShareCodeRes)
|
||||
if (readShareCodeRes && readShareCodeRes.code === 200) {
|
||||
$.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])];
|
||||
$.newShareCodes = [...new Set([...$.newShareCodes, ...self_code,...inviteCodes])]
|
||||
if (!ZLC) {
|
||||
console.log(`您设置了不加入助力池,跳过\n`)
|
||||
} else {
|
||||
const readShareCodeRes = await readShareCode();
|
||||
if (readShareCodeRes && readShareCodeRes.code === 200) {
|
||||
$.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])]
|
||||
}
|
||||
}
|
||||
console.log(`第${$.index}个京东账号将要助力的好友${JSON.stringify($.newShareCodes)}`)
|
||||
resolve();
|
||||
@ -303,12 +329,15 @@ function shareCodesFormat() {
|
||||
}
|
||||
|
||||
function readShareCode() {
|
||||
console.log(`开始`)
|
||||
console.log(`当前使用助力池${JD_ZLC_URL}`);
|
||||
return new Promise(async resolve => {
|
||||
$.get({url: ``, timeout: 10000}, (err, resp, data) => {
|
||||
$.get({
|
||||
url: `${JD_ZLC_URL}/sgmh`,
|
||||
'timeout': 10000
|
||||
}, (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(JSON.stringify(err))
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
if (data) {
|
||||
@ -326,6 +355,7 @@ function readShareCode() {
|
||||
resolve()
|
||||
})
|
||||
}
|
||||
|
||||
function TotalBean() {
|
||||
return new Promise(async resolve => {
|
||||
const options = {
|
||||
|
Loading…
Reference in New Issue
Block a user