助力池对接

This commit is contained in:
Faker 2022-07-19 11:09:22 +08:00
parent fd0036e477
commit c016ea9469
7 changed files with 6400 additions and 5052 deletions

118
jd_dreamFactory.js Normal file → Executable file
View File

@ -1,27 +1,29 @@
/*
京东京喜工厂
更新时间2021-6-25
更新时间2021-8-20
修复做任务收集电力出现火爆不能完成任务重新计算h5st验证
参考自 https://www.orzlee.com/web-development/2021/03/03/lxk0301-jingdong-signin-scriptjingxi-factory-solves-the-problem-of-unable-to-signin.html
活动入口京东APP-游戏与互动-查看更多-京喜工厂
或者: 京东APP首页搜索 "玩一玩" ,造物工厂即可
// zero205已添加自己账号内部互助有剩余助力次数再帮我助力
已支持IOS双京东账号,Node.js支持N个京东账号
脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js
============Quantumultx===============
[task_local]
#京喜工厂
10 * * * * jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png, enabled=true
10 0,6-23 * * * jd_dreamFactory.js, tag=京喜工厂, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png, enabled=true
================Loon==============
[Script]
cron "10 * * * *" script-path=jd_dreamFactory.js,tag=京喜工厂
cron "10 0,6-23 * * *" script-path=jd_dreamFactory.js,tag=京喜工厂
===============Surge=================
京喜工厂 = type=cron,cronexp="10 * * * *",wake-system=1,timeout=3600,script-path=jd_dreamFactory.js
京喜工厂 = type=cron,cronexp="10 0,6-23 * * *",wake-system=1,timeout=3600,script-path=jd_dreamFactory.js
============小火箭=========
京喜工厂 = type=cron,script-path=jd_dreamFactory.js, cronexpr="10 * * * *", timeout=3600, enable=true
京喜工厂 = type=cron,script-path=jd_dreamFactory.js, cronexpr="10 0,6-23 * * *", timeout=3600, enable=true
*/
// prettier-ignore
@ -41,16 +43,19 @@ let notifyLevel = $.isNode() ? process.env.JXGC_NOTIFY_LEVEL || 2 : 2;
const randomCount = $.isNode() ? 20 : 5;
let tuanActiveId = ``, hasSend = false;
const jxOpenUrl = `openjd://virtual?params=%7B%20%22category%22:%20%22jump%22,%20%22des%22:%20%22m%22,%20%22url%22:%20%22https://wqsd.jd.com/pingou/dream_factory/index.html%22%20%7D`;
let cookiesArr = [], cookie = '', message = '', allMessage = '';
let cookiesArr = [], cookie = '', message = '', allMessage = '', jdDreamFactoryShareArr = [], newShareCodes;
const inviteCodes = [
'AXDgNYKNLs51h24hm7ZK-w==@2pMYXE95BIkCIGcO6UzTpQ==@DgHnSIl_Xks49TJjxzo7nw==@UO68abNzUTGatLzR4Z4RTg==@xJctChTp3ru2blH_WwFopg==@W2y011egxw55xNDYP8Xpww==@NRjbnfYENRVL9QSnLZZNrA==@dmgVOhr4JdUp1CG78ohkWw==@6nURqZ5tze71d9TbZGQg3Q==',
'AXDgNYKNLs51h24hm7ZK-w==@2pMYXE95BIkCIGcO6UzTpQ==@DgHnSIl_Xks49TJjxzo7nw==@UO68abNzUTGatLzR4Z4RTg==@xJctChTp3ru2blH_WwFopg==@W2y011egxw55xNDYP8Xpww==@NRjbnfYENRVL9QSnLZZNrA==@dmgVOhr4JdUp1CG78ohkWw==@6nURqZ5tze71d9TbZGQg3Q==',
'AXDgNYKNLs51h24hm7ZK-w==@2pMYXE95BIkCIGcO6UzTpQ==@DgHnSIl_Xks49TJjxzo7nw==@UO68abNzUTGatLzR4Z4RTg==@xJctChTp3ru2blH_WwFopg==@W2y011egxw55xNDYP8Xpww==@NRjbnfYENRVL9QSnLZZNrA==@dmgVOhr4JdUp1CG78ohkWw==@6nURqZ5tze71d9TbZGQg3Q==',
'AXDgNYKNLs51h24hm7ZK-w==@2pMYXE95BIkCIGcO6UzTpQ==@DgHnSIl_Xks49TJjxzo7nw==@UO68abNzUTGatLzR4Z4RTg==@xJctChTp3ru2blH_WwFopg==@W2y011egxw55xNDYP8Xpww==@NRjbnfYENRVL9QSnLZZNrA==@dmgVOhr4JdUp1CG78ohkWw==@6nURqZ5tze71d9TbZGQg3Q==',
'V5LkjP4WRyjeCKR9VRwcRX0bBuTz7MEK0-E99EJ7u0k=@0WtCMPNq7jekehT6d3AbFw==@6lw84c1ARwpoRyOtfnF77g==@J1t777njetfQcyEg57lzQA==@W9u_eBl3YKbSjXu0QP3HGQ=@VV55A_oKz5u5CYrL3jxPdg==@9TCPf6sW9_v3B9f3KUoa7Q==',
"gB99tYLjvPcEFloDgamoBw==@7dluIKQMp0bySgcr8AqFgw==@6lw84c1ARwpoRyOtfnF77g==@J1t777njetfQcyEg57lzQA==@W9u_eBl3YKbSjXu0QP3HGQ=@VV55A_oKz5u5CYrL3jxPdg==@9TCPf6sW9_v3B9f3KUoa7Q==",
'-OvElMzqeyeGBWazWYjI1Q==@6lw84c1ARwpoRyOtfnF77g==@J1t777njetfQcyEg57lzQA==@W9u_eBl3YKbSjXu0QP3HGQ=@VV55A_oKz5u5CYrL3jxPdg==@9TCPf6sW9_v3B9f3KUoa7Q==',
'GFwo6PntxDHH95ZRzZ5uAg==@6lw84c1ARwpoRyOtfnF77g==@J1t777njetfQcyEg57lzQA==@W9u_eBl3YKbSjXu0QP3HGQ=@VV55A_oKz5u5CYrL3jxPdg==@9TCPf6sW9_v3B9f3KUoa7Q=='
];
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
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";
$.tuanIds = [];
$.appId = 10001;
$.newShareCode = [];
if ($.isNode()) {
Object.keys(jdCookieNode).forEach((item) => {
cookiesArr.push(jdCookieNode[item])
@ -61,6 +66,9 @@ if ($.isNode()) {
cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item);
}
!(async () => {
if (!process.env.JD_JOIN_ZLC) {
console.log(`【注意】本脚本默认会给助力池进行助力!\n如需加入助力池请添加TG群https://t.me/jd_zero_205\n如不加入助力池互助可添加变量名称JD_JOIN_ZLC变量值false\n`)
}
$.CryptoJS = $.isNode() ? require('crypto-js') : CryptoJS;
await requireConfig();
if (!cookiesArr[0]) {
@ -96,6 +104,14 @@ if ($.isNode()) {
await jdDreamFactory()
}
}
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 helpFriends();
}
}
if (tuanActiveId) {
for (let i = 0; i < cookiesArr.length; i++) {
if (cookiesArr[i]) {
@ -133,15 +149,14 @@ async function jdDreamFactory() {
await userInfo();
await QueryFriendList();//查询今日招工情况以及剩余助力次数
// await joinLeaderTuan();//参团
await helpFriends();
if (!$.unActive) return
// await collectElectricity()
await getUserElectricity();
await taskList();
await investElectric();
await QueryHireReward();//收取招工电力
await PickUp();//收取自家的地下零件
await stealFriend();
// await PickUp();//收取自家的地下零件
// await stealFriend();
if (tuanActiveId) {
await tuanActivity();
await QueryAllTuan();
@ -175,13 +190,16 @@ function getActiveId(url = 'https://wqsd.jd.com/pingou/dream_factory/index.html'
const start = item.start;
const end = item.end;
const link = item.link;
if ((new Date(item.start).getTime() <= Date.now()) && (new Date(item.end).getTime() > Date.now())) {
const start_time = new Date(item.start).getTime()
const end_time = new Date(item.end).getTime()
const now_time = Date.now()
if ((start_time <= now_time) && (end_time > now_time)) {
if (link && link.match(/activeId=(.*),/) && link.match(/activeId=(.*),/)[1]) {
console.log(`\n团活动ID: ${link.match(/activeId=(.*),/)[1]}\n有效时间:${start} - ${end}`);
tuanActiveId = link.match(/activeId=(.*),/)[1];
break
}
} else if ((new Date(item.start).getTime() > Date.now()) && (new Date(item.end).getTime() > Date.now())) {
} else if ((start_time > now_time) && (end_time > now_time)) {
if (link && link.match(/activeId=(.*),/) && link.match(/activeId=(.*),/)[1]) {
console.log(`\n团活动ID: ${link.match(/activeId=(.*),/)[1]}\n有效时间:${start} - ${end}\n团ID还未开始`);
tuanActiveId = '';
@ -447,7 +465,13 @@ async function helpFriends() {
}
if ($.canHelpFlag) {
await shareCodesFormat();
for (let code of $.newShareCodes) {
if ($.isNode() && !process.env.DREAM_FACTORY_SHARE_CODES) {
console.log(`您未填写助力码变量开始账号内互助再帮【zero205】助力`);
$.newShareCode = [...(jdDreamFactoryShareArr || []), ...(newShareCodes || [])]
} else {
$.newShareCode = newShareCodes
}
for (let code of $.newShareCode) {
if (code) {
if ($.encryptPin === code) {
console.log(`不能为自己助力,跳过`);
@ -636,6 +660,7 @@ function userInfo() {
$.productionId = production.productionId;//商品ID
$.commodityDimId = production.commodityDimId;
$.encryptPin = data.user.encryptPin;
// subTitle = data.user.pin;
await GetCommodityDetails();//获取已选购的商品信息
if (productionStage['productionStageAwardStatus'] === 1) {
@ -647,6 +672,7 @@ function userInfo() {
console.log(`当前电力:${data.user.electric}`)
console.log(`当前等级:${data.user.currentLevel}`)
console.log(`\n【京东账号${$.index}${$.UserName})的${$.name}好友互助码】${data.user.encryptPin}`);
jdDreamFactoryShareArr.push(data.user.encryptPin)
console.log(`已投入电力:${production.investedElectric}`);
console.log(`所需电力:${production.needElectric}`);
console.log(`生产进度:${((production.investedElectric / production.needElectric) * 100).toFixed(2)}%`);
@ -701,6 +727,7 @@ function userInfo() {
})
})
}
//查询当前生产的商品名称
function GetCommodityDetails() {
return new Promise(async resolve => {
@ -1024,18 +1051,14 @@ async function tuanActivity() {
}
}
async function joinLeaderTuan() {
let res = await updateTuanIdsCDN('https://raw.githubusercontent.com/Aaron-lv/updateTeam/master/shareCodes/jd_updateFactoryTuanId.json')
if (!res) {
$.http.get({url: 'https://purge.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jd_updateFactoryTuanId.json'}).then((resp) => {}).catch((e) => $.log('刷新CDN异常', e));
await $.wait(1000)
res = await updateTuanIdsCDN('https://cdn.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jd_updateFactoryTuanId.json');
}
let res = await updateTuanIdsCDN('https://raw.githubusercontent.com/zero205/updateTeam/main/shareCodes/jd_updateFactoryTuanId.json')
if (!res) res = await updateTuanIdsCDN('https://raw.fastgit.org/zero205/updateTeam/main/shareCodes/jd_updateFactoryTuanId.json')
$.authorTuanIds = [...(res && res.tuanIds || [])]
if ($.authorTuanIds && $.authorTuanIds.length) {
for (let tuanId of $.authorTuanIds) {
if (!tuanId) continue
if (!$.canHelp) break;
console.log(`\n账号${$.UserName} 参加作者的团 【${tuanId}`);
console.log(`\n账号${$.UserName} 参加zero205的团 【${tuanId}`);
await JoinTuan(tuanId);
await $.wait(1000);
}
@ -1354,12 +1377,12 @@ async function showMsg() {
})
}
function readShareCode() {
console.log(`开始`)
console.log(`当前使用助力池${JD_ZLC_URL}`);
return new Promise(async resolve => {
$.get({url: `http://transfer.nz.lu/jxfactory`, timeout: 10000}, (err, resp, data) => {
$.get({url: `${JD_ZLC_URL}/jxfactory`, '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) {
@ -1380,47 +1403,29 @@ function readShareCode() {
//格式化助力码
function shareCodesFormat() {
return new Promise(async resolve => {
// console.log(`第${$.index}个京东账号的助力码:::${$.shareCodesArr[$.index - 1]}`)
$.newShareCodes = [];
console.log(`${$.index}个京东账号的助力码:::${$.shareCodesArr[$.index - 1]}`)
newShareCodes = [];
if ($.shareCodesArr[$.index - 1]) {
$.newShareCodes = $.shareCodesArr[$.index - 1].split('@');
newShareCodes = $.shareCodesArr[$.index - 1].split('@');
} else {
console.log(`由于您第${$.index}个京东账号未提供shareCode,将采纳本脚本自带的助力码\n`)
// console.log(`由于您第${$.index}个京东账号未提供shareCode,将采纳本脚本自带的助力码\n`)
const tempIndex = $.index > inviteCodes.length ? (inviteCodes.length - 1) : ($.index - 1);
$.newShareCodes = inviteCodes[tempIndex].split('@');
newShareCodes = inviteCodes[tempIndex].split('@');
}
if (!ZLC) {
console.log(`您设置了不加入助力池,跳过\n`)
} else {
const readShareCodeRes = await readShareCode();
if (readShareCodeRes && readShareCodeRes.code === 200) {
$.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])];
newShareCodes = [...new Set([...newShareCodes, ...(readShareCodeRes.data || [])])];
}
console.log(`${$.index}个京东账号将要助力的好友${JSON.stringify($.newShareCodes)}`)
}
console.log(`${$.index}个京东账号将要助力的好友${JSON.stringify(newShareCodes)}`)
resolve();
})
}
function requireConfig() {
return new Promise(async resolve => {
// tuanActiveId = $.isNode() ? (process.env.TUAN_ACTIVEID || tuanActiveId) : ($.getdata('tuanActiveId') || tuanActiveId);
// if (!tuanActiveId) {
// await updateTuanIdsCDN('https://raw.githubusercontent.com/Aaron-lv/updateTeam/master/shareCodes/jd_updateFactoryTuanId.json');
// if ($.tuanConfigs && $.tuanConfigs['tuanActiveId']) {
// tuanActiveId = $.tuanConfigs['tuanActiveId'];
// console.log(`拼团活动ID: 获取成功 ${tuanActiveId}\n`)
// } else {
// if (!$.tuanConfigs) {
// $.http.get({url: 'https://purge.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jd_updateFactoryTuanId.json'}).then((resp) => {}).catch((e) => $.log('刷新CDN异常', e));
// await $.wait(1000)
// await updateTuanIdsCDN('https://cdn.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/jd_updateFactoryTuanId.json');
// if ($.tuanConfigs && $.tuanConfigs['tuanActiveId']) {
// tuanActiveId = $.tuanConfigs['tuanActiveId'];
// console.log(`拼团活动ID: 获取成功 ${tuanActiveId}\n`)
// } else {
// console.log(`拼团活动ID获取失败将采取脚本内置活动ID\n`)
// }
// }
// }
// } else {
// console.log(`自定义拼团活动ID: 获取成功 ${tuanActiveId}`)
// }
console.log(`开始获取${$.name}配置文件\n`);
//Node.js用户请在jdCookie.js处填写京东ck;
const shareCodes = $.isNode() ? require('./jdDreamFactoryShareCodes.js') : '';
@ -1534,7 +1539,8 @@ function taskurl(functionId, body = '', stk) {
'Accept-Language': 'zh-cn',
'Referer': 'https://wqsd.jd.com/pingou/dream_factory/index.html',
'Accept-Encoding': 'gzip, deflate, br',
}
},
timeout: 10000
}
}
function newtasksysUrl(functionId, taskId, stk) {

1619
jd_fruit.js Executable file

File diff suppressed because one or more lines are too long

150
jd_health.js Normal file → Executable file

File diff suppressed because one or more lines are too long

132
jd_jdfactory.js Normal file → Executable file

File diff suppressed because one or more lines are too long

781
jd_pet.js Normal file → Executable file

File diff suppressed because one or more lines are too long

276
jd_plantBean.js Normal file → Executable file
View File

@ -1,22 +1,29 @@
/*
种豆得豆
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;
@ -28,7 +35,14 @@ 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,19 +50,11 @@ 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" });
@ -62,7 +68,7 @@ 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" });
@ -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
@ -123,9 +138,6 @@ async function jdPlantBean() {
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) {
@ -215,7 +228,6 @@ async function stealFriendWater() {
}
}
}
await $.wait(1000)
}
}
} else {
@ -247,19 +259,20 @@ 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:
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) {
@ -269,21 +282,16 @@ async function doTask() {
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;
@ -304,8 +312,8 @@ async function doTask() {
break;
}
}
continue;
case 5:
}
if (item.taskType === 5) {
//挑选商品
console.log(`开始做 ${item.taskName}任务`);
let unFinishedProductNum = item.totalNum - item.gainedNum;
@ -314,9 +322,9 @@ async function doTask() {
}
await productTaskList();
// console.log('productTaskList', $.productTaskList);
//const { data1 } = $.productTaskList;
const { data } = $.productTaskList;
let productListARR = [], productList = [];
const { productInfoList } = $.productTaskList.data;
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]);
@ -347,8 +355,8 @@ async function doTask() {
break;
}
}
continue;
case 10:
}
if (item.taskType === 10) {
//关注频道
console.log(`开始做 ${item.taskName}任务`);
let unFinishedChannelNum = item.totalNum - item.gainedNum;
@ -356,11 +364,11 @@ async function doTask() {
continue
}
await plantChannelTaskList();
//const { data2 } = $.plantChannelTaskList;
const { data } = $.plantChannelTaskList;
// console.log('goodShopList', data.goodShopList);
// console.log('moreShopList', data.moreShopList);
let goodChannelListARR = [], normalChannelListARR = [], channelList = [];
const { goodChannelList, normalChannelList } = $.plantChannelTaskList.data;
const { goodChannelList, normalChannelList } = data;
for (let i of goodChannelList) {
if (i.taskState === '2') {
goodChannelListARR.push(i);
@ -390,24 +398,14 @@ async function doTask() {
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;
}
}
}
}
}
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
@ -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 (!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();
})
@ -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 {
@ -820,18 +733,15 @@ function TotalBean() {
}
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) {

72
jd_sgmh.js Normal file → Executable file
View 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/" });
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];
@ -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('@');
}
$.newShareCodes = [...new Set([...$.newShareCodes, ...self_code,...inviteCodes])]
if (!ZLC) {
console.log(`您设置了不加入助力池,跳过\n`)
} else {
const readShareCodeRes = await readShareCode();
// console.log(readShareCodeRes)
if (readShareCodeRes && readShareCodeRes.code === 200) {
$.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])];
$.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 = {