更新于 08-06 11:01

This commit is contained in:
root
2021-08-06 11:01:17 -04:00
parent cfb981e2f2
commit f0737cab87
27 changed files with 7153 additions and 5842 deletions
+4 -2
View File
@@ -1,3 +1,4 @@
// @grant require
/* /*
由于 canvas 依赖系统底层需要编译且预编译包在 github releases 上,改用另一个纯 js 解码图片。若想继续使用 canvas 可调用 runWithCanvas 。 由于 canvas 依赖系统底层需要编译且预编译包在 github releases 上,改用另一个纯 js 解码图片。若想继续使用 canvas 可调用 runWithCanvas 。
@@ -6,12 +7,13 @@
const https = require('https'); const https = require('https');
const http = require('http'); const http = require('http');
const stream = require('stream'); const stream = require('stream');
const { promisify } = require('util');
const pipelineAsync = promisify(stream.pipeline);
const zlib = require('zlib'); const zlib = require('zlib');
const vm = require('vm'); const vm = require('vm');
const PNG = require('png-js'); const PNG = require('png-js');
const UA = require('./USER_AGENTS.js').USER_AGENT; const UA = require('./USER_AGENTS.js').USER_AGENT;
const { promisify } = require('util');
const pipelineAsync = promisify(stream.pipeline);
Math.avg = function average() { Math.avg = function average() {
var sum = 0; var sum = 0;
+4 -2
View File
@@ -1,13 +1,15 @@
// @grant require
const https = require('https'); const https = require('https');
const http = require('http'); const http = require('http');
const stream = require('stream'); const stream = require('stream');
const { promisify } = require('util');
const pipelineAsync = promisify(stream.pipeline);
const zlib = require('zlib'); const zlib = require('zlib');
const vm = require('vm'); const vm = require('vm');
const PNG = require('png-js'); const PNG = require('png-js');
let UA = require('./USER_AGENTS.js').USER_AGENT; let UA = require('./USER_AGENTS.js').USER_AGENT;
const validatorCount = process.env.JDJR_validator_Count ? process.env.JDJR_validator_Count : 100 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() { Math.avg = function average() {
var sum = 0; var sum = 0;
+1 -1
View File
@@ -848,7 +848,7 @@ let utils = {
outstr.push("C"); outstr.push("C");
var data = { var data = {
tm: [], tm: [],
tnm: [], tnm: ["d5-15,C5,5JD,a,t","d7-15,C5,5LJ,a,t"],
grn: 1, grn: 1,
ss: TouchSession, ss: TouchSession,
wed: 'ttttt', wed: 'ttttt',
+2
View File
@@ -4,6 +4,8 @@
#30 * * * * sh +x /scripts/docker/auto_help.sh collect >> /scripts/logs/auto_help_collect.log 2>&1 #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 0 7 * * * node /scripts/jd_zjb.js >> /scripts/logs/jd_zjb.log 2>&1
#整点京豆雨 #整点京豆雨
+16 -20
View File
@@ -61,7 +61,7 @@ if ($.isNode()) {
let notifyContent = '' let notifyContent = ''
console.log = (...args) => { console.log = (...args) => {
if(args[0].includes("【签到号")){ if(args[0].includes("【签到号")){
notifyContent += args[0].split('\n\n')[1] notifyContent += args[0].split('\n\n')[1] + '\n'
// originalLog('catch notifyContent:'+notifyContent) // originalLog('catch notifyContent:'+notifyContent)
} }
originalLog.apply( originalLog.apply(
@@ -108,37 +108,33 @@ function changeFile (content,cookie) {
return newContent return newContent
} }
async function TotalBean(cookie) { function TotalBean(cookie) {
return new Promise(async resolve => { return new Promise(async resolve => {
const options = { const options = {
"url": `https://wq.jd.com/user/info/QueryJDUserInfo?sceneval=2`, url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion",
"headers": { headers: {
"Accept": "application/json,text/plain, */*", Host: "me-api.jd.com",
"Content-Type": "application/x-www-form-urlencoded", Accept: "*/*",
"Accept-Encoding": "gzip, deflate, br", 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", "Accept-Language": "zh-cn",
"Connection": "keep-alive", "Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&",
"Cookie": cookie, "Accept-Encoding": "gzip, deflate, br"
"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
} }
$.post(options, (err, resp, data) => { $.post(options, (err, resp, data) => {
try { try {
if (err) { if (err) {
console.log(`${JSON.stringify(err)}`) console.log(`${JSON.stringify(err)}`)
console.log(`${$.name} API请求失败,请检查网路重试`) console.log(`${$.name} API请求失败,请检查网路重试`)
resolve()
} else { } else {
if (data) { if (data) {
data = JSON.parse(data); data = JSON.parse(data);
if (data['retcode'] === 13) { if (data['retcode'] === "1001") {
return //cookie过期 resolve(); //cookie过期
} return
if (data['retcode'] === 0) {
$.nickName = (data['base'] && data['base'].nickname) || $.UserName;
} else {
$.nickName = $.UserName
} }
resolve(true) resolve(true)
} else { } else {
+10 -5
View File
@@ -1,3 +1,4 @@
// @grant require
/* /*
东东超市兑换奖品 脚本地址:https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_blueCoin.js 东东超市兑换奖品 脚本地址:https://raw.githubusercontent.com/Aaron-lv/sync/jd_scripts/jd_blueCoin.js
感谢@yangtingxiao提供PR 感谢@yangtingxiao提供PR
@@ -25,7 +26,7 @@ const notify = $.isNode() ? require('./sendNotify') : '';
let allMessage = ''; let allMessage = '';
//Node.js用户请在jdCookie.js处填写京东ck; //Node.js用户请在jdCookie.js处填写京东ck;
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; 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关闭(即:奖品兑换成功后会发出通知提示) let jdNotify = false;//是否开启静默运行,默认false关闭(即:奖品兑换成功后会发出通知提示)
//IOS等用户直接用NobyDa的jd cookie //IOS等用户直接用NobyDa的jd cookie
let cookiesArr = [], cookie = ''; let cookiesArr = [], cookie = '';
@@ -113,7 +114,7 @@ Date.prototype.Format = function (fmt) { //author: meizz
async function PrizeIndex() { async function PrizeIndex() {
let nowtime = new Date().Format("s.S") 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) { if(nowtime < 59) {
let sleeptime = (starttime - nowtime) * 1000; let sleeptime = (starttime - nowtime) * 1000;
console.log(`等待时间 ${sleeptime / 1000}`); console.log(`等待时间 ${sleeptime / 1000}`);
@@ -150,6 +151,7 @@ async function PrizeIndex() {
if ($.totalBlue > $.blueCost) { if ($.totalBlue > $.blueCost) {
for (let j = 0; j <= 10; j++) { for (let j = 0; j <= 10; j++) {
await smtg_obtainPrize(prizeList[1].prizeId); await smtg_obtainPrize(prizeList[1].prizeId);
if ($.errBizCodeCount >= 3) break
} }
} else { } else {
console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}`); console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}`);
@@ -178,6 +180,7 @@ async function PrizeIndex() {
if ($.totalBlue > $.blueCost) { if ($.totalBlue > $.blueCost) {
for (let j = 0; j <= 10; j++) { for (let j = 0; j <= 10; j++) {
await smtg_obtainPrize(prizeList[0].prizeId, 1000); await smtg_obtainPrize(prizeList[0].prizeId, 1000);
if ($.errBizCodeCount >= 3) break
} }
} else { } else {
console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}`); console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}`);
@@ -211,10 +214,12 @@ async function PrizeIndex() {
if ($.type === 4 && !$.beanType) { if ($.type === 4 && !$.beanType) {
for (let j = 0; j <= 10; j++) { for (let j = 0; j <= 10; j++) {
await smtg_obtainPrize(prizeId, 0, "smtg_lockMaterialPrize") await smtg_obtainPrize(prizeId, 0, "smtg_lockMaterialPrize")
if ($.errBizCodeCount >= 3) break
} }
} else { } else {
for (let j = 0; j <= 10; j++) { for (let j = 0; j <= 10; j++) {
await smtg_obtainPrize(prizeId); await smtg_obtainPrize(prizeId);
if ($.errBizCodeCount >= 3) break
} }
} }
} else { } else {
@@ -353,15 +358,15 @@ function smtg_obtainPrize(prizeId, timeout = 0, functionId = 'smt_exchangePrize'
if (safeGet(data)) { if (safeGet(data)) {
data = JSON.parse(data); data = JSON.parse(data);
$.data = 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}`; $.beanerr = `${$.data.data.bizMsg}`;
//console.log(`【京东账号${$.index}】${$.nickName} 换取京豆失败:${$.data.data.bizMsg}`) //console.log(`【京东账号${$.index}】${$.nickName} 换取京豆失败:${$.data.data.bizMsg}`)
return return
} }
if ($.data.data.bizCode === 106) { if ($.data.data.bizCode === 400) {
$.errBizCodeCount ++; $.errBizCodeCount ++;
console.log(`debug 兑换京豆活动火爆次数:${$.errBizCodeCount}`); console.log(`debug 兑换京豆活动火爆次数:${$.errBizCodeCount}`);
if ($.errBizCodeCount >= 20) return return
} }
if ($.data.data.bizCode === 0) { if ($.data.data.bizCode === 0) {
if (`${coinToBeans}` === '1000') { if (`${coinToBeans}` === '1000') {
+1729 -1704
View File
File diff suppressed because one or more lines are too long
+461 -558
View File
File diff suppressed because one or more lines are too long
Executable
+603
View File
File diff suppressed because one or more lines are too long
+92 -12
View File
File diff suppressed because one or more lines are too long
+52 -52
View File
File diff suppressed because one or more lines are too long
+115 -109
View File
@@ -1,5 +1,4 @@
/* /*
author: 疯疯
东东健康社区 东东健康社区
更新时间2021-4-22 更新时间2021-4-22
活动入口京东APP首页搜索 "玩一玩"即可 活动入口京东APP首页搜索 "玩一玩"即可
@@ -25,11 +24,12 @@ const jdCookieNode = $.isNode() ? require("./jdCookie.js") : "";
const notify = $.isNode() ? require('./sendNotify') : ""; const notify = $.isNode() ? require('./sendNotify') : "";
let cookiesArr = [], cookie = "", allMessage = "", message; let cookiesArr = [], cookie = "", allMessage = "", message;
const inviteCodes = [ const inviteCodes = [
//`T0225KkcRUxL9FKDJh7ylvMLcACjVfnoaW5kRrbA@T0225KkcRx0Q_AaCdRr1xf8DIQCjVfnoaW5kRrbA@T018v_52Qxge81HeJB2b1ACjVfnoaW5kRrbA@T018v_hzQhwZ8FbUIRib1ACjVfnoaW5kRrbA`, //`T0225KkcRh9P9FbRKUygl_UJcgCjVfnoaW5kRrbA@T0159KUiH11Mq1bSKBoCjVfnoaW5kRrbA@T018v_hzQhwZ8FbUIRib1ACjVfnoaW5kRrbA`,
//`T018v_52Qxge81HeJB2b1ACjVfnoaW5kRrbA@T0205KkcPFd_vD2uSkCi3YhXCjVfnoaW5kRrbA@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 : '' 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 function oc(fn, defaultVal) {//optioanl chaining
try { try {
return fn() return fn()
@@ -46,35 +46,25 @@ if ($.isNode()) {
}); });
if (process.env.JD_DEBUG && process.env.JD_DEBUG === "false") console.log = () => {}; if (process.env.JD_DEBUG && process.env.JD_DEBUG === "false") console.log = () => {};
} else { } else {
cookiesArr = [ cookiesArr = [$.getdata("CookieJD"), $.getdata("CookieJD2"), ...$.toObj($.getdata("CookiesJD") || "[]").map((item) => item.cookie)].filter((item) => !!item);
$.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 () => { !(async () => {
if (!cookiesArr[0]) { if (!cookiesArr[0]) {
$.msg( $.msg($.name, "【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取", "https://bean.m.jd.com/", {"open-url": "https://bean.m.jd.com/"});
$.name,
"【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取",
"https://bean.m.jd.com/",
{"open-url": "https://bean.m.jd.com/"}
);
return; return;
} }
await requireConfig() await requireConfig()
for (let i = 0; i < cookiesArr.length; i++) { for (let i = 0; i < cookiesArr.length; i++) {
if (cookiesArr[i]) { if (cookiesArr[i]) {
cookie = cookiesArr[i]; cookie = cookiesArr[i];
$.UserName = decodeURIComponent( $.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]);
cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]
);
$.index = i + 1; $.index = i + 1;
message = ""; message = "";
console.log(`\n******开始【京东账号${$.index}${$.UserName}*********\n`); console.log(`\n******开始【京东账号${$.index}${$.UserName}*********\n`);
await shareCodesFormat() await shareCodesFormat()
await main() await main()
// await showMsg() await showMsg()
} }
} }
if ($.isNode() && allMessage) { if ($.isNode() && allMessage) {
@@ -92,22 +82,24 @@ async function main() {
try { try {
$.score = 0 $.score = 0
$.earn = false $.earn = false
// await getTaskDetail(-1) await getTaskDetail(-1)
// await getTaskDetail(16) await getTaskDetail(16)
await getTaskDetail(6) await getTaskDetail(6)
// for(let i = 0 ; i < 5; ++i){ for(let i = 0 ; i < 5; ++i){
// $.canDo = false $.canDo = false
// await getTaskDetail() await getTaskDetail()
// if(!$.canDo) break if(!$.canDo) break
// await $.wait(1000) await $.wait(1000)
// } }
// await collectScore() await collectScore()
await helpFriends() await helpFriends()
// await getTaskDetail(22); await getTaskDetail(22);
// await getTaskDetail(-1) await getTaskDetail(-1)
if (reward) { if (reward) {
await getCommodities() await getCommodities()
} }
} catch (e) { } catch (e) {
$.logErr(e) $.logErr(e)
} }
@@ -142,7 +134,7 @@ function getTaskDetail(taskId = '') {
if (safeGet(data)) { if (safeGet(data)) {
data = $.toObj(data) data = $.toObj(data)
if (taskId === -1) { 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) { if (!$.earn) {
$.score = tmp $.score = tmp
$.earn = 1 $.earn = 1
@@ -152,8 +144,8 @@ function getTaskDetail(taskId = '') {
} }
} else if (taskId === 6) { } else if (taskId === 6) {
if (oc(() => data.data.result.taskVos)) { if (oc(() => data.data.result.taskVos)) {
console.log(`\n【京东账号${$.index}${$.UserName})的${$.name}好友互助码】${oc(() => data.data.result.taskVos)[0].assistTaskDetailVo.taskToken}\n`); 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('好友助力码:' + oc(() => data.data.result.taskVos[0].assistTaskDetailVo.taskToken))
} }
} else if (taskId === 22) { } 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)}`) console.log(`${oc(() => data.data.result.taskVos[0].taskName)}任务,完成次数:${oc(() => data.data.result.taskVos[0].times)}/${oc(() => data.data.result.taskVos[0].maxTimes)}`)
@@ -161,24 +153,35 @@ function getTaskDetail(taskId = '') {
await doTask(oc(() => data.data.result.taskVos[0].shoppingActivityVos[0].taskToken), 22, 1)//领取任务 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 $.wait(1000 * (oc(() => data.data.result.taskVos[0].waitDuration) || 3));
await doTask(oc(() => data.data.result.taskVos[0].shoppingActivityVos[0].taskToken), 22, 0);//完成任务 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 {
console.log(`${vo.taskName}任务,完成次数:${vo.times}/${vo.maxTimes}`) for (let vo of nc(oc(() => data.data.result.taskVos.filter(vo => vo.taskType !== 19)) , [])) {
for (let i = vo.times; i < vo.maxTimes; ++i) { console.log(`${vo.taskName}任务,完成次数:${vo.times}/${vo.maxTimes}`)
console.log(`去完成${vo.taskName}任务`) for (let i = vo.times; i < vo.maxTimes; i++) {
if (vo.taskType === 13) { console.log(`去完成${vo.taskName}任务`)
await doTask(oc(() => vo.simpleRecordInfoVo.taskToken), oc(() => vo.taskId)) if (vo.taskType === 13) {
} else if (vo.taskType === 8) { await doTask(oc(() => vo.simpleRecordInfoVo.taskToken), oc(() => vo.taskId))
await doTask(oc(() => vo.productInfoVos[i].taskToken), oc(() => vo.taskId), 1) } else if (vo.taskType === 8) {
await $.wait(1000 * 10) await doTask(oc(() => vo.productInfoVos[i].taskToken), oc(() => vo.taskId), 1)
await doTask(oc(() => vo.productInfoVos[i].taskToken), oc(() => vo.taskId), 0) await $.wait(1000 * 10)
} else if (vo.taskType === 9) { await doTask(oc(() => vo.productInfoVos[i].taskToken), oc(() => vo.taskId), 0)
await doTask(oc(() => vo.shoppingActivityVos[0].taskToken), oc(() => vo.taskId), 1) } else if (vo.taskType === 9) {
await $.wait(1000 * 10) await doTask(oc(() => vo.shoppingActivityVos[0].taskToken), oc(() => vo.taskId), 1)
await doTask(oc(() => vo.shoppingActivityVos[0].taskToken), oc(() => vo.taskId), 0) await $.wait(1000 * 10)
} else if (vo.taskType === 10) { await doTask(oc(() => vo.shoppingActivityVos[0].taskToken), oc(() => vo.taskId), 0)
await doTask(oc(() => vo.threeMealInfoVos[0].taskToken), oc(() => vo.taskId)) } else if (vo.taskType === 10) {
} else if (vo.taskType === 26 || vo.taskType === 3) { await doTask(oc(() => vo.threeMealInfoVos[0].taskToken), oc(() => vo.taskId))
await doTask(oc(() => vo.shoppingActivityVos[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) { function doTask(taskToken, taskId, actionType = 0) {
return new Promise(resolve => { return new Promise(resolve => {
const options = taskUrl('jdhealth_collectScore', {taskToken, taskId, actionType}) 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 = {}) { function taskUrl(function_id, body = {}) {
return { 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: { headers: {
"Cookie": cookie, "Cookie": cookie,
"origin": "https://h5.m.jd.com", "origin": "https://h5.m.jd.com",
"referer": "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', '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") "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")
} }
@@ -361,10 +367,10 @@ function shareCodesFormat() {
const tempIndex = $.index > inviteCodes.length ? (inviteCodes.length - 1) : ($.index - 1); const tempIndex = $.index > inviteCodes.length ? (inviteCodes.length - 1) : ($.index - 1);
$.newShareCodes = inviteCodes[tempIndex].split('@'); $.newShareCodes = inviteCodes[tempIndex].split('@');
} }
// const readShareCodeRes = await readShareCode(); // const readShareCodeRes = await readShareCode();
// if (readShareCodeRes && readShareCodeRes.code === 200) { // if (readShareCodeRes && readShareCodeRes.code === 200) {
// $.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])]; // $.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])];
// } // }
console.log(`${$.index}个京东账号将要助力的好友${JSON.stringify($.newShareCodes)}`) console.log(`${$.index}个京东账号将要助力的好友${JSON.stringify($.newShareCodes)}`)
resolve(); resolve();
}) })
+257 -254
View File
@@ -24,7 +24,7 @@ const $ = new Env('京东赚赚');
const notify = $.isNode() ? require('./sendNotify') : ''; const notify = $.isNode() ? require('./sendNotify') : '';
//Node.js用户请在jdCookie.js处填写京东ck; //Node.js用户请在jdCookie.js处填写京东ck;
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
let helpAuthor=true; // 帮助作者 // let helpAuthor=true; // 帮助作者
const randomCount = $.isNode() ? 0 : 5; const randomCount = $.isNode() ? 0 : 5;
let jdNotify = true; // 是否关闭通知,false打开通知推送,true关闭通知推送 let jdNotify = true; // 是否关闭通知,false打开通知推送,true关闭通知推送
//IOS等用户直接用NobyDa的jd cookie //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); 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 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); let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset() * 60 * 1000 + 8 * 60 * 60 * 1000);
!(async () => { !(async () => {
$.tuanList = []; // $.tuanList = [];
$.authorTuanList = []; // $.authorTuanList = [];
await requireConfig(); // await requireConfig();
// if (helpAuthor) await getAuthorShareCode('http://qr6pzoy01.hn-bkt.clouddn.com/jd_zz.json'); // 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.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.fastgit.org/zero205/updateTeam/master/shareCodes/jd_zz.json');
if (!cookiesArr[0]) { if (!cookiesArr[0]) {
$.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"}); $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"});
return; return;
@@ -70,7 +73,7 @@ let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset() *
} }
continue continue
} }
await shareCodesFormat() // await shareCodesFormat()
await jdWish() await jdWish()
} }
} }
@@ -80,30 +83,30 @@ let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset() *
await notify.sendNotify($.name, allMessage); await notify.sendNotify($.name, allMessage);
} }
} }
console.log(`\n\n开始账号内部互助 【赚京豆(微信小程序)-瓜分京豆】活动(优先内部账号互助(需内部cookie数量大于${$.assistNum || 4}个),如有剩余助力次数则给作者lxk0301助力)\n`) // console.log(`\n\n开始账号内部互助 【赚京豆(微信小程序)-瓜分京豆】活动(优先内部账号互助(需内部cookie数量大于${$.assistNum || 4}个),如有剩余助力次数则给作者lxk0301助力)\n`)
for (let i = 0; i < cookiesArr.length; i++) { // for (let i = 0; i < cookiesArr.length; i++) {
$.canHelp = true // $.canHelp = true
if (cookiesArr[i]) { // if (cookiesArr[i]) {
cookie = 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])
if ($.canHelp && cookiesArr.length > $.assistNum || 4) { // if ($.canHelp && cookiesArr.length > $.assistNum || 4) {
console.log(`开始账号内部互助 赚京豆-瓜分京豆 活动,优先内部账号互助`) // console.log(`开始账号内部互助 赚京豆-瓜分京豆 活动,优先内部账号互助`)
for (let j = 0; j < $.tuanList.length; ++j) { // for (let j = 0; j < $.tuanList.length; ++j) {
console.log(`账号 ${$.UserName} 开始给 【${$.tuanList[j]['assistedPinEncrypted']}】助力`) // console.log(`账号 ${$.UserName} 开始给 【${$.tuanList[j]['assistedPinEncrypted']}】助力`)
await helpFriendTuan($.tuanList[j]) // await helpFriendTuan($.tuanList[j])
if(!$.canHelp) break // if(!$.canHelp) break
} // }
} // }
if ($.canHelp) { // if ($.canHelp) {
console.log(`开始账号内部互助 赚京豆-瓜分京豆 活动,如有剩余则给作者lxk0301助力`) // console.log(`开始账号内部互助 赚京豆-瓜分京豆 活动,如有剩余则给作者lxk0301助力`)
for (let j = 0; j < $.authorTuanList.length; ++j) { // for (let j = 0; j < $.authorTuanList.length; ++j) {
console.log(`账号 ${$.UserName} 开始给作者lxk0301 ${$.authorTuanList[j]['assistedPinEncrypted']}助力`) // console.log(`账号 ${$.UserName} 开始给作者lxk0301 ${$.authorTuanList[j]['assistedPinEncrypted']}助力`)
await helpFriendTuan($.authorTuanList[j]) // await helpFriendTuan($.authorTuanList[j])
if(!$.canHelp) break // if(!$.canHelp) break
} // }
} // }
} // }
} // }
})() })()
.catch((e) => { .catch((e) => {
$.log('', `${$.name}, 失败! 原因: ${e}!`, '') $.log('', `${$.name}, 失败! 原因: ${e}!`, '')
@@ -114,19 +117,19 @@ let nowTimes = new Date(new Date().getTime() + new Date().getTimezoneOffset() *
async function jdWish() { async function jdWish() {
$.bean = 0 $.bean = 0
$.tuan = null // $.tuan = null
$.hasOpen = false; // $.hasOpen = false;
$.assistStatus = 0; // $.assistStatus = 0;
await getTaskList(true) await getTaskList(true)
await getUserTuanInfo() // await getUserTuanInfo()
if (!$.tuan && $.assistStatus === 3 && $.canStartNewAssist) { // if (!$.tuan && $.assistStatus === 3 && $.canStartNewAssist) {
console.log(`准备再次开团`) // console.log(`准备再次开团`)
await openTuan() // await openTuan()
if ($.hasOpen) await getUserTuanInfo() // if ($.hasOpen) await getUserTuanInfo()
} // }
if ($.tuan && $.tuan.hasOwnProperty('assistedPinEncrypted') && $.assistStatus !== 3) $.tuanList.push($.tuan) // if ($.tuan && $.tuan.hasOwnProperty('assistedPinEncrypted') && $.assistStatus !== 3) $.tuanList.push($.tuan)
await helpFriends() // await helpFriends()
await getUserInfo() await getUserInfo()
$.nowBean = parseInt($.totalBeanNum) $.nowBean = parseInt($.totalBeanNum)
$.nowNum = parseInt($.totalNum) $.nowNum = parseInt($.totalNum)
@@ -164,143 +167,143 @@ function showMsg() {
resolve(); resolve();
}) })
} }
function getAuthorShareCode(url) { // function getAuthorShareCode(url) {
return new Promise(resolve => { // return new Promise(resolve => {
const options = { // const options = {
url: `${url}?${new Date()}`, "timeout": 10000, headers: { // 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" // "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) { // if ($.isNode() && process.env.TG_PROXY_HOST && process.env.TG_PROXY_PORT) {
const tunnel = require("tunnel"); // const tunnel = require("tunnel");
const agent = { // const agent = {
https: tunnel.httpsOverHttp({ // https: tunnel.httpsOverHttp({
proxy: { // proxy: {
host: process.env.TG_PROXY_HOST, // host: process.env.TG_PROXY_HOST,
port: process.env.TG_PROXY_PORT * 1 // port: process.env.TG_PROXY_PORT * 1
} // }
}) // })
} // }
Object.assign(options, { agent }) // Object.assign(options, { agent })
} // }
$.get(options, async (err, resp, data) => { // $.get(options, async (err, resp, data) => {
try { // try {
if (err) { // if (err) {
} else { // } else {
$.authorTuanList = $.authorTuanList.concat(JSON.parse(data)) // $.authorTuanList = $.authorTuanList.concat(JSON.parse(data))
} // }
} catch (e) { // } catch (e) {
$.logErr(e, resp) // $.logErr(e, resp)
} finally { // } finally {
resolve(); // resolve();
} // }
}) // })
}) // })
} // }
function helpFriendTuan(body) { // function helpFriendTuan(body) {
return new Promise(resolve => { // return new Promise(resolve => {
$.get(taskTuanUrl("vvipclub_distributeBean_assist", body), async (err, resp, data) => { // $.get(taskTuanUrl("vvipclub_distributeBean_assist", body), async (err, resp, data) => {
try { // try {
if (err) { // if (err) {
console.log(`${JSON.stringify(err)}`) // console.log(`${JSON.stringify(err)}`)
console.log(`${$.name} API请求失败,请检查网路重试`) // console.log(`${$.name} API请求失败,请检查网路重试`)
} else { // } else {
if (safeGet(data)) { // if (safeGet(data)) {
data = JSON.parse(data); // data = JSON.parse(data);
if (data.success) { // if (data.success) {
console.log('助力结果:助力成功\n') // console.log('助力结果:助力成功\n')
} else { // } else {
if (data.resultCode === '9200008') console.log('助力结果:不能助力自己\n') // if (data.resultCode === '9200008') console.log('助力结果:不能助力自己\n')
else if (data.resultCode === '9200011') console.log('助力结果:已经助力过\n') // else if (data.resultCode === '9200011') console.log('助力结果:已经助力过\n')
else if (data.resultCode === '2400205') console.log('助力结果:团已满\n') // else if (data.resultCode === '2400205') console.log('助力结果:团已满\n')
else if (data.resultCode === '2400203') {console.log('助力结果:助力次数已耗尽\n');$.canHelp = false} // else if (data.resultCode === '2400203') {console.log('助力结果:助力次数已耗尽\n');$.canHelp = false}
else console.log(`助力结果:未知错误\n`) // else console.log(`助力结果:未知错误\n`)
} // }
} // }
} // }
} catch (e) { // } catch (e) {
$.logErr(e, resp) // $.logErr(e, resp)
} finally { // } finally {
resolve(data); // resolve(data);
} // }
}) // })
}) // })
} // }
function getUserTuanInfo() { // function getUserTuanInfo() {
let body = {"paramData": {"channel": "FISSION_BEAN"}} // let body = {"paramData": {"channel": "FISSION_BEAN"}}
return new Promise(resolve => { // return new Promise(resolve => {
$.get(taskTuanUrl("distributeBeanActivityInfo", body), async (err, resp, data) => { // $.get(taskTuanUrl("distributeBeanActivityInfo", body), async (err, resp, data) => {
try { // try {
if (err) { // if (err) {
console.log(`${JSON.stringify(err)}`) // console.log(`${JSON.stringify(err)}`)
console.log(`${$.name} API请求失败,请检查网路重试`) // console.log(`${$.name} API请求失败,请检查网路重试`)
} else { // } else {
if (safeGet(data)) { // if (safeGet(data)) {
data = JSON.parse(data); // data = JSON.parse(data);
if (data['success']) { // if (data['success']) {
$.log(`\n\n当前【赚京豆(微信小程序)-瓜分京豆】能否再次开团: ${data.data.canStartNewAssist ? '可以' : '否'}`) // $.log(`\n\n当前【赚京豆(微信小程序)-瓜分京豆】能否再次开团: ${data.data.canStartNewAssist ? '可以' : '否'}`)
if (data.data.assistStatus === 1 && !data.data.canStartNewAssist) { // if (data.data.assistStatus === 1 && !data.data.canStartNewAssist) {
console.log(`已开团(未达上限),但团成员人未满\n\n`) // console.log(`已开团(未达上限),但团成员人未满\n\n`)
} else if (data.data.assistStatus === 3 && data.data.canStartNewAssist) { // } else if (data.data.assistStatus === 3 && data.data.canStartNewAssist) {
console.log(`已开团(未达上限),团成员人已满\n\n`) // console.log(`已开团(未达上限),团成员人已满\n\n`)
} else if (data.data.assistStatus === 3 && !data.data.canStartNewAssist) { // } else if (data.data.assistStatus === 3 && !data.data.canStartNewAssist) {
console.log(`今日开团已达上限,且当前团成员人已满\n\n`) // console.log(`今日开团已达上限,且当前团成员人已满\n\n`)
} // }
if (data.data && !data.data.canStartNewAssist) { // if (data.data && !data.data.canStartNewAssist) {
$.tuan = { // $.tuan = {
"activityIdEncrypted": data.data.id, // "activityIdEncrypted": data.data.id,
"assistStartRecordId": data.data.assistStartRecordId, // "assistStartRecordId": data.data.assistStartRecordId,
"assistedPinEncrypted": data.data.encPin, // "assistedPinEncrypted": data.data.encPin,
"channel": "FISSION_BEAN" // "channel": "FISSION_BEAN"
} // }
} // }
$.tuanActId = data.data.id; // $.tuanActId = data.data.id;
$.assistNum = data['data']['assistNum'] || 4; // $.assistNum = data['data']['assistNum'] || 4;
$.assistStatus = data['data']['assistStatus']; // $.assistStatus = data['data']['assistStatus'];
$.canStartNewAssist = data['data']['canStartNewAssist']; // $.canStartNewAssist = data['data']['canStartNewAssist'];
} else { // } else {
$.tuan = true;//活动火爆 // $.tuan = true;//活动火爆
console.log(`获取【赚京豆(微信小程序)-瓜分京豆】活动信息失败 ${JSON.stringify(data)}\n`) // console.log(`获取【赚京豆(微信小程序)-瓜分京豆】活动信息失败 ${JSON.stringify(data)}\n`)
} // }
} // }
} // }
} catch (e) { // } catch (e) {
$.logErr(e, resp) // $.logErr(e, resp)
} finally { // } finally {
resolve(data); // resolve(data);
} // }
}) // })
}) // })
} // }
function openTuan() { // function openTuan() {
let body = {"activityIdEncrypted": $.tuanActId, "channel": "FISSION_BEAN"} // let body = {"activityIdEncrypted": $.tuanActId, "channel": "FISSION_BEAN"}
return new Promise(resolve => { // return new Promise(resolve => {
$.get(taskTuanUrl("vvipclub_distributeBean_startAssist", body), async (err, resp, data) => { // $.get(taskTuanUrl("vvipclub_distributeBean_startAssist", body), async (err, resp, data) => {
try { // try {
if (err) { // if (err) {
console.log(`${JSON.stringify(err)}`) // console.log(`${JSON.stringify(err)}`)
console.log(`${$.name} API请求失败,请检查网路重试`) // console.log(`${$.name} API请求失败,请检查网路重试`)
} else { // } else {
if (safeGet(data)) { // if (safeGet(data)) {
data = JSON.parse(data); // data = JSON.parse(data);
if (data['success']) { // if (data['success']) {
console.log(`【赚京豆(微信小程序)-瓜分京豆】开团成功`) // console.log(`【赚京豆(微信小程序)-瓜分京豆】开团成功`)
$.hasOpen = true // $.hasOpen = true
} else { // } else {
console.log(`\n开团失败:${JSON.stringify(data)}\n`) // console.log(`\n开团失败:${JSON.stringify(data)}\n`)
} // }
} // }
} // }
} catch (e) { // } catch (e) {
$.logErr(e, resp) // $.logErr(e, resp)
} finally { // } finally {
resolve(data); // resolve(data);
} // }
}) // })
}) // })
} // }
function getUserInfo() { function getUserInfo() {
return new Promise(resolve => { return new Promise(resolve => {
@@ -389,84 +392,84 @@ function doTask(body, func = "doInteractTask") {
}) })
} }
async function helpFriends() { // async function helpFriends() {
for (let code of $.newShareCodes) { // for (let code of $.newShareCodes) {
if (!code) continue // if (!code) continue
await doTask({"itemId": code, "taskId": "3", "mpVersion": "3.4.0"}, "doHelpTask") // await doTask({"itemId": code, "taskId": "3", "mpVersion": "3.4.0"}, "doHelpTask")
} // }
} // }
function readShareCode() { // function readShareCode() {
console.log(`开始`) // console.log(`开始`)
return new Promise(async resolve => { // return new Promise(async resolve => {
$.get({url: `https://code.chiang.fun/api/v1/jd/jdzz/read/${randomCount}/`, 'timeout': 10000}, (err, resp, data) => { // $.get({url: `https://code.chiang.fun/api/v1/jd/jdzz/read/${randomCount}/`, 'timeout': 10000}, (err, resp, data) => {
try { // try {
if (err) { // if (err) {
console.log(`${JSON.stringify(err)}`) // console.log(`${JSON.stringify(err)}`)
console.log(`${$.name} API请求失败,请检查网路重试`) // console.log(`${$.name} API请求失败,请检查网路重试`)
} else { // } else {
if (data) { // if (data) {
console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`) // console.log(`随机取${randomCount}个码放到您固定的互助码后面(不影响已有固定互助)`)
data = JSON.parse(data); // data = JSON.parse(data);
} // }
} // }
} catch (e) { // } catch (e) {
$.logErr(e, resp) // $.logErr(e, resp)
} finally { // } finally {
resolve(data); // resolve(data);
} // }
}) // })
await $.wait(10000); // await $.wait(10000);
resolve() // resolve()
}) // })
} // }
//格式化助力码 //格式化助力码
function shareCodesFormat() { // function shareCodesFormat() {
return new Promise(async resolve => { // return new Promise(async resolve => {
// console.log(`第${$.index}个京东账号的助力码:::${$.shareCodesArr[$.index - 1]}`) // // console.log(`第${$.index}个京东账号的助力码:::${$.shareCodesArr[$.index - 1]}`)
$.newShareCodes = []; // $.newShareCodes = [];
if ($.shareCodesArr[$.index - 1]) { // if ($.shareCodesArr[$.index - 1]) {
$.newShareCodes = $.shareCodesArr[$.index - 1].split('@'); // $.newShareCodes = $.shareCodesArr[$.index - 1].split('@');
} else { // } else {
console.log(`由于您第${$.index}个京东账号未提供shareCode,将采纳本脚本自带的助力码\n`) // console.log(`由于您第${$.index}个京东账号未提供shareCode,将采纳本脚本自带的助力码\n`)
const tempIndex = $.index > inviteCodes.length ? (inviteCodes.length - 1) : ($.index - 1); // const tempIndex = $.index > inviteCodes.length ? (inviteCodes.length - 1) : ($.index - 1);
$.newShareCodes = inviteCodes[tempIndex].split('@'); // $.newShareCodes = inviteCodes[tempIndex].split('@');
} // }
const readShareCodeRes = await readShareCode(); // const readShareCodeRes = await readShareCode();
if (readShareCodeRes && readShareCodeRes.code === 200) { // if (readShareCodeRes && readShareCodeRes.code === 200) {
$.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])]; // $.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])];
} // }
console.log(`${$.index}个京东账号将要助力的好友${JSON.stringify($.newShareCodes)}`) // console.log(`第${$.index}个京东账号将要助力的好友${JSON.stringify($.newShareCodes)}`)
resolve(); // resolve();
}) // })
} // }
function requireConfig() { // function requireConfig() {
return new Promise(resolve => { // return new Promise(resolve => {
console.log(`开始获取${$.name}配置文件\n`); // console.log(`开始获取${$.name}配置文件\n`);
//Node.js用户请在jdCookie.js处填写京东ck; // //Node.js用户请在jdCookie.js处填写京东ck;
let shareCodes = []; // let shareCodes = [];
if ($.isNode()) { // if ($.isNode()) {
if (process.env.JDZZ_SHARECODES) { // if (process.env.JDZZ_SHARECODES) {
if (process.env.JDZZ_SHARECODES.indexOf('\n') > -1) { // if (process.env.JDZZ_SHARECODES.indexOf('\n') > -1) {
shareCodes = process.env.JDZZ_SHARECODES.split('\n'); // shareCodes = process.env.JDZZ_SHARECODES.split('\n');
} else { // } else {
shareCodes = process.env.JDZZ_SHARECODES.split('&'); // shareCodes = process.env.JDZZ_SHARECODES.split('&');
} // }
} // }
} // }
console.log(`${cookiesArr.length}个京东账号\n`); // console.log(`共${cookiesArr.length}个京东账号\n`);
$.shareCodesArr = []; // $.shareCodesArr = [];
if ($.isNode()) { // if ($.isNode()) {
Object.keys(shareCodes).forEach((item) => { // Object.keys(shareCodes).forEach((item) => {
if (shareCodes[item]) { // if (shareCodes[item]) {
$.shareCodesArr.push(shareCodes[item]) // $.shareCodesArr.push(shareCodes[item])
} // }
}) // })
} // }
console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`); // console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`);
resolve() // resolve()
}) // })
} // }
function taskUrl(functionId, body = {}) { function taskUrl(functionId, body = {}) {
return { return {
+172 -389
View File
File diff suppressed because one or more lines are too long
+315
View File
File diff suppressed because one or more lines are too long
+39 -207
View File
File diff suppressed because one or more lines are too long
+232 -283
View File
File diff suppressed because one or more lines are too long
+4 -4
View File
@@ -153,16 +153,16 @@ function getUserInfo() {
data = JSON.parse(data) data = JSON.parse(data)
if (data.iRet === 0) { if (data.iRet === 0) {
console.log(`获取助力码成功:${data.Data.strUserPin}\n`); console.log(`获取助力码成功:${data.Data.strUserPin}\n`);
if (data.Data['dwCurrentGrade'] >= 6) { // if (data.Data['dwCurrentGrade'] >= 6) {
console.log(`6个阶梯红包已全部拆完\n`) // console.log(`6个阶梯红包已全部拆完\n`)
} else { // } else {
if (data.Data.strUserPin) { if (data.Data.strUserPin) {
$.packetIdArr.push({ $.packetIdArr.push({
strUserPin: data.Data.strUserPin, strUserPin: data.Data.strUserPin,
userName: $.UserName userName: $.UserName
}) })
} }
} // }
} else { } else {
console.log(`获取助力码失败:${data.sErrMsg}\n`); console.log(`获取助力码失败:${data.sErrMsg}\n`);
} }
+1
View File
@@ -1,3 +1,4 @@
// @grant require
/* /*
// https://h5.m.jd.com/rn/42yjy8na6pFsq1cx9MJQ5aTgu3kX/index.html // https://h5.m.jd.com/rn/42yjy8na6pFsq1cx9MJQ5aTgu3kX/index.html
+3 -9
View File
@@ -1,7 +1,7 @@
/* /*
女装盲盒 女装盲盒
活动时间2021-5-24至2021-6-22 活动时间2021-7-1至2021-7-31
活动地址https://anmp.jd.com/babelDiy/Zeus/sVeWYpCvtfH754mtAT13s8V1Yjt/index.html 活动地址https://h5.m.jd.com/babelDiy/Zeus/3eeruLXVbXge6CexVq8XkBbBvAfy/index.html
活动入口京东app-女装馆-赢京豆 活动入口京东app-女装馆-赢京豆
已支持IOS双京东账号,Node.js支持N个京东账号 已支持IOS双京东账号,Node.js支持N个京东账号
脚本兼容: QuantumultX, Surge, Loon, JSBox, Node.js 脚本兼容: 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/"}); $.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"});
return; 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++) { for (let i = 0; i < cookiesArr.length; i++) {
if (cookiesArr[i]) { if (cookiesArr[i]) {
cookie = cookiesArr[i]; cookie = cookiesArr[i];
@@ -68,9 +64,7 @@ if ($.isNode()) {
continue continue
} }
try { try {
//await jdMh('https://h5.m.jd.com/babelDiy/Zeus/3eeruLXVbXge6CexVq8XkBbBvAfy/index.html') await jdMh('https://anmp.jd.com/babelDiy/Zeus/3bMo2AgbRYYfZt83qHLZ3ruVtrtG/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')
} catch (e) { } catch (e) {
$.logErr(e) $.logErr(e)
} }
+3 -3
View File
@@ -113,9 +113,9 @@ async function jdPlantBean() {
await plantShareSupportList(); await plantShareSupportList();
} else { } else {
console.log(`种豆得豆-初始失败: ${JSON.stringify($.plantBeanIndexResult)}`); console.log(`种豆得豆-初始失败: ${JSON.stringify($.plantBeanIndexResult)}`);
console.log(`等待10秒后重试`); // console.log(`等待10秒后重试`);
await $.wait(10000); // await $.wait(10000);
await jdPlantBean(); // await jdPlantBean();
} }
} catch (e) { } catch (e) {
$.logErr(e); $.logErr(e);
Executable
+476
View File
File diff suppressed because one or more lines are too long
+224 -87
View File
File diff suppressed because one or more lines are too long
+1
View File
@@ -1,3 +1,4 @@
// @grant require
/* /*
cron 14 10 * * * https://raw.githubusercontent.com/smiek2221/scripts/master/jd_sign_graphics.js cron 14 10 * * * https://raw.githubusercontent.com/smiek2221/scripts/master/jd_sign_graphics.js
只支持nodejs环境 只支持nodejs环境
+214 -67
View File
File diff suppressed because one or more lines are too long
+60 -12
View File
@@ -37,6 +37,7 @@ const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送
//IOS等用户直接用NobyDa的jd cookie //IOS等用户直接用NobyDa的jd cookie
let cookiesArr = [], cookie = '', message; let cookiesArr = [], cookie = '', message;
let UA, UAInfo = {};
$.shareCodes = []; $.shareCodes = [];
$.blackInfo = {} $.blackInfo = {}
$.appId = 10028; $.appId = 10028;
@@ -51,7 +52,7 @@ if ($.isNode()) {
!(async () => { !(async () => {
$.CryptoJS = $.isNode() ? require("crypto-js") : CryptoJS; $.CryptoJS = $.isNode() ? require("crypto-js") : CryptoJS;
await requestAlgo(); await requestAlgo();
await $.wait(2000); await $.wait(1000);
if (!cookiesArr[0]) { if (!cookiesArr[0]) {
$.msg($.name, "【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取", "https://bean.m.jd.com/bean/signIndex.action", { "open-url": "https://bean.m.jd.com/bean/signIndex.action" }); $.msg($.name, "【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取", "https://bean.m.jd.com/bean/signIndex.action", { "open-url": "https://bean.m.jd.com/bean/signIndex.action" });
return; return;
@@ -66,8 +67,10 @@ if ($.isNode()) {
continue continue
} }
if (i === 0) console.log(`\n正在收集助力码请等待\n`) 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 signhb(1)
await $.wait(3000) await $.wait(500)
UAInfo[$.UserName] = UA
} }
} }
for (let i = 0; i < cookiesArr.length; i++) { for (let i = 0; i < cookiesArr.length; i++) {
@@ -79,10 +82,11 @@ if ($.isNode()) {
$.nickName = ''; $.nickName = '';
message = ''; message = '';
$.commonlist = [] $.commonlist = []
$.bxNum = []
$.black = false $.black = false
$.canHelp = true $.canHelp = true
await TotalBean() await TotalBean()
console.log(`\n******开始【京东账号${$.index} ${$.nickName || $.UserName}*********\n`) console.log(`\n******开始【京东账号${$.index}${$.nickName || $.UserName}*********\n`)
if (!$.isLogin) { if (!$.isLogin) {
$.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/bean/signIndex.action`, { "open-url": "https://bean.m.jd.com/bean/signIndex.action" }) $.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/bean/signIndex.action`, { "open-url": "https://bean.m.jd.com/bean/signIndex.action" })
@@ -91,8 +95,9 @@ if ($.isNode()) {
} }
continue continue
} }
UA = UAInfo[$.UserName]
await signhb(2) await signhb(2)
await $.wait(3000) await $.wait(2000)
if ($.canHelp) { if ($.canHelp) {
if ($.shareCodes && $.shareCodes.length) { if ($.shareCodes && $.shareCodes.length) {
console.log(`\n开始内部互助\n`) console.log(`\n开始内部互助\n`)
@@ -112,7 +117,7 @@ if ($.isNode()) {
continue continue
} }
await helpSignhb($.shareCodes[j].smp) await helpSignhb($.shareCodes[j].smp)
await $.wait(3000) await $.wait(2000)
if (!$.black) $.shareCodes[j].num++ if (!$.black) $.shareCodes[j].num++
break break
} }
@@ -121,15 +126,22 @@ if ($.isNode()) {
console.log(`今日已签到,无法助力好友啦~`) console.log(`今日已签到,无法助力好友啦~`)
} }
if (!$.black) { if (!$.black) {
await helpSignhb()
if ($.commonlist && $.commonlist.length) { if ($.commonlist && $.commonlist.length) {
console.log("开始做红包任务") console.log("开始做红包任务")
for (let j = 0; j < $.commonlist.length; j++) { for (let j = 0; j < $.commonlist.length; j++) {
await dotask($.commonlist[j]); await dotask($.commonlist[j]);
await $.wait(3000); await $.wait(2000);
} }
} else { } else {
console.log("红包任务已完成") console.log("红包任务已完成")
} }
if ($.bxNum && $.bxNum.length) {
for (let j = 0; j < $.bxNum[0].bxNum; j++) {
await bxdraw()
await $.wait(2000)
}
}
await doubleSign() await doubleSign()
} else { } else {
console.log(`此账号已黑`) console.log(`此账号已黑`)
@@ -195,6 +207,10 @@ function signhb(type = 1) {
$.commonlist.push(commontask[i].task) $.commonlist.push(commontask[i].task)
} }
} }
console.log(`可开启宝箱${data.baoxiang_left}`)
$.bxNum.push({
'bxNum': data.baoxiang_left
})
break break
default: default:
break break
@@ -210,7 +226,7 @@ function signhb(type = 1) {
} }
// 签到 助力 // 签到 助力
function helpSignhb(smp) { function helpSignhb(smp = '') {
return new Promise((resolve) => { return new Promise((resolve) => {
$.get(taskUrl("fanxiantask/signhb/query", `signhb_source=1000&smp=${smp}&type=1`, "signhb_source,smp,type"), async (err, resp, data) => { $.get(taskUrl("fanxiantask/signhb/query", `signhb_source=1000&smp=${smp}&type=1`, "signhb_source,smp,type"), async (err, resp, data) => {
try { 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() { function doubleSign() {
return new Promise((resolve) => { return new Promise((resolve) => {
@@ -315,20 +356,27 @@ function taskUrl(functionId, body = '', stk) {
Host: "m.jingxi.com", Host: "m.jingxi.com",
Accept: "*/*", Accept: "*/*",
Connection: "keep-alive", 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", "Accept-Language": "zh-cn",
Referer: "https://wqsd.jd.com/pingou/dream_factory/index.html", Referer: "https://wqsd.jd.com/pingou/dream_factory/index.html",
"Accept-Encoding": "gzip, deflate, br", "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() { function TotalBean() {
return new Promise(async resolve => { return new Promise(async resolve => {
const options = { const options = {
url: "https://wq.jd.com/user_new/info/GetJDUserInfoUnion?sceneval=2", url: "https://me-api.jd.com/user_new/info/GetJDUserInfoUnion",
headers: { headers: {
Host: "wq.jd.com", Host: "me-api.jd.com",
Accept: "*/*", Accept: "*/*",
Connection: "keep-alive", Connection: "keep-alive",
Cookie: cookie, Cookie: cookie,
@@ -345,11 +393,11 @@ function TotalBean() {
} else { } else {
if (data) { if (data) {
data = JSON.parse(data); data = JSON.parse(data);
if (data['retcode'] === 1001) { if (data['retcode'] === "1001") {
$.isLogin = false; //cookie过期 $.isLogin = false; //cookie过期
return; 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; $.nickName = data.data.userInfo.baseInfo.nickname;
} }
} else { } else {
+2036 -2035
View File
File diff suppressed because it is too large Load Diff