更新于 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

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;

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;

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',

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
#整点京豆雨

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 {

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或者10000表示不兑换默认不兑换京豆如需兑换把0改成20或者1000或者'商品名称'(商品名称放到单引号内)即可
let coinToBeans = $.getdata('coinToBeans') || 0; //兑换多少数量的京豆20或者10000表示不兑换默认不兑换京豆如需兑换把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') {

3447
jd_cfd.js

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

603
jd_cfdtx.js Executable file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

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();
})

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 {

561
jd_joy.js

File diff suppressed because one or more lines are too long

315
jd_joy_park_newtask.js Executable file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

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`);
}

View File

@@ -1,3 +1,4 @@
// @grant require
/*
// https://h5.m.jd.com/rn/42yjy8na6pFsq1cx9MJQ5aTgu3kX/index.html

File diff suppressed because one or more lines are too long

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);

476
jd_qixi.js Executable file

File diff suppressed because one or more lines are too long

325
jd_qjd.js

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,4 @@
// @grant require
/*
cron 14 10 * * * https://raw.githubusercontent.com/smiek2221/scripts/master/jd_sign_graphics.js
只支持nodejs环境

281
jd_tyt.js

File diff suppressed because one or more lines are too long

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 {

File diff suppressed because it is too large Load Diff