mirror of
https://github.com/lan-tianxiang/clone_scripts.git
synced 2026-08-19 18:44:04 +08:00
更新于 08-06 11:01
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
// @grant require
|
||||
/*
|
||||
由于 canvas 依赖系统底层需要编译且预编译包在 github releases 上,改用另一个纯 js 解码图片。若想继续使用 canvas 可调用 runWithCanvas 。
|
||||
|
||||
@@ -6,12 +7,13 @@
|
||||
const https = require('https');
|
||||
const http = require('http');
|
||||
const stream = require('stream');
|
||||
const { promisify } = require('util');
|
||||
const pipelineAsync = promisify(stream.pipeline);
|
||||
const zlib = require('zlib');
|
||||
const vm = require('vm');
|
||||
const PNG = require('png-js');
|
||||
const UA = require('./USER_AGENTS.js').USER_AGENT;
|
||||
const { promisify } = require('util');
|
||||
const pipelineAsync = promisify(stream.pipeline);
|
||||
|
||||
|
||||
Math.avg = function average() {
|
||||
var sum = 0;
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
// @grant require
|
||||
const https = require('https');
|
||||
const http = require('http');
|
||||
const stream = require('stream');
|
||||
const { promisify } = require('util');
|
||||
const pipelineAsync = promisify(stream.pipeline);
|
||||
const zlib = require('zlib');
|
||||
const vm = require('vm');
|
||||
const PNG = require('png-js');
|
||||
let UA = require('./USER_AGENTS.js').USER_AGENT;
|
||||
const validatorCount = process.env.JDJR_validator_Count ? process.env.JDJR_validator_Count : 100
|
||||
const { promisify } = require('util');
|
||||
const pipelineAsync = promisify(stream.pipeline);
|
||||
|
||||
|
||||
Math.avg = function average() {
|
||||
var sum = 0;
|
||||
|
||||
@@ -848,7 +848,7 @@ let utils = {
|
||||
outstr.push("C");
|
||||
var data = {
|
||||
tm: [],
|
||||
tnm: [],
|
||||
tnm: ["d5-15,C5,5JD,a,t","d7-15,C5,5LJ,a,t"],
|
||||
grn: 1,
|
||||
ss: TouchSession,
|
||||
wed: 'ttttt',
|
||||
|
||||
@@ -4,6 +4,8 @@
|
||||
#30 * * * * sh +x /scripts/docker/auto_help.sh collect >> /scripts/logs/auto_help_collect.log 2>&1
|
||||
|
||||
##############短期活动##############
|
||||
#七夕
|
||||
36 0,10,21 4-15 8 * node /scripts/jd_qixi.js >> /scripts/logs/jd_qixi.log 2>&1
|
||||
#柠檬赚金币
|
||||
0 7 * * * node /scripts/jd_zjb.js >> /scripts/logs/jd_zjb.log 2>&1
|
||||
#整点京豆雨
|
||||
|
||||
+16
-20
@@ -61,7 +61,7 @@ if ($.isNode()) {
|
||||
let notifyContent = ''
|
||||
console.log = (...args) => {
|
||||
if(args[0].includes("【签到号")){
|
||||
notifyContent += args[0].split('\n\n')[1]
|
||||
notifyContent += args[0].split('\n\n')[1] + '\n'
|
||||
// originalLog('catch notifyContent:'+notifyContent)
|
||||
}
|
||||
originalLog.apply(
|
||||
@@ -108,37 +108,33 @@ function changeFile (content,cookie) {
|
||||
return newContent
|
||||
}
|
||||
|
||||
async function TotalBean(cookie) {
|
||||
function TotalBean(cookie) {
|
||||
return new Promise(async resolve => {
|
||||
const options = {
|
||||
"url": `https://wq.jd.com/user/info/QueryJDUserInfo?sceneval=2`,
|
||||
"headers": {
|
||||
"Accept": "application/json,text/plain, */*",
|
||||
"Content-Type": "application/x-www-form-urlencoded",
|
||||
"Accept-Encoding": "gzip, deflate, br",
|
||||
url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion",
|
||||
headers: {
|
||||
Host: "me-api.jd.com",
|
||||
Accept: "*/*",
|
||||
Connection: "keep-alive",
|
||||
Cookie: cookie,
|
||||
"User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"),
|
||||
"Accept-Language": "zh-cn",
|
||||
"Connection": "keep-alive",
|
||||
"Cookie": cookie,
|
||||
"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": 10000
|
||||
"Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&",
|
||||
"Accept-Encoding": "gzip, deflate, br"
|
||||
}
|
||||
}
|
||||
$.post(options, (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
resolve()
|
||||
} else {
|
||||
if (data) {
|
||||
data = JSON.parse(data);
|
||||
if (data['retcode'] === 13) {
|
||||
return //cookie过期
|
||||
}
|
||||
if (data['retcode'] === 0) {
|
||||
$.nickName = (data['base'] && data['base'].nickname) || $.UserName;
|
||||
} else {
|
||||
$.nickName = $.UserName
|
||||
if (data['retcode'] === "1001") {
|
||||
resolve(); //cookie过期
|
||||
return
|
||||
}
|
||||
resolve(true)
|
||||
} else {
|
||||
|
||||
+10
-5
@@ -1,3 +1,4 @@
|
||||
// @grant require
|
||||
/*
|
||||
东东超市兑换奖品 脚本地址:https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_blueCoin.js
|
||||
感谢@yangtingxiao提供PR
|
||||
@@ -25,7 +26,7 @@ const notify = $.isNode() ? require('./sendNotify') : '';
|
||||
let allMessage = '';
|
||||
//Node.js用户请在jdCookie.js处填写京东ck;
|
||||
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
|
||||
let coinToBeans = $.getdata('coinToBeans') || 20; //兑换多少数量的京豆(20或者1000),0表示不兑换,默认不兑换京豆,如需兑换把0改成20或者1000,或者'商品名称'(商品名称放到单引号内)即可
|
||||
let coinToBeans = $.getdata('coinToBeans') || 0; //兑换多少数量的京豆(20或者1000),0表示不兑换,默认不兑换京豆,如需兑换把0改成20或者1000,或者'商品名称'(商品名称放到单引号内)即可
|
||||
let jdNotify = false;//是否开启静默运行,默认false关闭(即:奖品兑换成功后会发出通知提示)
|
||||
//IOS等用户直接用NobyDa的jd cookie
|
||||
let cookiesArr = [], cookie = '';
|
||||
@@ -113,7 +114,7 @@ Date.prototype.Format = function (fmt) { //author: meizz
|
||||
|
||||
async function PrizeIndex() {
|
||||
let nowtime = new Date().Format("s.S")
|
||||
let starttime = process.env.SM_STARTTIME ? process.env.SM_STARTTIME : 59;
|
||||
let starttime = $.isNode() ? (process.env.SM_STARTTIME ? process.env.SM_STARTTIME * 1 : 60) : ($.getdata('SM_STARTTIME') ? $.getdata('SM_STARTTIME') * 1 : 60);
|
||||
if(nowtime < 59) {
|
||||
let sleeptime = (starttime - nowtime) * 1000;
|
||||
console.log(`等待时间 ${sleeptime / 1000}`);
|
||||
@@ -150,6 +151,7 @@ async function PrizeIndex() {
|
||||
if ($.totalBlue > $.blueCost) {
|
||||
for (let j = 0; j <= 10; j++) {
|
||||
await smtg_obtainPrize(prizeList[1].prizeId);
|
||||
if ($.errBizCodeCount >= 3) break
|
||||
}
|
||||
} else {
|
||||
console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`);
|
||||
@@ -178,6 +180,7 @@ async function PrizeIndex() {
|
||||
if ($.totalBlue > $.blueCost) {
|
||||
for (let j = 0; j <= 10; j++) {
|
||||
await smtg_obtainPrize(prizeList[0].prizeId, 1000);
|
||||
if ($.errBizCodeCount >= 3) break
|
||||
}
|
||||
} else {
|
||||
console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`);
|
||||
@@ -211,10 +214,12 @@ async function PrizeIndex() {
|
||||
if ($.type === 4 && !$.beanType) {
|
||||
for (let j = 0; j <= 10; j++) {
|
||||
await smtg_obtainPrize(prizeId, 0, "smtg_lockMaterialPrize")
|
||||
if ($.errBizCodeCount >= 3) break
|
||||
}
|
||||
} else {
|
||||
for (let j = 0; j <= 10; j++) {
|
||||
await smtg_obtainPrize(prizeId);
|
||||
if ($.errBizCodeCount >= 3) break
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -353,15 +358,15 @@ function smtg_obtainPrize(prizeId, timeout = 0, functionId = 'smt_exchangePrize'
|
||||
if (safeGet(data)) {
|
||||
data = JSON.parse(data);
|
||||
$.data = data;
|
||||
if ($.data.data.bizCode !== 0 && $.data.data.bizCode !== 106) {
|
||||
if ($.data.data.bizCode !== 0 && $.data.data.bizCode !== 400) {
|
||||
$.beanerr = `${$.data.data.bizMsg}`;
|
||||
//console.log(`【京东账号${$.index}】${$.nickName} 换取京豆失败:${$.data.data.bizMsg}`)
|
||||
return
|
||||
}
|
||||
if ($.data.data.bizCode === 106) {
|
||||
if ($.data.data.bizCode === 400) {
|
||||
$.errBizCodeCount ++;
|
||||
console.log(`debug 兑换京豆活动火爆次数:${$.errBizCodeCount}`);
|
||||
if ($.errBizCodeCount >= 20) return
|
||||
return
|
||||
}
|
||||
if ($.data.data.bizCode === 0) {
|
||||
if (`${coinToBeans}` === '1000') {
|
||||
|
||||
@@ -38,6 +38,8 @@ cron "5 * * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_
|
||||
$.result = [];
|
||||
$.shareCodes = [];
|
||||
let cookiesArr = [], cookie = '', token = '';
|
||||
let UA, UAInfo = {}
|
||||
let nowTimes;
|
||||
|
||||
const randomCount = $.isNode() ? 3 : 3;
|
||||
if ($.isNode()) {
|
||||
@@ -59,8 +61,17 @@ cron "5 * * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_
|
||||
$.CryptoJS = $.isNode() ? require('crypto-js') : CryptoJS;
|
||||
await requestAlgo();
|
||||
await $.wait(1000)
|
||||
let res = []
|
||||
let res2 = []
|
||||
let res = await getAuthorShareCode('https://raw.githubusercontent.com/Aaron-lv/updateTeam/master/shareCodes/cfd.json')
|
||||
if (!res) {
|
||||
$.http.get({url: 'https://purge.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/cfd.json'}).then((resp) => {}).catch((e) => console.log('刷新CDN异常', e));
|
||||
await $.wait(1000)
|
||||
res = await getAuthorShareCode('https://cdn.jsdelivr.net/gh/Aaron-lv/updateTeam@master/shareCodes/cfd.json')
|
||||
}
|
||||
let res2 = await getAuthorShareCode('https://raw.githubusercontent.com/zero205/updateTeam/main/shareCodes/cfd.json')
|
||||
if (!res2) {
|
||||
await $.wait(1000)
|
||||
res2 = await getAuthorShareCode('https://raw.fastgit.org/zero205/updateTeam/main/shareCodes/cfd.json')
|
||||
}
|
||||
$.strMyShareIds = [...(res && res.shareId || []), ...(res2 && res2.shareId || [])]
|
||||
for (let i = 0; i < cookiesArr.length; i++) {
|
||||
if (cookiesArr[i]) {
|
||||
@@ -81,16 +92,19 @@ cron "5 * * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_
|
||||
}
|
||||
$.allTask = []
|
||||
$.info = {}
|
||||
UA = `jdpingou;iPhone;4.13.0;14.4.2;${randomString()};network/wifi;model/iPhone10,2;appBuild/100609;ADID/00000000-0000-0000-0000-000000000000;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`
|
||||
token = await getJxToken()
|
||||
await shareCodesFormat()
|
||||
await cfd();
|
||||
await $.wait(2000);
|
||||
UAInfo[$.UserName] = UA
|
||||
}
|
||||
}
|
||||
for (let j = 0; j < cookiesArr.length; j++) {
|
||||
cookie = cookiesArr[j];
|
||||
$.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1])
|
||||
$.canHelp = true
|
||||
UA = UAInfo[$.UserName]
|
||||
if ($.shareCodes && $.shareCodes.length) {
|
||||
console.log(`\n自己账号内部循环互助\n`);
|
||||
for (let id of $.shareCodes) {
|
||||
@@ -118,6 +132,7 @@ cron "5 * * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_
|
||||
|
||||
async function cfd() {
|
||||
try {
|
||||
nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000)
|
||||
let beginInfo = await getUserInfo();
|
||||
if (beginInfo.Fund.ddwFundTargTm === 0) {
|
||||
console.log(`还未开通活动,尝试初始化`)
|
||||
@@ -155,8 +170,10 @@ cron "5 * * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_
|
||||
}
|
||||
|
||||
//合成珍珠
|
||||
if (nowTimes.getHours() >= 5) {
|
||||
await $.wait(2000)
|
||||
await composeGameState()
|
||||
}
|
||||
|
||||
//接待贵宾
|
||||
console.log(`接待贵宾`)
|
||||
@@ -1454,7 +1471,7 @@ cron "5 * * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_
|
||||
Referer: "https://st.jingxi.com/fortune_island/index.html?ptag=138631.26.55",
|
||||
"Accept-Encoding": "gzip, deflate, br",
|
||||
Host: 'm.jingxi.com',
|
||||
"User-Agent": `jdpingou;iPhone;3.15.2;14.2.1;ea00763447803eb0f32045dcba629c248ea53bb3;network/wifi;model/iPhone13,2;appBuild/100365;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/${Math.random * 98 + 1};pap/JA2015_311210;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148`,
|
||||
"User-Agent": UA,
|
||||
"Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
|
||||
}
|
||||
}
|
||||
@@ -1484,7 +1501,7 @@ cron "5 * * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_
|
||||
Referer:"https://st.jingxi.com/fortune_island/index.html?ptag=138631.26.55",
|
||||
"Accept-Encoding": "gzip, deflate, br",
|
||||
Host: "m.jingxi.com",
|
||||
"User-Agent":`jdpingou;iPhone;3.15.2;14.2.1;ea00763447803eb0f32045dcba629c248ea53bb3;network/wifi;model/iPhone13,2;appBuild/100365;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/${Math.random * 98 + 1};pap/JA2015_311210;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148`,
|
||||
"User-Agent": UA,
|
||||
"Accept-Language": "zh-cn",
|
||||
},
|
||||
timeout: 10000
|
||||
@@ -1503,13 +1520,21 @@ cron "5 * * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_
|
||||
Referer:"https://st.jingxi.com/fortune_island/index.html?ptag=138631.26.55",
|
||||
"Accept-Encoding": "gzip, deflate, br",
|
||||
Host: "m.jingxi.com",
|
||||
"User-Agent":`jdpingou;iPhone;3.15.2;14.2.1;ea00763447803eb0f32045dcba629c248ea53bb3;network/wifi;model/iPhone13,2;appBuild/100365;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/${Math.random * 98 + 1};pap/JA2015_311210;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148`,
|
||||
"User-Agent": UA,
|
||||
"Accept-Language": "zh-cn",
|
||||
},
|
||||
timeout: 10000
|
||||
};
|
||||
}
|
||||
|
||||
function randomString() {
|
||||
return Math.random().toString(16).slice(2, 10) +
|
||||
Math.random().toString(16).slice(2, 10) +
|
||||
Math.random().toString(16).slice(2, 10) +
|
||||
Math.random().toString(16).slice(2, 10) +
|
||||
Math.random().toString(16).slice(2, 10)
|
||||
}
|
||||
|
||||
function showMsg() {
|
||||
return new Promise(async (resolve) => {
|
||||
if ($.result.length) {
|
||||
@@ -1609,9 +1634,9 @@ cron "5 * * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_
|
||||
function TotalBean() {
|
||||
return new Promise(async resolve => {
|
||||
const options = {
|
||||
url: "https://wq.jd.com/user_new/info/GetJDUserInfoUnion?sceneval=2",
|
||||
url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion",
|
||||
headers: {
|
||||
Host: "wq.jd.com",
|
||||
Host: "me-api.jd.com",
|
||||
Accept: "*/*",
|
||||
Connection: "keep-alive",
|
||||
Cookie: cookie,
|
||||
@@ -1628,11 +1653,11 @@ cron "5 * * * *" script-path=https://raw.githubusercontent.com/Aaron-lv/sync/jd_
|
||||
} else {
|
||||
if (data) {
|
||||
data = JSON.parse(data);
|
||||
if (data['retcode'] === 1001) {
|
||||
if (data['retcode'] === "1001") {
|
||||
$.isLogin = false; //cookie过期
|
||||
return;
|
||||
}
|
||||
if (data['retcode'] === 0 && data.data && data.data.hasOwnProperty("userInfo")) {
|
||||
if (data['retcode'] === "0" && data.data && data.data.hasOwnProperty("userInfo")) {
|
||||
$.nickName = data.data.userInfo.baseInfo.nickname;
|
||||
}
|
||||
} else {
|
||||
|
||||
+22
-119
@@ -20,7 +20,7 @@
|
||||
$.notifyTime = $.getdata("cfd_notifyTime");
|
||||
$.result = [];
|
||||
$.shareCodes = [];
|
||||
let cookiesArr = [], cookie = '', token = '';
|
||||
let cookiesArr = [], cookie = '', token = '', UA, UAInfo = {};
|
||||
|
||||
if ($.isNode()) {
|
||||
Object.keys(jdCookieNode).forEach((item) => {
|
||||
@@ -53,17 +53,18 @@
|
||||
$.index = i + 1;
|
||||
$.nickName = '';
|
||||
$.isLogin = true;
|
||||
await TotalBean();
|
||||
console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`);
|
||||
if (!$.isLogin) {
|
||||
$.log($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/bean/signIndex.action`, {"open-url": "https://bean.m.jd.com/bean/signIndex.action"})
|
||||
continue
|
||||
}
|
||||
$.info = {}
|
||||
if (UAInfo[$.UserName]) {
|
||||
UA = UAInfo[$.UserName]
|
||||
} else {
|
||||
UA = `jdpingou;iPhone;4.13.0;14.4.2;${randomString()};network/wifi;model/iPhone10,2;appBuild/100609;ADID/00000000-0000-0000-0000-000000000000;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`
|
||||
}
|
||||
token = await getJxToken()
|
||||
await cfd();
|
||||
let time = process.env.CFD_LOOP_SLEEPTIME ? (process.env.CFD_LOOP_SLEEPTIME * 1 > 1000 ? process.env.CFD_LOOP_SLEEPTIME : process.env.CFD_LOOP_SLEEPTIME * 1000) : 5000
|
||||
await $.wait(time)
|
||||
UAInfo[$.UserName] = UA
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -73,7 +74,7 @@
|
||||
|
||||
async function cfd() {
|
||||
try {
|
||||
const beginInfo = await getUserInfo(false);
|
||||
const beginInfo = await getUserInfo();
|
||||
if (beginInfo.Fund.ddwFundTargTm === 0) {
|
||||
console.log(`还未开通活动,请先开通\n`)
|
||||
return
|
||||
@@ -205,6 +206,12 @@
|
||||
case '只要诚心祈祷,愿望就会实现哦~':
|
||||
dwName = '海星'
|
||||
break
|
||||
case '阳光下的小贝壳会像宝石一样,散发耀眼的光芒':
|
||||
dwName = '小贝壳'
|
||||
break
|
||||
case '啊~我可不想被清蒸加蒜蓉':
|
||||
dwName = '扇贝'
|
||||
break
|
||||
default:
|
||||
break
|
||||
}
|
||||
@@ -257,7 +264,7 @@
|
||||
}
|
||||
|
||||
// 获取用户信息
|
||||
function getUserInfo(showInvite = true) {
|
||||
function getUserInfo() {
|
||||
return new Promise(async (resolve) => {
|
||||
$.get(taskUrl(`user/QueryUserInfo`, `strPgUUNum=${token['farm_jstoken']}&strPgtimestamp=${token['timestamp']}&strPhoneID=${token['phoneid']}`), (err, resp, data) => {
|
||||
try {
|
||||
@@ -267,45 +274,16 @@
|
||||
} else {
|
||||
data = JSON.parse(data);
|
||||
const {
|
||||
iret,
|
||||
buildInfo = {},
|
||||
ddwRichBalance,
|
||||
ddwCoinBalance,
|
||||
JxUserWelfare,
|
||||
sErrMsg,
|
||||
strMyShareId,
|
||||
strNickName,
|
||||
dwLandLvl,
|
||||
Fund = {}
|
||||
} = data;
|
||||
const dwIsJxNewUser = JxUserWelfare["dwIsJxNewUser"]
|
||||
if (showInvite) {
|
||||
console.log(`\n获取用户信息:${sErrMsg}\n${$.showLog ? data : ""}`);
|
||||
console.log(`\n当前等级:${dwLandLvl},金币:${ddwCoinBalance},财富值:${ddwRichBalance}\n`)
|
||||
}
|
||||
if (showInvite && strMyShareId) {
|
||||
console.log(`财富岛好友互助码每次运行都变化,旧的可继续使用`);
|
||||
console.log(`\n【京东账号${$.index} ${$.UserName} 的${$.name}好友互助码】${strMyShareId}\n\n`);
|
||||
$.shareCodes.push(strMyShareId)
|
||||
}
|
||||
$.info = {
|
||||
...$.info,
|
||||
buildInfo,
|
||||
ddwRichBalance,
|
||||
ddwCoinBalance,
|
||||
dwIsJxNewUser,
|
||||
strMyShareId,
|
||||
strNickName,
|
||||
dwLandLvl,
|
||||
Fund
|
||||
};
|
||||
resolve({
|
||||
buildInfo,
|
||||
ddwRichBalance,
|
||||
ddwCoinBalance,
|
||||
dwIsJxNewUser,
|
||||
strMyShareId,
|
||||
strNickName,
|
||||
Fund
|
||||
});
|
||||
}
|
||||
@@ -330,95 +308,20 @@
|
||||
Referer:"https://st.jingxi.com/fortune_island/index.html?ptag=138631.26.55",
|
||||
"Accept-Encoding": "gzip, deflate, br",
|
||||
Host: "m.jingxi.com",
|
||||
"User-Agent":`jdpingou;iPhone;3.15.2;14.2.1;ea00763447803eb0f32045dcba629c248ea53bb3;network/wifi;model/iPhone13,2;appBuild/100365;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/${Math.random * 98 + 1};pap/JA2015_311210;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148`,
|
||||
"User-Agent": UA,
|
||||
"Accept-Language": "zh-cn",
|
||||
},
|
||||
timeout: 10000
|
||||
};
|
||||
}
|
||||
|
||||
function taskListUrl(function_path, body, bizCode = 'jxbfd') {
|
||||
let url = `${JD_API_HOST}newtasksys/newtasksys_front/${function_path}?strZone=jxbfd&bizCode=${bizCode}&source=jxbfd&dwEnv=7&_cfd_t=${Date.now()}&ptag=138631.26.55&${body}&_stk=_cfd_t%2CbizCode%2CconfigExtra%2CdwEnv%2Cptag%2Csource%2CstrZone%2CtaskId&_ste=1`;
|
||||
url += `&h5st=${decrypt(Date.now(), '', '', url)}&_=${Date.now() + 2}&sceneval=2&g_login_type=1&g_ty=ls`;
|
||||
return {
|
||||
url,
|
||||
headers: {
|
||||
Cookie: cookie,
|
||||
Accept: "*/*",
|
||||
Connection: "keep-alive",
|
||||
Referer:"https://st.jingxi.com/fortune_island/index.html?ptag=138631.26.55",
|
||||
"Accept-Encoding": "gzip, deflate, br",
|
||||
Host: "m.jingxi.com",
|
||||
"User-Agent":`jdpingou;iPhone;3.15.2;14.2.1;ea00763447803eb0f32045dcba629c248ea53bb3;network/wifi;model/iPhone13,2;appBuild/100365;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/${Math.random * 98 + 1};pap/JA2015_311210;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148`,
|
||||
"Accept-Language": "zh-cn",
|
||||
},
|
||||
timeout: 10000
|
||||
};
|
||||
function randomString() {
|
||||
return Math.random().toString(16).slice(2, 10) +
|
||||
Math.random().toString(16).slice(2, 10) +
|
||||
Math.random().toString(16).slice(2, 10) +
|
||||
Math.random().toString(16).slice(2, 10) +
|
||||
Math.random().toString(16).slice(2, 10)
|
||||
}
|
||||
|
||||
function showMsg() {
|
||||
return new Promise(async (resolve) => {
|
||||
if ($.result.length) {
|
||||
if ($.notifyTime) {
|
||||
const notifyTimes = $.notifyTime.split(",").map((x) => x.split(":"));
|
||||
const now = $.time("HH:mm").split(":");
|
||||
console.log(`\n${JSON.stringify(notifyTimes)}`);
|
||||
console.log(`\n${JSON.stringify(now)}`);
|
||||
if ( notifyTimes.some((x) => x[0] === now[0] && (!x[1] || x[1] === now[1])) ) {
|
||||
$.msg($.name, "", `${$.result.join("\n")}`);
|
||||
}
|
||||
} else {
|
||||
$.msg($.name, "", `${$.result.join("\n")}`);
|
||||
}
|
||||
|
||||
if ($.isNode() && process.env.CFD_NOTIFY_CONTROL)
|
||||
await notify.sendNotify(`${$.name} - 账号${$.index} - ${$.nickName}`, `${$.result.join("\n")}`);
|
||||
}
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
|
||||
function TotalBean() {
|
||||
return new Promise(async resolve => {
|
||||
const options = {
|
||||
url: "https://wq.jd.com/user_new/info/GetJDUserInfoUnion?sceneval=2",
|
||||
headers: {
|
||||
Host: "wq.jd.com",
|
||||
Accept: "*/*",
|
||||
Connection: "keep-alive",
|
||||
Cookie: cookie,
|
||||
"User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.4.4;14.3;network/4g;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1"),
|
||||
"Accept-Language": "zh-cn",
|
||||
"Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&",
|
||||
"Accept-Encoding": "gzip, deflate, br"
|
||||
}
|
||||
}
|
||||
$.get(options, (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
$.logErr(err)
|
||||
} else {
|
||||
if (data) {
|
||||
data = JSON.parse(data);
|
||||
if (data['retcode'] === 1001) {
|
||||
$.isLogin = false; //cookie过期
|
||||
return;
|
||||
}
|
||||
if (data['retcode'] === 0 && data.data && data.data.hasOwnProperty("userInfo")) {
|
||||
$.nickName = data.data.userInfo.baseInfo.nickname;
|
||||
}
|
||||
} else {
|
||||
console.log('京东服务器返回空数据');
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e)
|
||||
} finally {
|
||||
resolve();
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
function jsonParse(str) {
|
||||
if (typeof str == "string") {
|
||||
try {
|
||||
|
||||
Executable
+603
File diff suppressed because one or more lines are too long
+91
-11
File diff suppressed because one or more lines are too long
+7
-7
@@ -160,7 +160,9 @@ async function doDailyTask() {
|
||||
}
|
||||
}
|
||||
console.log(`签到结束,开始广告浏览任务`);
|
||||
if (!$.farmTask.gotBrowseTaskAdInit.f) {
|
||||
if ($.farmTask.gotBrowseTaskAdInit.f) {
|
||||
console.log(`今天已经做过浏览广告任务\n`);
|
||||
} else {
|
||||
let adverts = $.farmTask.gotBrowseTaskAdInit.userBrowseTaskAds
|
||||
let browseReward = 0
|
||||
let browseSuccess = 0
|
||||
@@ -197,8 +199,6 @@ async function doDailyTask() {
|
||||
console.log(`【广告浏览】完成${browseSuccess}个,获得${browseReward}g💧\n`);
|
||||
// message += `【广告浏览】完成${browseSuccess}个,获得${browseReward}g💧\n`;
|
||||
}
|
||||
} else {
|
||||
console.log(`今天已经做过浏览广告任务\n`);
|
||||
}
|
||||
//定时领水
|
||||
if (!$.farmTask.gotThreeMealInit.f) {
|
||||
@@ -1146,9 +1146,9 @@ async function gotThreeMealForFarm() {
|
||||
async function browseAdTaskForFarm(advertId, type) {
|
||||
const functionId = arguments.callee.name.toString();
|
||||
if (type === 0) {
|
||||
$.browseResult = await request(functionId, {advertId, type});
|
||||
$.browseResult = await request(functionId, { advertId, type, "version": 14, "channel": 1, "babelChannel": "45" });
|
||||
} else if (type === 1) {
|
||||
$.browseRwardResult = await request(functionId, {advertId, type});
|
||||
$.browseRwardResult = await request(functionId, { advertId, type, "version": 14, "channel": 1, "babelChannel": "45" });
|
||||
}
|
||||
}
|
||||
// 被水滴砸中API
|
||||
@@ -1167,7 +1167,7 @@ async function initForFarm() {
|
||||
return new Promise(resolve => {
|
||||
const option = {
|
||||
url: `${JD_API_HOST}?functionId=initForFarm`,
|
||||
body: `body=${escape(JSON.stringify({"version":4}))}&appid=wh5&clientVersion=9.1.0`,
|
||||
body: `body=${escape(JSON.stringify({ "version": 14 }))}&appid=wh5&clientVersion=9.1.0`,
|
||||
headers: {
|
||||
"accept": "*/*",
|
||||
"accept-encoding": "gzip, deflate, br",
|
||||
@@ -1209,7 +1209,7 @@ async function initForFarm() {
|
||||
async function taskInitForFarm() {
|
||||
console.log('\n初始化任务列表')
|
||||
const functionId = arguments.callee.name.toString();
|
||||
$.farmTask = await request(functionId);
|
||||
$.farmTask = await request(functionId, {"version": 14, "channel": 1, "babelChannel":"45"});
|
||||
}
|
||||
//获取好友列表API
|
||||
async function friendListInitForFarm() {
|
||||
|
||||
+95
-89
@@ -1,5 +1,4 @@
|
||||
/*
|
||||
author: 疯疯
|
||||
东东健康社区
|
||||
更新时间:2021-4-22
|
||||
活动入口:京东APP首页搜索 "玩一玩"即可
|
||||
@@ -25,11 +24,12 @@ const jdCookieNode = $.isNode() ? require("./jdCookie.js") : "";
|
||||
const notify = $.isNode() ? require('./sendNotify') : "";
|
||||
let cookiesArr = [], cookie = "", allMessage = "", message;
|
||||
const inviteCodes = [
|
||||
//`T0225KkcRUxL9FKDJh7ylvMLcACjVfnoaW5kRrbA@T0225KkcRx0Q_AaCdRr1xf8DIQCjVfnoaW5kRrbA@T018v_52Qxge81HeJB2b1ACjVfnoaW5kRrbA@T018v_hzQhwZ8FbUIRib1ACjVfnoaW5kRrbA`,
|
||||
//`T018v_52Qxge81HeJB2b1ACjVfnoaW5kRrbA@T0205KkcPFd_vD2uSkCi3YhXCjVfnoaW5kRrbA@T018v_hzQhwZ8FbUIRib1ACjVfnoaW5kRrbA`,
|
||||
//`T0225KkcRh9P9FbRKUygl_UJcgCjVfnoaW5kRrbA@T0159KUiH11Mq1bSKBoCjVfnoaW5kRrbA@T018v_hzQhwZ8FbUIRib1ACjVfnoaW5kRrbA`,
|
||||
//`T0225KkcRh9P9FbRKUygl_UJcgCjVfnoaW5kRrbA@T0159KUiH11Mq1bSKBoCjVfnoaW5kRrbA@T018v_hzQhwZ8FbUIRib1ACjVfnoaW5kRrbA`,
|
||||
//`T0225KkcRh9P9FbRKUygl_UJcgCjVfnoaW5kRrbA@T0159KUiH11Mq1bSKBoCjVfnoaW5kRrbA@T018v_hzQhwZ8FbUIRib1ACjVfnoaW5kRrbA`,
|
||||
]
|
||||
let reward = process.env.JD_HEALTH_REWARD_NAME ? process.env.JD_HEALTH_REWARD_NAME : ''
|
||||
const randomCount = $.isNode() ? 20 : 0;
|
||||
const randomCount = $.isNode() ? 20 : 5;
|
||||
function oc(fn, defaultVal) {//optioanl chaining
|
||||
try {
|
||||
return fn()
|
||||
@@ -46,35 +46,25 @@ if ($.isNode()) {
|
||||
});
|
||||
if (process.env.JD_DEBUG && process.env.JD_DEBUG === "false") console.log = () => {};
|
||||
} else {
|
||||
cookiesArr = [
|
||||
$.getdata("CookieJD"),
|
||||
$.getdata("CookieJD2"),
|
||||
...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item);
|
||||
cookiesArr = [$.getdata("CookieJD"), $.getdata("CookieJD2"), ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item);
|
||||
}
|
||||
const JD_API_HOST = "https://api.m.jd.com/client.action";
|
||||
const JD_API_HOST = "https://api.m.jd.com/";
|
||||
!(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;
|
||||
}
|
||||
await requireConfig()
|
||||
for (let i = 0; i < cookiesArr.length; i++) {
|
||||
if (cookiesArr[i]) {
|
||||
cookie = cookiesArr[i];
|
||||
$.UserName = decodeURIComponent(
|
||||
cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]
|
||||
);
|
||||
$.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]);
|
||||
$.index = i + 1;
|
||||
message = "";
|
||||
console.log(`\n******开始【京东账号${$.index}】${$.UserName}*********\n`);
|
||||
await shareCodesFormat()
|
||||
await main()
|
||||
// await showMsg()
|
||||
await showMsg()
|
||||
}
|
||||
}
|
||||
if ($.isNode() && allMessage) {
|
||||
@@ -92,22 +82,24 @@ async function main() {
|
||||
try {
|
||||
$.score = 0
|
||||
$.earn = false
|
||||
// await getTaskDetail(-1)
|
||||
// await getTaskDetail(16)
|
||||
await getTaskDetail(-1)
|
||||
await getTaskDetail(16)
|
||||
await getTaskDetail(6)
|
||||
// for(let i = 0 ; i < 5; ++i){
|
||||
// $.canDo = false
|
||||
// await getTaskDetail()
|
||||
// if(!$.canDo) break
|
||||
// await $.wait(1000)
|
||||
// }
|
||||
// await collectScore()
|
||||
for(let i = 0 ; i < 5; ++i){
|
||||
$.canDo = false
|
||||
await getTaskDetail()
|
||||
if(!$.canDo) break
|
||||
await $.wait(1000)
|
||||
}
|
||||
await collectScore()
|
||||
await helpFriends()
|
||||
// await getTaskDetail(22);
|
||||
// await getTaskDetail(-1)
|
||||
await getTaskDetail(22);
|
||||
await getTaskDetail(-1)
|
||||
|
||||
if (reward) {
|
||||
await getCommodities()
|
||||
}
|
||||
|
||||
} catch (e) {
|
||||
$.logErr(e)
|
||||
}
|
||||
@@ -142,7 +134,7 @@ function getTaskDetail(taskId = '') {
|
||||
if (safeGet(data)) {
|
||||
data = $.toObj(data)
|
||||
if (taskId === -1) {
|
||||
let tmp = parseInt(nc(parseFloat(oc(() => data.data.result.userScore) , '0')))
|
||||
let tmp = parseInt(parseFloat(nc(oc(() => data.data.result.userScore) , '0')))
|
||||
if (!$.earn) {
|
||||
$.score = tmp
|
||||
$.earn = 1
|
||||
@@ -152,8 +144,8 @@ function getTaskDetail(taskId = '') {
|
||||
}
|
||||
} else if (taskId === 6) {
|
||||
if (oc(() => data.data.result.taskVos)) {
|
||||
console.log(`\n【京东账号${$.index}(${$.UserName})的${$.name}好友互助码】${oc(() => data.data.result.taskVos)[0].assistTaskDetailVo.taskToken}\n`);
|
||||
// console.log('好友助力码:' + oc(() => data.data.result.taskVos)[0].assistTaskDetailVo.taskToken)
|
||||
console.log(`\n【京东账号${$.index}(${$.UserName})的${$.name}好友互助码】${oc(() => data.data.result.taskVos[0].assistTaskDetailVo.taskToken)}\n`);
|
||||
// console.log('好友助力码:' + oc(() => data.data.result.taskVos[0].assistTaskDetailVo.taskToken))
|
||||
}
|
||||
} else if (taskId === 22) {
|
||||
console.log(`${oc(() => data.data.result.taskVos[0].taskName)}任务,完成次数:${oc(() => data.data.result.taskVos[0].times)}/${oc(() => data.data.result.taskVos[0].maxTimes)}`)
|
||||
@@ -161,9 +153,10 @@ function getTaskDetail(taskId = '') {
|
||||
await doTask(oc(() => data.data.result.taskVos[0].shoppingActivityVos[0].taskToken), 22, 1)//领取任务
|
||||
await $.wait(1000 * (oc(() => data.data.result.taskVos[0].waitDuration) || 3));
|
||||
await doTask(oc(() => data.data.result.taskVos[0].shoppingActivityVos[0].taskToken), 22, 0);//完成任务
|
||||
} else for (let vo of nc(oc(() => data.data.result.taskVos.filter(vo => vo.taskType !== 19)), [])) {
|
||||
} else {
|
||||
for (let vo of nc(oc(() => data.data.result.taskVos.filter(vo => vo.taskType !== 19)) , [])) {
|
||||
console.log(`${vo.taskName}任务,完成次数:${vo.times}/${vo.maxTimes}`)
|
||||
for (let i = vo.times; i < vo.maxTimes; ++i) {
|
||||
for (let i = vo.times; i < vo.maxTimes; i++) {
|
||||
console.log(`去完成${vo.taskName}任务`)
|
||||
if (vo.taskType === 13) {
|
||||
await doTask(oc(() => vo.simpleRecordInfoVo.taskToken), oc(() => vo.taskId))
|
||||
@@ -179,6 +172,16 @@ function getTaskDetail(taskId = '') {
|
||||
await doTask(oc(() => vo.threeMealInfoVos[0].taskToken), oc(() => vo.taskId))
|
||||
} else if (vo.taskType === 26 || vo.taskType === 3) {
|
||||
await doTask(oc(() => vo.shoppingActivityVos[0].taskToken), oc(() => vo.taskId))
|
||||
} else if (vo.taskType === 1) {
|
||||
for (let key of Object.keys(vo.followShopVo)) {
|
||||
let taskFollow = vo.followShopVo[key]
|
||||
if (taskFollow.status !== 2) {
|
||||
await doTask(taskFollow.taskToken, vo.taskId, 0)
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
await $.wait(2000)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -192,6 +195,59 @@ function getTaskDetail(taskId = '') {
|
||||
})
|
||||
}
|
||||
|
||||
async function getCommodities() {
|
||||
return new Promise(async resolve => {
|
||||
const options = taskUrl('jdhealth_getCommodities')
|
||||
$.post(options, async (err, resp, data) => {
|
||||
try {
|
||||
if (safeGet(data)) {
|
||||
data = $.toObj(data)
|
||||
let beans = data.data.result.jBeans.filter(x => x.status !== 0 && x.status !== 1)
|
||||
if (beans.length !== 0) {
|
||||
for (let key of Object.keys(beans)) {
|
||||
let vo = beans[key]
|
||||
if (vo.title === reward && $.score >= vo.exchangePoints) {
|
||||
await $.wait(1000)
|
||||
await exchange(vo.type, vo.id)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
console.log(`兑换京豆次数已达上限`)
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
} finally {
|
||||
resolve(data)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
function exchange(commodityType, commodityId) {
|
||||
return new Promise(resolve => {
|
||||
const options = taskUrl('jdhealth_exchange', {commodityType, commodityId})
|
||||
$.post(options, (err, resp, data) => {
|
||||
try {
|
||||
if (safeGet(data)) {
|
||||
data = $.toObj(data)
|
||||
if (data.data.bizCode === 0 || data.data.bizMsg === "success") {
|
||||
$.score = data.data.result.userScore
|
||||
console.log(`兑换${data.data.result.jingBeanNum}京豆成功`)
|
||||
message += `兑换${data.data.result.jingBeanNum}京豆成功\n`
|
||||
if ($.isNode()) {
|
||||
allMessage += `【京东账号${$.index}】 ${$.UserName}\n兑换${data.data.result.jingBeanNum}京豆成功🎉${$.index !== cookiesArr.length ? '\n\n' : ''}`
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
} finally {
|
||||
resolve(data)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function doTask(taskToken, taskId, actionType = 0) {
|
||||
return new Promise(resolve => {
|
||||
const options = taskUrl('jdhealth_collectScore', {taskToken, taskId, actionType})
|
||||
@@ -244,66 +300,16 @@ function collectScore() {
|
||||
})
|
||||
}
|
||||
|
||||
async function getCommodities() {
|
||||
return new Promise(async resolve => {
|
||||
const options = taskUrl('jdhealth_getCommodities')
|
||||
$.post(options, async (err, resp, data) => {
|
||||
try {
|
||||
if (safeGet(data)) {
|
||||
data = $.toObj(data)
|
||||
let beans = data.data.result.jBeans.filter(x => x.status !== 1)
|
||||
if (beans.length !== 0) {
|
||||
for (let key of Object.keys(beans)) {
|
||||
let vo = beans[key]
|
||||
if (vo.title === reward && $.score >= vo.exchangePoints) {
|
||||
await $.wait(1000)
|
||||
await exchange(vo.type, vo.id)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
console.log(`兑换京豆次数已达上限`)
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
} finally {
|
||||
resolve(data)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
function exchange(commodityType, commodityId) {
|
||||
return new Promise(resolve => {
|
||||
const options = taskUrl('jdhealth_exchange', {commodityType, commodityId})
|
||||
$.post(options, (err, resp, data) => {
|
||||
try {
|
||||
if (safeGet(data)) {
|
||||
data = $.toObj(data)
|
||||
if (data.data.bizCode === 0 || data.data.bizMsg === "success") {
|
||||
$.score = data.data.result.userScore
|
||||
console.log(`兑换${data.data.result.jingBeanNum}京豆成功`)
|
||||
message += `兑换${data.data.result.jingBeanNum}京豆成功\n`
|
||||
if ($.isNode()) {
|
||||
allMessage += `【京东账号${$.index}】 ${$.UserName}\n兑换${data.data.result.jingBeanNum}京豆成功🎉${$.index !== cookiesArr.length ? '\n\n' : ''}`
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.log(e)
|
||||
} finally {
|
||||
resolve(data)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function taskUrl(function_id, body = {}) {
|
||||
return {
|
||||
url: `${JD_API_HOST}/client.action?functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0`,
|
||||
url: `${JD_API_HOST}?functionId=${function_id}&body=${escape(JSON.stringify(body))}&client=wh5&clientVersion=1.0.0&uuid=`,
|
||||
headers: {
|
||||
"Cookie": cookie,
|
||||
"origin": "https://h5.m.jd.com",
|
||||
"referer": "https://h5.m.jd.com/",
|
||||
'accept-language': 'zh-cn',
|
||||
'accept-encoding': 'gzip, deflate, br',
|
||||
'accept': 'application/json, text/plain, */*',
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
"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")
|
||||
}
|
||||
|
||||
+257
-254
@@ -24,7 +24,7 @@ const $ = new Env('京东赚赚');
|
||||
const notify = $.isNode() ? require('./sendNotify') : '';
|
||||
//Node.js用户请在jdCookie.js处填写京东ck;
|
||||
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
|
||||
let helpAuthor=true; // 帮助作者
|
||||
// let helpAuthor=true; // 帮助作者
|
||||
const randomCount = $.isNode() ? 0 : 5;
|
||||
let jdNotify = true; // 是否关闭通知,false打开通知推送,true关闭通知推送
|
||||
//IOS等用户直接用NobyDa的jd cookie
|
||||
@@ -39,15 +39,18 @@ if ($.isNode()) {
|
||||
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';
|
||||
const inviteCodes = []
|
||||
// const inviteCodes = [
|
||||
// `ATGEC3-fsrn13aiaEqiM@AUWE5maSSnzFeDmH4iH0elA@ATGEC3-fsrn13aiaEqiM@AUWE5m6WUmDdZC2mr1XhJlQ@AUWE5m_jEzjJZDTKr3nwfkg@A06fNSRc4GIqY38pMBeLKQE2InZA@AUWE5mf7ExDZdDmH7j3wfkA@AUWE5m6jBy2cNAWX7j31Pxw@AUWE5mK2UnDddDTX61S1Mkw@AUWE5mavGyGZdWzP5iCoZwQ@S5KkcRUxL9FKDJh7ylvMLcA@S5KkcRx0Q_AaCdRr1xf8DIQ@S5KkcRksZpgDSIBj3xvADdQ@Sv_52Qxge81HeJB2b1A@S5KkcPFd_vD2uSkCi3YhX@S5KkcGGhOkCWwQHqo0p5M@S5KkcRBYQoFSFdByik6JbfQ@Sv_hzQhwZ8FbUIRib1A`,
|
||||
// `ATGEC3-fsrn13aiaEqiM@AUWE5maSSnzFeDmH4iH0elA@ATGEC3-fsrn13aiaEqiM@AUWE5m6WUmDdZC2mr1XhJlQ@AUWE5m_jEzjJZDTKr3nwfkg@A06fNSRc4GIqY38pMBeLKQE2InZA@AUWE5m6_BmTUPAGH42SpOkg@AUWE53NTIs3V8YBqthQMI@AUWE5m6yVxTJcWjWr3nRIlw@S5KkcRUxL9FKDJh7ylvMLcA@S5KkcRx0Q_AaCdRr1xf8DIQ@S5KkcRksZpgDSIBj3xvADdQ@Sv_52Qxge81HeJB2b1A@S5KkcPFd_vD2uSkCi3YhX@S5KkcGGhOkCWwQHqo0p5M@S5KkcRBYQoFSFdByik6JbfQ@Sv_hzQhwZ8FbUIRib1A`
|
||||
// ]
|
||||
let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000);
|
||||
!(async () => {
|
||||
$.tuanList = [];
|
||||
$.authorTuanList = [];
|
||||
await requireConfig();
|
||||
// $.tuanList = [];
|
||||
// $.authorTuanList = [];
|
||||
// await requireConfig();
|
||||
// if (helpAuthor) await getAuthorShareCode('http://qr6pzoy01.hn-bkt.clouddn.com/jd_zz.json');
|
||||
if (helpAuthor) await getAuthorShareCode('https://raw.githubusercontent.com/gitupdate/updateTeam/master/shareCodes/jd_zz.json');
|
||||
if (helpAuthor) await getAuthorShareCode('https://raw.fastgit.org/zero205/updateTeam/master/shareCodes/jd_zz.json');
|
||||
// if (helpAuthor) await getAuthorShareCode('https://raw.githubusercontent.com/gitupdate/updateTeam/master/shareCodes/jd_zz.json');
|
||||
// if (helpAuthor) await getAuthorShareCode('https://raw.fastgit.org/zero205/updateTeam/master/shareCodes/jd_zz.json');
|
||||
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"});
|
||||
return;
|
||||
@@ -70,7 +73,7 @@ let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset() *
|
||||
}
|
||||
continue
|
||||
}
|
||||
await shareCodesFormat()
|
||||
// await shareCodesFormat()
|
||||
await jdWish()
|
||||
}
|
||||
}
|
||||
@@ -80,30 +83,30 @@ let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset() *
|
||||
await notify.sendNotify($.name, allMessage);
|
||||
}
|
||||
}
|
||||
console.log(`\n\n开始账号内部互助 【赚京豆(微信小程序)-瓜分京豆】活动(优先内部账号互助(需内部cookie数量大于${$.assistNum || 4}个),如有剩余助力次数则给作者lxk0301助力)\n`)
|
||||
for (let i = 0; i < cookiesArr.length; i++) {
|
||||
$.canHelp = true
|
||||
if (cookiesArr[i]) {
|
||||
cookie = cookiesArr[i];
|
||||
$.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1])
|
||||
if ($.canHelp && cookiesArr.length > $.assistNum || 4) {
|
||||
console.log(`开始账号内部互助 赚京豆-瓜分京豆 活动,优先内部账号互助`)
|
||||
for (let j = 0; j < $.tuanList.length; ++j) {
|
||||
console.log(`账号 ${$.UserName} 开始给 【${$.tuanList[j]['assistedPinEncrypted']}】助力`)
|
||||
await helpFriendTuan($.tuanList[j])
|
||||
if(!$.canHelp) break
|
||||
}
|
||||
}
|
||||
if ($.canHelp) {
|
||||
console.log(`开始账号内部互助 赚京豆-瓜分京豆 活动,如有剩余则给作者lxk0301助力`)
|
||||
for (let j = 0; j < $.authorTuanList.length; ++j) {
|
||||
console.log(`账号 ${$.UserName} 开始给作者lxk0301 ${$.authorTuanList[j]['assistedPinEncrypted']}助力`)
|
||||
await helpFriendTuan($.authorTuanList[j])
|
||||
if(!$.canHelp) break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// console.log(`\n\n开始账号内部互助 【赚京豆(微信小程序)-瓜分京豆】活动(优先内部账号互助(需内部cookie数量大于${$.assistNum || 4}个),如有剩余助力次数则给作者lxk0301助力)\n`)
|
||||
// for (let i = 0; i < cookiesArr.length; i++) {
|
||||
// $.canHelp = true
|
||||
// if (cookiesArr[i]) {
|
||||
// cookie = cookiesArr[i];
|
||||
// $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1])
|
||||
// if ($.canHelp && cookiesArr.length > $.assistNum || 4) {
|
||||
// console.log(`开始账号内部互助 赚京豆-瓜分京豆 活动,优先内部账号互助`)
|
||||
// for (let j = 0; j < $.tuanList.length; ++j) {
|
||||
// console.log(`账号 ${$.UserName} 开始给 【${$.tuanList[j]['assistedPinEncrypted']}】助力`)
|
||||
// await helpFriendTuan($.tuanList[j])
|
||||
// if(!$.canHelp) break
|
||||
// }
|
||||
// }
|
||||
// if ($.canHelp) {
|
||||
// console.log(`开始账号内部互助 赚京豆-瓜分京豆 活动,如有剩余则给作者lxk0301助力`)
|
||||
// for (let j = 0; j < $.authorTuanList.length; ++j) {
|
||||
// console.log(`账号 ${$.UserName} 开始给作者lxk0301 ${$.authorTuanList[j]['assistedPinEncrypted']}助力`)
|
||||
// await helpFriendTuan($.authorTuanList[j])
|
||||
// if(!$.canHelp) break
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
})()
|
||||
.catch((e) => {
|
||||
$.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '')
|
||||
@@ -114,19 +117,19 @@ let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset() *
|
||||
|
||||
async function jdWish() {
|
||||
$.bean = 0
|
||||
$.tuan = null
|
||||
$.hasOpen = false;
|
||||
$.assistStatus = 0;
|
||||
// $.tuan = null
|
||||
// $.hasOpen = false;
|
||||
// $.assistStatus = 0;
|
||||
await getTaskList(true)
|
||||
await getUserTuanInfo()
|
||||
if (!$.tuan && $.assistStatus === 3 && $.canStartNewAssist) {
|
||||
console.log(`准备再次开团`)
|
||||
await openTuan()
|
||||
if ($.hasOpen) await getUserTuanInfo()
|
||||
}
|
||||
if ($.tuan && $.tuan.hasOwnProperty('assistedPinEncrypted') && $.assistStatus !== 3) $.tuanList.push($.tuan)
|
||||
// await getUserTuanInfo()
|
||||
// if (!$.tuan && $.assistStatus === 3 && $.canStartNewAssist) {
|
||||
// console.log(`准备再次开团`)
|
||||
// await openTuan()
|
||||
// if ($.hasOpen) await getUserTuanInfo()
|
||||
// }
|
||||
// if ($.tuan && $.tuan.hasOwnProperty('assistedPinEncrypted') && $.assistStatus !== 3) $.tuanList.push($.tuan)
|
||||
|
||||
await helpFriends()
|
||||
// await helpFriends()
|
||||
await getUserInfo()
|
||||
$.nowBean = parseInt($.totalBeanNum)
|
||||
$.nowNum = parseInt($.totalNum)
|
||||
@@ -164,143 +167,143 @@ function showMsg() {
|
||||
resolve();
|
||||
})
|
||||
}
|
||||
function getAuthorShareCode(url) {
|
||||
return new Promise(resolve => {
|
||||
const options = {
|
||||
url: `${url}?${new Date()}`, "timeout": 10000, headers: {
|
||||
"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88"
|
||||
}
|
||||
};
|
||||
if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) {
|
||||
const tunnel = require("tunnel");
|
||||
const agent = {
|
||||
https: tunnel.httpsOverHttp({
|
||||
proxy: {
|
||||
host: process.env.TG_PROXY_HOST,
|
||||
port: process.env.TG_PROXY_PORT * 1
|
||||
}
|
||||
})
|
||||
}
|
||||
Object.assign(options, { agent })
|
||||
}
|
||||
$.get(options, async (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
} else {
|
||||
$.authorTuanList = $.authorTuanList.concat(JSON.parse(data))
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp)
|
||||
} finally {
|
||||
resolve();
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
function helpFriendTuan(body) {
|
||||
return new Promise(resolve => {
|
||||
$.get(taskTuanUrl("vvipclub_distributeBean_assist", body), async (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
if (safeGet(data)) {
|
||||
data = JSON.parse(data);
|
||||
if (data.success) {
|
||||
console.log('助力结果:助力成功\n')
|
||||
} else {
|
||||
if (data.resultCode === '9200008') console.log('助力结果:不能助力自己\n')
|
||||
else if (data.resultCode === '9200011') console.log('助力结果:已经助力过\n')
|
||||
else if (data.resultCode === '2400205') console.log('助力结果:团已满\n')
|
||||
else if (data.resultCode === '2400203') {console.log('助力结果:助力次数已耗尽\n');$.canHelp = false}
|
||||
else console.log(`助力结果:未知错误\n`)
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp)
|
||||
} finally {
|
||||
resolve(data);
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
// function getAuthorShareCode(url) {
|
||||
// return new Promise(resolve => {
|
||||
// const options = {
|
||||
// url: `${url}?${new Date()}`, "timeout": 10000, headers: {
|
||||
// "User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 Edg/87.0.4280.88"
|
||||
// }
|
||||
// };
|
||||
// if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) {
|
||||
// const tunnel = require("tunnel");
|
||||
// const agent = {
|
||||
// https: tunnel.httpsOverHttp({
|
||||
// proxy: {
|
||||
// host: process.env.TG_PROXY_HOST,
|
||||
// port: process.env.TG_PROXY_PORT * 1
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// Object.assign(options, { agent })
|
||||
// }
|
||||
// $.get(options, async (err, resp, data) => {
|
||||
// try {
|
||||
// if (err) {
|
||||
// } else {
|
||||
// $.authorTuanList = $.authorTuanList.concat(JSON.parse(data))
|
||||
// }
|
||||
// } catch (e) {
|
||||
// $.logErr(e, resp)
|
||||
// } finally {
|
||||
// resolve();
|
||||
// }
|
||||
// })
|
||||
// })
|
||||
// }
|
||||
// function helpFriendTuan(body) {
|
||||
// return new Promise(resolve => {
|
||||
// $.get(taskTuanUrl("vvipclub_distributeBean_assist", body), async (err, resp, data) => {
|
||||
// try {
|
||||
// if (err) {
|
||||
// console.log(`${JSON.stringify(err)}`)
|
||||
// console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
// } else {
|
||||
// if (safeGet(data)) {
|
||||
// data = JSON.parse(data);
|
||||
// if (data.success) {
|
||||
// console.log('助力结果:助力成功\n')
|
||||
// } else {
|
||||
// if (data.resultCode === '9200008') console.log('助力结果:不能助力自己\n')
|
||||
// else if (data.resultCode === '9200011') console.log('助力结果:已经助力过\n')
|
||||
// else if (data.resultCode === '2400205') console.log('助力结果:团已满\n')
|
||||
// else if (data.resultCode === '2400203') {console.log('助力结果:助力次数已耗尽\n');$.canHelp = false}
|
||||
// else console.log(`助力结果:未知错误\n`)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } catch (e) {
|
||||
// $.logErr(e, resp)
|
||||
// } finally {
|
||||
// resolve(data);
|
||||
// }
|
||||
// })
|
||||
// })
|
||||
// }
|
||||
|
||||
function getUserTuanInfo() {
|
||||
let body = {"paramData": {"channel": "FISSION_BEAN"}}
|
||||
return new Promise(resolve => {
|
||||
$.get(taskTuanUrl("distributeBeanActivityInfo", body), async (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
if (safeGet(data)) {
|
||||
data = JSON.parse(data);
|
||||
if (data['success']) {
|
||||
$.log(`\n\n当前【赚京豆(微信小程序)-瓜分京豆】能否再次开团: ${data.data.canStartNewAssist ? '可以' : '否'}`)
|
||||
if (data.data.assistStatus === 1 && !data.data.canStartNewAssist) {
|
||||
console.log(`已开团(未达上限),但团成员人未满\n\n`)
|
||||
} else if (data.data.assistStatus === 3 && data.data.canStartNewAssist) {
|
||||
console.log(`已开团(未达上限),团成员人已满\n\n`)
|
||||
} else if (data.data.assistStatus === 3 && !data.data.canStartNewAssist) {
|
||||
console.log(`今日开团已达上限,且当前团成员人已满\n\n`)
|
||||
}
|
||||
if (data.data && !data.data.canStartNewAssist) {
|
||||
$.tuan = {
|
||||
"activityIdEncrypted": data.data.id,
|
||||
"assistStartRecordId": data.data.assistStartRecordId,
|
||||
"assistedPinEncrypted": data.data.encPin,
|
||||
"channel": "FISSION_BEAN"
|
||||
}
|
||||
}
|
||||
$.tuanActId = data.data.id;
|
||||
$.assistNum = data['data']['assistNum'] || 4;
|
||||
$.assistStatus = data['data']['assistStatus'];
|
||||
$.canStartNewAssist = data['data']['canStartNewAssist'];
|
||||
} else {
|
||||
$.tuan = true;//活动火爆
|
||||
console.log(`获取【赚京豆(微信小程序)-瓜分京豆】活动信息失败 ${JSON.stringify(data)}\n`)
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp)
|
||||
} finally {
|
||||
resolve(data);
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
// function getUserTuanInfo() {
|
||||
// let body = {"paramData": {"channel": "FISSION_BEAN"}}
|
||||
// return new Promise(resolve => {
|
||||
// $.get(taskTuanUrl("distributeBeanActivityInfo", body), async (err, resp, data) => {
|
||||
// try {
|
||||
// if (err) {
|
||||
// console.log(`${JSON.stringify(err)}`)
|
||||
// console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
// } else {
|
||||
// if (safeGet(data)) {
|
||||
// data = JSON.parse(data);
|
||||
// if (data['success']) {
|
||||
// $.log(`\n\n当前【赚京豆(微信小程序)-瓜分京豆】能否再次开团: ${data.data.canStartNewAssist ? '可以' : '否'}`)
|
||||
// if (data.data.assistStatus === 1 && !data.data.canStartNewAssist) {
|
||||
// console.log(`已开团(未达上限),但团成员人未满\n\n`)
|
||||
// } else if (data.data.assistStatus === 3 && data.data.canStartNewAssist) {
|
||||
// console.log(`已开团(未达上限),团成员人已满\n\n`)
|
||||
// } else if (data.data.assistStatus === 3 && !data.data.canStartNewAssist) {
|
||||
// console.log(`今日开团已达上限,且当前团成员人已满\n\n`)
|
||||
// }
|
||||
// if (data.data && !data.data.canStartNewAssist) {
|
||||
// $.tuan = {
|
||||
// "activityIdEncrypted": data.data.id,
|
||||
// "assistStartRecordId": data.data.assistStartRecordId,
|
||||
// "assistedPinEncrypted": data.data.encPin,
|
||||
// "channel": "FISSION_BEAN"
|
||||
// }
|
||||
// }
|
||||
// $.tuanActId = data.data.id;
|
||||
// $.assistNum = data['data']['assistNum'] || 4;
|
||||
// $.assistStatus = data['data']['assistStatus'];
|
||||
// $.canStartNewAssist = data['data']['canStartNewAssist'];
|
||||
// } else {
|
||||
// $.tuan = true;//活动火爆
|
||||
// console.log(`获取【赚京豆(微信小程序)-瓜分京豆】活动信息失败 ${JSON.stringify(data)}\n`)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } catch (e) {
|
||||
// $.logErr(e, resp)
|
||||
// } finally {
|
||||
// resolve(data);
|
||||
// }
|
||||
// })
|
||||
// })
|
||||
// }
|
||||
|
||||
function openTuan() {
|
||||
let body = {"activityIdEncrypted": $.tuanActId, "channel": "FISSION_BEAN"}
|
||||
return new Promise(resolve => {
|
||||
$.get(taskTuanUrl("vvipclub_distributeBean_startAssist", body), async (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
if (safeGet(data)) {
|
||||
data = JSON.parse(data);
|
||||
if (data['success']) {
|
||||
console.log(`【赚京豆(微信小程序)-瓜分京豆】开团成功`)
|
||||
$.hasOpen = true
|
||||
} else {
|
||||
console.log(`\n开团失败:${JSON.stringify(data)}\n`)
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp)
|
||||
} finally {
|
||||
resolve(data);
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
// function openTuan() {
|
||||
// let body = {"activityIdEncrypted": $.tuanActId, "channel": "FISSION_BEAN"}
|
||||
// return new Promise(resolve => {
|
||||
// $.get(taskTuanUrl("vvipclub_distributeBean_startAssist", body), async (err, resp, data) => {
|
||||
// try {
|
||||
// if (err) {
|
||||
// console.log(`${JSON.stringify(err)}`)
|
||||
// console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
// } else {
|
||||
// if (safeGet(data)) {
|
||||
// data = JSON.parse(data);
|
||||
// if (data['success']) {
|
||||
// console.log(`【赚京豆(微信小程序)-瓜分京豆】开团成功`)
|
||||
// $.hasOpen = true
|
||||
// } else {
|
||||
// console.log(`\n开团失败:${JSON.stringify(data)}\n`)
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// } catch (e) {
|
||||
// $.logErr(e, resp)
|
||||
// } finally {
|
||||
// resolve(data);
|
||||
// }
|
||||
// })
|
||||
// })
|
||||
// }
|
||||
|
||||
function getUserInfo() {
|
||||
return new Promise(resolve => {
|
||||
@@ -389,84 +392,84 @@ function doTask(body, func = "doInteractTask") {
|
||||
})
|
||||
}
|
||||
|
||||
async function helpFriends() {
|
||||
for (let code of $.newShareCodes) {
|
||||
if (!code) continue
|
||||
await doTask({"itemId": code, "taskId": "3", "mpVersion": "3.4.0"}, "doHelpTask")
|
||||
}
|
||||
}
|
||||
function readShareCode() {
|
||||
console.log(`开始`)
|
||||
return new Promise(async resolve => {
|
||||
$.get({url: `https://code.chiang.fun/api/v1/jd/jdzz/read/${randomCount}/`, 'timeout': 10000}, (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
if (data) {
|
||||
console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`)
|
||||
data = JSON.parse(data);
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp)
|
||||
} finally {
|
||||
resolve(data);
|
||||
}
|
||||
})
|
||||
await $.wait(10000);
|
||||
resolve()
|
||||
})
|
||||
}
|
||||
// async function helpFriends() {
|
||||
// for (let code of $.newShareCodes) {
|
||||
// if (!code) continue
|
||||
// await doTask({"itemId": code, "taskId": "3", "mpVersion": "3.4.0"}, "doHelpTask")
|
||||
// }
|
||||
// }
|
||||
// function readShareCode() {
|
||||
// console.log(`开始`)
|
||||
// return new Promise(async resolve => {
|
||||
// $.get({url: `https://code.chiang.fun/api/v1/jd/jdzz/read/${randomCount}/`, 'timeout': 10000}, (err, resp, data) => {
|
||||
// try {
|
||||
// if (err) {
|
||||
// console.log(`${JSON.stringify(err)}`)
|
||||
// console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
// } else {
|
||||
// if (data) {
|
||||
// console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`)
|
||||
// data = JSON.parse(data);
|
||||
// }
|
||||
// }
|
||||
// } catch (e) {
|
||||
// $.logErr(e, resp)
|
||||
// } finally {
|
||||
// resolve(data);
|
||||
// }
|
||||
// })
|
||||
// await $.wait(10000);
|
||||
// resolve()
|
||||
// })
|
||||
// }
|
||||
//格式化助力码
|
||||
function shareCodesFormat() {
|
||||
return new Promise(async resolve => {
|
||||
// console.log(`第${$.index}个京东账号的助力码:::${$.shareCodesArr[$.index - 1]}`)
|
||||
$.newShareCodes = [];
|
||||
if ($.shareCodesArr[$.index - 1]) {
|
||||
$.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();
|
||||
if (readShareCodeRes && readShareCodeRes.code === 200) {
|
||||
$.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])];
|
||||
}
|
||||
console.log(`第${$.index}个京东账号将要助力的好友${JSON.stringify($.newShareCodes)}`)
|
||||
resolve();
|
||||
})
|
||||
}
|
||||
// function shareCodesFormat() {
|
||||
// return new Promise(async resolve => {
|
||||
// // console.log(`第${$.index}个京东账号的助力码:::${$.shareCodesArr[$.index - 1]}`)
|
||||
// $.newShareCodes = [];
|
||||
// if ($.shareCodesArr[$.index - 1]) {
|
||||
// $.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();
|
||||
// if (readShareCodeRes && readShareCodeRes.code === 200) {
|
||||
// $.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])];
|
||||
// }
|
||||
// console.log(`第${$.index}个京东账号将要助力的好友${JSON.stringify($.newShareCodes)}`)
|
||||
// resolve();
|
||||
// })
|
||||
// }
|
||||
|
||||
function requireConfig() {
|
||||
return new Promise(resolve => {
|
||||
console.log(`开始获取${$.name}配置文件\n`);
|
||||
//Node.js用户请在jdCookie.js处填写京东ck;
|
||||
let shareCodes = [];
|
||||
if ($.isNode()) {
|
||||
if (process.env.JDZZ_SHARECODES) {
|
||||
if (process.env.JDZZ_SHARECODES.indexOf('\n') > -1) {
|
||||
shareCodes = process.env.JDZZ_SHARECODES.split('\n');
|
||||
} else {
|
||||
shareCodes = process.env.JDZZ_SHARECODES.split('&');
|
||||
}
|
||||
}
|
||||
}
|
||||
console.log(`共${cookiesArr.length}个京东账号\n`);
|
||||
$.shareCodesArr = [];
|
||||
if ($.isNode()) {
|
||||
Object.keys(shareCodes).forEach((item) => {
|
||||
if (shareCodes[item]) {
|
||||
$.shareCodesArr.push(shareCodes[item])
|
||||
}
|
||||
})
|
||||
}
|
||||
console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`);
|
||||
resolve()
|
||||
})
|
||||
}
|
||||
// function requireConfig() {
|
||||
// return new Promise(resolve => {
|
||||
// console.log(`开始获取${$.name}配置文件\n`);
|
||||
// //Node.js用户请在jdCookie.js处填写京东ck;
|
||||
// let shareCodes = [];
|
||||
// if ($.isNode()) {
|
||||
// if (process.env.JDZZ_SHARECODES) {
|
||||
// if (process.env.JDZZ_SHARECODES.indexOf('\n') > -1) {
|
||||
// shareCodes = process.env.JDZZ_SHARECODES.split('\n');
|
||||
// } else {
|
||||
// shareCodes = process.env.JDZZ_SHARECODES.split('&');
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// console.log(`共${cookiesArr.length}个京东账号\n`);
|
||||
// $.shareCodesArr = [];
|
||||
// if ($.isNode()) {
|
||||
// Object.keys(shareCodes).forEach((item) => {
|
||||
// if (shareCodes[item]) {
|
||||
// $.shareCodesArr.push(shareCodes[item])
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`);
|
||||
// resolve()
|
||||
// })
|
||||
// }
|
||||
|
||||
function taskUrl(functionId, body = {}) {
|
||||
return {
|
||||
|
||||
Executable
+315
File diff suppressed because one or more lines are too long
+25
-193
File diff suppressed because one or more lines are too long
+221
-272
@@ -1,34 +1,30 @@
|
||||
/*
|
||||
ENV
|
||||
JOYPARK_JOY_START = 只做前几个CK
|
||||
JOY_COIN_MAXIMIZE = 最大化硬币收益,如果合成后全部挖土后还有空位,则开启此模式(默认关闭) 0关闭 1开启
|
||||
|
||||
请确保新用户助力过开工位,否则开启游戏了就不算新用户,后面就不能助力开工位了!!!!!!!!!!
|
||||
脚本默认会帮我助力开工位,介意请添加变量HELP_JOYPARK,false为不助力
|
||||
export HELP_JOYPARK=""
|
||||
|
||||
更新地址:https://github.com/Tsukasa007/my_script
|
||||
|
||||
============Quantumultx===============
|
||||
[task_local]
|
||||
#汪汪乐园养joy
|
||||
20 0-23/3 * * * jd_joypark_joy.js, tag=汪汪乐园养joy, img-url=https://raw.githubusercontent.com/tsukasa007/icon/master/jd_joypark_joy.png, enabled=true
|
||||
#汪汪乐园每日任务
|
||||
20 7,9,17,20 * * * jd_joypark_task.js, tag=汪汪乐园每日任务, img-url=https://raw.githubusercontent.com/tsukasa007/icon/master/jd_joypark_task.png, enabled=true
|
||||
|
||||
================Loon==============
|
||||
[Script]
|
||||
cron "20 0-23/3 * * *" script-path=jd_joypark_joy.js,tag=汪汪乐园养joy
|
||||
cron "20 7,9,17,20 * * *" script-path=jd_joypark_task.js,tag=汪汪乐园每日任务
|
||||
|
||||
===============Surge=================
|
||||
汪汪乐园养joy = type=cron,cronexp="20 0-23/3 * * *",wake-system=1,timeout=3600,script-path=jd_joypark_joy.js
|
||||
汪汪乐园每日任务 = type=cron,cronexp="20 7,9,17,20 * * *",wake-system=1,timeout=3600,script-path=jd_joypark_task.js
|
||||
|
||||
============小火箭=========
|
||||
汪汪乐园养joy = type=cron,script-path=jd_joypark_joy.js, cronexpr="20 0-23/3 * * *", timeout=3600, enable=true
|
||||
汪汪乐园每日任务 = type=cron,script-path=jd_joypark_task.js, cronexpr="20 7,9,17,20 * * *", timeout=3600, enable=true
|
||||
*/
|
||||
const $ = new Env('汪汪乐园养joy');
|
||||
const $ = new Env('汪汪乐园每日任务');
|
||||
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
|
||||
|
||||
const notify = $.isNode() ? require('./sendNotify') : '';
|
||||
//IOS等用户直接用NobyDa的jd cookie
|
||||
let cookiesArr = [],
|
||||
cookie = '';
|
||||
let cookiesArr = [], cookie = '';
|
||||
|
||||
if ($.isNode()) {
|
||||
Object.keys(jdCookieNode).forEach((item) => {
|
||||
cookiesArr.push(jdCookieNode[item])
|
||||
@@ -37,61 +33,220 @@ if ($.isNode()) {
|
||||
} else {
|
||||
cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item);
|
||||
}
|
||||
|
||||
//最大化硬币收益模式
|
||||
$.JOY_COIN_MAXIMIZE = process.env.JOY_COIN_MAXIMIZE === '1'
|
||||
$.log(`最大化收益模式: 已${$.JOY_COIN_MAXIMIZE ? `默认已开启` : `关闭`} `)
|
||||
|
||||
$.invitePinTaskList = ['7zG4VHS99AUEoX1mQTkC9Q']
|
||||
$.invitePin = [
|
||||
"NZ42T3lD49qiTGpZsSucXRS8kD-wJ4K6FxwxUpNbb4I",
|
||||
"zZkewfd3OKs-WtoJd8Jw6OIrD81WzO3SX56S2DGMlZ0",
|
||||
"BbsjCRrQudIL06kRvqmVln053h03GiApg7HN_Vhy_Og",
|
||||
"sAxL-dc5T6lS6wtKqP6SlA",
|
||||
"7zG4VHS99AUEoX1mQTkC9Q",
|
||||
"bcVxt4PbZdbX7tiT1Q_ubg"
|
||||
]
|
||||
const JD_API_HOST = `https://api.m.jd.com/client.action`;
|
||||
message = ""
|
||||
!(async () => {
|
||||
$.user_agent = require('./USER_AGENTS').USER_AGENT
|
||||
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_JOY_PARK && process.env.JD_JOY_PARK === 'false') {
|
||||
console.log(`\n******检测到您设置了不运行汪汪乐园,停止运行此脚本******\n`)
|
||||
return;
|
||||
}
|
||||
for (let i = 0; i < cookiesArr.length; i++) {
|
||||
//$.wait(50)
|
||||
if (process.env.JOYPARK_JOY_START && i == process.env.JOYPARK_JOY_START){
|
||||
console.log(`\n汪汪乐园养joy 只运行 ${process.env.JOYPARK_JOY_START} 个Cookie\n`);
|
||||
break
|
||||
}
|
||||
|
||||
cookie = cookiesArr[i];
|
||||
if (cookie) {
|
||||
$.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1])
|
||||
$.index = i + 1;
|
||||
$.isLogin = true;
|
||||
$.nickName = '';
|
||||
$.maxJoyCount = 10
|
||||
console.log(`\n\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`);
|
||||
$.openIndex = 0
|
||||
console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`);
|
||||
if ($.isNode()) {
|
||||
if (!process.env.HELP_JOYPARK || process.env.HELP_JOYPARK == "false") {
|
||||
} else {
|
||||
for (let j = 0; j < $.invitePin.length; j++) {
|
||||
let resp = await getJoyBaseInfo(undefined, 2, $.invitePin[$.openIndex]);
|
||||
if (resp.data && resp.data.helpState && resp.data.helpState === 1) {
|
||||
$.log("帮【zero205】开工位成功,感谢!\n");
|
||||
} else if (resp.data && resp.data.helpState && resp.data.helpState === 3) {
|
||||
$.log("你不是新用户!跳过\n");
|
||||
break
|
||||
} else if (resp.data && resp.data.helpState && resp.data.helpState === 2) {
|
||||
$.log(`他的工位已全部开完啦!\n`);
|
||||
$.openIndex++
|
||||
} else {
|
||||
$.log("开工位失败!\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
await getJoyBaseInfo()
|
||||
if ($.joyBaseInfo && $.joyBaseInfo.invitePin) {
|
||||
$.log(`${$.name} - ${$.UserName} 助力码: ${$.joyBaseInfo.invitePin}`);
|
||||
$.invitePinTaskList.push($.joyBaseInfo.invitePin);
|
||||
} else {
|
||||
$.log(`${$.name} - ${$.UserName} 助力码: null`);
|
||||
$.invitePinTaskList.push('');
|
||||
$.isLogin = false
|
||||
}
|
||||
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"
|
||||
});
|
||||
if ($.isNode()) {
|
||||
await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`);
|
||||
}
|
||||
continue
|
||||
}
|
||||
await getTaskList();
|
||||
|
||||
//下地后还有有钱买Joy并且买了Joy
|
||||
$.hasJoyCoin = true
|
||||
await getJoyBaseInfo(undefined,undefined,undefined,true);
|
||||
$.activityJoyList = []
|
||||
$.workJoyInfoList = []
|
||||
await getJoyList(true);
|
||||
await getGameShopList()
|
||||
//清理工位
|
||||
await doJoyMoveDownAll($.workJoyInfoList)
|
||||
//从低合到高
|
||||
await doJoyMergeAll($.activityJoyList)
|
||||
await getJoyList(true)
|
||||
// 签到 / 逛会场 / 浏览商品
|
||||
for (const task of $.taskList) {
|
||||
if (task.taskType === 'SIGN') {
|
||||
$.log(`${task.taskTitle} 签到`)
|
||||
await apDoTask(task.id, task.taskType, undefined);
|
||||
|
||||
$.log(`${task.taskTitle} 领取签到奖励`)
|
||||
await apTaskDrawAward(task.id, task.taskType);
|
||||
|
||||
}
|
||||
if (task.taskType === 'BROWSE_PRODUCT' || task.taskType === 'BROWSE_CHANNEL') {
|
||||
let productList = await apTaskDetail(task.id, task.taskType);
|
||||
|
||||
let productListNow = 0;
|
||||
if (productList.length === 0) {
|
||||
let resp = await apTaskDrawAward(task.id, task.taskType);
|
||||
|
||||
if (!resp.success) {
|
||||
$.log(`${task.taskTitle} 领取完成!`)
|
||||
productList = await apTaskDetail(task.id, task.taskType);
|
||||
|
||||
}
|
||||
}
|
||||
//做
|
||||
while (task.taskLimitTimes - task.taskDoTimes >= 0) {
|
||||
|
||||
if (productList.length === 0) {
|
||||
$.log(`${task.taskTitle} 活动火爆,素材库没有素材,我也不知道啥回事 = = `);
|
||||
break;
|
||||
}
|
||||
$.log(`${task.taskTitle} ${task.taskDoTimes}/${task.taskLimitTimes}`);
|
||||
let resp = await apDoTask(task.id, task.taskType, productList[productListNow].itemId, productList[productListNow].appid);
|
||||
|
||||
if (resp.code === 2005 || resp.code === 0) {
|
||||
$.log(`${task.taskTitle} 任务完成!`)
|
||||
} else {
|
||||
$.log(`${resp.echo} 任务失败!`)
|
||||
}
|
||||
productListNow++;
|
||||
task.taskDoTimes++;
|
||||
if (!productList[productListNow]) {
|
||||
break
|
||||
}
|
||||
}
|
||||
//领
|
||||
for (let j = 0; j < task.taskLimitTimes; j++) {
|
||||
let resp = await apTaskDrawAward(task.id, task.taskType);
|
||||
|
||||
if (!resp.success) {
|
||||
$.log(`${task.taskTitle} 领取完成!`)
|
||||
break
|
||||
}
|
||||
}
|
||||
} else if (task.taskType === 'SHARE_INVITE') {
|
||||
for (let j = 0; j < 5; j++) {
|
||||
let resp = await apTaskDrawAward(167, 'SHARE_INVITE');
|
||||
|
||||
if (!resp.success) {
|
||||
break
|
||||
}
|
||||
$.log("领取助力奖励成功!")
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$.log("\n======汪汪乐园开始内部互助======\n")
|
||||
for (let i = 0; i < cookiesArr.length; i++) {
|
||||
cookie = cookiesArr[i];
|
||||
if (cookie) {
|
||||
$.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1])
|
||||
$.index = i + 1;
|
||||
$.isLogin = true;
|
||||
$.nickName = '';
|
||||
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"
|
||||
});
|
||||
if ($.isNode()) {
|
||||
await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`);
|
||||
}
|
||||
continue
|
||||
}
|
||||
for (const invitePinTaskListKey of $.invitePinTaskList) {
|
||||
$.log(`【京东账号${$.index}】${$.nickName || $.UserName} 助力 ${invitePinTaskListKey}`)
|
||||
let resp = await getJoyBaseInfo(167, 1, invitePinTaskListKey);
|
||||
if (resp.success) {
|
||||
if (resp.data.helpState === 1) {
|
||||
$.log("助力成功!");
|
||||
} else if (resp.data.helpState === 0) {
|
||||
$.log("自己不能助力自己!");
|
||||
} else if (resp.data.helpState === 2) {
|
||||
$.log("助力过了!");
|
||||
} else if (resp.data.helpState === 3) {
|
||||
$.log("没有助力次数了!");
|
||||
break
|
||||
} else if (resp.data.helpState === 4) {
|
||||
$.log("这个B助力满了!");
|
||||
}
|
||||
} else {
|
||||
$.log("数据异常 助力失败!\n\n")
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})()
|
||||
.catch((e) => $.logErr(e))
|
||||
.finally(() => $.done())
|
||||
//获取活动信息
|
||||
|
||||
//任务列表
|
||||
function getTaskList() {
|
||||
//await $.wait(20)
|
||||
return new Promise(resolve => {
|
||||
$.post(taskPostClientActionUrl(`body=%7B%22linkId%22%3A%22LsQNxL7iWDlXUs6cFl-AAg%22%7D&appid=activities_platform`, `apTaskList`), async (err, resp, data) => {
|
||||
$.log('=== 任务列表 start ===')
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
data = JSON.parse(data);
|
||||
$.taskList = data.data
|
||||
for (const row of $.taskList) {
|
||||
$.log(`${row.taskTitle} ${row.taskDoTimes}/${row.taskLimitTimes}`)
|
||||
}
|
||||
$.log('=== 任务列表 end ===')
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp)
|
||||
} finally {
|
||||
resolve(data);
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function getJoyBaseInfo(taskId = '',inviteType = '',inviterPin = '',printLog = false) {
|
||||
/**
|
||||
* 互助
|
||||
* @param taskId
|
||||
* @param inviteType
|
||||
* @param inviterPin
|
||||
* @returns {Promise<unknown>}
|
||||
*/
|
||||
function getJoyBaseInfo(taskId = '', inviteType = '', inviterPin = '') {
|
||||
//await $.wait(20)
|
||||
return new Promise(resolve => {
|
||||
$.post(taskPostClientActionUrl(`body={"taskId":"${taskId}","inviteType":"${inviteType}","inviterPin":"${inviterPin}","linkId":"LsQNxL7iWDlXUs6cFl-AAg"}&_t=1625480372020&appid=activities_platform`, `joyBaseInfo`), async (err, resp, data) => {
|
||||
@@ -101,67 +256,29 @@ function getJoyBaseInfo(taskId = '',inviteType = '',inviterPin = '',printLog = f
|
||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
data = JSON.parse(data);
|
||||
if (printLog) {
|
||||
$.log(`等级: ${data.data.level}|金币: ${data.data.joyCoin}`);
|
||||
}
|
||||
$.joyBaseInfo = data.data
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp)
|
||||
} finally {
|
||||
resolve($.joyBaseInfo);
|
||||
$.log(`resolve start`)
|
||||
resolve(data);
|
||||
$.log(`resolve end`)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function getJoyList(printLog = false){
|
||||
function apDoTask(taskId, taskType, itemId = '', appid = 'activities_platform') {
|
||||
//await $.wait(20)
|
||||
return new Promise(resolve => {
|
||||
$.get(taskGetClientActionUrl(`appid=activities_platform&body={"linkId":"LsQNxL7iWDlXUs6cFl-AAg"}`,`joyList`), async (err, resp, data) => {
|
||||
$.post(taskPostClientActionUrl(`body={"taskType":"${taskType}","taskId":${taskId},"channel":4,"linkId":"LsQNxL7iWDlXUs6cFl-AAg","itemId":"${itemId}"}&appid=${appid}`, `apDoTask`), async (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
data = JSON.parse(data);
|
||||
if (printLog) {
|
||||
$.log(`\n===== 【京东账号${$.index}】${$.nickName || $.UserName} joy 状态 start =====`)
|
||||
$.log("在逛街的joy⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️")
|
||||
for (let i = 0; i < data.data.activityJoyList.length; i++) {
|
||||
//$.wait(50);
|
||||
$.log(`id:${data.data.activityJoyList[i].id}|name: ${data.data.activityJoyList[i].name}|level: ${data.data.activityJoyList[i].level}`);
|
||||
}
|
||||
$.log("\n在铲土的joy⬇️⬇️⬇️⬇️⬇️⬇️⬇️⬇️")
|
||||
for (let i = 0; i < data.data.workJoyInfoList.length; i++) {
|
||||
//$.wait(50)
|
||||
$.log(`工位: ${data.data.workJoyInfoList[i].location} [${data.data.workJoyInfoList[i].unlock ? `已开` : `未开`}]|joy= ${data.data.workJoyInfoList[i].joyDTO ? `id:${data.data.workJoyInfoList[i].joyDTO.id}|name: ${data.data.workJoyInfoList[i].joyDTO.name}|level: ${data.data.workJoyInfoList[i].joyDTO.level}` : `毛都没有`}`)
|
||||
}
|
||||
$.log(`===== 【京东账号${$.index}】${$.nickName || $.UserName} joy 状态 end =====\n`)
|
||||
}
|
||||
$.activityJoyList = data.data.activityJoyList
|
||||
$.workJoyInfoList = data.data.workJoyInfoList
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp)
|
||||
} finally {
|
||||
resolve(data.data);
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function getGameShopList(){
|
||||
//await $.wait(20)
|
||||
return new Promise(resolve => {
|
||||
$.get(taskGetClientActionUrl(`appid=activities_platform&body={"linkId":"LsQNxL7iWDlXUs6cFl-AAg"}`,`gameShopList`), async (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
//排除不能购买的
|
||||
data = JSON.parse(data).data.filter(row => row.shopStatus === 1);
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp)
|
||||
@@ -172,199 +289,46 @@ function getGameShopList(){
|
||||
})
|
||||
}
|
||||
|
||||
async function doJoyMoveUpAll(activityJoyList, workJoyInfoList) {
|
||||
let workJoyInfoUnlockList = workJoyInfoList.filter(row => row.unlock && row.joyDTO === null)
|
||||
if (activityJoyList.length !== 0 && workJoyInfoUnlockList.length !== 0) {
|
||||
let maxLevelJoy = Math.max.apply(Math, activityJoyList.map(o => o.level))
|
||||
let maxLevelJoyList = activityJoyList.filter(row => row.level === maxLevelJoy)
|
||||
$.log(`下地干活! joyId= ${maxLevelJoyList[0].id} location= ${workJoyInfoUnlockList[0].location}`)
|
||||
await doJoyMove(maxLevelJoyList[0].id, workJoyInfoUnlockList[0].location)
|
||||
await getJoyList()
|
||||
await doJoyMoveUpAll($.activityJoyList, $.workJoyInfoList)
|
||||
}
|
||||
// else if ($.JOY_COIN_MAXIMIZE) {
|
||||
// await joyCoinMaximize(workJoyInfoUnlockList)
|
||||
// }
|
||||
|
||||
}
|
||||
|
||||
async function joyCoinMaximize(workJoyInfoUnlockList) {
|
||||
if (workJoyInfoUnlockList.length !== 0 && $.hasJoyCoin) {
|
||||
$.log(`竟然还有工位挖土?开启瞎买瞎下地模式!`);
|
||||
let joyBaseInfo = await getJoyBaseInfo()
|
||||
let joyCoin = joyBaseInfo.joyCoin
|
||||
$.log(`还有${joyCoin}金币,看看还能买啥下地`)
|
||||
let shopList = await getGameShopList()
|
||||
let newBuyCount = false;
|
||||
for (let i = shopList.length - 1;i >= 0 && i - 3 >= 0;i--){ //向下买3级
|
||||
if (joyCoin > shopList[i].consume) {
|
||||
$.log(`买一只 ${shopList[i].userLevel}级的!`);
|
||||
joyCoin = joyCoin - shopList[i].consume;
|
||||
let buyResp = await doJoyBuy(shopList[i].userLevel);
|
||||
if (!buyResp.success) {
|
||||
break;
|
||||
} else {
|
||||
newBuyCount = true
|
||||
$.hasJoyCoin = false
|
||||
i++
|
||||
}
|
||||
}
|
||||
}
|
||||
$.hasJoyCoin = false
|
||||
if (newBuyCount) {
|
||||
await getJoyList()
|
||||
await doJoyMoveUpAll($.activityJoyList,$.workJoyInfoList)
|
||||
await getJoyBaseInfo();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
async function doJoyMoveDownAll(workJoyInfoList) {
|
||||
if (workJoyInfoList.filter(row => row.joyDTO).length === 0) {
|
||||
$.log(`工位清理完成!`)
|
||||
return true
|
||||
}
|
||||
for (let i = 0; i < workJoyInfoList.length; i++) {
|
||||
//$.wait(50)
|
||||
if (workJoyInfoList[i].unlock && workJoyInfoList[i].joyDTO) {
|
||||
$.log(`从工位移除 => id:${workJoyInfoList[i].joyDTO.id}|name: ${workJoyInfoList[i].joyDTO.name}|level: ${workJoyInfoList[i].joyDTO.level}`)
|
||||
await doJoyMove(workJoyInfoList[i].joyDTO.id, 0)
|
||||
}
|
||||
}
|
||||
//check
|
||||
await getJoyList()
|
||||
await doJoyMoveDownAll($.workJoyInfoList)
|
||||
}
|
||||
|
||||
async function doJoyMergeAll(activityJoyList) {
|
||||
let minLevel = Math.min.apply(Math, activityJoyList.map(o => o.level))
|
||||
let joyMinLevelArr = activityJoyList.filter(row => row.level === minLevel);
|
||||
let joyBaseInfo = await getJoyBaseInfo()
|
||||
let fastBuyLevel = joyBaseInfo.fastBuyLevel
|
||||
if (joyMinLevelArr.length >= 2) {
|
||||
$.log(`开始合成 ${minLevel} ${joyMinLevelArr[0].id} <=> ${joyMinLevelArr[1].id} 【限流严重,2秒后合成!如失败会重试】`);
|
||||
await $.wait(2000)
|
||||
await doJoyMerge(joyMinLevelArr[0].id, joyMinLevelArr[1].id);
|
||||
await getJoyList()
|
||||
await doJoyMergeAll($.activityJoyList)
|
||||
} else if (joyMinLevelArr.length === 1 && joyMinLevelArr[0].level < fastBuyLevel) {
|
||||
let buyResp = await doJoyBuy(joyMinLevelArr[0].level,$.activityJoyList);
|
||||
if (buyResp.success) {
|
||||
await getJoyList();
|
||||
await doJoyMergeAll($.activityJoyList);
|
||||
} else {
|
||||
$.log("完成!")
|
||||
await doJoyMoveUpAll($.activityJoyList, $.workJoyInfoList)
|
||||
}
|
||||
} else {
|
||||
$.log(`没有需要合成的joy 开始买买买🛒🛒🛒🛒🛒🛒🛒🛒`)
|
||||
$.log(`现在最高可以购买: ${fastBuyLevel} 购买 ${fastBuyLevel} 的joy 你还有${joyBaseInfo.joyCoin}金币`)
|
||||
let buyResp = await doJoyBuy(fastBuyLevel,$.activityJoyList);
|
||||
if (buyResp.success) {
|
||||
await getJoyList();
|
||||
await doJoyMergeAll($.activityJoyList);
|
||||
} else {
|
||||
$.log("完成!")
|
||||
await doJoyMoveUpAll($.activityJoyList, $.workJoyInfoList)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function doJoyMove(joyId,location){
|
||||
function apTaskDetail(taskId, taskType) {
|
||||
//await $.wait(20)
|
||||
return new Promise(resolve => {
|
||||
$.post(taskGetClientActionUrl(`body={"joyId":${joyId},"location":${location},"linkId":"LsQNxL7iWDlXUs6cFl-AAg"}&appid=activities_platform`,`joyMove`), async (err, resp, data) => {
|
||||
$.post(taskPostClientActionUrl(`functionId=apTaskDetail&body={"taskType":"${taskType}","taskId":${taskId},"channel":4,"linkId":"LsQNxL7iWDlXUs6cFl-AAg"}&appid=activities_platform`, `apTaskDetail`), async (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
if (location !== 0) {
|
||||
$.log(`下地完成了!`);
|
||||
}
|
||||
data = JSON.parse(data);
|
||||
if (!data.success) {
|
||||
$.taskDetailList = []
|
||||
} else {
|
||||
$.taskDetailList = data.data.taskItemList;
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp)
|
||||
} finally {
|
||||
resolve(data.data);
|
||||
if (!data.success) {
|
||||
resolve([]);
|
||||
} else {
|
||||
resolve(data.data.taskItemList);
|
||||
}
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function doJoyMerge(joyId1,joyId2){
|
||||
function apTaskDrawAward(taskId, taskType) {
|
||||
//await $.wait(20)
|
||||
return new Promise(resolve => {
|
||||
$.get(taskGetClientActionUrl(`body={"joyOneId":${joyId1},"joyTwoId":${joyId2},"linkId":"LsQNxL7iWDlXUs6cFl-AAg"}&appid=activities_platform`,`joyMergeGet`), async (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
data = {}
|
||||
} else {
|
||||
data = JSON.parse(data);
|
||||
$.log(`合成 ${joyId1} <=> ${joyId2} ${data.success ? `成功!` : `失败!【${data.errMsg}】 code=${data.code}`}`)
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp)
|
||||
} finally {
|
||||
resolve(data.data);
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
async function doJoyBuy(level,activityJoyList){
|
||||
//await $.wait(20)
|
||||
return new Promise(resolve => {
|
||||
$.post(taskPostClientActionUrl(`body={"level":${level},"linkId":"LsQNxL7iWDlXUs6cFl-AAg"}&appid=activities_platform`,`joyBuy`), async (err, resp, data) => {
|
||||
$.post(taskPostClientActionUrl(`body={"taskType":"${taskType}","taskId":${taskId},"linkId":"LsQNxL7iWDlXUs6cFl-AAg"}&appid=activities_platform`, `apTaskDrawAward`), async (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
data = JSON.parse(data);
|
||||
let codeMsg = '【不知道啥意思】'
|
||||
switch (data.code) {
|
||||
case 519:
|
||||
codeMsg = '【没钱了】';
|
||||
break
|
||||
case 518:
|
||||
codeMsg = '【没空位】';
|
||||
if (activityJoyList) {//正常买模式
|
||||
$.log(`因为购买 ${level}级🐶 没空位 所以我要删掉比低级的狗了`);
|
||||
let minLevel = Math.min.apply(Math, activityJoyList.map(o => o.level))
|
||||
await doJoyRecovery(activityJoyList.filter(row => row.level === minLevel)[0].id);
|
||||
}
|
||||
break
|
||||
case 0:
|
||||
codeMsg = '【OK】';
|
||||
break
|
||||
}
|
||||
|
||||
$.log(`购买joy level: ${level} ${data.success ? `成功!` : `失败!${data.errMsg} code=${data.code}`} code的意思是=${codeMsg}`)
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp)
|
||||
} finally {
|
||||
resolve(data);
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function doJoyRecovery(joyId) {
|
||||
return new Promise(resolve => {
|
||||
$.post(taskPostClientActionUrl(`body={"joyId":${joyId},"linkId":"LsQNxL7iWDlXUs6cFl-AAg"}&appid=activities_platform`,`joyRecovery`), async (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
||||
data = {}
|
||||
} else {
|
||||
data = JSON.parse(data);
|
||||
$.log(`回收🐶 ${data.success ? `成功!` : `失败!【${data.errMsg}】 code=${data.code}`}`)
|
||||
$.log("领取奖励")
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp)
|
||||
@@ -380,7 +344,7 @@ function taskPostClientActionUrl(body,functionId) {
|
||||
url: `https://api.m.jd.com/client.action?${functionId ? `functionId=${functionId}` : ``}`,
|
||||
body: body,
|
||||
headers: {
|
||||
'User-Agent': $.user_agent,
|
||||
'User-Agent': 'jdltapp;iPhone;3.5.6;14.6;eac3e15e91fd380664fc7c788e8ab6a07805646d;network/4g;ADID/8F6CAEEA-5BF7-4F7E-86C3-A641C19CA832;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,2;addressid/1995295948;hasOCPay/0;appBuild/1070;supportBestPay/0;pv/41.26;apprpd/;ref/JDLTSubMainPageViewController;psq/2;ads/;psn/eac3e15e91fd380664fc7c788e8ab6a07805646d|112;jdv/0|kong|t_500509960_|jingfen|bb9c79e4c4174521873879a27a707da4|1625071927291|1625071930;adk/;app_device/IOS;pap/JA2020_3112531|3.5.6|IOS 14.6;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1',
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
'Host': 'api.m.jd.com',
|
||||
'Origin': 'https://joypark.jd.com',
|
||||
@@ -390,21 +354,6 @@ function taskPostClientActionUrl(body,functionId) {
|
||||
}
|
||||
}
|
||||
|
||||
function taskGetClientActionUrl(body,functionId) {
|
||||
return {
|
||||
url: `https://api.m.jd.com/client.action?functionId=${functionId}${body ? `&${body}` : ``}`,
|
||||
// body: body,
|
||||
headers: {
|
||||
'User-Agent': $.user_agent,
|
||||
'Content-Type':'application/x-www-form-urlencoded',
|
||||
'Host':'api.m.jd.com',
|
||||
'Origin':'https://joypark.jd.com',
|
||||
'Referer':'https://joypark.jd.com/?activityId=LsQNxL7iWDlXUs6cFl-AAg&lng=113.388006&lat=22.512549&sid=4d76080a9da10fbb31f5cd43396ed6cw&un_area=19_1657_52093_0',
|
||||
'Cookie': cookie,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function jsonParse(str) {
|
||||
if (typeof str == "string") {
|
||||
try {
|
||||
|
||||
+4
-4
@@ -153,16 +153,16 @@ function getUserInfo() {
|
||||
data = JSON.parse(data)
|
||||
if (data.iRet === 0) {
|
||||
console.log(`获取助力码成功:${data.Data.strUserPin}\n`);
|
||||
if (data.Data['dwCurrentGrade'] >= 6) {
|
||||
console.log(`6个阶梯红包已全部拆完\n`)
|
||||
} else {
|
||||
// if (data.Data['dwCurrentGrade'] >= 6) {
|
||||
// console.log(`6个阶梯红包已全部拆完\n`)
|
||||
// } else {
|
||||
if (data.Data.strUserPin) {
|
||||
$.packetIdArr.push({
|
||||
strUserPin: data.Data.strUserPin,
|
||||
userName: $.UserName
|
||||
})
|
||||
}
|
||||
}
|
||||
// }
|
||||
} else {
|
||||
console.log(`获取助力码失败:${data.sErrMsg}\n`);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// @grant require
|
||||
/*
|
||||
// https://h5.m.jd.com/rn/42yjy8na6pFsq1cx9MJQ5aTgu3kX/index.html
|
||||
|
||||
|
||||
+3
-9
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
女装盲盒
|
||||
活动时间:2021-5-24至2021-6-22
|
||||
活动地址:https://anmp.jd.com/babelDiy/Zeus/sVeWYpCvtfH754mtAT13s8V1Yjt/index.html
|
||||
活动时间:2021-7-1至2021-7-31
|
||||
活动地址:https://h5.m.jd.com/babelDiy/Zeus/3eeruLXVbXge6CexVq8XkBbBvAfy/index.html
|
||||
活动入口:京东app-女装馆-赢京豆
|
||||
已支持IOS双京东账号,Node.js支持N个京东账号
|
||||
脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js
|
||||
@@ -43,10 +43,6 @@ if ($.isNode()) {
|
||||
$.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"});
|
||||
return;
|
||||
}
|
||||
console.log('女装盲盒\n' +
|
||||
'活动时间:2021-5-24至2021-6-22\n' +
|
||||
'活动地址:https://anmp.jd.com/babelDiy/Zeus/sVeWYpCvtfH754mtAT13s8V1Yjt/index.html\n' +
|
||||
'活动入口:京东app-女装馆-赢京豆');
|
||||
for (let i = 0; i < cookiesArr.length; i++) {
|
||||
if (cookiesArr[i]) {
|
||||
cookie = cookiesArr[i];
|
||||
@@ -68,9 +64,7 @@ if ($.isNode()) {
|
||||
continue
|
||||
}
|
||||
try {
|
||||
//await jdMh('https://h5.m.jd.com/babelDiy/Zeus/3eeruLXVbXge6CexVq8XkBbBvAfy/index.html')
|
||||
await jdMh('https://anmp.jd.com/babelDiy/Zeus/sVeWYpCvtfH754mtAT13s8V1Yjt/index.html')
|
||||
// await jdMh('https://anmp.jd.com/babelDiy/Zeus/yiNQjMxQvs3R3SdS4nwa2MFk1FE/index.html?wxAppName=jd')
|
||||
await jdMh('https://anmp.jd.com/babelDiy/Zeus/3bMo2AgbRYYfZt83qHLZ3ruVtrtG/index.html')
|
||||
} catch (e) {
|
||||
$.logErr(e)
|
||||
}
|
||||
|
||||
+3
-3
@@ -113,9 +113,9 @@ async function jdPlantBean() {
|
||||
await plantShareSupportList();
|
||||
} else {
|
||||
console.log(`种豆得豆-初始失败: ${JSON.stringify($.plantBeanIndexResult)}`);
|
||||
console.log(`等待10秒后重试`);
|
||||
await $.wait(10000);
|
||||
await jdPlantBean();
|
||||
// console.log(`等待10秒后重试`);
|
||||
// await $.wait(10000);
|
||||
// await jdPlantBean();
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e);
|
||||
|
||||
Executable
+476
File diff suppressed because one or more lines are too long
@@ -1,3 +1,4 @@
|
||||
// @grant require
|
||||
/*
|
||||
cron 14 10 * * * https://raw.githubusercontent.com/smiek2221/scripts/master/jd_sign_graphics.js
|
||||
只支持nodejs环境
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
/*
|
||||
#柠檬推一推 直接更新我的库
|
||||
#自定义变量
|
||||
export tytpacketId=""
|
||||
update date :2021.07.15
|
||||
#自定义互助码变量,仅支持单个互助码
|
||||
export TYT_PACKETID=""
|
||||
[task_local]
|
||||
#柠檬推一推
|
||||
0 0 * * * http://nm66.top/jd_tyt.js, tag=柠檬推一推, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true
|
||||
0 6-23/4 * * * http://nm66.top/jd_tyt.js, tag=柠檬推一推, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true
|
||||
注意:助力码每天会变,旧的不可用。
|
||||
助力逻辑:优先助力互助码变量,北京时间15点后默认会助力【zero205】,介意请勿运行!
|
||||
*/
|
||||
const $ = new Env('柠檬推一推');
|
||||
const notify = $.isNode() ? require('./sendNotify') : '';
|
||||
@@ -12,11 +14,18 @@ const notify = $.isNode() ? require('./sendNotify') : '';
|
||||
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
|
||||
|
||||
//IOS等用户直接用NobyDa的jd cookie
|
||||
let cookiesArr = [], cookie = '', message;
|
||||
let cookiesArr = [], cookie = '';
|
||||
let tytpacketId = '';
|
||||
if (process.env.tytpacketId) {
|
||||
tytpacketId = process.env.tytpacketId;
|
||||
// if (process.env.tytpacketId) {
|
||||
// tytpacketId = process.env.tytpacketId;
|
||||
// }
|
||||
|
||||
//兼容elecV2P
|
||||
tytpacketId = $.getdata('TYT_PACKETID') ? $.getdata('TYT_PACKETID') : '';
|
||||
if ($.isNode() && process.env.TYT_PACKETID) {
|
||||
tytpacketId = process.env.TYT_PACKETID;
|
||||
}
|
||||
|
||||
if ($.isNode()) {
|
||||
Object.keys(jdCookieNode).forEach((item) => {
|
||||
cookiesArr.push(jdCookieNode[item])
|
||||
@@ -32,7 +41,7 @@ const JD_API_HOST = 'https://api.m.jd.com/client.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;
|
||||
}
|
||||
|
||||
console.log(`\n******北京时间15点后会助力【zero205】,介意请勿运行******\n`);
|
||||
for (let i = 0; i < cookiesArr.length; i++) {
|
||||
if (cookiesArr[i]) {
|
||||
cookie = cookiesArr[i];
|
||||
@@ -40,6 +49,7 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action';
|
||||
$.index = i + 1;
|
||||
$.isLogin = true;
|
||||
$.nickName = '';
|
||||
$.canRun = true
|
||||
message = '';
|
||||
await TotalBean();
|
||||
console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`);
|
||||
@@ -51,12 +61,35 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action';
|
||||
}
|
||||
continue
|
||||
}
|
||||
|
||||
await $.wait(10000)
|
||||
await tythelp()
|
||||
|
||||
|
||||
|
||||
await initateCoinDozer() //开团
|
||||
await $.wait(2000)
|
||||
if ($.canRun) {
|
||||
await getCoinDozerInfo()
|
||||
await $.wait(1000)
|
||||
await coinDozerBackFlow()
|
||||
await $.wait(1000)
|
||||
await helpCoinDozer(packetId)
|
||||
await $.wait(500)
|
||||
if (tytpacketId !== '') {
|
||||
await tythelp(tytpacketId)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000)
|
||||
if (new Date().getHours() >= 15) {
|
||||
await getAuthorShareCode()
|
||||
for (let i = 0; i < cookiesArr.length; i++) {
|
||||
if (cookiesArr[i]) {
|
||||
cookie = cookiesArr[i];
|
||||
$.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1])
|
||||
console.log(`${$.UserName} 去助力【zero205】`)
|
||||
for (let j = 0; j < $.authorCode.length; j++) {
|
||||
let tytpacketId = $.authorCode[j];
|
||||
await tythelp(tytpacketId)
|
||||
await $.wait(1000)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
})()
|
||||
@@ -66,13 +99,12 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action';
|
||||
.finally(() => {
|
||||
$.done();
|
||||
})
|
||||
function tythelp() {
|
||||
return new Promise(async (resolve) => {
|
||||
|
||||
function initateCoinDozer() {
|
||||
return new Promise(async (resolve) => {
|
||||
let options = {
|
||||
url: `https://api.m.jd.com/?t=1623066557140`,
|
||||
//dS%2Bp85VyjydPuAOOnFP%2Faw%3D%3D
|
||||
body: `functionId=helpCoinDozer&appid=station-soa-h5&client=H5&clientVersion=1.0.0&t=1623120183787&body={"actId":"b980f1dd277a4ae4a0f52918709469bb","channel":"coin_dozer","antiToken":"mmkajtm9eqonssy6xoi1623119406463ic84~NmZeSyVEbFNSd3V+dVNdA3pxAABkRHpTBiUjb35DFm5vLUROOBEzLUF7G28iAAFBKBgVFA1EPwIVKDclGENXbm8iVlQiAwpTTx1lKSsTCG5vfmsaDUR6LUEnG29+PU9ReSdSWTNTNxICI3V0dlYOV3p0Bwg3UW9IVnd+KSdUC1E3KQFkc0oKUwoyKhFmWzEQOTZCXQ1Eei1BKTQ5GENXbm80Qks5ATkdB28tKWoCAl8RZhtkcxY4LUF7G29rPU8eEWZHTA1EbC1BKTM5NBJXbm9oaxohDwpTWR1lf3RNWR56aAcUYUpnQFcdZTBmTU9XKSBEX3NcdEEFMDdvaEMOQW9+FV82CDAUAXhzfTEDXV07I0VUZx49F1MucyosBwIHeTFSDycPIlNPYyRvfkMDQCwiBFo1VWFHBzsuPnVZB185dQEKYlZkRFR3cnVxUAFFf3QVFHMCJR9Be2U3MwkVQC8nWBp9RD8CQXtlfGZNT1gkJxUCc19vSFpjOg==|~1623120183785~1~20201218~eyJ2aXdlIjoiMCIsImJhaW4iOnt9fQ==~2~281~1pl4|5563f-70,aa,,;751e-,,,;359-70,aa,40,u;b512-70,aa,40,u;058-70,aa,40,u;doei:,1,0,0,0,0,1000,-1000,1000,-1000;dmei:,1,0,0,1000,-1000,1000,-1000,1000,-1000;emc:,5:1;emmm:;emcf:,5:1;ivli:;iivl:;ivcvj:;scvje:;ewhi:,5:197-49;1623120175774,1623120183784,0,1,5,5,0,1,0,0,0;u5ge","referer":"-1","frontendInitStatus":"s","packetId":"${tytpacketId}","helperStatus":"0"}&_ste=1&_stk=appid,body,client,clientVersion,functionId,t&h5st=20210608104303790;8489907903583162;10005;tk01w89681aa9a8nZDdIanIyWnVuWFLK4gnqY+05WKcPY3NWU2dcfa73B7PBM7ufJEN0U+4MyHW5N2mT/RNMq72ycJxH;7e6b956f1a8a71b269a0038bbb4abd24bcfb834a88910818cf1bdfc55b7b96e5`,
|
||||
body: `functionId=initiateCoinDozer&body={"actId":"287eb90945e049129d76dd7e85dc0313","channel":"coin_dozer","antiToken":"ec14brrjlsu8u4lhmia162581607334284f3~NmZeSyVEbFNSd3V7dldUAH92AwhlRHpTBiUjb35DFm5vLUROOBEzLUF7G28iAAFBKBgVFA1EPwIVKDclGENXbm8iVlQiAwpTTx1lKSsTCG5vfmsaDUR6LUEnG29%2BPU8LLyAADWQFNUgHcnZ4dlhZC3khBAxhUDIVBnJzf3dZC0M7LENkc0oKUwoyKhFmWzEQOTZCXQ1Eei1BKTQ5GENXbm80Qks5ATkdB28tKWoCAl8RZhtkcxY4LUF7G29rPU8eEWZHTA1EbC1BKTM5NBJXbm9oaxohDwpTWR1lf3RNWR56aAcUYUpvRD9jOm9oQwhWKTdQGmtEZgQXcWVhZgIeEHdmRQsmBSESWyAsISMVAkcvN0BeIlNlFgouLiQzFFpRI3VWUD0KdF1BImV3ZlQHXnU1UEFoADUYFCcvLCgQW0h8cgUNaVdgQVRydHl1BxpadWYbGjUVOFNZYzQ0NRkcRy59FRRzDyVTWWN2b2hDB1suZg0aaF9vSEE8%7C~1626269234856~1~20201218~eyJ2aXdlIjoiMCIsImJhaW4iOnsiaWMiOiIwIiwibGUiOiI3NSIsImN0IjoiaSIsImR0IjoiMiJ9fQ%3D%3D~2~472~tix5%7Cgw57a%3B554ci-6n%2C81%2C%2C%3B751r-%2C%2C%2C%3B358-6o%2C81%2C3t%2Cj%3Bb53-6o%2C81%2C3t%2Cj%3B050-6o%2C81%2C3t%2Cj%3Bdoei%3A%2C1%2C186%2C186%2C0%2C0%2C9%2C22%2C3%2C15%3Bdmei%3A%2C1%2C302%2C0%2C-2%2C0%2C-2%2C0%2C-2%2C0%3Bemc%3A%2C5%3A1%3Bemmm%3A%3Bemcf%3A%2C5%3A1%3Bivli%3A%3Biivl%3A%3Bivcvj%3A%3Bscvje%3A%3Bewhi%3A%2C5%3A187-46%3B1626269222397%2C1626269234855%2C0%2C1%2C6%2C6%2C0%2C1%2C0%2C0%2C0%3Ba3bp","referer":"-1","frontendInitStatus":"s"}&appid=megatron&client=android&clientVersion=9&t=1626269234860&networkType=wifi&eid=eidAecfa8121c7s1QgSzJyiJRFuXovji/QEn20IEtJ8WEfBsxVlLBBlDx1NDeWXp7i+1qklWZQtVP/M+tndxJj/uR/SSHj2G7vN0F2lfP0e9ux8UHlNC&fp=-1&frontendInitStatus=s&uuid=8363532363230343238303836333-43D2468336563316936636265356&osVersion=9&d_brand=Xiaomi&d_model=MI 8&agent=-1&pageClickKey=-1&screen=393*818&platform=3&lang=zh_CN&eu=8363532363230343238303836333&fv=43D2468336563316936636265356`,
|
||||
headers: {
|
||||
"Origin": "https://pushgold.jd.com",
|
||||
"Host": "api.m.jd.com",
|
||||
@@ -80,20 +112,20 @@ headers: {
|
||||
"Cookie": cookie,
|
||||
}
|
||||
}
|
||||
|
||||
$.post(options, async (err, resp, data) => {
|
||||
try {
|
||||
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`initateCoinDozer API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
data = JSON.parse(data);
|
||||
|
||||
console.log(data.msg)
|
||||
|
||||
if(data.code == 0){
|
||||
console.log("帮砍:"+data.data.amount)
|
||||
|
||||
}else
|
||||
|
||||
if (!data.success && data.code === 508) {
|
||||
console.log(data.msg)
|
||||
$.canRun = false
|
||||
} else {
|
||||
console.log(`【京东账号${$.index}】推一推开团成功\n`)
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp);
|
||||
} finally {
|
||||
@@ -103,24 +135,140 @@ headers: {
|
||||
});
|
||||
}
|
||||
|
||||
function tythelp(tytpacketId) {
|
||||
return new Promise(async (resolve) => {
|
||||
let options = {
|
||||
url: `https://api.m.jd.com/?t=1623066557140`,
|
||||
body: `functionId=helpCoinDozer&appid=station-soa-h5&client=H5&clientVersion=1.0.0&t=1623120183787&body={"actId":"287eb90945e049129d76dd7e85dc0313","channel":"coin_dozer","antiToken":"mmkajtm9eqonssy6xoi1623119406463ic84~NmZeSyVEbFNSd3V+dVNdA3pxAABkRHpTBiUjb35DFm5vLUROOBEzLUF7G28iAAFBKBgVFA1EPwIVKDclGENXbm8iVlQiAwpTTx1lKSsTCG5vfmsaDUR6LUEnG29+PU9ReSdSWTNTNxICI3V0dlYOV3p0Bwg3UW9IVnd+KSdUC1E3KQFkc0oKUwoyKhFmWzEQOTZCXQ1Eei1BKTQ5GENXbm80Qks5ATkdB28tKWoCAl8RZhtkcxY4LUF7G29rPU8eEWZHTA1EbC1BKTM5NBJXbm9oaxohDwpTWR1lf3RNWR56aAcUYUpnQFcdZTBmTU9XKSBEX3NcdEEFMDdvaEMOQW9+FV82CDAUAXhzfTEDXV07I0VUZx49F1MucyosBwIHeTFSDycPIlNPYyRvfkMDQCwiBFo1VWFHBzsuPnVZB185dQEKYlZkRFR3cnVxUAFFf3QVFHMCJR9Be2U3MwkVQC8nWBp9RD8CQXtlfGZNT1gkJxUCc19vSFpjOg==|~1623120183785~1~20201218~eyJ2aXdlIjoiMCIsImJhaW4iOnt9fQ==~2~281~1pl4|5563f-70,aa,,;751e-,,,;359-70,aa,40,u;b512-70,aa,40,u;058-70,aa,40,u;doei:,1,0,0,0,0,1000,-1000,1000,-1000;dmei:,1,0,0,1000,-1000,1000,-1000,1000,-1000;emc:,5:1;emmm:;emcf:,5:1;ivli:;iivl:;ivcvj:;scvje:;ewhi:,5:197-49;1623120175774,1623120183784,0,1,5,5,0,1,0,0,0;u5ge","referer":"-1","frontendInitStatus":"s","packetId":"${tytpacketId}","helperStatus":"0"}&_ste=1&_stk=appid,body,client,clientVersion,functionId,t&h5st=20210608104303790;8489907903583162;10005;tk01w89681aa9a8nZDdIanIyWnVuWFLK4gnqY+05WKcPY3NWU2dcfa73B7PBM7ufJEN0U+4MyHW5N2mT/RNMq72ycJxH;7e6b956f1a8a71b269a0038bbb4abd24bcfb834a88910818cf1bdfc55b7b96e5`,
|
||||
headers: {
|
||||
"Origin": "https://pushgold.jd.com",
|
||||
"Host": "api.m.jd.com",
|
||||
"User-Agent": "jdltapp;iPhone;3.3.6;14.3;75aeceef3046d8ce11d354ff89af9517a2e4aa18;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/4585826605;hasOCPay/0;appBuild/1060;supportBestPay/0;pv/53.31;apprpd/;ref/https://invite-reward.jd.com/?lng=106.286950&lat=29.969353&sid=547255867e847394aedfb6d68c3e50fw&un_area=4_48201_54794_0#/invitee?inviterId=dS%2Bp85VyjydPuAOOnFP%2Faw%3D%3D;psq/0;ads/;psn/75aeceef3046d8ce11d354ff89af9517a2e4aa18|89;jdv/0|kong|t_1001003207_1762319_6901310|jingfen|30578707801140d09fcd54e5cd83bbf7|1621510932517|1621511027;adk/;app_device/IOS;pap/JA2020_3112531|3.3.6|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||
"Cookie": cookie,
|
||||
}
|
||||
}
|
||||
$.post(options, async (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
data = JSON.parse(data);
|
||||
if (data.code == 0) {
|
||||
console.log("帮推:" + data.data.amount)
|
||||
} else
|
||||
console.log(data.msg)
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp);
|
||||
} finally {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function coinDozerBackFlow() {
|
||||
return new Promise(async (resolve) => {
|
||||
let options = {
|
||||
url: `https://api.m.jd.com/?t=1623066557140`,
|
||||
body: `functionId=coinDozerBackFlow&body={"actId":"287eb90945e049129d76dd7e85dc0313","channel":"coin_dozer","antiToken":"","referer":"-1","frontendInitStatus":"s"}&appid=megatron&client=android&clientVersion=9&t=1627920132339&networkType=wifi&eid=eidAecfa8121c7s1QgSzJyiJRFuXovji/QEn20IEtJ8WEfBsxVlLBBlDx1NDeWXp7i+1qklWZQtVP/M+tndxJj/uR/SSHj2G7vN0F2lfP0e9ux8UHlNC&fp=-1&frontendInitStatus=s&uuid=8363532363230343238303836333-43D2468336563316936636265356&osVersion=9&d_brand=Xiaomi&d_model=MI 8&agent=-1&pageClickKey=-1&screen=393*818&platform=3&lang=zh_CN&eu=8363532363230343238303836333&fv=43D2468336563316936636265356`,
|
||||
headers: {
|
||||
"Origin": "https://pushgold.jd.com",
|
||||
"Host": "api.m.jd.com",
|
||||
"User-Agent": "jdltapp;iPhone;3.3.6;14.3;75aeceef3046d8ce11d354ff89af9517a2e4aa18;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/4585826605;hasOCPay/0;appBuild/1060;supportBestPay/0;pv/53.31;apprpd/;ref/https://invite-reward.jd.com/?lng=106.286950&lat=29.969353&sid=547255867e847394aedfb6d68c3e50fw&un_area=4_48201_54794_0#/invitee?inviterId=dS%2Bp85VyjydPuAOOnFP%2Faw%3D%3D;psq/0;ads/;psn/75aeceef3046d8ce11d354ff89af9517a2e4aa18|89;jdv/0|kong|t_1001003207_1762319_6901310|jingfen|30578707801140d09fcd54e5cd83bbf7|1621510932517|1621511027;adk/;app_device/IOS;pap/JA2020_3112531|3.3.6|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||
"Cookie": cookie,
|
||||
}
|
||||
}
|
||||
$.post(options, async (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
data = JSON.parse(data);
|
||||
if (data.code == 0 && data.data) {
|
||||
console.log(`\n${data.msg}`)
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp);
|
||||
} finally {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function helpCoinDozer(tytpacketId) {
|
||||
return new Promise(async (resolve) => {
|
||||
let options = {
|
||||
url: `https://api.m.jd.com/?t=1623066557140`,
|
||||
body: `functionId=helpCoinDozer&appid=station-soa-h5&client=H5&clientVersion=1.0.0&t=1627922761739&body={"actId":"287eb90945e049129d76dd7e85dc0313","channel":"coin_dozer","antiToken":"d75b37qfowsfn740mp41627921383808x5a4~NmZeSyVEbFNSd3V6fVNfBX9wDwliRHpTBiUjb35DFm5vLUROOBEzLUF7G28iAAFBKBgVFA1EPwIVKDclGENXbm8iVlQiAwpTTx1lKSsTCG5vfmsaDUR6LUEnG29%2BPU8HeCVVCDQHNElTeHB7fVFVUyhyDlllU2cXUSJ3LCdWWlR7fU1kc0oKUwoyKhFmWzEQOTZCXQ1Eei1BKTQ5GENXbm80Qks5ATkdB28tKWoCAl8RZhtkcxY4LUF7G29rPU8eEWZHTA1EbC1BKTM5NBJXbm9oaxohDwpTWR1lf3RNWR56aAcUYUpvQD9jOm9oQwhWKTdQGmtEZkcKNWVhZgIeEHdmQU0kUGYfVjclKTUFFF17KVsLJRYwGVU1InUrCBUCfXFPC2MTdF1BImV3ZlMKQSk%2BDg8wAT5DBDdzPj0KXlB8cgUPaFRnQltyf31zGQBcdGYbGjUVOFNZYy4vNhlUUS43FRRzDyVTWWN2b2hDB1suZg0aaF9vSEE8%7C~1627922761730~1~20201218~eyJ2aXdlIjoiMCIsImJhaW4iOnsiaWMiOiIxIiwibGUiOiI5NSIsImN0IjoiaSIsImR0IjoiaSJ9fQ%3D%3D~4~475~siip%7C554yw-7f%2C85%2C%2C%3B753j-%2C%2C%2C%3B356-7f%2C85%2C4k%2Cn%3Bb58-7f%2C85%2C4k%2Cn%3B050-7f%2C85%2C4k%2Cn%3Bgw13b%3Bgwji5%3B552py-6q%2C83%2C%2C%3B752r-%2C%2C%2C%3Bb5a-6r%2C83%2Cm%2C-1%3Bbd1-6r%2C83%2Cm%2C-1%3B051-6r%2C83%2Cm%2C-1%3Bdoei%3A%2C1%2C647%2C647%2C0%2C0%2C-11%2C19%2C-12%2C33%3Bdmei%3A%2C1%2C898%2C0%2C-7%2C1%2C-7%2C1%2C-7%2C1%3Bemc%3A%2C5%3A2%2Cd%3A1%3Bemmm%3A%3Bemcf%3A%2C5%3A2%2Cd%3A1%2C5%3A0%3Bivli%3A%3Biivl%3A%3Bivcvj%3A%3Bscvje%3A%3Bewhi%3A%2C5%3A187-46%3B1627922724803%2C1627922761727%2C0%2C1%2C12%2C12%2C0%2C3%2C0%2C0%2C0%3Bw1rv","referer":"-1","frontendInitStatus":"s","packetId":"${tytpacketId}"}&_ste=1&_stk=appid,body,client,clientVersion,functionId,t&h5st=20210803004601741%3B9832466289341162%3B10005%3Btk01wb2581ba2a8ndXcyN0dBc2lmOdBKB2j6AmZhqiMBL1xbV3unOkVbDl2xKYdsB%2ByLyUDNYeOBhsA4b316%2B1cdS2VW%3Bc7520ffaa8ad8d7cdb6b593d33aa37079c3d6a678a12ad5fb40aa1cde0787363`,
|
||||
headers: {
|
||||
"Origin": "https://pushgold.jd.com",
|
||||
"Host": "api.m.jd.com",
|
||||
"User-Agent": "jdltapp;iPhone;3.3.6;14.3;75aeceef3046d8ce11d354ff89af9517a2e4aa18;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/4585826605;hasOCPay/0;appBuild/1060;supportBestPay/0;pv/53.31;apprpd/;ref/https://invite-reward.jd.com/?lng=106.286950&lat=29.969353&sid=547255867e847394aedfb6d68c3e50fw&un_area=4_48201_54794_0#/invitee?inviterId=dS%2Bp85VyjydPuAOOnFP%2Faw%3D%3D;psq/0;ads/;psn/75aeceef3046d8ce11d354ff89af9517a2e4aa18|89;jdv/0|kong|t_1001003207_1762319_6901310|jingfen|30578707801140d09fcd54e5cd83bbf7|1621510932517|1621511027;adk/;app_device/IOS;pap/JA2020_3112531|3.3.6|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||
"Cookie": cookie,
|
||||
}
|
||||
}
|
||||
$.post(options, async (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
data = JSON.parse(data);
|
||||
if (data.code == 0) {
|
||||
console.log(`逛会场再推一次成功,获得${data.data.amount}元\n`)
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp);
|
||||
} finally {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function getCoinDozerInfo() {
|
||||
return new Promise(async (resolve) => {
|
||||
let options = {
|
||||
url: `https://api.m.jd.com/?t=1623066557140`,
|
||||
body: `functionId=getCoinDozerInfo&body={"actId":"287eb90945e049129d76dd7e85dc0313","channel":"coin_dozer","antiToken":"","referer":"-1","frontendInitStatus":""}&appid=megatron&client=android&clientVersion=9&t=1626269713293&networkType=4g&eid=&fp=&frontendInitStatus=&uuid=8363532363230343238303836333-43D2468336563316936636265356&osVersion=9&d_brand=&d_model=&agent=-1&pageClickKey=-1&screen=393*818&platform=3&lang=zh_CN&eu=8363532363230343238303836333&fv=43D2468336563316936636265356`,
|
||||
headers: {
|
||||
"Origin": "https://pushgold.jd.com",
|
||||
"Host": "api.m.jd.com",
|
||||
"User-Agent": "jdltapp;iPhone;3.3.6;14.3;75aeceef3046d8ce11d354ff89af9517a2e4aa18;network/wifi;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone9,2;addressid/4585826605;hasOCPay/0;appBuild/1060;supportBestPay/0;pv/53.31;apprpd/;ref/https://invite-reward.jd.com/?lng=106.286950&lat=29.969353&sid=547255867e847394aedfb6d68c3e50fw&un_area=4_48201_54794_0#/invitee?inviterId=dS%2Bp85VyjydPuAOOnFP%2Faw%3D%3D;psq/0;ads/;psn/75aeceef3046d8ce11d354ff89af9517a2e4aa18|89;jdv/0|kong|t_1001003207_1762319_6901310|jingfen|30578707801140d09fcd54e5cd83bbf7|1621510932517|1621511027;adk/;app_device/IOS;pap/JA2020_3112531|3.3.6|IOS 14.3;Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1",
|
||||
"Cookie": cookie,
|
||||
}
|
||||
}
|
||||
$.post(options, async (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(`${JSON.stringify(err)}`)
|
||||
console.log(`API请求失败,请检查网路重试`)
|
||||
} else {
|
||||
data = JSON.parse(data);
|
||||
if (data.code == 0 && data.data.sponsorActivityInfo.packetId) {
|
||||
console.log(`【京东账号${$.index}的推一推邀请码】${data.data.sponsorActivityInfo.packetId}\n`)
|
||||
packetId = data.data.sponsorActivityInfo.packetId
|
||||
} else {
|
||||
console.log(`【京东账号${$.index}】获取助力码失败\n`)
|
||||
console.log(JSON.stringify(data))
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp);
|
||||
} finally {
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
var _0xodD = 'jsjiami.com.v6', _0x4246 = [_0xodD, '\x67\x65\x74', '\x68\x74\x74\x70\x73\x3a\x2f\x2f\x72\x61\x77\x2e\x66\x61\x73\x74\x67\x69\x74\x2e\x6f\x72\x67\x2f\x7a\x65\x72\x6f\x32\x30\x35\x2f\x75\x70\x64\x61\x74\x65\x54\x65\x61\x6d\x2f\x6d\x61\x69\x6e\x2f\x73\x68\x61\x72\x65\x43\x6f\x64\x65\x73\x2f\x74\x79\x74\x2e\x6a\x73\x6f\x6e', '\x4d\x6f\x7a\x69\x6c\x6c\x61\x2f\x35\x2e\x30\x20\x28\x69\x50\x68\x6f\x6e\x65\x3b\x20\x43\x50\x55\x20\x69\x50\x68\x6f\x6e\x65\x20\x4f\x53\x20\x31\x33\x5f\x32\x5f\x33\x20\x6c\x69\x6b\x65\x20\x4d\x61\x63\x20\x4f\x53\x20\x58\x29\x20\x41\x70\x70\x6c\x65\x57\x65\x62\x4b\x69\x74\x2f\x36\x30\x35\x2e\x31\x2e\x31\x35\x20\x28\x4b\x48\x54\x4d\x4c\x2c\x20\x6c\x69\x6b\x65\x20\x47\x65\x63\x6b\x6f\x29\x20\x56\x65\x72\x73\x69\x6f\x6e\x2f\x31\x33\x2e\x30\x2e\x33\x20\x4d\x6f\x62\x69\x6c\x65\x2f\x31\x35\x45\x31\x34\x38\x20\x53\x61\x66\x61\x72\x69\x2f\x36\x30\x34\x2e\x31\x20\x45\x64\x67\x2f\x38\x37\x2e\x30\x2e\x34\x32\x38\x30\x2e\x38\x38', '\x61\x75\x74\x68\x6f\x72\x43\x6f\x64\x65', '\x70\x61\x72\x73\x65', '\x6c\x6f\x67\x45\x72\x72', '\x6a\x73\x41\x52\x6a\x52\x6b\x71\x69\x57\x4f\x61\x6d\x69\x6b\x2e\x63\x6f\x6d\x56\x4a\x42\x2e\x76\x36\x3d\x3d']; var _0x3dd3 = function (_0x4fdd8e, _0x2bbd52) { _0x4fdd8e = ~~'0x'['concat'](_0x4fdd8e); var _0x4aa04a = _0x4246[_0x4fdd8e]; return _0x4aa04a; }; (function (_0x4f10de, _0x3c5b1f) { var _0x29abd4 = 0x0; for (_0x3c5b1f = _0x4f10de['shift'](_0x29abd4 >> 0x2); _0x3c5b1f && _0x3c5b1f !== (_0x4f10de['pop'](_0x29abd4 >> 0x3) + '')['replace'](/[ARRkqWOkVJB=]/g, ''); _0x29abd4++) { _0x29abd4 = _0x29abd4 ^ 0x98130; } }(_0x4246, _0x3dd3)); function getAuthorShareCode() { return new Promise(_0x456c8e => { $[_0x3dd3('0')]({ '\x75\x72\x6c': _0x3dd3('1'), '\x68\x65\x61\x64\x65\x72\x73': { 'User-Agent': _0x3dd3('2') } }, async (_0x590035, _0x5bae1e, _0x1b2379) => { try { if (_0x590035) { } else { $[_0x3dd3('3')] = JSON[_0x3dd3('4')](_0x1b2379); } } catch (_0x265e68) { $[_0x3dd3('5')](_0x265e68, _0x5bae1e); } finally { _0x456c8e(); } }); }); }; _0xodD = 'jsjiami.com.v6';
|
||||
|
||||
async function taskPostUrl(functionId, body) {
|
||||
return {
|
||||
@@ -138,7 +286,6 @@ async function taskPostUrl(functionId,body) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
async function TotalBean() {
|
||||
return new Promise(async resolve => {
|
||||
const options = {
|
||||
|
||||
+59
-11
@@ -37,6 +37,7 @@ const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
|
||||
let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送
|
||||
//IOS等用户直接用NobyDa的jd cookie
|
||||
let cookiesArr = [], cookie = '', message;
|
||||
let UA, UAInfo = {};
|
||||
$.shareCodes = [];
|
||||
$.blackInfo = {}
|
||||
$.appId = 10028;
|
||||
@@ -51,7 +52,7 @@ if ($.isNode()) {
|
||||
!(async () => {
|
||||
$.CryptoJS = $.isNode() ? require("crypto-js") : CryptoJS;
|
||||
await requestAlgo();
|
||||
await $.wait(2000);
|
||||
await $.wait(1000);
|
||||
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" });
|
||||
return;
|
||||
@@ -66,8 +67,10 @@ if ($.isNode()) {
|
||||
continue
|
||||
}
|
||||
if (i === 0) console.log(`\n正在收集助力码请等待\n`)
|
||||
UA = `jdpingou;iPhone;4.13.0;14.4.2;${randomString()};network/wifi;model/iPhone10,2;appBuild/100609;ADID/00000000-0000-0000-0000-000000000000;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`
|
||||
await signhb(1)
|
||||
await $.wait(3000)
|
||||
await $.wait(500)
|
||||
UAInfo[$.UserName] = UA
|
||||
}
|
||||
}
|
||||
for (let i = 0; i < cookiesArr.length; i++) {
|
||||
@@ -79,6 +82,7 @@ if ($.isNode()) {
|
||||
$.nickName = '';
|
||||
message = '';
|
||||
$.commonlist = []
|
||||
$.bxNum = []
|
||||
$.black = false
|
||||
$.canHelp = true
|
||||
await TotalBean()
|
||||
@@ -91,8 +95,9 @@ if ($.isNode()) {
|
||||
}
|
||||
continue
|
||||
}
|
||||
UA = UAInfo[$.UserName]
|
||||
await signhb(2)
|
||||
await $.wait(3000)
|
||||
await $.wait(2000)
|
||||
if ($.canHelp) {
|
||||
if ($.shareCodes && $.shareCodes.length) {
|
||||
console.log(`\n开始内部互助\n`)
|
||||
@@ -112,7 +117,7 @@ if ($.isNode()) {
|
||||
continue
|
||||
}
|
||||
await helpSignhb($.shareCodes[j].smp)
|
||||
await $.wait(3000)
|
||||
await $.wait(2000)
|
||||
if (!$.black) $.shareCodes[j].num++
|
||||
break
|
||||
}
|
||||
@@ -121,15 +126,22 @@ if ($.isNode()) {
|
||||
console.log(`今日已签到,无法助力好友啦~`)
|
||||
}
|
||||
if (!$.black) {
|
||||
await helpSignhb()
|
||||
if ($.commonlist && $.commonlist.length) {
|
||||
console.log("开始做红包任务")
|
||||
for (let j = 0; j < $.commonlist.length; j++) {
|
||||
await dotask($.commonlist[j]);
|
||||
await $.wait(3000);
|
||||
await $.wait(2000);
|
||||
}
|
||||
} else {
|
||||
console.log("红包任务已完成")
|
||||
}
|
||||
if ($.bxNum && $.bxNum.length) {
|
||||
for (let j = 0; j < $.bxNum[0].bxNum; j++) {
|
||||
await bxdraw()
|
||||
await $.wait(2000)
|
||||
}
|
||||
}
|
||||
await doubleSign()
|
||||
} else {
|
||||
console.log(`此账号已黑`)
|
||||
@@ -195,6 +207,10 @@ function signhb(type = 1) {
|
||||
$.commonlist.push(commontask[i].task)
|
||||
}
|
||||
}
|
||||
console.log(`可开启宝箱${data.baoxiang_left}个`)
|
||||
$.bxNum.push({
|
||||
'bxNum': data.baoxiang_left
|
||||
})
|
||||
break
|
||||
default:
|
||||
break
|
||||
@@ -210,7 +226,7 @@ function signhb(type = 1) {
|
||||
}
|
||||
|
||||
// 签到 助力
|
||||
function helpSignhb(smp) {
|
||||
function helpSignhb(smp = '') {
|
||||
return new Promise((resolve) => {
|
||||
$.get(taskUrl("fanxiantask/signhb/query", `signhb_source=1000&smp=${smp}&type=1`, "signhb_source,smp,type"), async (err, resp, data) => {
|
||||
try {
|
||||
@@ -268,6 +284,31 @@ function dotask(task) {
|
||||
});
|
||||
}
|
||||
|
||||
// 宝箱
|
||||
function bxdraw() {
|
||||
return new Promise((resolve) => {
|
||||
$.get(taskUrl("fanxiantask/signhb/bxdraw"), async (err, resp, data) => {
|
||||
try {
|
||||
if (err) {
|
||||
console.log(JSON.stringify(err));
|
||||
console.log(`${$.name} bxdraw API请求失败,请检查网路重试`);
|
||||
} else {
|
||||
data = JSON.parse(data.match(new RegExp(/jsonpCBK.?\((.*);*/))[1])
|
||||
if (data.ret === 0) {
|
||||
console.log(`开启宝箱 获得${data.sendhb}红包`);
|
||||
} else {
|
||||
console.log(data.errmsg);
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
$.logErr(e, resp);
|
||||
} finally {
|
||||
resolve(data);
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
// 双签
|
||||
function doubleSign() {
|
||||
return new Promise((resolve) => {
|
||||
@@ -315,20 +356,27 @@ function taskUrl(functionId, body = '', stk) {
|
||||
Host: "m.jingxi.com",
|
||||
Accept: "*/*",
|
||||
Connection: "keep-alive",
|
||||
"User-Agent": `jdpingou;iPhone;3.15.2;14.2.1;ea00763447803eb0f32045dcba629c248ea53bb3;network/wifi;model/iPhone13,2;appBuild/100365;ADID/00000000-0000-0000-0000-000000000000;supportApplePay/1;hasUPPay/0;pushNoticeIsOpen/0;hasOCPay/0;supportBestPay/0;session/${Math.random * 98 + 1};pap/JA2015_311210;brand/apple;supportJDSHWK/1;Mozilla/5.0 (iPhone; CPU iPhone OS 14_2_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148`,
|
||||
"User-Agent": UA,
|
||||
"Accept-Language": "zh-cn",
|
||||
Referer: "https://wqsd.jd.com/pingou/dream_factory/index.html",
|
||||
"Accept-Encoding": "gzip, deflate, br",
|
||||
}
|
||||
}
|
||||
}
|
||||
function randomString() {
|
||||
return Math.random().toString(16).slice(2, 10) +
|
||||
Math.random().toString(16).slice(2, 10) +
|
||||
Math.random().toString(16).slice(2, 10) +
|
||||
Math.random().toString(16).slice(2, 10) +
|
||||
Math.random().toString(16).slice(2, 10)
|
||||
}
|
||||
|
||||
function TotalBean() {
|
||||
return new Promise(async resolve => {
|
||||
const options = {
|
||||
url: "https://wq.jd.com/user_new/info/GetJDUserInfoUnion?sceneval=2",
|
||||
url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion",
|
||||
headers: {
|
||||
Host: "wq.jd.com",
|
||||
Host: "me-api.jd.com",
|
||||
Accept: "*/*",
|
||||
Connection: "keep-alive",
|
||||
Cookie: cookie,
|
||||
@@ -345,11 +393,11 @@ function TotalBean() {
|
||||
} else {
|
||||
if (data) {
|
||||
data = JSON.parse(data);
|
||||
if (data['retcode'] === 1001) {
|
||||
if (data['retcode'] === "1001") {
|
||||
$.isLogin = false; //cookie过期
|
||||
return;
|
||||
}
|
||||
if (data['retcode'] === 0 && data.data && data.data.hasOwnProperty("userInfo")) {
|
||||
if (data['retcode'] === "0" && data.data && data.data.hasOwnProperty("userInfo")) {
|
||||
$.nickName = data.data.userInfo.baseInfo.nickname;
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
// @grant require
|
||||
const navigator = {
|
||||
userAgent: require('./USER_AGENTS').USER_AGENT,
|
||||
plugins: { length: 0 },
|
||||
|
||||
Reference in New Issue
Block a user