mirror of
https://github.com/lan-tianxiang/clone_scripts.git
synced 2026-08-28 09:16:59 +08:00
更新于 08-06 11:01
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
@@ -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',
|
||||||
|
|||||||
@@ -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
@@ -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
@@ -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') {
|
||||||
|
|||||||
+463
-560
File diff suppressed because one or more lines are too long
Executable
+603
File diff suppressed because one or more lines are too long
+92
-12
File diff suppressed because one or more lines are too long
+52
-52
File diff suppressed because one or more lines are too long
+115
-109
@@ -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
@@ -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 {
|
||||||
|
|||||||
Executable
+315
File diff suppressed because one or more lines are too long
+39
-207
File diff suppressed because one or more lines are too long
+232
-283
File diff suppressed because one or more lines are too long
+4
-4
@@ -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,3 +1,4 @@
|
|||||||
|
// @grant require
|
||||||
/*
|
/*
|
||||||
// https://h5.m.jd.com/rn/42yjy8na6pFsq1cx9MJQ5aTgu3kX/index.html
|
// https://h5.m.jd.com/rn/42yjy8na6pFsq1cx9MJQ5aTgu3kX/index.html
|
||||||
|
|
||||||
|
|||||||
+4
-10
File diff suppressed because one or more lines are too long
+3
-3
@@ -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
File diff suppressed because one or more lines are too long
@@ -1,3 +1,4 @@
|
|||||||
|
// @grant require
|
||||||
/*
|
/*
|
||||||
cron 14 10 * * * https://raw.githubusercontent.com/smiek2221/scripts/master/jd_sign_graphics.js
|
cron 14 10 * * * https://raw.githubusercontent.com/smiek2221/scripts/master/jd_sign_graphics.js
|
||||||
只支持nodejs环境
|
只支持nodejs环境
|
||||||
|
|||||||
+60
-12
@@ -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 {
|
||||||
|
|||||||
+2046
-2045
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user