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
118
jd_dreamFactory.js
Normal file → Executable file
118
jd_dreamFactory.js
Normal file → Executable 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
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
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
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
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
276
jd_plantBean.js
Normal file → Executable 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
72
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/" });
|
||||
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 = {
|
||||
|
Loading…
Reference in New Issue
Block a user