mirror of
https://github.com/shufflewzc/faker2.git
synced 2025-04-23 02:48:44 +08:00
Merge branch 'main' of https://github.com/shufflewzc/faker2
This commit is contained in:
commit
880108aa91
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
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -97,5 +97,5 @@ let envName = process.env.ShareCodeEnvName
|
|||||||
if (nameConfig && envName) {
|
if (nameConfig && envName) {
|
||||||
SetShareCodesEnv(nameConfig, envName)
|
SetShareCodesEnv(nameConfig, envName)
|
||||||
} else {
|
} else {
|
||||||
console.debug(`OKYYDS 友情提示:您的脚本正常运行中`)
|
console.debug(`faker 友情提示:您的脚本正常运行中`)
|
||||||
}
|
}
|
||||||
|
14
jd_CkSeq.js
14
jd_CkSeq.js
@ -69,11 +69,10 @@ if (UidFileexists) {
|
|||||||
var tempptpin = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]);
|
var tempptpin = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1]);
|
||||||
var intSeq = inArray(tempptpin, arrEnvPtPin);
|
var intSeq = inArray(tempptpin, arrEnvPtPin);
|
||||||
if (intSeq != -1) {
|
if (intSeq != -1) {
|
||||||
intSeq += 1;
|
|
||||||
arrCkPtPin.push(tempptpin);
|
arrCkPtPin.push(tempptpin);
|
||||||
strCk += "【"+intSeq + "】" + tempptpin ;
|
strCk += "【"+(intSeq+1) + "】" + tempptpin ;
|
||||||
if (arrEnvOnebyOne[i]) {
|
if (arrEnvOnebyOne[intSeq]) {
|
||||||
strCk += "(账号已启用一对一推送)"
|
strCk += "(已启用一对一推送)"
|
||||||
}
|
}
|
||||||
strCk +="\n";
|
strCk +="\n";
|
||||||
}
|
}
|
||||||
@ -86,14 +85,14 @@ if (UidFileexists) {
|
|||||||
if (intSeq == -1) {
|
if (intSeq == -1) {
|
||||||
strNoFoundCk += "【" + (i + 1) + "】" + tempptpin;
|
strNoFoundCk += "【" + (i + 1) + "】" + tempptpin;
|
||||||
if (arrEnvStatus[i] == 1) {
|
if (arrEnvStatus[i] == 1) {
|
||||||
strNoFoundCk += "(状态已禁用)"
|
strNoFoundCk += "(已禁用)"
|
||||||
if ($.isNode() && WP_APP_TOKEN_ONE) {
|
if ($.isNode() && WP_APP_TOKEN_ONE) {
|
||||||
await notify.sendNotifybyWxPucher("账号下线通知", strNotify, tempptpin);
|
await notify.sendNotifybyWxPucher("账号下线通知", strNotify, tempptpin);
|
||||||
await $.wait(1000);
|
await $.wait(1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (arrEnvOnebyOne[i]) {
|
if (arrEnvOnebyOne[i]) {
|
||||||
strNoFoundCk += "(账号已启用一对一推送)"
|
strNoFoundCk += "(已启用一对一推送)"
|
||||||
}
|
}
|
||||||
strNoFoundCk += "\n";
|
strNoFoundCk += "\n";
|
||||||
|
|
||||||
@ -118,7 +117,7 @@ if (UidFileexists) {
|
|||||||
|
|
||||||
function inArray(search, array) {
|
function inArray(search, array) {
|
||||||
var lnSeq = -1;
|
var lnSeq = -1;
|
||||||
for (var i in array) {
|
for (let i = 0; i < array.length; i++) {
|
||||||
if (array[i] == search) {
|
if (array[i] == search) {
|
||||||
lnSeq = i;
|
lnSeq = i;
|
||||||
}
|
}
|
||||||
@ -126,6 +125,7 @@ function inArray(search, array) {
|
|||||||
return parseInt(lnSeq);
|
return parseInt(lnSeq);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function getuuid(strRemark, PtPin) {
|
function getuuid(strRemark, PtPin) {
|
||||||
var strTempuuid = "";
|
var strTempuuid = "";
|
||||||
if (strRemark) {
|
if (strRemark) {
|
||||||
|
@ -1,3 +1,12 @@
|
|||||||
|
/*
|
||||||
|
* 详细版京东京豆统计
|
||||||
|
|
||||||
|
* 默认不发送通知。
|
||||||
|
|
||||||
|
[task_local]
|
||||||
|
#京豆详情统计
|
||||||
|
20 22 * * * jd_bean_info.js, tag=京豆详情统计, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true
|
||||||
|
* */
|
||||||
const $ = new Env('京豆详情统计');
|
const $ = new Env('京豆详情统计');
|
||||||
const notify = $.isNode() ? require('./sendNotify') : '';
|
const notify = $.isNode() ? require('./sendNotify') : '';
|
||||||
//Node.js用户请在jdCookie.js处填写京东ck;
|
//Node.js用户请在jdCookie.js处填写京东ck;
|
||||||
@ -20,6 +29,7 @@ if ($.isNode()) {
|
|||||||
$.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;
|
||||||
}
|
}
|
||||||
|
console.log(`\n正在查询今天所有账号的京豆收入......`);
|
||||||
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];
|
||||||
@ -36,7 +46,7 @@ if ($.isNode()) {
|
|||||||
$.balance = 0;
|
$.balance = 0;
|
||||||
$.expiredBalance = 0;
|
$.expiredBalance = 0;
|
||||||
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"});
|
||||||
|
|
||||||
@ -51,8 +61,9 @@ if ($.isNode()) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
allMessage += `\n今日全部账号收入:${allBean}个京豆 🐶\n`
|
allMessage += `\n今日全部账号收入:${allBean}个京豆 🐶\n`
|
||||||
|
console.log(`${allMessage}`)
|
||||||
if ($.isNode() && allMessage) {
|
if ($.isNode() && allMessage) {
|
||||||
await notify.sendNotify(`${$.name}`, `${allMessage}`, { url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` })
|
//await notify.sendNotify(`${$.name}`, `${allMessage}`, { url: `https://bean.m.jd.com/beanDetail/index.action?resourceValue=bean` })
|
||||||
}
|
}
|
||||||
})()
|
})()
|
||||||
.catch((e) => {
|
.catch((e) => {
|
||||||
@ -64,7 +75,7 @@ if ($.isNode()) {
|
|||||||
async function showMsg() {
|
async function showMsg() {
|
||||||
if ($.errorMsg) return
|
if ($.errorMsg) return
|
||||||
allMessage += `\n【账号${$.index}:${$.nickName || $.UserName} 京豆详情统计】\n\n`;
|
allMessage += `\n【账号${$.index}:${$.nickName || $.UserName} 京豆详情统计】\n\n`;
|
||||||
allMessage += `今日收入:${$.todayIncomeBean}个京豆 🐶\n`
|
allMessage += `今日收入总计:${$.todayIncomeBean}京豆 🐶\n`
|
||||||
allBean = allBean + parseInt($.todayIncomeBean)
|
allBean = allBean + parseInt($.todayIncomeBean)
|
||||||
for (let key of myMap.keys()) {
|
for (let key of myMap.keys()) {
|
||||||
allMessage += key + ' ---> ' +myMap.get(key)+'京豆 🐶\n'
|
allMessage += key + ' ---> ' +myMap.get(key)+'京豆 🐶\n'
|
||||||
|
33
jd_captian_flp.js
Executable file
33
jd_captian_flp.js
Executable file
File diff suppressed because one or more lines are too long
33
jd_captian_mn.js
Executable file
33
jd_captian_mn.js
Executable file
File diff suppressed because one or more lines are too long
33
jd_captian_xay.js
Executable file
33
jd_captian_xay.js
Executable file
File diff suppressed because one or more lines are too long
@ -20,7 +20,7 @@ d、 30000名之外,0京豆
|
|||||||
cron "1 0,6,12,18 * * *" script-path=jd_carnivalcity.js, tag=京东手机狂欢城
|
cron "1 0,6,12,18 * * *" script-path=jd_carnivalcity.js, tag=京东手机狂欢城
|
||||||
|
|
||||||
====================Surge================
|
====================Surge================
|
||||||
京东手机狂欢城 = type=cron,cronexp=1 0,6,12,18 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/KingRan/JDJB/main/jd_carnivalcity.js
|
京东手机狂欢城 = type=cron,cronexp=1 0,6,12,18 * * *,wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_carnivalcity.js
|
||||||
|
|
||||||
============小火箭=========
|
============小火箭=========
|
||||||
京东手机狂欢城 = type=cron,script-path=jd_carnivalcity.js, cronexpr="1 0,6,12,18 * * *", timeout=3600, enable=true
|
京东手机狂欢城 = type=cron,script-path=jd_carnivalcity.js, cronexpr="1 0,6,12,18 * * *", timeout=3600, enable=true
|
||||||
|
@ -5,14 +5,14 @@
|
|||||||
============Quantumultx===============
|
============Quantumultx===============
|
||||||
[task_local]
|
[task_local]
|
||||||
#财富岛兑换红包
|
#财富岛兑换红包
|
||||||
50 * * * * https://raw.githubusercontent.com/okyyds/yydspure/master/jd_cfd.hb.js, tag=财富岛兑换红包, enabled=true
|
50 * * * * https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_cfd.hb.js, tag=财富岛兑换红包, enabled=true
|
||||||
===========Loon============
|
===========Loon============
|
||||||
[Script]
|
[Script]
|
||||||
cron "50 * * * *" script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_cfd.hb.js,tag=财富岛兑换红包
|
cron "50 * * * *" script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_cfd.hb.js,tag=财富岛兑换红包
|
||||||
============Surge=============
|
============Surge=============
|
||||||
财富岛兑换红包 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_cfd.hb.js
|
财富岛兑换红包 = type=cron,cronexp="50 * * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_cfd.hb.js
|
||||||
===========小火箭========
|
===========小火箭========
|
||||||
财富岛兑换红包 = type=cron,script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_cfd.hb.jss, cronexpr="50 * * * *", timeout=3600, enable=true
|
财富岛兑换红包 = type=cron,script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_cfd.hb.jss, cronexpr="50 * * * *", timeout=3600, enable=true
|
||||||
*/
|
*/
|
||||||
const $ = new Env('财富岛兑换红包');
|
const $ = new Env('财富岛兑换红包');
|
||||||
CryptoScripts()
|
CryptoScripts()
|
||||||
|
@ -8,17 +8,17 @@
|
|||||||
============Quantumultx===============
|
============Quantumultx===============
|
||||||
[task_local]
|
[task_local]
|
||||||
#京喜财富岛合成珍珠
|
#京喜财富岛合成珍珠
|
||||||
30 0-23/2 * * * https://raw.githubusercontent.com/okyyds/yydspure/master/jd_cfd_pearl.js, tag=京喜财富岛合成珍珠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxcfd.png, enabled=true
|
30 0-23/2 * * * https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_cfd_pearl.js, tag=京喜财富岛合成珍珠, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxcfd.png, enabled=true
|
||||||
|
|
||||||
================Loon==============
|
================Loon==============
|
||||||
[Script]
|
[Script]
|
||||||
cron "30 0-23/2 * * *" script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_cfd_pearl.js,tag=京喜财富岛合成珍珠
|
cron "30 0-23/2 * * *" script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_cfd_pearl.js,tag=京喜财富岛合成珍珠
|
||||||
|
|
||||||
===============Surge=================
|
===============Surge=================
|
||||||
京喜财富岛合成珍珠 = type=cron,cronexp="30 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_cfd_pearl.js
|
京喜财富岛合成珍珠 = type=cron,cronexp="30 0-23/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_cfd_pearl.js
|
||||||
|
|
||||||
============小火箭=========
|
============小火箭=========
|
||||||
京喜财富岛合成珍珠 = type=cron,script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_cfd_pearl.js, cronexpr="30 0-23/2 * * *", timeout=3600, enable=true
|
京喜财富岛合成珍珠 = type=cron,script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_cfd_pearl.js, cronexpr="30 0-23/2 * * *", timeout=3600, enable=true
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
30
jd_dpqd.js
30
jd_dpqd.js
@ -26,22 +26,30 @@ let num=0
|
|||||||
let shopname=''
|
let shopname=''
|
||||||
const token = [
|
const token = [
|
||||||
"4BF0331BCB845ABC79145753E605E9C3",
|
"4BF0331BCB845ABC79145753E605E9C3",
|
||||||
"490047103854B8B5E17D3D76C2C65D1D",
|
"7D8DF37F588D261C59994A1C6F472ABA",
|
||||||
"F4132FED0919E26A040981E77C3FD009",
|
"07D72B6BEC5DDC95E475D019FA89F39D",
|
||||||
"3068C74A35718BF761F8E10F52824696",
|
"0950F5FA76B0EC70FD8E3CA4E0B9FABF",
|
||||||
"AF994FA00C2086F08849D5FB7122E79F",
|
"EE60F07CE497C8C2915262C4A681016A",
|
||||||
"97CE35E23187041CD746CA5B4E7F4B38",
|
"E08EA466C50A0C894FE750FB54B5B1B6",
|
||||||
"E20BD5091D8F70B4649D529A09183F04",
|
"E20BD5091D8F70B4649D529A09183F04",
|
||||||
"88ECFB91288FD2DE93DDBDDAA9409D8E",
|
"65761481817B9111E49E939888419250",
|
||||||
"1B2F8250713AD30F335B092B70A4DBF5",
|
"6441D5406FD81386379AED19FA122DBE",
|
||||||
"642395217049DBC4F56F105B3FBA0633",
|
"642395217049DBC4F56F105B3FBA0633",
|
||||||
"8E3E6081738C9C30446C20F347516649",
|
"D5D7E1A6A35DD6DF590F1D26183C0D40",
|
||||||
"57B5F1912B8A5F7C3913EEB0CFA9130B",
|
"31D76EB23737B3BF03EBDCC06EA2B9EC",
|
||||||
"C5F5FF51E040B2415A435D5BFDA15348",
|
|
||||||
"3705013F73CEEA8CB2311DB6607046FE",
|
"3705013F73CEEA8CB2311DB6607046FE",
|
||||||
"50EFAF0B1C9520C4AC3FFBFE6B9C13F8",
|
"50EFAF0B1C9520C4AC3FFBFE6B9C13F8",
|
||||||
"903DFFB65088484F7743B5F437BB1649",
|
"903DFFB65088484F7743B5F437BB1649",
|
||||||
"3FCA9C124FC3A1D02D4191696590DC92"
|
"3FCA9C124FC3A1D02D4191696590DC92",
|
||||||
|
"41AFADC9C4AF8807DEC071FE688596FB",
|
||||||
|
"CE544106AB7A796944BC56B403ED02A1",
|
||||||
|
"62F921549D1B7244101CCC5AFBC2E952",
|
||||||
|
"A3B3E3A15E365F2F5709618D27C9DDCD",
|
||||||
|
"FE30AB00038CFFEF00DA9E9B8E932721",
|
||||||
|
"F0C24D7588D90922393B423C6623F31A",
|
||||||
|
"DFD953F3D54DAE2721568457FE12068C",
|
||||||
|
"3DEACB6A49D5954B134A6C4DE73FEF42",
|
||||||
|
"634E143046CCD9EBAA298A70B7672A63"
|
||||||
]
|
]
|
||||||
|
|
||||||
if ($.isNode()) {
|
if ($.isNode()) {
|
||||||
|
@ -14,17 +14,17 @@ by:jiulan
|
|||||||
============Quantumultx===============
|
============Quantumultx===============
|
||||||
[task_local]
|
[task_local]
|
||||||
#京东评价
|
#京东评价
|
||||||
37 15 * * * https://raw.githubusercontent.com/okyyds/yydspure/master/jd_evaluation.js, tag=京东评价, enabled=true
|
37 15 * * * https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_evaluation.js, tag=京东评价, enabled=true
|
||||||
|
|
||||||
================Loon==============
|
================Loon==============
|
||||||
[Script]
|
[Script]
|
||||||
cron "37 15 * * *" script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_evaluation.js,tag=京东评价
|
cron "37 15 * * *" script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_evaluation.js,tag=京东评价
|
||||||
|
|
||||||
===============Surge=================
|
===============Surge=================
|
||||||
京东评价 = type=cron,cronexp="37 15 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_evaluation.js
|
京东评价 = type=cron,cronexp="37 15 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_evaluation.js
|
||||||
|
|
||||||
============小火箭=========
|
============小火箭=========
|
||||||
京东评价 = type=cron,script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_evaluation.js, cronexpr="37 15 * * *", timeout=3600, enable=true
|
京东评价 = type=cron,script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_evaluation.js, cronexpr="37 15 * * *", timeout=3600, enable=true
|
||||||
*/
|
*/
|
||||||
const $ = new Env('京东评价');
|
const $ = new Env('京东评价');
|
||||||
const notify = $.isNode() ? require('./sendNotify') : '';
|
const notify = $.isNode() ? require('./sendNotify') : '';
|
||||||
|
@ -7,17 +7,17 @@
|
|||||||
===================quantumultx================
|
===================quantumultx================
|
||||||
[task_local]
|
[task_local]
|
||||||
#东东健康社区
|
#东东健康社区
|
||||||
5 4,14 * * * https://raw.githubusercontent.com/okyyds/yydspure/master/jd_health_help.js, tag=东东健康社区, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true
|
5 4,14 * * * https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_health_help.js, tag=东东健康社区, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true
|
||||||
|
|
||||||
=====================Loon================
|
=====================Loon================
|
||||||
[Script]
|
[Script]
|
||||||
cron "5 4,14 * * *" script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_health_help.js, tag=东东健康社区
|
cron "5 4,14 * * *" script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_health_help.js, tag=东东健康社区
|
||||||
|
|
||||||
====================Surge================
|
====================Surge================
|
||||||
东东健康社区 = type=cron,cronexp="5 4,14 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_health_help.js
|
东东健康社区 = type=cron,cronexp="5 4,14 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_health_help.js
|
||||||
|
|
||||||
============小火箭=========
|
============小火箭=========
|
||||||
东东健康社区 = type=cron,script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_health_help.js, cronexpr="5 4,14 * * *", timeout=3600, enable=true
|
东东健康社区 = type=cron,script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_health_help.js, cronexpr="5 4,14 * * *", timeout=3600, enable=true
|
||||||
*/
|
*/
|
||||||
const $ = new Env("东东健康社区内部互助");
|
const $ = new Env("东东健康社区内部互助");
|
||||||
const jdCookieNode = $.isNode() ? require("./jdCookie.js") : "";
|
const jdCookieNode = $.isNode() ? require("./jdCookie.js") : "";
|
||||||
|
@ -6,17 +6,17 @@
|
|||||||
=================================Quantumultx=========================
|
=================================Quantumultx=========================
|
||||||
[task_local]
|
[task_local]
|
||||||
#京东特价翻翻乐
|
#京东特价翻翻乐
|
||||||
20 0-23/3 * * * https://raw.githubusercontent.com/okyyds/yydspure/master/jd_jdtj_winner.js, tag=京东特价翻翻乐, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png, enabled=true
|
20 0-23/3 * * * https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_jdtj_winner.js, tag=京东特价翻翻乐, img-url=https://github.com/58xinian/icon/raw/master/jdgc.png, enabled=true
|
||||||
|
|
||||||
================Loon==============
|
================Loon==============
|
||||||
[Script]
|
[Script]
|
||||||
cron "20 0-23/3 * * *" script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_jdtj_winner.js,tag=京东特价翻翻乐
|
cron "20 0-23/3 * * *" script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_jdtj_winner.js,tag=京东特价翻翻乐
|
||||||
|
|
||||||
===============Surge=================
|
===============Surge=================
|
||||||
京东特价翻翻乐 = type=cron,cronexp="20 0-23/3 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_jdtj_winner.js
|
京东特价翻翻乐 = type=cron,cronexp="20 0-23/3 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_jdtj_winner.js
|
||||||
|
|
||||||
============小火箭=========
|
============小火箭=========
|
||||||
京东特价翻翻乐 = type=cron,script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_jdtj_winner.js, cronexpr="20 0-23/3 * * *", timeout=3600, enable=true
|
京东特价翻翻乐 = type=cron,script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_jdtj_winner.js, cronexpr="20 0-23/3 * * *", timeout=3600, enable=true
|
||||||
*/
|
*/
|
||||||
const $ = new Env('京东特价翻翻乐');
|
const $ = new Env('京东特价翻翻乐');
|
||||||
const notify = $.isNode() ? require('./sendNotify') : '';
|
const notify = $.isNode() ? require('./sendNotify') : '';
|
||||||
|
549
jd_jin_tie.js
Normal file
549
jd_jin_tie.js
Normal file
File diff suppressed because one or more lines are too long
690
jd_jin_tie_xh.js
690
jd_jin_tie_xh.js
@ -1,690 +0,0 @@
|
|||||||
/*
|
|
||||||
领金贴(只做签到以及互助任务里面的部分任务) Fixed By X1a0He
|
|
||||||
Last Modified time: 2021-09-04 22:25:00
|
|
||||||
Last Modified By X1a0He
|
|
||||||
活动入口:京东APP首页-领金贴,[活动地址](https://active.jd.com/forever/cashback/index/)
|
|
||||||
*/
|
|
||||||
const $ = new Env('领金贴');
|
|
||||||
const notify = $.isNode() ? require('./sendNotify') : '';
|
|
||||||
//Node.js用户请在jdCookie.js处填写京东ck;
|
|
||||||
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
|
|
||||||
//IOS等用户直接用NobyDa的jd cookie
|
|
||||||
let cookiesArr = [], cookie = '', message, allMessage = '';
|
|
||||||
if($.isNode()){
|
|
||||||
Object.keys(jdCookieNode).forEach((item) => {
|
|
||||||
cookiesArr.push(jdCookieNode[item]);
|
|
||||||
});
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
!(async() => {
|
|
||||||
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;
|
|
||||||
}
|
|
||||||
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]);
|
|
||||||
$.index = i + 1;
|
|
||||||
$.isLogin = true;
|
|
||||||
$.nickName = '';
|
|
||||||
message = '';
|
|
||||||
await TotalBean();
|
|
||||||
console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`);
|
|
||||||
if(!$.isLogin){
|
|
||||||
$.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/bean/signIndex.action`, { "open-url": "https://bean.m.jd.com/bean/signIndex.action" });
|
|
||||||
if($.isNode()){
|
|
||||||
await notify.sendNotify(`${$.name}cookie已失效 - ${$.UserName}`, `京东账号${$.index} ${$.UserName}\n请重新登录获取cookie`);
|
|
||||||
}
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
await main();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})().catch((e) => {
|
|
||||||
$.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '')
|
|
||||||
}).finally(() => {
|
|
||||||
$.done();
|
|
||||||
})
|
|
||||||
|
|
||||||
async function main(){
|
|
||||||
try{
|
|
||||||
await channelUserSignInfo_xh();
|
|
||||||
await queryMission_xh();
|
|
||||||
await channelUserSubsidyInfo_xh();
|
|
||||||
} catch(e){
|
|
||||||
$.logErr(e)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function channelUserSignInfo_xh(){
|
|
||||||
return new Promise((resolve) => {
|
|
||||||
const body = JSON.stringify({
|
|
||||||
"source": "JD_APP",
|
|
||||||
"channel": "scljticon",
|
|
||||||
"channelLv": "scljticon",
|
|
||||||
"apiVersion": "4.0.0",
|
|
||||||
"riskDeviceParam": `{\"macAddress\":\"\",\"imei\":\"\",\"eid\":\"\",\"openUUID\":\"\",\"uuid\":\"\",\"traceIp\":\"\",\"os\":\"\",\"osVersion\":\"\",\"appId\":\"\",\"clientVersion\":\"\",\"resolution\":\"\",\"channelInfo\":\"\",\"networkType\":\"\",\"startNo\":42,\"openid\":\"\",\"token\":\"\",\"sid\":\"\",\"terminalType\":\"\",\"longtitude\":\"\",\"latitude\":\"\",\"securityData\":\"\",\"jscContent\":\"\",\"fnHttpHead\":\"\",\"receiveRequestTime\":\"\",\"port\":80,\"appType\":\"\",\"deviceType\":\"\",\"fp\":\"\",\"ip\":\"\",\"idfa\":\"\",\"sdkToken\":\"\"}`,
|
|
||||||
"others": { "shareId": "" }
|
|
||||||
})
|
|
||||||
const options = taskUrl_xh('channelUserSignInfo', body, 'jrm');
|
|
||||||
$.get(options, async(err, resp, data) => {
|
|
||||||
try{
|
|
||||||
if(err){
|
|
||||||
console.log(`${JSON.stringify(err)}`)
|
|
||||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
|
||||||
} else {
|
|
||||||
data = JSON.parse(data);
|
|
||||||
if(data.resultCode === 0){
|
|
||||||
if(data.resultData.code === '000'){
|
|
||||||
$.keepSigned = 0;
|
|
||||||
let state = false;
|
|
||||||
for(let i in data.resultData.data.signDetail){
|
|
||||||
if(data.resultData.data.signDetail[i].signed) $.keepSigned += 1
|
|
||||||
if(data.resultData.data.dayId === data.resultData.data.signDetail[i].id){
|
|
||||||
state = data.resultData.data.signDetail[i].signed
|
|
||||||
console.log('获取签到状态成功', state ? '今日已签到' : '今日未签到', '连续签到', $.keepSigned, '天\n')
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(!state) await channelSignInSubsidy_xh()
|
|
||||||
} else {
|
|
||||||
console.log('获取签到状态失败', data.resultData.msg)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.log('获取签到状态失败', data.resultMsg)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch(e){
|
|
||||||
$.logErr(e, resp);
|
|
||||||
} finally{
|
|
||||||
resolve(data);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function channelSignInSubsidy_xh(){
|
|
||||||
return new Promise((resolve) => {
|
|
||||||
const body = JSON.stringify({
|
|
||||||
"source": "JD_APP",
|
|
||||||
"channel": "scljticon",
|
|
||||||
"channelLv": "scljticon",
|
|
||||||
"apiVersion": "4.0.0",
|
|
||||||
"riskDeviceParam": `{\"macAddress\":\"\",\"imei\":\"\",\"eid\":\"\",\"openUUID\":\"\",\"uuid\":\"\",\"traceIp\":\"\",\"os\":\"\",\"osVersion\":\"\",\"appId\":\"\",\"clientVersion\":\"\",\"resolution\":\"\",\"channelInfo\":\"\",\"networkType\":\"\",\"startNo\":42,\"openid\":\"\",\"token\":\"\",\"sid\":\"\",\"terminalType\":\"\",\"longtitude\":\"\",\"latitude\":\"\",\"securityData\":\"\",\"jscContent\":\"\",\"fnHttpHead\":\"\",\"receiveRequestTime\":\"\",\"port\":80,\"appType\":\"\",\"deviceType\":\"\",\"fp\":\"\",\"ip\":\"\",\"idfa\":\"\",\"sdkToken\":\"\"}`,
|
|
||||||
"others": { "shareId": "" }
|
|
||||||
})
|
|
||||||
const options = taskUrl_xh('channelSignInSubsidy', body, 'jrm');
|
|
||||||
$.get(options, async(err, resp, data) => {
|
|
||||||
try{
|
|
||||||
if(err){
|
|
||||||
console.log(`${JSON.stringify(err)}`)
|
|
||||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
|
||||||
} else {
|
|
||||||
data = JSON.parse(data);
|
|
||||||
if(data.resultCode === 0){
|
|
||||||
if(data.resultData.code === '000'){
|
|
||||||
if(data.resultData.data.signSuccess){
|
|
||||||
console.log(`签到成功,获得 0.0${data.resultData.data.rewardAmount}元`)
|
|
||||||
}
|
|
||||||
} else if(data.resultData.code === '001'){
|
|
||||||
console.log(`签到失败,可能今天已签到`)
|
|
||||||
} else {
|
|
||||||
// console.log(data)
|
|
||||||
console.log("签到失败")
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
// console.log(data)
|
|
||||||
console.log("签到失败")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch(e){
|
|
||||||
$.logErr(e, resp);
|
|
||||||
} finally{
|
|
||||||
resolve(data);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function queryMission_xh(){
|
|
||||||
return new Promise((resolve) => {
|
|
||||||
$.taskData = [];
|
|
||||||
const options = {
|
|
||||||
url: "https://ms.jr.jd.com/gw/generic/mission/h5/m/queryMission?reqData=%7B%22channelCode%22:%22SUBSIDY2%22,%22riskDeviceParam%22:%22%7B%5C%22eid%5C%22:%5C%22%5C%22,%5C%22fp%5C%22:%5C%22%5C%22,%5C%22sdkToken%5C%22:%5C%22%5C%22,%5C%22token%5C%22:%5C%22%5C%22,%5C%22undefined%5C%22:%5C%22%5C%22%7D%22,%22channel%22:%22%22%7D",
|
|
||||||
headers: {
|
|
||||||
'Accept': `*/*`,
|
|
||||||
'Origin': `https://u.jr.jd.com`,
|
|
||||||
'Accept-Encoding': `gzip, deflate, br`,
|
|
||||||
'Cookie': cookie,
|
|
||||||
'Content-Type': `application/x-www-form-urlencoded;charset=UTF-8`,
|
|
||||||
'Host': `ms.jr.jd.com`,
|
|
||||||
'Connection': `keep-alive`,
|
|
||||||
"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"),
|
|
||||||
'Referer': `https://u.jr.jd.com/`,
|
|
||||||
'Accept-Language': `zh-cn`
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$.get(options, async(err, resp, data) => {
|
|
||||||
try{
|
|
||||||
if(err){
|
|
||||||
console.log(`${JSON.stringify(err)}`)
|
|
||||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
|
||||||
} else {
|
|
||||||
data = JSON.parse(data);
|
|
||||||
if(data.resultCode === 0){
|
|
||||||
if(data.resultData.code === '0000'){
|
|
||||||
console.log('互动任务获取成功')
|
|
||||||
$.taskData = data.resultData.data;
|
|
||||||
for(let task of $.taskData){
|
|
||||||
if(task.missionId !== 4648){
|
|
||||||
console.log(`\n任务id:${task.missionId} 任务状态:${task.status}`)
|
|
||||||
if(task.status === -1){
|
|
||||||
console.log(`正在做任务:${task.missionId}`)
|
|
||||||
await receiveMission_xh(task.missionId)
|
|
||||||
await queryMissionReceiveAfterStatus_xh(task.missionId)
|
|
||||||
} else if(task.status === 0){
|
|
||||||
await queryMissionReceiveAfterStatus_xh(task.missionId)
|
|
||||||
} else if(task.status === 1){
|
|
||||||
console.log(`正在领取任务:${task.missionId} 奖励`)
|
|
||||||
await awardMission_xh(task.missionId)
|
|
||||||
} else if(task.status === 2){
|
|
||||||
console.log(`任务id:${task.missionId} 已完成`)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.log('获取互动任务失败', data)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.log('获取互动任务失败', data)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch(e){
|
|
||||||
$.logErr(e, resp);
|
|
||||||
} finally{
|
|
||||||
resolve(data);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function receiveMission_xh(missionId){
|
|
||||||
return new Promise((resolve) => {
|
|
||||||
const body = JSON.stringify({
|
|
||||||
"missionId": `${missionId}`,
|
|
||||||
"channelCode": "SUBSIDY2",
|
|
||||||
"timeStamp": new Date().toString(),
|
|
||||||
"env": "JDAPP"
|
|
||||||
})
|
|
||||||
const options = taskUrl_xh('receiveMission', body);
|
|
||||||
$.get(options, async(err, resp, data) => {
|
|
||||||
try{
|
|
||||||
if(err){
|
|
||||||
console.log(`${JSON.stringify(err)}`)
|
|
||||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
|
||||||
} else {
|
|
||||||
data = JSON.parse(data);
|
|
||||||
if(data.resultCode === 0){
|
|
||||||
if(data.resultData.code === '0000'){
|
|
||||||
if(data.resultData.success){
|
|
||||||
console.log('领取任务成功')
|
|
||||||
}
|
|
||||||
} else if(data.resultData.code === '0005'){
|
|
||||||
console.log('已经接取过该任务')
|
|
||||||
} else {
|
|
||||||
console.log('领取任务失败', data)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.log('领取任务失败', data)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch(e){
|
|
||||||
$.logErr(e, resp);
|
|
||||||
} finally{
|
|
||||||
resolve(data);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function queryMissionReceiveAfterStatus_xh(taskId){
|
|
||||||
return new Promise((resolve) => {
|
|
||||||
const body = JSON.stringify({ "missionId": `${taskId}` })
|
|
||||||
const options = taskUrl_xh('queryMissionReceiveAfterStatus', body);
|
|
||||||
$.get(options, async(err, resp, data) => {
|
|
||||||
try{
|
|
||||||
if(err){
|
|
||||||
console.log(`${JSON.stringify(err)}`)
|
|
||||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
|
||||||
} else {
|
|
||||||
data = JSON.parse(data);
|
|
||||||
if(data.resultCode === 0){
|
|
||||||
if(data.resultData.code === '0000'){
|
|
||||||
console.log('正在浏览,等待10s')
|
|
||||||
await $.wait(10000)
|
|
||||||
await finishReadMission_xh(`${taskId}`)
|
|
||||||
} else if(data.resultData.code === '0003'){
|
|
||||||
console.log('任务浏览失败', "非法参数")
|
|
||||||
} else if(data.resultData.code === '0001'){
|
|
||||||
console.log('任务浏览失败', "状态不正确")
|
|
||||||
} else {
|
|
||||||
console.log("任务浏览失败", data)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.log('任务浏览失败', data)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch(e){
|
|
||||||
$.logErr(e, resp);
|
|
||||||
} finally{
|
|
||||||
resolve(data);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function finishReadMission_xh(missionId){
|
|
||||||
return new Promise((resolve) => {
|
|
||||||
const body = JSON.stringify({
|
|
||||||
"missionId": `${missionId}`,
|
|
||||||
"readTime": 10
|
|
||||||
})
|
|
||||||
const options = taskUrl_xh('finishReadMission', body);
|
|
||||||
$.get(options, async(err, resp, data) => {
|
|
||||||
try{
|
|
||||||
if(err){
|
|
||||||
console.log(`${JSON.stringify(err)}`)
|
|
||||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
|
||||||
} else {
|
|
||||||
data = JSON.parse(data);
|
|
||||||
if(data.resultCode === 0){
|
|
||||||
if(data.resultData.code === '0000'){
|
|
||||||
if(data.resultData.success){
|
|
||||||
console.log('任务执行成功')
|
|
||||||
await awardMission_xh(missionId)
|
|
||||||
}
|
|
||||||
} else if(data.resultData.code === '0001' || data.resultData.code === '0004'){
|
|
||||||
console.log('状态不正确')
|
|
||||||
} else {
|
|
||||||
console.log('任务执行失败', data)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.log('任务执行失败', data)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch(e){
|
|
||||||
$.logErr(e, resp);
|
|
||||||
} finally{
|
|
||||||
resolve(data);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function awardMission_xh(missionId){
|
|
||||||
return new Promise((resolve) => {
|
|
||||||
const body = JSON.stringify({
|
|
||||||
"missionId": `${missionId}`,
|
|
||||||
"channelCode": "SUBSIDY2",
|
|
||||||
"timeStamp": new Date().toString(),
|
|
||||||
"env": "JDAPP"
|
|
||||||
})
|
|
||||||
const options = taskUrl_xh('awardMission', body);
|
|
||||||
$.get(options, async(err, resp, data) => {
|
|
||||||
try{
|
|
||||||
if(err){
|
|
||||||
console.log(`${JSON.stringify(err)}`)
|
|
||||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
|
||||||
} else {
|
|
||||||
data = JSON.parse(data);
|
|
||||||
if(data.resultCode === 0){
|
|
||||||
if(data.resultData.code === '0000'){
|
|
||||||
if(data.resultData.success){
|
|
||||||
console.log('领取金贴成功')
|
|
||||||
}
|
|
||||||
} else if(data.resultData.code === '0004'){
|
|
||||||
console.log('不满足领奖条件,可能已经完成')
|
|
||||||
} else {
|
|
||||||
console.log('领取金贴失败', data)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.log('领取金贴失败', data)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch(e){
|
|
||||||
$.logErr(e, resp);
|
|
||||||
} finally{
|
|
||||||
resolve(data);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function channelUserSubsidyInfo_xh(){
|
|
||||||
return new Promise((resolve) => {
|
|
||||||
const body = JSON.stringify({
|
|
||||||
"source": "JD_APP",
|
|
||||||
"channel": "scljticon",
|
|
||||||
"channelLv": "scljticon",
|
|
||||||
"apiVersion": "4.0.0",
|
|
||||||
"riskDeviceParam": `{\"macAddress\":\"\",\"imei\":\"\",\"eid\":\"\",\"openUUID\":\"\",\"uuid\":\"\",\"traceIp\":\"\",\"os\":\"\",\"osVersion\":\"\",\"appId\":\"\",\"clientVersion\":\"\",\"resolution\":\"\",\"channelInfo\":\"\",\"networkType\":\"\",\"startNo\":42,\"openid\":\"\",\"token\":\"\",\"sid\":\"\",\"terminalType\":\"\",\"longtitude\":\"\",\"latitude\":\"\",\"securityData\":\"\",\"jscContent\":\"\",\"fnHttpHead\":\"\",\"receiveRequestTime\":\"\",\"port\":80,\"appType\":\"\",\"deviceType\":\"\",\"fp\":\"\",\"ip\":\"\",\"idfa\":\"\",\"sdkToken\":\"\"}`,
|
|
||||||
"others": { "shareId": "" }
|
|
||||||
})
|
|
||||||
const options = taskUrl_xh('channelUserSubsidyInfo', body, 'jrm');
|
|
||||||
$.get(options, async(err, resp, data) => {
|
|
||||||
try{
|
|
||||||
if(err){
|
|
||||||
console.log(`${JSON.stringify(err)}`)
|
|
||||||
console.log(`${$.name} API请求失败,请检查网路重试`)
|
|
||||||
} else {
|
|
||||||
data = JSON.parse(data);
|
|
||||||
if(data.resultCode === 0){
|
|
||||||
if(data.resultData.code === '000'){
|
|
||||||
console.log(`\n京东账号${$.index} ${$.nickName || $.UserName} 当前总金贴:${data.resultData.data.availableAmount}元`)
|
|
||||||
} else {
|
|
||||||
console.log('获取当前总金贴失败', data)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.log('获取当前总金贴失败', data)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch(e){
|
|
||||||
$.logErr(e, resp);
|
|
||||||
} finally{
|
|
||||||
resolve(data);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
function taskUrl_xh(function_id, body, type = 'mission'){
|
|
||||||
return {
|
|
||||||
url: `https://ms.jr.jd.com/gw/generic/${type}/h5/m/${function_id}?reqData=${encodeURIComponent(body)}`,
|
|
||||||
headers: {
|
|
||||||
'Accept': `*/*`,
|
|
||||||
'Origin': `https://u.jr.jd.com`,
|
|
||||||
'Accept-Encoding': `gzip, deflate, br`,
|
|
||||||
'Cookie': cookie,
|
|
||||||
'Content-Type': `application/x-www-form-urlencoded;charset=UTF-8`,
|
|
||||||
'Host': `ms.jr.jd.com`,
|
|
||||||
'Connection': `keep-alive`,
|
|
||||||
"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"),
|
|
||||||
'Referer': `https://u.jr.jd.com/`,
|
|
||||||
'Accept-Language': `zh-cn`
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function TotalBean(){
|
|
||||||
return new Promise(async resolve => {
|
|
||||||
const options = {
|
|
||||||
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",
|
|
||||||
"Referer": "https://home.m.jd.com/myJd/newhome.action?sceneval=2&ufc=&",
|
|
||||||
"Accept-Encoding": "gzip, deflate, br"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$.get(options, (err, resp, data) => {
|
|
||||||
try{
|
|
||||||
if(err){
|
|
||||||
$.logErr(err)
|
|
||||||
} else {
|
|
||||||
if(data){
|
|
||||||
data = JSON.parse(data);
|
|
||||||
if(data['retcode'] === "1001"){
|
|
||||||
$.isLogin = false; //cookie过期
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if(data['retcode'] === "0" && data.data && data.data.hasOwnProperty("userInfo")){
|
|
||||||
$.nickName = data.data.userInfo.baseInfo.nickname;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$.log('京东服务器返回空数据');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} catch(e){
|
|
||||||
$.logErr(e)
|
|
||||||
} finally{
|
|
||||||
resolve();
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
// prettier-ignore
|
|
||||||
function Env(t, e){
|
|
||||||
class s{
|
|
||||||
constructor(t){this.env = t}
|
|
||||||
|
|
||||||
send(t, e = "GET"){
|
|
||||||
t = "string" == typeof t ? { url: t } : t;
|
|
||||||
let s = this.get;
|
|
||||||
return "POST" === e && (s = this.post), new Promise((e, i) => {s.call(this, t, (t, s, r) => {t ? i(t) : e(s)})})
|
|
||||||
}
|
|
||||||
|
|
||||||
get(t){return this.send.call(this.env, t)}
|
|
||||||
|
|
||||||
post(t){return this.send.call(this.env, t, "POST")}
|
|
||||||
}
|
|
||||||
|
|
||||||
return new class{
|
|
||||||
constructor(t, e){this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`)}
|
|
||||||
|
|
||||||
isNode(){return "undefined" != typeof module && !!module.exports}
|
|
||||||
|
|
||||||
isQuanX(){return "undefined" != typeof $task}
|
|
||||||
|
|
||||||
isSurge(){return "undefined" != typeof $httpClient && "undefined" == typeof $loon}
|
|
||||||
|
|
||||||
isLoon(){return "undefined" != typeof $loon}
|
|
||||||
|
|
||||||
toObj(t, e = null){try{return JSON.parse(t)} catch{return e}}
|
|
||||||
|
|
||||||
toStr(t, e = null){try{return JSON.stringify(t)} catch{return e}}
|
|
||||||
|
|
||||||
getjson(t, e){
|
|
||||||
let s = e;
|
|
||||||
const i = this.getdata(t);
|
|
||||||
if(i) try{s = JSON.parse(this.getdata(t))} catch{}
|
|
||||||
return s
|
|
||||||
}
|
|
||||||
|
|
||||||
setjson(t, e){try{return this.setdata(JSON.stringify(t), e)} catch{return !1}}
|
|
||||||
|
|
||||||
getScript(t){return new Promise(e => {this.get({ url: t }, (t, s, i) => e(i))})}
|
|
||||||
|
|
||||||
runScript(t, e){
|
|
||||||
return new Promise(s => {
|
|
||||||
let i = this.getdata("@chavy_boxjs_userCfgs.httpapi");
|
|
||||||
i = i ? i.replace(/\n/g, "").trim() : i;
|
|
||||||
let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");
|
|
||||||
r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r;
|
|
||||||
const [o, h] = i.split("@"), n = {
|
|
||||||
url: `http://${h}/v1/scripting/evaluate`,
|
|
||||||
body: { script_text: t, mock_type: "cron", timeout: r },
|
|
||||||
headers: { "X-Key": o, Accept: "*/*" }
|
|
||||||
};
|
|
||||||
this.post(n, (t, e, i) => s(i))
|
|
||||||
}).catch(t => this.logErr(t))
|
|
||||||
}
|
|
||||||
|
|
||||||
loaddata(){
|
|
||||||
if(!this.isNode()) return {};
|
|
||||||
{
|
|
||||||
this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path");
|
|
||||||
const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile),
|
|
||||||
s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e);
|
|
||||||
if(!s && !i) return {};
|
|
||||||
{
|
|
||||||
const i = s ? t : e;
|
|
||||||
try{return JSON.parse(this.fs.readFileSync(i))} catch(t){return {}}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
writedata(){
|
|
||||||
if(this.isNode()){
|
|
||||||
this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path");
|
|
||||||
const t = this.path.resolve(this.dataFile), e = this.path.resolve(process.cwd(), this.dataFile),
|
|
||||||
s = this.fs.existsSync(t), i = !s && this.fs.existsSync(e), r = JSON.stringify(this.data);
|
|
||||||
s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
lodash_get(t, e, s){
|
|
||||||
const i = e.replace(/\[(\d+)\]/g, ".$1").split(".");
|
|
||||||
let r = t;
|
|
||||||
for(const t of i) if(r = Object(r)[t], void 0 === r) return s;
|
|
||||||
return r
|
|
||||||
}
|
|
||||||
|
|
||||||
lodash_set(t, e, s){return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t)}
|
|
||||||
|
|
||||||
getdata(t){
|
|
||||||
let e = this.getval(t);
|
|
||||||
if(/^@/.test(t)){
|
|
||||||
const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : "";
|
|
||||||
if(r) try{
|
|
||||||
const t = JSON.parse(r);
|
|
||||||
e = t ? this.lodash_get(t, i, "") : e
|
|
||||||
} catch(t){e = ""}
|
|
||||||
}
|
|
||||||
return e
|
|
||||||
}
|
|
||||||
|
|
||||||
setdata(t, e){
|
|
||||||
let s = !1;
|
|
||||||
if(/^@/.test(e)){
|
|
||||||
const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i),
|
|
||||||
h = i ? "null" === o ? null : o || "{}" : "{}";
|
|
||||||
try{
|
|
||||||
const e = JSON.parse(h);
|
|
||||||
this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i)
|
|
||||||
} catch(e){
|
|
||||||
const o = {};
|
|
||||||
this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i)
|
|
||||||
}
|
|
||||||
} else s = this.setval(t, e);
|
|
||||||
return s
|
|
||||||
}
|
|
||||||
|
|
||||||
getval(t){return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null}
|
|
||||||
|
|
||||||
setval(t, e){return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null}
|
|
||||||
|
|
||||||
initGotEnv(t){this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar))}
|
|
||||||
|
|
||||||
get(t, e = (() => {})){
|
|
||||||
t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.get(t, (t, s, i) => {!t && s && (s.body = i, s.statusCode = s.status), e(t, s, i)})) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => {
|
|
||||||
const {
|
|
||||||
statusCode: s,
|
|
||||||
statusCode: i,
|
|
||||||
headers: r,
|
|
||||||
body: o
|
|
||||||
} = t;
|
|
||||||
e(null, { status: s, statusCode: i, headers: r, body: o }, o)
|
|
||||||
}, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => {
|
|
||||||
try{
|
|
||||||
if(t.headers["set-cookie"]){
|
|
||||||
const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();
|
|
||||||
s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar
|
|
||||||
}
|
|
||||||
} catch(t){this.logErr(t)}
|
|
||||||
}).then(t => {
|
|
||||||
const { statusCode: s, statusCode: i, headers: r, body: o } = t;
|
|
||||||
e(null, { status: s, statusCode: i, headers: r, body: o }, o)
|
|
||||||
}, t => {
|
|
||||||
const { message: s, response: i } = t;
|
|
||||||
e(s, i, i && i.body)
|
|
||||||
}))
|
|
||||||
}
|
|
||||||
|
|
||||||
post(t, e = (() => {})){
|
|
||||||
if(t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, { "X-Surge-Skip-Scripting": !1 })), $httpClient.post(t, (t, s, i) => {!t && s && (s.body = i, s.statusCode = s.status), e(t, s, i)}); else if(this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, { hints: !1 })), $task.fetch(t).then(t => {
|
|
||||||
const {
|
|
||||||
statusCode: s,
|
|
||||||
statusCode: i,
|
|
||||||
headers: r,
|
|
||||||
body: o
|
|
||||||
} = t;
|
|
||||||
e(null, { status: s, statusCode: i, headers: r, body: o }, o)
|
|
||||||
}, t => e(t)); else if(this.isNode()){
|
|
||||||
this.initGotEnv(t);
|
|
||||||
const { url: s, ...i } = t;
|
|
||||||
this.got.post(s, i).then(t => {
|
|
||||||
const { statusCode: s, statusCode: i, headers: r, body: o } = t;
|
|
||||||
e(null, { status: s, statusCode: i, headers: r, body: o }, o)
|
|
||||||
}, t => {
|
|
||||||
const { message: s, response: i } = t;
|
|
||||||
e(s, i, i && i.body)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
time(t, e = null){
|
|
||||||
const s = e ? new Date(e) : new Date;
|
|
||||||
let i = {
|
|
||||||
"M+": s.getMonth() + 1,
|
|
||||||
"d+": s.getDate(),
|
|
||||||
"H+": s.getHours(),
|
|
||||||
"m+": s.getMinutes(),
|
|
||||||
"s+": s.getSeconds(),
|
|
||||||
"q+": Math.floor((s.getMonth() + 3) / 3),
|
|
||||||
S: s.getMilliseconds()
|
|
||||||
};
|
|
||||||
/(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length)));
|
|
||||||
for(let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length)));
|
|
||||||
return t
|
|
||||||
}
|
|
||||||
|
|
||||||
msg(e = t, s = "", i = "", r){
|
|
||||||
const o = t => {
|
|
||||||
if(!t) return t;
|
|
||||||
if("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? { "open-url": t } : this.isSurge() ? { url: t } : void 0;
|
|
||||||
if("object" == typeof t){
|
|
||||||
if(this.isLoon()){
|
|
||||||
let e = t.openUrl || t.url || t["open-url"], s = t.mediaUrl || t["media-url"];
|
|
||||||
return { openUrl: e, mediaUrl: s }
|
|
||||||
}
|
|
||||||
if(this.isQuanX()){
|
|
||||||
let e = t["open-url"] || t.url || t.openUrl, s = t["media-url"] || t.mediaUrl;
|
|
||||||
return { "open-url": e, "media-url": s }
|
|
||||||
}
|
|
||||||
if(this.isSurge()){
|
|
||||||
let e = t.url || t.openUrl || t["open-url"];
|
|
||||||
return { url: e }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
if(this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog){
|
|
||||||
let t = ["", "==============📣系统通知📣=============="];
|
|
||||||
t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
log(...t){t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator))}
|
|
||||||
|
|
||||||
logErr(t, e){
|
|
||||||
const s = !this.isSurge() && !this.isQuanX() && !this.isLoon();
|
|
||||||
s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t)
|
|
||||||
}
|
|
||||||
|
|
||||||
wait(t){return new Promise(e => setTimeout(e, t))}
|
|
||||||
|
|
||||||
done(t = {}){
|
|
||||||
const e = (new Date).getTime(), s = (e - this.startTime) / 1e3;
|
|
||||||
this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t)
|
|
||||||
}
|
|
||||||
}(t, e)
|
|
||||||
}
|
|
@ -49,7 +49,6 @@ $.log(`最大化收益模式: 已${$.JOY_COIN_MAXIMIZE ? `默认开启` : `关
|
|||||||
const JD_API_HOST = `https://api.m.jd.com/client.action`;
|
const JD_API_HOST = `https://api.m.jd.com/client.action`;
|
||||||
message = ""
|
message = ""
|
||||||
!(async () => {
|
!(async () => {
|
||||||
$.user_agent = require('./USER_AGENTS').USER_AGENT
|
|
||||||
if (!cookiesArr[0]) {
|
if (!cookiesArr[0]) {
|
||||||
$.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {
|
$.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {
|
||||||
"open-url": "https://bean.m.jd.com/"
|
"open-url": "https://bean.m.jd.com/"
|
||||||
@ -68,11 +67,13 @@ message = ""
|
|||||||
// }
|
// }
|
||||||
cookie = cookiesArr[i];
|
cookie = cookiesArr[i];
|
||||||
if (cookie) {
|
if (cookie) {
|
||||||
$.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;
|
$.index = i + 1;
|
||||||
$.isLogin = true;
|
$.isLogin = true;
|
||||||
$.nickName = '';
|
$.nickName = '';
|
||||||
$.maxJoyCount = 10
|
$.maxJoyCount = 10;
|
||||||
|
$.UA = `jdapp;iPhone;10.1.4;13.1.2;${randomString(40)};network/wifi;model/iPhone8,1;addressid/2308460611;appBuild/167814;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`
|
||||||
|
|
||||||
await TotalBean();
|
await TotalBean();
|
||||||
if (!$.isLogin) {
|
if (!$.isLogin) {
|
||||||
$.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/bean/signIndex.action`, {
|
$.msg($.name, `【提示】cookie已失效`, `京东账号${$.index} ${$.nickName || $.UserName}\n请重新登录获取\nhttps://bean.m.jd.com/bean/signIndex.action`, {
|
||||||
@ -505,7 +506,7 @@ function taskPostClientActionUrl(body, functionId) {
|
|||||||
url: `https://api.m.jd.com/client.action?${functionId ? `functionId=${functionId}` : ``}`,
|
url: `https://api.m.jd.com/client.action?${functionId ? `functionId=${functionId}` : ``}`,
|
||||||
body: body,
|
body: body,
|
||||||
headers: {
|
headers: {
|
||||||
'User-Agent': $.user_agent,
|
'User-Agent': $.UA,
|
||||||
'Content-Type': 'application/x-www-form-urlencoded',
|
'Content-Type': 'application/x-www-form-urlencoded',
|
||||||
'Host': 'api.m.jd.com',
|
'Host': 'api.m.jd.com',
|
||||||
'Origin': 'https://joypark.jd.com',
|
'Origin': 'https://joypark.jd.com',
|
||||||
@ -520,7 +521,7 @@ function taskGetClientActionUrl(body, functionId) {
|
|||||||
url: `https://api.m.jd.com/client.action?functionId=${functionId}${body ? `&${body}` : ``}`,
|
url: `https://api.m.jd.com/client.action?functionId=${functionId}${body ? `&${body}` : ``}`,
|
||||||
// body: body,
|
// body: body,
|
||||||
headers: {
|
headers: {
|
||||||
'User-Agent': $.user_agent,
|
'User-Agent': $.UA,
|
||||||
'Content-Type': 'application/x-www-form-urlencoded',
|
'Content-Type': 'application/x-www-form-urlencoded',
|
||||||
'Host': 'api.m.jd.com',
|
'Host': 'api.m.jd.com',
|
||||||
'Origin': 'https://joypark.jd.com',
|
'Origin': 'https://joypark.jd.com',
|
||||||
@ -542,7 +543,7 @@ function TotalBean() {
|
|||||||
"Connection": "keep-alive",
|
"Connection": "keep-alive",
|
||||||
"Cookie": cookie,
|
"Cookie": cookie,
|
||||||
"Referer": "https://wqs.jd.com/my/jingdou/my.shtml?sceneval=2",
|
"Referer": "https://wqs.jd.com/my/jingdou/my.shtml?sceneval=2",
|
||||||
"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Mobile/15E148 Safari/604.1"
|
"User-Agent": $.UA
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$.post(options, (err, resp, data) => {
|
$.post(options, (err, resp, data) => {
|
||||||
@ -574,7 +575,13 @@ function TotalBean() {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
function randomString(e) {
|
||||||
|
e = e || 32;
|
||||||
|
let t = "abcdef0123456789", a = t.length, n = "";
|
||||||
|
for (i = 0; i < e; i++)
|
||||||
|
n += t.charAt(Math.floor(Math.random() * a));
|
||||||
|
return n
|
||||||
|
}
|
||||||
function jsonParse(str) {
|
function jsonParse(str) {
|
||||||
if (typeof str == "string") {
|
if (typeof str == "string") {
|
||||||
try {
|
try {
|
||||||
|
@ -53,7 +53,9 @@ message = ""
|
|||||||
$.index = i + 1;
|
$.index = i + 1;
|
||||||
$.isLogin = true;
|
$.isLogin = true;
|
||||||
$.nickName = '';
|
$.nickName = '';
|
||||||
$.openIndex = 0
|
$.openIndex = 0;
|
||||||
|
$.UA = `jdapp;iPhone;10.1.4;13.1.2;${randomString(40)};network/wifi;model/iPhone8,1;addressid/2308460611;appBuild/167814;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 13_1_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1`
|
||||||
|
|
||||||
console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`);
|
console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`);
|
||||||
// if ($.isNode()) {
|
// if ($.isNode()) {
|
||||||
// if (process.env.HELP_JOYPARK && process.env.HELP_JOYPARK == "false") {
|
// if (process.env.HELP_JOYPARK && process.env.HELP_JOYPARK == "false") {
|
||||||
@ -367,7 +369,7 @@ function taskPostClientActionUrl(body, functionId) {
|
|||||||
url: `https://api.m.jd.com/client.action?${functionId ? `functionId=${functionId}` : ``}`,
|
url: `https://api.m.jd.com/client.action?${functionId ? `functionId=${functionId}` : ``}`,
|
||||||
body: body,
|
body: body,
|
||||||
headers: {
|
headers: {
|
||||||
'User-Agent': 'jdltapp;iPhone;3.5.6;14.6;eac3e15e91fd380664fc7c788e8ab6a07805646d;network/4g;ADID/8F6CAEEA-5BF7-4F7E-86C3-A641C19CA832;hasUPPay/0;pushNoticeIsOpen/0;lang/zh_CN;model/iPhone13,2;addressid/1995295948;hasOCPay/0;appBuild/1070;supportBestPay/0;pv/41.26;apprpd/;ref/JDLTSubMainPageViewController;psq/2;ads/;psn/eac3e15e91fd380664fc7c788e8ab6a07805646d|112;jdv/0|kong|t_500509960_|jingfen|bb9c79e4c4174521873879a27a707da4|1625071927291|1625071930;adk/;app_device/IOS;pap/JA2020_3112531|3.5.6|IOS 14.6;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1',
|
'User-Agent': $.UA,
|
||||||
'Content-Type': 'application/x-www-form-urlencoded',
|
'Content-Type': 'application/x-www-form-urlencoded',
|
||||||
'Host': 'api.m.jd.com',
|
'Host': 'api.m.jd.com',
|
||||||
'Origin': 'https://joypark.jd.com',
|
'Origin': 'https://joypark.jd.com',
|
||||||
@ -376,7 +378,13 @@ function taskPostClientActionUrl(body, functionId) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
function randomString(e) {
|
||||||
|
e = e || 32;
|
||||||
|
let t = "abcdef0123456789", a = t.length, n = "";
|
||||||
|
for (i = 0; i < e; i++)
|
||||||
|
n += t.charAt(Math.floor(Math.random() * a));
|
||||||
|
return n
|
||||||
|
}
|
||||||
function jsonParse(str) {
|
function jsonParse(str) {
|
||||||
if (typeof str == "string") {
|
if (typeof str == "string") {
|
||||||
try {
|
try {
|
File diff suppressed because one or more lines are too long
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
约惠春天 好物来袭
|
甄选大牌 品质嗨购
|
||||||
*/
|
*/
|
||||||
const $ = new Env("约惠春天 好物来袭");
|
const $ = new Env("甄选大牌 品质嗨购");
|
||||||
const jdCookieNode = $.isNode() ? require("./jdCookie.js") : "";
|
const jdCookieNode = $.isNode() ? require("./jdCookie.js") : "";
|
||||||
const notify = $.isNode() ? require("./sendNotify") : "";
|
const notify = $.isNode() ? require("./sendNotify") : "";
|
||||||
let cookiesArr = [], cookie = "", message = "";
|
let cookiesArr = [], cookie = "", message = "";
|
||||||
@ -55,17 +55,18 @@ if ($.isNode()) {
|
|||||||
$.ADID = getUUID("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", 1);
|
$.ADID = getUUID("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", 1);
|
||||||
$.UUID = getUUID("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
|
$.UUID = getUUID("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
|
||||||
authorCodeList = [
|
authorCodeList = [
|
||||||
"83d7976c2c6a43c29c6031d2c339b404",
|
'f204df5e8a184e3ca2f375d6d99c3cf9',
|
||||||
'438636e19e2d448c819415fef086a858',
|
'88692f501f7d46188781bc8d679d026a',
|
||||||
'cf5c5fd7d6af44659c1ae464b3ab1f5d',
|
'979863b255de401b9ddda464391f0502',
|
||||||
'7aee91c9f025430ca0fac6eb13ed9608',
|
'91396b0a9f864ea3809e27cbbeae457b',
|
||||||
|
'e493ae577b0a47278946ca18fdc2e0cf'
|
||||||
];
|
];
|
||||||
// $.authorCode = authorCodeList[random(0, authorCodeList.length)];
|
// $.authorCode = authorCodeList[random(0, authorCodeList.length)];
|
||||||
$.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)]
|
$.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)]
|
||||||
$.authorNum = `${random(1000000, 9999999)}`;
|
$.authorNum = `${random(1000000, 9999999)}`;
|
||||||
$.randomCode = random(1000000, 9999999);
|
$.randomCode = random(1000000, 9999999);
|
||||||
$.activityId = "dzlhkkb306433997033e689d45c00a";
|
$.activityId = "dzlhkk081f1bc4bacd11ec99b60200";
|
||||||
$.activityShopId = "1000013205";
|
$.activityShopId = "1000387046";
|
||||||
$.activityUrl = `https://lzdz1-isv.isvjcloud.com/dingzhi/customized/common/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=undefined&lng=00.000000&lat=00.000000&sid=&un_area=`;
|
$.activityUrl = `https://lzdz1-isv.isvjcloud.com/dingzhi/customized/common/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=undefined&lng=00.000000&lat=00.000000&sid=&un_area=`;
|
||||||
await member();
|
await member();
|
||||||
await $.wait(1000);
|
await $.wait(1000);
|
||||||
@ -124,7 +125,7 @@ async function member() {
|
|||||||
if (vo.status == 0) {
|
if (vo.status == 0) {
|
||||||
await getShopOpenCardInfo({ venderId: `${vo.venderId}`, channel: "401" }, vo.venderId);
|
await getShopOpenCardInfo({ venderId: `${vo.venderId}`, channel: "401" }, vo.venderId);
|
||||||
await bindWithVender({ venderId: `${vo.venderId}`, bindByVerifyCodeFlag: 1, registerExtend: {}, writeChildFlag: 0, activityId: $.openCardActivityId, channel: 401 }, vo.venderId);
|
await bindWithVender({ venderId: `${vo.venderId}`, bindByVerifyCodeFlag: 1, registerExtend: {}, writeChildFlag: 0, activityId: $.openCardActivityId, channel: 401 }, vo.venderId);
|
||||||
await $.wait(1000);
|
await $.wait(500);
|
||||||
} else {
|
} else {
|
||||||
$.log(`>>> 已经是会员`);
|
$.log(`>>> 已经是会员`);
|
||||||
}
|
}
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
早鸟焕春 大牌惠聚
|
型男精英 随心而动
|
||||||
*/
|
*/
|
||||||
const $ = new Env("早鸟焕春 大牌惠聚");
|
const $ = new Env("型男精英 随心而动");
|
||||||
const jdCookieNode = $.isNode() ? require("./jdCookie.js") : "";
|
const jdCookieNode = $.isNode() ? require("./jdCookie.js") : "";
|
||||||
const notify = $.isNode() ? require("./sendNotify") : "";
|
const notify = $.isNode() ? require("./sendNotify") : "";
|
||||||
let cookiesArr = [], cookie = "", message = "";
|
let cookiesArr = [], cookie = "", message = "";
|
||||||
@ -57,19 +57,19 @@ if ($.isNode()) {
|
|||||||
$.ADID = getUUID("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", 1);
|
$.ADID = getUUID("xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", 1);
|
||||||
$.UUID = getUUID("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
|
$.UUID = getUUID("xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx");
|
||||||
authorCodeList = [
|
authorCodeList = [
|
||||||
'116e7210cd8e434680736d56e9c3da97',
|
'671f58b0e1ae44f68154b2b3ee104d1e',
|
||||||
'88f0c57b6eb7440b91ea5cd63861b30f',
|
'3d49aaaf206f43918db9285e09c20b54',
|
||||||
'3234ec3533c24b5289bdd5b75f898e4e',
|
'4d67eec71b684cb8a49f37e4cabeefa0',
|
||||||
'b1f0903668484ab282729de9eeac53fe',
|
'b6f55acd1e3348ec84cef8c53d20b41c',
|
||||||
'00a292e9c70e493ca9c36bc25ffbc738',
|
'431e80b3d2cc485d92cd505fb04712a1'
|
||||||
];
|
];
|
||||||
// $.authorCode = authorCodeList[random(0, authorCodeList.length)];
|
// $.authorCode = authorCodeList[random(0, authorCodeList.length)];
|
||||||
$.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)]
|
$.authorCode = ownCode ? ownCode : authorCodeList[random(0, authorCodeList.length)]
|
||||||
$.authorNum = `${random(1000000, 9999999)}`;
|
$.authorNum = `${random(1000000, 9999999)}`;
|
||||||
$.randomCode = random(1000000, 9999999);
|
$.randomCode = random(1000000, 9999999);
|
||||||
$.activityId = "dz3fb7e0f64f21afa7ff66d3daf15b";
|
$.activityId = "dz934e1f764aa2accb14bd217c55ca";
|
||||||
$.activityShopId = "1000004065";
|
$.activityShopId = "48034";
|
||||||
$.activityUrl = `https://lzdz1-isv.isvjcloud.com/dingzhi/april/springUnion3/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=undefined&lng=00.000000&lat=00.000000&sid=&un_area=`;
|
$.activityUrl = `https://lzdz1-isv.isvjcloud.com/dingzhi/april/manGod/activity/${$.authorNum}?activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}&adsource=null&shareuserid4minipg=null&shopid=undefined&lng=00.000000&lat=00.000000&sid=&un_area=`;
|
||||||
await member();
|
await member();
|
||||||
await $.wait(1000);
|
await $.wait(1000);
|
||||||
if ($.bean > 0) {
|
if ($.bean > 0) {
|
||||||
@ -108,16 +108,16 @@ async function member() {
|
|||||||
await $.wait(1000);
|
await $.wait(1000);
|
||||||
await task("wxActionCommon/getUserInfo", `pin=${encodeURIComponent($.secretPin)}`, 1);
|
await task("wxActionCommon/getUserInfo", `pin=${encodeURIComponent($.secretPin)}`, 1);
|
||||||
if ($.index === 1) {
|
if ($.index === 1) {
|
||||||
await task("april/springUnion3/activityContent", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`, 0, 1);
|
await task("april/manGod/activityContent", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`, 0, 1);
|
||||||
} else {
|
} else {
|
||||||
await task("april/springUnion3/activityContent", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`);
|
await task("april/manGod/activityContent", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&pinImg=&nick=${encodeURIComponent($.pin)}&cjyxPin=&cjhyPin=&shareUuid=${encodeURIComponent($.authorCode)}`);
|
||||||
}
|
}
|
||||||
$.log("关注店铺");
|
$.log("关注店铺");
|
||||||
await task("april/springUnion3/saveTask", `activityId=${$.activityId}&actorUuid=${encodeURIComponent($.actorUuid)}&pin=${encodeURIComponent($.secretPin)}&taskType=23&taskValue=23&shareUuid=${encodeURIComponent($.authorCode)}`);
|
await task("april/manGod/saveTask", `activityId=${$.activityId}&actorUuid=${encodeURIComponent($.actorUuid)}&pin=${encodeURIComponent($.secretPin)}&taskType=23&taskValue=23&shareUuid=${encodeURIComponent($.authorCode)}`);
|
||||||
await $.wait(1000);
|
await $.wait(1000);
|
||||||
await task("taskact/common/drawContent", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`);
|
await task("taskact/common/drawContent", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`);
|
||||||
await $.wait(1000);
|
await $.wait(1000);
|
||||||
await task("april/springUnion3/initOpenCard", `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}`);
|
await task("april/manGod/initOpenCard", `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}`);
|
||||||
$.log("加入店铺会员");
|
$.log("加入店铺会员");
|
||||||
if ($.openCardList) {
|
if ($.openCardList) {
|
||||||
for (const vo of $.openCardList) {
|
for (const vo of $.openCardList) {
|
||||||
@ -136,7 +136,7 @@ async function member() {
|
|||||||
$.log("没有获取到对应的任务。\n");
|
$.log("没有获取到对应的任务。\n");
|
||||||
}
|
}
|
||||||
await $.wait(1000);
|
await $.wait(1000);
|
||||||
await task("april/springUnion3/initOpenCard", `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}`);
|
await task("april/manGod/initOpenCard", `pin=${encodeURIComponent($.secretPin)}&activityId=${$.activityId}&shareUuid=${encodeURIComponent($.authorCode)}`);
|
||||||
console.log("去助力 -> " + $.authorCode);
|
console.log("去助力 -> " + $.authorCode);
|
||||||
// await task("linkgame/assist/status", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&shareUuid=${$.authorCode}`);
|
// await task("linkgame/assist/status", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&shareUuid=${$.authorCode}`);
|
||||||
// await task("linkgame/assist", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&shareUuid=${$.authorCode}`);
|
// await task("linkgame/assist", `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}&shareUuid=${$.authorCode}`);
|
||||||
@ -158,7 +158,7 @@ async function member() {
|
|||||||
// await getToken();
|
// await getToken();
|
||||||
await $.wait(2000)
|
await $.wait(2000)
|
||||||
// await task('linkgame/draw/record', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.secretPin)}`);
|
// await task('linkgame/draw/record', `activityId=${$.activityId}&actorUuid=${$.actorUuid}&pin=${encodeURIComponent($.secretPin)}`);
|
||||||
await task('april/springUnion3/draw', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`);
|
await task('april/manGod/draw', `activityId=${$.activityId}&pin=${encodeURIComponent($.secretPin)}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -182,7 +182,7 @@ function task(function_id, body, isCommon = 0, own = 0) {
|
|||||||
break;
|
break;
|
||||||
case "wxActionCommon/getUserInfo":
|
case "wxActionCommon/getUserInfo":
|
||||||
break;
|
break;
|
||||||
case "april/springUnion3/activityContent":
|
case "april/manGod/activityContent":
|
||||||
if (!data.data.hasEnd) {
|
if (!data.data.hasEnd) {
|
||||||
$.log(`开启【${data.data.activityName}】活动`);
|
$.log(`开启【${data.data.activityName}】活动`);
|
||||||
$.log("-------------------");
|
$.log("-------------------");
|
||||||
@ -195,12 +195,12 @@ function task(function_id, body, isCommon = 0, own = 0) {
|
|||||||
$.log("活动已经结束");
|
$.log("活动已经结束");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case "april/springUnion3/initOpenCard":
|
case "april/manGod/initOpenCard":
|
||||||
$.openCardList = data.data.openInfo;
|
$.openCardList = data.data.openInfo;
|
||||||
$.openCardStatus = data.data.allOpenCard;
|
$.openCardStatus = data.data.allOpenCard;
|
||||||
// console.log(data)
|
// console.log(data)
|
||||||
break;
|
break;
|
||||||
case "april/springUnion3/saveTask":
|
case "april/manGod/saveTask":
|
||||||
console.log(data);
|
console.log(data);
|
||||||
break;
|
break;
|
||||||
case "linkgame/sign":
|
case "linkgame/sign":
|
||||||
@ -220,7 +220,7 @@ function task(function_id, body, isCommon = 0, own = 0) {
|
|||||||
case "interaction/write/writePersonInfo":
|
case "interaction/write/writePersonInfo":
|
||||||
console.log(data);
|
console.log(data);
|
||||||
break;
|
break;
|
||||||
case "april/springUnion3/draw":
|
case "april/manGod/draw":
|
||||||
console.log(data);
|
console.log(data);
|
||||||
break;
|
break;
|
||||||
case "linkgame/draw/record":
|
case "linkgame/draw/record":
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
508
jd_lzdz1_customized19_3.js
Normal file
508
jd_lzdz1_customized19_3.js
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -6,17 +6,17 @@ JoyJd任务脚本
|
|||||||
============Quantumultx===============
|
============Quantumultx===============
|
||||||
[task_local]
|
[task_local]
|
||||||
#JoyJd任务脚本
|
#JoyJd任务脚本
|
||||||
5 2,18 * * * https://raw.githubusercontent.com/okyyds/yydspure/master/jd_joyjd_open.js, tag=JoyJd任务脚本, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true
|
5 2,18 * * * https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_joyjd_open.js, tag=JoyJd任务脚本, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true
|
||||||
|
|
||||||
================Loon==============
|
================Loon==============
|
||||||
[Script]
|
[Script]
|
||||||
cron "5 2,18 * * *" script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_joyjd_open.js,tag=JoyJd任务脚本
|
cron "5 2,18 * * *" script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_joyjd_open.js,tag=JoyJd任务脚本
|
||||||
|
|
||||||
===============Surge=================
|
===============Surge=================
|
||||||
JoyJd任务脚本 = type=cron,cronexp="5 2,18 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_joyjd_open.js
|
JoyJd任务脚本 = type=cron,cronexp="5 2,18 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_joyjd_open.js
|
||||||
|
|
||||||
============小火箭=========
|
============小火箭=========
|
||||||
JoyJd任务脚本 = type=cron,script-path=https://raw.githubusercontent.com/okyyds/yydspure/master/jd_joyjd_open.js, cronexpr="5 2,18 * * *", timeout=3600, enable=true
|
JoyJd任务脚本 = type=cron,script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_joyjd_open.js, cronexpr="5 2,18 * * *", timeout=3600, enable=true
|
||||||
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
@ -10,17 +10,17 @@
|
|||||||
|
|
||||||
=====================================Quantumult X=================================
|
=====================================Quantumult X=================================
|
||||||
[task_local]
|
[task_local]
|
||||||
1 7-21/2 * * * https://raw.githubusercontent.com/KingRan/JDJB/main/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true
|
1 7-21/2 * * * https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_plantBean.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true
|
||||||
|
|
||||||
=====================================Loon================================
|
=====================================Loon================================
|
||||||
[Script]
|
[Script]
|
||||||
cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/KingRan/JDJB/main/jd_plantBean.js,tag=京东种豆得豆
|
cron "1 7-21/2 * * *" script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_plantBean.js,tag=京东种豆得豆
|
||||||
|
|
||||||
======================================Surge==========================
|
======================================Surge==========================
|
||||||
京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/KingRan/JDJB/main/jd_plantBean.js
|
京东种豆得豆 = type=cron,cronexp="1 7-21/2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_plantBean.js
|
||||||
|
|
||||||
====================================小火箭=============================
|
====================================小火箭=============================
|
||||||
京东种豆得豆 = type=cron,script-path=https://raw.githubusercontent.com/KingRan/JDJB/main/jd_plantBean.js, cronexpr="1 7-21/2 * * *", timeout=3600, enable=true
|
京东种豆得豆 = type=cron,script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_plantBean.js, cronexpr="1 7-21/2 * * *", timeout=3600, enable=true
|
||||||
|
|
||||||
*/
|
*/
|
||||||
const $ = new Env('种豆得豆');
|
const $ = new Env('种豆得豆');
|
||||||
|
@ -10,17 +10,17 @@
|
|||||||
|
|
||||||
=====================================Quantumult X=================================
|
=====================================Quantumult X=================================
|
||||||
[task_local]
|
[task_local]
|
||||||
40 4,17 * * * https://raw.githubusercontent.com/KingRan/JDJB/main/jd_plantBean_help.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true
|
40 4,17 * * * https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_plantBean_help.js, tag=种豆得豆, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdzd.png, enabled=true
|
||||||
|
|
||||||
=====================================Loon================================
|
=====================================Loon================================
|
||||||
[Script]
|
[Script]
|
||||||
cron "40 4,17 * * *" script-path=https://raw.githubusercontent.com/KingRan/JDJB/main/jd_plantBean_help.js,tag=京东种豆得豆
|
cron "40 4,17 * * *" script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_plantBean_help.js,tag=京东种豆得豆
|
||||||
|
|
||||||
======================================Surge==========================
|
======================================Surge==========================
|
||||||
京东种豆得豆 = type=cron,cronexp="40 4,17 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/KingRan/JDJB/main/jd_plantBean_help.js
|
京东种豆得豆 = type=cron,cronexp="40 4,17 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_plantBean_help.js
|
||||||
|
|
||||||
====================================小火箭=============================
|
====================================小火箭=============================
|
||||||
京东种豆得豆 = type=cron,script-path=https://raw.githubusercontent.com/KingRan/JDJB/main/jd_plantBean_help.js, cronexpr="40 4,17 * * *", timeout=3600, enable=true
|
京东种豆得豆 = type=cron,script-path=https://raw.githubusercontent.com/shufflewzc/faker2/main/jd_plantBean_help.js, cronexpr="40 4,17 * * *", timeout=3600, enable=true
|
||||||
|
|
||||||
*/
|
*/
|
||||||
const $ = new Env('种豆得豆内部互助');
|
const $ = new Env('种豆得豆内部互助');
|
||||||
|
579
jd_speed_signfree.js
Normal file
579
jd_speed_signfree.js
Normal file
@ -0,0 +1,579 @@
|
|||||||
|
/*
|
||||||
|
入口>京东极速版>首页>签到免单
|
||||||
|
京东极速版,先下单,第二天开始签到
|
||||||
|
18 8,20 * * * jd_speed_signfree.js 签到免单
|
||||||
|
*/
|
||||||
|
const $ = new Env('京东极速版签到免单');
|
||||||
|
const notify = $.isNode() ? require('./sendNotify') : '';
|
||||||
|
//Node.js用户请在jdCookie.js处填写京东ck;
|
||||||
|
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
|
||||||
|
const UA = $.isNode() ? (process.env.JS_USER_AGENT ? process.env.JS_USER_AGENT : (require('./JS_USER_AGENTS').USER_AGENT)) : ($.getdata('JSUA') ? $.getdata('JSUA') : "'jdltapp;iPad;3.1.0;14.4;network/wifi;Mozilla/5.0 (iPad; CPU OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1")
|
||||||
|
//IOS等用户直接用NobyDa的jd cookie
|
||||||
|
let cookiesArr = [],
|
||||||
|
cookie,
|
||||||
|
msg = []
|
||||||
|
|
||||||
|
const activityId = 'PiuLvM8vamONsWzC0wqBGQ'
|
||||||
|
|
||||||
|
if ($.isNode()) {
|
||||||
|
console.log('\n入口>京东极速版>首页>签到免单')
|
||||||
|
console.log('京东极速版,先下单,第二天开始签到')
|
||||||
|
console.log('请自行测试是否有效!!!')
|
||||||
|
Object.keys(jdCookieNode).forEach((item) => {
|
||||||
|
cookiesArr.push(jdCookieNode[item])
|
||||||
|
})
|
||||||
|
if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {};
|
||||||
|
} else {
|
||||||
|
cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item);
|
||||||
|
}
|
||||||
|
const JD_API_HOST = 'https://api.m.jd.com/';
|
||||||
|
!(async () => {
|
||||||
|
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])
|
||||||
|
$.index = i + 1;
|
||||||
|
$.nickName = '';
|
||||||
|
message = '';
|
||||||
|
console.log(`\n******开始【京东账号${$.index}】${$.nickName || $.UserName}*********\n`);
|
||||||
|
msg.push(($.nickName || $.UserName) + ':')
|
||||||
|
first_flag = true
|
||||||
|
await sign_all()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (msg.length) {
|
||||||
|
console.log('有消息,推送消息')
|
||||||
|
await notify.sendNotify($.name, msg.join('\n'))
|
||||||
|
} else {
|
||||||
|
console.error('无消息,推送错误')
|
||||||
|
await notify.sendNotify($.name + '错误!!', "无消息可推送!!")
|
||||||
|
}
|
||||||
|
})()
|
||||||
|
.catch((e) => {
|
||||||
|
$.log('', `❌ ${$.name}, 失败! 原因: ${e}!`, '')
|
||||||
|
notify.sendNotify($.name + '异常!!', msg.join('\n') + '\n' + e)
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
$.msg($.name, '', `结束`);
|
||||||
|
$.done();
|
||||||
|
})
|
||||||
|
async function sign_all() {
|
||||||
|
await query()
|
||||||
|
if (!$.signFreeOrderInfoList){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
await $.wait(3000)
|
||||||
|
for (const order of $.signFreeOrderInfoList) {
|
||||||
|
// console.debug('now:', order)
|
||||||
|
$.productName = order.productName
|
||||||
|
await sign(order.orderId)
|
||||||
|
await $.wait(3000)
|
||||||
|
}
|
||||||
|
await $.wait(3000)
|
||||||
|
await query()
|
||||||
|
await $.wait(3000)
|
||||||
|
for (const order of $.signFreeOrderInfoList) {
|
||||||
|
// console.debug('2nd now:', order)
|
||||||
|
if (order.needSignDays == order.hasSignDays) {
|
||||||
|
console.log(order.productName, '可提现,执行提现')
|
||||||
|
$.productName = order.productName
|
||||||
|
await cash(order.orderId)
|
||||||
|
await $.wait(3000)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function query() {
|
||||||
|
return new Promise(resolve => {
|
||||||
|
$.get(taskGetUrl("signFreeHome", { "linkId": activityId }), async (err, resp, data) => {
|
||||||
|
try {
|
||||||
|
if (err) {
|
||||||
|
console.error(`${JSON.stringify(err)}`)
|
||||||
|
} else {
|
||||||
|
// console.debug('query:', data)
|
||||||
|
data = JSON.parse(data)
|
||||||
|
$.signFreeOrderInfoList = data.data.signFreeOrderInfoList
|
||||||
|
if (data.success == true) {
|
||||||
|
if (!data.data.signFreeOrderInfoList) {
|
||||||
|
console.log("没有需要签到的商品,请到京东极速版[签到免单]购买商品");
|
||||||
|
msg.push("没有需要签到的商品,请到京东极速版[签到免单]购买商品")
|
||||||
|
} else {
|
||||||
|
$.signFreeOrderInfoList = data.data.signFreeOrderInfoList
|
||||||
|
if (first_flag) {
|
||||||
|
first_flag = false
|
||||||
|
console.log("脚本也许随时失效,请注意");
|
||||||
|
msg.push("脚本也许随时失效,请注意")
|
||||||
|
if (data.data.risk == false) {
|
||||||
|
console.log("风控用户,可能有异常");
|
||||||
|
msg.push("风控用户,可能有异常")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
console.error("失败");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
$.logErr(e, resp)
|
||||||
|
} finally {
|
||||||
|
resolve(data);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function sign(orderId) {
|
||||||
|
return new Promise(resolve => {
|
||||||
|
// console.debug('sign orderId:', orderId)
|
||||||
|
$.post(taskPostUrl("signFreeSignIn", { "linkId": activityId, "orderId": orderId }), async (err, resp, data) => {
|
||||||
|
try {
|
||||||
|
if (err) {
|
||||||
|
console.error(`${JSON.stringify(err)}`)
|
||||||
|
} else {
|
||||||
|
// console.debug('sign:', data)
|
||||||
|
data = JSON.parse(data)
|
||||||
|
let msg_temp
|
||||||
|
if (data.success) {
|
||||||
|
msg_temp = $.productName + ' 签到成功'
|
||||||
|
} else {
|
||||||
|
msg_temp = $.productName + ' ' + (data.errMsg || '未知错误')
|
||||||
|
}
|
||||||
|
console.log(msg_temp)
|
||||||
|
msg.push(msg_temp)
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
$.logErr(e, resp)
|
||||||
|
} finally {
|
||||||
|
resolve(data);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function cash(orderId) {
|
||||||
|
return new Promise(resolve => {
|
||||||
|
// console.debug('cash orderId:', orderId)
|
||||||
|
$.post(taskPostUrl("signFreePrize", { "linkId": activityId, "orderId": orderId, "prizeType": 2 }), async (err, resp, data) => {
|
||||||
|
try {
|
||||||
|
if (err) {
|
||||||
|
console.error(`${JSON.stringify(err)}`)
|
||||||
|
} else {
|
||||||
|
// console.debug('cash:', data)
|
||||||
|
data = JSON.parse(data)
|
||||||
|
let msg_temp
|
||||||
|
if (data.success) {
|
||||||
|
msg_temp = $.productName + ' 提现成功'
|
||||||
|
} else {
|
||||||
|
msg_temp = $.productName + ' ' + (data.errMsg || '未知错误')
|
||||||
|
}
|
||||||
|
console.log(msg_temp)
|
||||||
|
msg.push(msg_temp)
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
$.logErr(e, resp)
|
||||||
|
} finally {
|
||||||
|
resolve(data);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function taskPostUrl(function_id, body) {
|
||||||
|
return {
|
||||||
|
url: `${JD_API_HOST}`,
|
||||||
|
body: `functionId=${function_id}&body=${escape(JSON.stringify(body))}&_t=${new Date()}&appid=activities_platform`,
|
||||||
|
headers: {
|
||||||
|
'Cookie': cookie,
|
||||||
|
'Host': 'api.m.jd.com',
|
||||||
|
// 'Connection': 'keep-alive',
|
||||||
|
'Content-Type': 'application/x-www-form-urlencoded',
|
||||||
|
"User-Agent": UA,
|
||||||
|
'accept-language': 'en-US,zh-CN;q=0.9',
|
||||||
|
'accept-encoding': 'gzip, deflate, br',
|
||||||
|
"referer": "https://signfree.jd.com/?activityId=" + activityId
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function taskGetUrl(function_id, body) {
|
||||||
|
return {
|
||||||
|
url: `${JD_API_HOST}?functionId=${function_id}&body=${escape(JSON.stringify(body))}&_t=${new Date()}&appid=activities_platform`,
|
||||||
|
headers: {
|
||||||
|
'Cookie': cookie,
|
||||||
|
'Host': 'api.m.jd.com',
|
||||||
|
'Accept': 'application/json, text/plain, */*',
|
||||||
|
'origin': 'https://signfree.jd.com',
|
||||||
|
// 'Connection': 'keep-alive',
|
||||||
|
'user-agent': UA,
|
||||||
|
'accept-language': 'en-US,zh-CN;q=0.9',
|
||||||
|
'accept-encoding': 'gzip, deflate, br',
|
||||||
|
"referer": "https://signfree.jd.com/?activityId=" + activityId
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function safeGet(data) {
|
||||||
|
try {
|
||||||
|
if (typeof JSON.parse(data) == "object") {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
|
console.log(`京东服务器访问数据为空,请检查自身设备网络情况`);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function jsonParse(str) {
|
||||||
|
if (typeof str == "string") {
|
||||||
|
try {
|
||||||
|
return JSON.parse(str);
|
||||||
|
} catch (e) {
|
||||||
|
console.log(e);
|
||||||
|
$.msg($.name, '', '请勿随意在BoxJs输入框修改内容\n建议通过脚本去获取cookie')
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// prettier-ignore
|
||||||
|
function Env(t, e) {
|
||||||
|
"undefined" != typeof process && JSON.stringify(process.env).indexOf("GITHUB") > -1 && process.exit(0);
|
||||||
|
class s {
|
||||||
|
constructor(t) {
|
||||||
|
this.env = t
|
||||||
|
}
|
||||||
|
send(t, e = "GET") {
|
||||||
|
t = "string" == typeof t ? {
|
||||||
|
url: t
|
||||||
|
} : t;
|
||||||
|
let s = this.get;
|
||||||
|
return "POST" === e && (s = this.post), new Promise((e, i) => {
|
||||||
|
s.call(this, t, (t, s, r) => {
|
||||||
|
t ? i(t) : e(s)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
}
|
||||||
|
get(t) {
|
||||||
|
return this.send.call(this.env, t)
|
||||||
|
}
|
||||||
|
post(t) {
|
||||||
|
return this.send.call(this.env, t, "POST")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return new class {
|
||||||
|
constructor(t, e) {
|
||||||
|
this.name = t, this.http = new s(this), this.data = null, this.dataFile = "box.dat", this.logs = [], this.isMute = !1, this.isNeedRewrite = !1, this.logSeparator = "\n", this.startTime = (new Date).getTime(), Object.assign(this, e), this.log("", `🔔${this.name}, 开始!`)
|
||||||
|
}
|
||||||
|
isNode() {
|
||||||
|
return "undefined" != typeof module && !!module.exports
|
||||||
|
}
|
||||||
|
isQuanX() {
|
||||||
|
return "undefined" != typeof $task
|
||||||
|
}
|
||||||
|
isSurge() {
|
||||||
|
return "undefined" != typeof $httpClient && "undefined" == typeof $loon
|
||||||
|
}
|
||||||
|
isLoon() {
|
||||||
|
return "undefined" != typeof $loon
|
||||||
|
}
|
||||||
|
toObj(t, e = null) {
|
||||||
|
try {
|
||||||
|
return JSON.parse(t)
|
||||||
|
} catch {
|
||||||
|
return e
|
||||||
|
}
|
||||||
|
}
|
||||||
|
toStr(t, e = null) {
|
||||||
|
try {
|
||||||
|
return JSON.stringify(t)
|
||||||
|
} catch {
|
||||||
|
return e
|
||||||
|
}
|
||||||
|
}
|
||||||
|
getjson(t, e) {
|
||||||
|
let s = e;
|
||||||
|
const i = this.getdata(t);
|
||||||
|
if (i) try {
|
||||||
|
s = JSON.parse(this.getdata(t))
|
||||||
|
} catch {}
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
setjson(t, e) {
|
||||||
|
try {
|
||||||
|
return this.setdata(JSON.stringify(t), e)
|
||||||
|
} catch {
|
||||||
|
return !1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
getScript(t) {
|
||||||
|
return new Promise(e => {
|
||||||
|
this.get({
|
||||||
|
url: t
|
||||||
|
}, (t, s, i) => e(i))
|
||||||
|
})
|
||||||
|
}
|
||||||
|
runScript(t, e) {
|
||||||
|
return new Promise(s => {
|
||||||
|
let i = this.getdata("@chavy_boxjs_userCfgs.httpapi");
|
||||||
|
i = i ? i.replace(/\n/g, "").trim() : i;
|
||||||
|
let r = this.getdata("@chavy_boxjs_userCfgs.httpapi_timeout");
|
||||||
|
r = r ? 1 * r : 20, r = e && e.timeout ? e.timeout : r;
|
||||||
|
const [o, h] = i.split("@"), n = {
|
||||||
|
url: `http://${h}/v1/scripting/evaluate`,
|
||||||
|
body: {
|
||||||
|
script_text: t,
|
||||||
|
mock_type: "cron",
|
||||||
|
timeout: r
|
||||||
|
},
|
||||||
|
headers: {
|
||||||
|
"X-Key": o,
|
||||||
|
Accept: "*/*"
|
||||||
|
}
|
||||||
|
};
|
||||||
|
this.post(n, (t, e, i) => s(i))
|
||||||
|
}).catch(t => this.logErr(t))
|
||||||
|
}
|
||||||
|
loaddata() {
|
||||||
|
if (!this.isNode()) return {}; {
|
||||||
|
this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path");
|
||||||
|
const t = this.path.resolve(this.dataFile),
|
||||||
|
e = this.path.resolve(process.cwd(), this.dataFile),
|
||||||
|
s = this.fs.existsSync(t),
|
||||||
|
i = !s && this.fs.existsSync(e);
|
||||||
|
if (!s && !i) return {}; {
|
||||||
|
const i = s ? t : e;
|
||||||
|
try {
|
||||||
|
return JSON.parse(this.fs.readFileSync(i))
|
||||||
|
} catch (t) {
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
writedata() {
|
||||||
|
if (this.isNode()) {
|
||||||
|
this.fs = this.fs ? this.fs : require("fs"), this.path = this.path ? this.path : require("path");
|
||||||
|
const t = this.path.resolve(this.dataFile),
|
||||||
|
e = this.path.resolve(process.cwd(), this.dataFile),
|
||||||
|
s = this.fs.existsSync(t),
|
||||||
|
i = !s && this.fs.existsSync(e),
|
||||||
|
r = JSON.stringify(this.data);
|
||||||
|
s ? this.fs.writeFileSync(t, r) : i ? this.fs.writeFileSync(e, r) : this.fs.writeFileSync(t, r)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
lodash_get(t, e, s) {
|
||||||
|
const i = e.replace(/\[(\d+)\]/g, ".$1").split(".");
|
||||||
|
let r = t;
|
||||||
|
for (const t of i)
|
||||||
|
if (r = Object(r)[t], void 0 === r) return s;
|
||||||
|
return r
|
||||||
|
}
|
||||||
|
lodash_set(t, e, s) {
|
||||||
|
return Object(t) !== t ? t : (Array.isArray(e) || (e = e.toString().match(/[^.[\]]+/g) || []), e.slice(0, -1).reduce((t, s, i) => Object(t[s]) === t[s] ? t[s] : t[s] = Math.abs(e[i + 1]) >> 0 == +e[i + 1] ? [] : {}, t)[e[e.length - 1]] = s, t)
|
||||||
|
}
|
||||||
|
getdata(t) {
|
||||||
|
let e = this.getval(t);
|
||||||
|
if (/^@/.test(t)) {
|
||||||
|
const [, s, i] = /^@(.*?)\.(.*?)$/.exec(t), r = s ? this.getval(s) : "";
|
||||||
|
if (r) try {
|
||||||
|
const t = JSON.parse(r);
|
||||||
|
e = t ? this.lodash_get(t, i, "") : e
|
||||||
|
} catch (t) {
|
||||||
|
e = ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return e
|
||||||
|
}
|
||||||
|
setdata(t, e) {
|
||||||
|
let s = !1;
|
||||||
|
if (/^@/.test(e)) {
|
||||||
|
const [, i, r] = /^@(.*?)\.(.*?)$/.exec(e), o = this.getval(i), h = i ? "null" === o ? null : o || "{}" : "{}";
|
||||||
|
try {
|
||||||
|
const e = JSON.parse(h);
|
||||||
|
this.lodash_set(e, r, t), s = this.setval(JSON.stringify(e), i)
|
||||||
|
} catch (e) {
|
||||||
|
const o = {};
|
||||||
|
this.lodash_set(o, r, t), s = this.setval(JSON.stringify(o), i)
|
||||||
|
}
|
||||||
|
} else s = this.setval(t, e);
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
getval(t) {
|
||||||
|
return this.isSurge() || this.isLoon() ? $persistentStore.read(t) : this.isQuanX() ? $prefs.valueForKey(t) : this.isNode() ? (this.data = this.loaddata(), this.data[t]) : this.data && this.data[t] || null
|
||||||
|
}
|
||||||
|
setval(t, e) {
|
||||||
|
return this.isSurge() || this.isLoon() ? $persistentStore.write(t, e) : this.isQuanX() ? $prefs.setValueForKey(t, e) : this.isNode() ? (this.data = this.loaddata(), this.data[e] = t, this.writedata(), !0) : this.data && this.data[e] || null
|
||||||
|
}
|
||||||
|
initGotEnv(t) {
|
||||||
|
this.got = this.got ? this.got : require("got"), this.cktough = this.cktough ? this.cktough : require("tough-cookie"), this.ckjar = this.ckjar ? this.ckjar : new this.cktough.CookieJar, t && (t.headers = t.headers ? t.headers : {}, void 0 === t.headers.Cookie && void 0 === t.cookieJar && (t.cookieJar = this.ckjar))
|
||||||
|
}
|
||||||
|
get(t, e = (() => {})) {
|
||||||
|
t.headers && (delete t.headers["Content-Type"], delete t.headers["Content-Length"]), this.isSurge() || this.isLoon() ? (this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, {
|
||||||
|
"X-Surge-Skip-Scripting": !1
|
||||||
|
})), $httpClient.get(t, (t, s, i) => {
|
||||||
|
!t && s && (s.body = i, s.statusCode = s.status), e(t, s, i)
|
||||||
|
})) : this.isQuanX() ? (this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, {
|
||||||
|
hints: !1
|
||||||
|
})), $task.fetch(t).then(t => {
|
||||||
|
const {
|
||||||
|
statusCode: s,
|
||||||
|
statusCode: i,
|
||||||
|
headers: r,
|
||||||
|
body: o
|
||||||
|
} = t;
|
||||||
|
e(null, {
|
||||||
|
status: s,
|
||||||
|
statusCode: i,
|
||||||
|
headers: r,
|
||||||
|
body: o
|
||||||
|
}, o)
|
||||||
|
}, t => e(t))) : this.isNode() && (this.initGotEnv(t), this.got(t).on("redirect", (t, e) => {
|
||||||
|
try {
|
||||||
|
if (t.headers["set-cookie"]) {
|
||||||
|
const s = t.headers["set-cookie"].map(this.cktough.Cookie.parse).toString();
|
||||||
|
s && this.ckjar.setCookieSync(s, null), e.cookieJar = this.ckjar
|
||||||
|
}
|
||||||
|
} catch (t) {
|
||||||
|
this.logErr(t)
|
||||||
|
}
|
||||||
|
}).then(t => {
|
||||||
|
const {
|
||||||
|
statusCode: s,
|
||||||
|
statusCode: i,
|
||||||
|
headers: r,
|
||||||
|
body: o
|
||||||
|
} = t;
|
||||||
|
e(null, {
|
||||||
|
status: s,
|
||||||
|
statusCode: i,
|
||||||
|
headers: r,
|
||||||
|
body: o
|
||||||
|
}, o)
|
||||||
|
}, t => {
|
||||||
|
const {
|
||||||
|
message: s,
|
||||||
|
response: i
|
||||||
|
} = t;
|
||||||
|
e(s, i, i && i.body)
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
post(t, e = (() => {})) {
|
||||||
|
if (t.body && t.headers && !t.headers["Content-Type"] && (t.headers["Content-Type"] = "application/x-www-form-urlencoded"), t.headers && delete t.headers["Content-Length"], this.isSurge() || this.isLoon()) this.isSurge() && this.isNeedRewrite && (t.headers = t.headers || {}, Object.assign(t.headers, {
|
||||||
|
"X-Surge-Skip-Scripting": !1
|
||||||
|
})), $httpClient.post(t, (t, s, i) => {
|
||||||
|
!t && s && (s.body = i, s.statusCode = s.status), e(t, s, i)
|
||||||
|
});
|
||||||
|
else if (this.isQuanX()) t.method = "POST", this.isNeedRewrite && (t.opts = t.opts || {}, Object.assign(t.opts, {
|
||||||
|
hints: !1
|
||||||
|
})), $task.fetch(t).then(t => {
|
||||||
|
const {
|
||||||
|
statusCode: s,
|
||||||
|
statusCode: i,
|
||||||
|
headers: r,
|
||||||
|
body: o
|
||||||
|
} = t;
|
||||||
|
e(null, {
|
||||||
|
status: s,
|
||||||
|
statusCode: i,
|
||||||
|
headers: r,
|
||||||
|
body: o
|
||||||
|
}, o)
|
||||||
|
}, t => e(t));
|
||||||
|
else if (this.isNode()) {
|
||||||
|
this.initGotEnv(t);
|
||||||
|
const {
|
||||||
|
url: s,
|
||||||
|
...i
|
||||||
|
} = t;
|
||||||
|
this.got.post(s, i).then(t => {
|
||||||
|
const {
|
||||||
|
statusCode: s,
|
||||||
|
statusCode: i,
|
||||||
|
headers: r,
|
||||||
|
body: o
|
||||||
|
} = t;
|
||||||
|
e(null, {
|
||||||
|
status: s,
|
||||||
|
statusCode: i,
|
||||||
|
headers: r,
|
||||||
|
body: o
|
||||||
|
}, o)
|
||||||
|
}, t => {
|
||||||
|
const {
|
||||||
|
message: s,
|
||||||
|
response: i
|
||||||
|
} = t;
|
||||||
|
e(s, i, i && i.body)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
time(t, e = null) {
|
||||||
|
const s = e ? new Date(e) : new Date;
|
||||||
|
let i = {
|
||||||
|
"M+": s.getMonth() + 1,
|
||||||
|
"d+": s.getDate(),
|
||||||
|
"H+": s.getHours(),
|
||||||
|
"m+": s.getMinutes(),
|
||||||
|
"s+": s.getSeconds(),
|
||||||
|
"q+": Math.floor((s.getMonth() + 3) / 3),
|
||||||
|
S: s.getMilliseconds()
|
||||||
|
};
|
||||||
|
/(y+)/.test(t) && (t = t.replace(RegExp.$1, (s.getFullYear() + "").substr(4 - RegExp.$1.length)));
|
||||||
|
for (let e in i) new RegExp("(" + e + ")").test(t) && (t = t.replace(RegExp.$1, 1 == RegExp.$1.length ? i[e] : ("00" + i[e]).substr(("" + i[e]).length)));
|
||||||
|
return t
|
||||||
|
}
|
||||||
|
msg(e = t, s = "", i = "", r) {
|
||||||
|
const o = t => {
|
||||||
|
if (!t) return t;
|
||||||
|
if ("string" == typeof t) return this.isLoon() ? t : this.isQuanX() ? {
|
||||||
|
"open-url": t
|
||||||
|
} : this.isSurge() ? {
|
||||||
|
url: t
|
||||||
|
} : void 0;
|
||||||
|
if ("object" == typeof t) {
|
||||||
|
if (this.isLoon()) {
|
||||||
|
let e = t.openUrl || t.url || t["open-url"],
|
||||||
|
s = t.mediaUrl || t["media-url"];
|
||||||
|
return {
|
||||||
|
openUrl: e,
|
||||||
|
mediaUrl: s
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.isQuanX()) {
|
||||||
|
let e = t["open-url"] || t.url || t.openUrl,
|
||||||
|
s = t["media-url"] || t.mediaUrl;
|
||||||
|
return {
|
||||||
|
"open-url": e,
|
||||||
|
"media-url": s
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (this.isSurge()) {
|
||||||
|
let e = t.url || t.openUrl || t["open-url"];
|
||||||
|
return {
|
||||||
|
url: e
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if (this.isMute || (this.isSurge() || this.isLoon() ? $notification.post(e, s, i, o(r)) : this.isQuanX() && $notify(e, s, i, o(r))), !this.isMuteLog) {
|
||||||
|
let t = ["", "==============📣系统通知📣=============="];
|
||||||
|
t.push(e), s && t.push(s), i && t.push(i), console.log(t.join("\n")), this.logs = this.logs.concat(t)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
log(...t) {
|
||||||
|
t.length > 0 && (this.logs = [...this.logs, ...t]), console.log(t.join(this.logSeparator))
|
||||||
|
}
|
||||||
|
logErr(t, e) {
|
||||||
|
const s = !this.isSurge() && !this.isQuanX() && !this.isLoon();
|
||||||
|
s ? this.log("", `❗️${this.name}, 错误!`, t.stack) : this.log("", `❗️${this.name}, 错误!`, t)
|
||||||
|
}
|
||||||
|
wait(t) {
|
||||||
|
return new Promise(e => setTimeout(e, t))
|
||||||
|
}
|
||||||
|
done(t = {}) {
|
||||||
|
const e = (new Date).getTime(),
|
||||||
|
s = (e - this.startTime) / 1e3;
|
||||||
|
this.log("", `🔔${this.name}, 结束! 🕛 ${s} 秒`), this.log(), (this.isSurge() || this.isQuanX() || this.isLoon()) && $done(t)
|
||||||
|
}
|
||||||
|
}(t, e)
|
||||||
|
}
|
66
jd_wish.js
66
jd_wish.js
@ -5,17 +5,17 @@
|
|||||||
===============Quantumultx===============
|
===============Quantumultx===============
|
||||||
[task_local]
|
[task_local]
|
||||||
#众筹许愿池
|
#众筹许愿池
|
||||||
40 0,2 * * * https://raw.githubusercontent.com/KingRan/JDJB/main/jd_wish.js, tag=众筹许愿池, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true
|
40 0,2 * * * https://raw.githubusercontent.com/222222/sync/jd_scripts/jd_wish.js, tag=众筹许愿池, img-url=https://raw.githubusercontent.com/Orz-3/mini/master/Color/jd.png, enabled=true
|
||||||
|
|
||||||
================Loon==============
|
================Loon==============
|
||||||
[Script]
|
[Script]
|
||||||
cron "40 0,2 * * *" script-path=https://raw.githubusercontent.com/KingRan/JDJB/main/jd_wish.js,tag=众筹许愿池
|
cron "40 0,2 * * *" script-path=https://raw.githubusercontent.com/222222/sync/jd_scripts/jd_wish.js,tag=众筹许愿池
|
||||||
|
|
||||||
===============Surge=================
|
===============Surge=================
|
||||||
众筹许愿池 = type=cron,cronexp="40 0,2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/KingRan/JDJB/main/jd_wish.js
|
众筹许愿池 = type=cron,cronexp="40 0,2 * * *",wake-system=1,timeout=3600,script-path=https://raw.githubusercontent.com/222222/sync/jd_scripts/jd_wish.js
|
||||||
|
|
||||||
============小火箭=========
|
============小火箭=========
|
||||||
众筹许愿池 = type=cron,script-path=https://raw.githubusercontent.com/KingRan/JDJB/main/jd_wish.js, cronexpr="40 0,2 * * *", timeout=3600, enable=true
|
众筹许愿池 = type=cron,script-path=https://raw.githubusercontent.com/222222/sync/jd_scripts/jd_wish.js, cronexpr="40 0,2 * * *", timeout=3600, enable=true
|
||||||
*/
|
*/
|
||||||
const $ = new Env('众筹许愿池');
|
const $ = new Env('众筹许愿池');
|
||||||
const notify = $.isNode() ? require('./sendNotify') : '';
|
const notify = $.isNode() ? require('./sendNotify') : '';
|
||||||
@ -25,8 +25,8 @@ let message = '', allMessage = '';
|
|||||||
//IOS等用户直接用NobyDa的jd cookie
|
//IOS等用户直接用NobyDa的jd cookie
|
||||||
let cookiesArr = [], cookie = '';
|
let cookiesArr = [], cookie = '';
|
||||||
const JD_API_HOST = 'https://api.m.jd.com/client.action';
|
const JD_API_HOST = 'https://api.m.jd.com/client.action';
|
||||||
let appIdArr = ['1FFVQyqw','1EFRWxKuG', '1E1xZy6s'];
|
let appIdArr = ['1EFBTxa6H','1FFVQyqw','1EFRWxKuG', '1E1xZy6s'];
|
||||||
let appNameArr = ['1111点心动','许愿抽好礼', 'PLUS生活特权'];
|
let appNameArr = ['森林历险记','1111点心动','许愿抽好礼', 'PLUS生活特权'];
|
||||||
let appId, appName;
|
let appId, appName;
|
||||||
$.shareCode = [];
|
$.shareCode = [];
|
||||||
if ($.isNode()) {
|
if ($.isNode()) {
|
||||||
@ -72,7 +72,12 @@ if ($.isNode()) {
|
|||||||
if ($.isNode()) await notify.sendNotify($.name, allMessage);
|
if ($.isNode()) await notify.sendNotify($.name, allMessage);
|
||||||
$.msg($.name, '', allMessage)
|
$.msg($.name, '', allMessage)
|
||||||
}
|
}
|
||||||
let res = await getAuthorShareCode('https://gitee.com/KingRan521/JD-Scripts/raw/master/shareCodes/wish.json')
|
let res = await getAuthorShareCode('https://raw.githubusercontent.com/222222/11111128/master/shareCodes/11111127')
|
||||||
|
if (!res) {
|
||||||
|
$.http.get({url: 'https://purge.jsdelivr.net/gh/222222/11111128@master/shareCodes/11111127'}).then((resp) => {}).catch((e) => console.log('刷新CDN异常', e));
|
||||||
|
await $.wait(1000)
|
||||||
|
res = await getAuthorShareCode('https://cdn.jsdelivr.net/gh/222222/11111128@master/shareCodes/11111127')
|
||||||
|
}
|
||||||
$.shareCode = [...$.shareCode, ...(res || [])]
|
$.shareCode = [...$.shareCode, ...(res || [])]
|
||||||
for (let i = 0; i < cookiesArr.length; i++) {
|
for (let i = 0; i < cookiesArr.length; i++) {
|
||||||
if (cookiesArr[i]) {
|
if (cookiesArr[i]) {
|
||||||
@ -131,6 +136,7 @@ async function jd_wish() {
|
|||||||
await interact_template_getLotteryResult()
|
await interact_template_getLotteryResult()
|
||||||
await $.wait(2000)
|
await $.wait(2000)
|
||||||
}
|
}
|
||||||
|
if (message) allMessage += `京东账号${$.index} ${$.nickName || $.UserName}\n${appName}\n${message}${$.index !== cookiesArr.length ? '\n\n' : ''}`
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
$.logErr(e)
|
$.logErr(e)
|
||||||
@ -139,7 +145,6 @@ async function jd_wish() {
|
|||||||
|
|
||||||
async function healthyDay_getHomeData(type = true) {
|
async function healthyDay_getHomeData(type = true) {
|
||||||
return new Promise(async resolve => {
|
return new Promise(async resolve => {
|
||||||
// console.log(taskUrl('healthyDay_getHomeData', { "appId": appId, "taskToken": "", "channelId": 1 }));
|
|
||||||
$.post(taskUrl('healthyDay_getHomeData', {"appId":appId,"taskToken":"","channelId":1}), async (err, resp, data) => {
|
$.post(taskUrl('healthyDay_getHomeData', {"appId":appId,"taskToken":"","channelId":1}), async (err, resp, data) => {
|
||||||
try {
|
try {
|
||||||
if (err) {
|
if (err) {
|
||||||
@ -148,50 +153,25 @@ async function healthyDay_getHomeData(type = true) {
|
|||||||
} else {
|
} else {
|
||||||
if (safeGet(data)) {
|
if (safeGet(data)) {
|
||||||
data = JSON.parse(data);
|
data = JSON.parse(data);
|
||||||
// console.log(data);
|
|
||||||
if (type) {
|
if (type) {
|
||||||
for (let key of Object.keys(data.data.result.hotTaskVos).reverse()) {
|
|
||||||
let vo = data.data.result.hotTaskVos[key]
|
|
||||||
if (vo.status !== 2) {
|
|
||||||
if (vo.taskType === 12) {
|
|
||||||
console.log(`点击热区`)
|
|
||||||
await harmony_collectScore({"appId":appId,"taskToken":vo.simpleRecordInfoVo.taskToken,"taskId":vo.taskId,"actionType":"0"}, vo.taskType)
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
console.log(`【${vo.taskName}】已完成\n`)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
for (let key of Object.keys(data.data.result.taskVos).reverse()) {
|
for (let key of Object.keys(data.data.result.taskVos).reverse()) {
|
||||||
let vo = data.data.result.taskVos[key]
|
let vo = data.data.result.taskVos[key]
|
||||||
if (vo.status !== 2) {
|
if (vo.status !== 2 && vo.status !== 0) {
|
||||||
if (vo.taskType === 13 || vo.taskType === 12) {
|
if (vo.taskType === 13 || vo.taskType === 12) {
|
||||||
console.log(`签到`)
|
console.log(`签到`)
|
||||||
await harmony_collectScore({"appId":appId,"taskToken":vo.simpleRecordInfoVo.taskToken,"taskId":vo.taskId,"actionType":"0"}, vo.taskType)
|
await harmony_collectScore({"appId":appId,"taskToken":vo.simpleRecordInfoVo.taskToken,"taskId":vo.taskId,"actionType":"0"}, vo.taskType)
|
||||||
} else if (vo.taskType === 1) {
|
} else if (vo.taskType === 1) {
|
||||||
|
$.complete = false;
|
||||||
for (let key of Object.keys(vo.followShopVo)) {
|
for (let key of Object.keys(vo.followShopVo)) {
|
||||||
let followShopVo = vo.followShopVo[key]
|
let followShopVo = vo.followShopVo[key]
|
||||||
if (followShopVo.status !== 2) {
|
if (followShopVo.status !== 2) {
|
||||||
console.log(`【${followShopVo.shopName}】${vo.subTitleName}`)
|
console.log(`【${followShopVo.shopName}】${vo.subTitleName}`)
|
||||||
await harmony_collectScore({"appId":appId,"taskToken":followShopVo.taskToken,"taskId":vo.taskId,"actionType":"0"})
|
await harmony_collectScore({"appId":appId,"taskToken":followShopVo.taskToken,"taskId":vo.taskId,"actionType":"0"})
|
||||||
}
|
if ($.complete) break;
|
||||||
}
|
|
||||||
} else if (vo.taskType === 5) {
|
|
||||||
for (let key of Object.keys(vo.browseShopVo)) {
|
|
||||||
let browseShopVo = vo.browseShopVo[key]
|
|
||||||
if (browseShopVo.status !== 2) {
|
|
||||||
console.log(`【${browseShopVo.skuName}】${vo.subTitleName}`)
|
|
||||||
await harmony_collectScore({ "appId": appId, "taskToken": browseShopVo.taskToken, "taskId": vo.taskId, "actionType": "0" })
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else if (vo.taskType === 15) {
|
|
||||||
for (let key of Object.keys(vo.productInfoVos)) {
|
|
||||||
let productInfoVos = vo.productInfoVos[key]
|
|
||||||
if (productInfoVos.status !== 2) {
|
|
||||||
console.log(`【${productInfoVos.skuName}】${vo.subTitleName}`)
|
|
||||||
await harmony_collectScore({ "appId": appId, "taskToken": productInfoVos.taskToken, "taskId": vo.taskId, "actionType": "0" })
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (vo.taskType === 8) {
|
} else if (vo.taskType === 8) {
|
||||||
|
$.complete = false;
|
||||||
for (let key of Object.keys(vo.productInfoVos)) {
|
for (let key of Object.keys(vo.productInfoVos)) {
|
||||||
let productInfoVos = vo.productInfoVos[key]
|
let productInfoVos = vo.productInfoVos[key]
|
||||||
if (productInfoVos.status !== 2) {
|
if (productInfoVos.status !== 2) {
|
||||||
@ -199,12 +179,11 @@ async function healthyDay_getHomeData(type = true) {
|
|||||||
await harmony_collectScore({"appId":appId,"taskToken":productInfoVos.taskToken,"taskId":vo.taskId,"actionType":"1"})
|
await harmony_collectScore({"appId":appId,"taskToken":productInfoVos.taskToken,"taskId":vo.taskId,"actionType":"1"})
|
||||||
await $.wait(vo.waitDuration * 1000)
|
await $.wait(vo.waitDuration * 1000)
|
||||||
await harmony_collectScore({"appId":appId,"taskToken":productInfoVos.taskToken,"taskId":vo.taskId,"actionType":"0"})
|
await harmony_collectScore({"appId":appId,"taskToken":productInfoVos.taskToken,"taskId":vo.taskId,"actionType":"0"})
|
||||||
|
if ($.complete) break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (vo.taskType === 27 && vo.taskId === 18) {
|
|
||||||
console.log(`【${vo.subTitleName}】`)
|
|
||||||
await harmony_collectScore({ "appId": appId, "taskToken": vo.productInfoVos[0].taskToken, "taskId": vo.taskId, "actionType": "0" })
|
|
||||||
} else if (vo.taskType === 9 || vo.taskType === 26) {
|
} else if (vo.taskType === 9 || vo.taskType === 26) {
|
||||||
|
$.complete = false;
|
||||||
for (let key of Object.keys(vo.shoppingActivityVos)) {
|
for (let key of Object.keys(vo.shoppingActivityVos)) {
|
||||||
let shoppingActivityVos = vo.shoppingActivityVos[key]
|
let shoppingActivityVos = vo.shoppingActivityVos[key]
|
||||||
if (shoppingActivityVos.status !== 2) {
|
if (shoppingActivityVos.status !== 2) {
|
||||||
@ -214,6 +193,7 @@ async function healthyDay_getHomeData(type = true) {
|
|||||||
await $.wait(vo.waitDuration * 1000)
|
await $.wait(vo.waitDuration * 1000)
|
||||||
}
|
}
|
||||||
await harmony_collectScore({"appId":appId,"taskToken":shoppingActivityVos.taskToken,"taskId":vo.taskId,"actionType":"0"})
|
await harmony_collectScore({"appId":appId,"taskToken":shoppingActivityVos.taskToken,"taskId":vo.taskId,"actionType":"0"})
|
||||||
|
if ($.complete) break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (vo.taskType === 14) {
|
} else if (vo.taskType === 14) {
|
||||||
@ -254,7 +234,7 @@ function harmony_collectScore(body = {}, taskType = '') {
|
|||||||
if (data && data.data && data.data.bizCode === 0) {
|
if (data && data.data && data.data.bizCode === 0) {
|
||||||
if (taskType === 13) {
|
if (taskType === 13) {
|
||||||
console.log(`签到成功:获得${data.data.result.score}金币\n`)
|
console.log(`签到成功:获得${data.data.result.score}金币\n`)
|
||||||
} else if (body.taskId == 5) {
|
} else if (body.taskId == 6) {
|
||||||
console.log(`助力成功:您的好友获得${data.data.result.score}金币\n`)
|
console.log(`助力成功:您的好友获得${data.data.result.score}金币\n`)
|
||||||
} else {
|
} else {
|
||||||
console.log(`完成任务:获得${data.data.result.score}金币\n`)
|
console.log(`完成任务:获得${data.data.result.score}金币\n`)
|
||||||
@ -262,12 +242,13 @@ function harmony_collectScore(body = {}, taskType = '') {
|
|||||||
} else {
|
} else {
|
||||||
if (taskType === 13) {
|
if (taskType === 13) {
|
||||||
console.log(`签到失败:${data.data.bizMsg}\n`)
|
console.log(`签到失败:${data.data.bizMsg}\n`)
|
||||||
} else if (body.taskId == 5) {
|
} else if (body.taskId == 6) {
|
||||||
console.log(`助力失败:${data.data.bizMsg || data.msg}\n`)
|
console.log(`助力失败:${data.data.bizMsg || data.msg}\n`)
|
||||||
if (data.code === -30001 || (data.data && data.data.bizCode === 108)) $.canHelp = false
|
if (data.code === -30001 || (data.data && data.data.bizCode === 108)) $.canHelp = false
|
||||||
if (data.data.bizCode === 103) $.delcode = true
|
if (data.data.bizCode === 103) $.delcode = true
|
||||||
} else {
|
} else {
|
||||||
console.log(body.actionType === "0" ? `完成任务失败:${data.data.bizMsg}\n` : data.data.bizMsg)
|
console.log(body.actionType === "0" ? `完成任务失败:${data.data.bizMsg}\n` : data.data.bizMsg)
|
||||||
|
if (data.data.bizMsg === "任务已完成") $.complete = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -280,7 +261,6 @@ function harmony_collectScore(body = {}, taskType = '') {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function interact_template_getLotteryResult() {
|
function interact_template_getLotteryResult() {
|
||||||
return new Promise(resolve => {
|
return new Promise(resolve => {
|
||||||
$.post(taskUrl('interact_template_getLotteryResult', {"appId":appId}), (err, resp, data) => {
|
$.post(taskUrl('interact_template_getLotteryResult', {"appId":appId}), (err, resp, data) => {
|
||||||
|
338
jd_xtclh.js
Normal file
338
jd_xtclh.js
Normal file
File diff suppressed because one or more lines are too long
337
jd_zmhwlh.js
Normal file
337
jd_zmhwlh.js
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user