更新于 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 。
@@ -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;
+4 -2
View File
@@ -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;
+1 -1
View File
@@ -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',
+2
View File
@@ -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
View File
@@ -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
View File
@@ -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') {
+1736 -1711
View File
File diff suppressed because one or more lines are too long
+463 -560
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
活动入口京东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,24 +153,35 @@ 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)), [])) {
console.log(`${vo.taskName}任务,完成次数:${vo.times}/${vo.maxTimes}`)
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))
} else if (vo.taskType === 8) {
await doTask(oc(() => vo.productInfoVos[i].taskToken), oc(() => vo.taskId), 1)
await $.wait(1000 * 10)
await doTask(oc(() => vo.productInfoVos[i].taskToken), oc(() => vo.taskId), 0)
} else if (vo.taskType === 9) {
await doTask(oc(() => vo.shoppingActivityVos[0].taskToken), oc(() => vo.taskId), 1)
await $.wait(1000 * 10)
await doTask(oc(() => vo.shoppingActivityVos[0].taskToken), oc(() => vo.taskId), 0)
} else if (vo.taskType === 10) {
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 {
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++) {
console.log(`去完成${vo.taskName}任务`)
if (vo.taskType === 13) {
await doTask(oc(() => vo.simpleRecordInfoVo.taskToken), oc(() => vo.taskId))
} else if (vo.taskType === 8) {
await doTask(oc(() => vo.productInfoVos[i].taskToken), oc(() => vo.taskId), 1)
await $.wait(1000 * 10)
await doTask(oc(() => vo.productInfoVos[i].taskToken), oc(() => vo.taskId), 0)
} else if (vo.taskType === 9) {
await doTask(oc(() => vo.shoppingActivityVos[0].taskToken), oc(() => vo.taskId), 1)
await $.wait(1000 * 10)
await doTask(oc(() => vo.shoppingActivityVos[0].taskToken), oc(() => vo.taskId), 0)
} else if (vo.taskType === 10) {
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")
}
@@ -361,10 +367,10 @@ function shareCodesFormat() {
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 || [])])];
// }
// const readShareCodeRes = await readShareCode();
// if (readShareCodeRes && readShareCodeRes.code === 200) {
// $.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])];
// }
console.log(`${$.index}个京东账号将要助力的好友${JSON.stringify($.newShareCodes)}`)
resolve();
})
+257 -254
View File
@@ -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 {
+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)
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
View File
@@ -1,3 +1,4 @@
// @grant require
/*
// https://h5.m.jd.com/rn/42yjy8na6pFsq1cx9MJQ5aTgu3kX/index.html
+4 -10
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
@@ -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
View File
File diff suppressed because one or more lines are too long
+231 -94
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
只支持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关闭通知推送
//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,10 +82,11 @@ if ($.isNode()) {
$.nickName = '';
message = '';
$.commonlist = []
$.bxNum = []
$.black = false
$.canHelp = true
await TotalBean()
console.log(`\n******开始【京东账号${$.index} ${$.nickName || $.UserName}*********\n`)
console.log(`\n******开始【京东账号${$.index}${$.nickName || $.UserName}*********\n`)
if (!$.isLogin) {
$.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/bean/signIndex.action`, { "open-url": "https://bean.m.jd.com/bean/signIndex.action" })
@@ -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 {
+2046 -2045
View File
File diff suppressed because it is too large Load Diff