KR/jd_duobao.js

324 lines
13 KiB
JavaScript

//40,45 23 * * * m_jd_duobao.js
/*
[task_local]
京豆夺宝
40,45 23 * * * jd_duobao.js, tag=京豆夺宝, enabled=true
================Loon==============
[Script]
cron "40,45 23 * * *" script-path=jd_duobao.js,tag=京豆夺宝
*/
const {Env} = require('./utils/magic');
const $ = new Env('M京豆夺宝');
$.logic = async function () {
let ex = await queryexpirejingdou();
if (ex === 0) {
$.log('你没有过期的京豆,退出')
return;
}
let tk = await userToken()
await $.wait(100, 200)
let {lkToken} = await encryptPin()
await $.wait(100, 200)
await verifyDomain()
await $.wait(100, 200)
let {id, token} = await login(lkToken, tk);
await $.wait(100, 200)
let list = await dbList(id, token);
let joins = await dbJoinProgressList(id, token);
await $.wait(100, 200)
for (const ele of list) {
$.log('参与', ele.actTitle);
if (joins.includes(ele._id)) {
$.log(ele.actTitle, `你已经参与了夺宝`)
continue;
}
await dbJoin(id, token, ele._id)
await dbDetail(id, token, ele._id)
await $.wait(5000, 8000)
await finishTask(id, token, ele._id)
}
//看看中奖没
if (await joinAwardedList(id, token)) {
$.putMsg('你好像中奖了,自己去看看吧,我还没中过,不知道怎么过滤')
}
};
$.run({wait: [2000, 3000]}).catch(
reason => console.log(reason));
async function queryexpirejingdou() {
let url = `https://wq.jd.com/activep3/singjd/queryexpirejingdou?_=${Date.now()}&g_login_type=1&sceneval=2`
let headers = {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-cn",
"Connection": "keep-alive",
"Host": "wq.jd.com",
"Referer": "https://wqs.jd.com/promote/201801/bean/mybean.html",
'Cookie': $.cookie
}
let data = await $.get(url, headers);
if (data.ret === 0) {
return data?.expirejingdou[0]?.expireamount;
}
return 0;
}
async function finishTask(id, token, activeid) {
let body = {"id": id, "token": token, "type": "share", "activeid": activeid}
let headers = {
'Origin': 'https://game-cdn.moxigame.cn',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive',
'Content-Type': 'application/json',
'Accept': '*/*',
'Host': 'pf.moxigame.cn',
'Referer': 'https://game-cdn.moxigame.cn/miniapp/jingdouduobao/index.html',
'Accept-Language': 'zh-cn',
'Cookie': ''
}
// noinspection DuplicatedCode
headers['User-Agent'] = `jdapp;iPhone;10.2.0;14.4.2;${$.uuid()};M/5.0;network/wifi;ADID/;model/iPhone8,1;addressid/0;appBuild/167853;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1;`
let url = `https://pf.moxigame.cn/jddb/duobao/finishTask`
let data = await $.post(url, body, headers)
if (data?.code === 0) {
return data?.data;
}
return false;
}
async function joinAwardedList(id, token) {
let body = {"id": id, "token": token}
let headers = {
'Origin': 'https://game-cdn.moxigame.cn',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive',
'Content-Type': 'application/json',
'Accept': '*/*',
'Host': 'pf.moxigame.cn',
'Referer': 'https://game-cdn.moxigame.cn/miniapp/jingdouduobao/index.html',
'Accept-Language': 'zh-cn',
'Cookie': ''
}
// noinspection DuplicatedCode
headers['User-Agent'] = `jdapp;iPhone;10.2.0;14.4.2;${$.uuid()};M/5.0;network/wifi;ADID/;model/iPhone8,1;addressid/0;appBuild/167853;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1;`
let url = `https://pf.moxigame.cn/jddb/duobao/joinAwardedList`
let data = await $.post(url, body, headers)
if (data?.code === 0) {
return data?.result?.list?.length > 0;
}
return false;
}
async function dbDetail(id, token, activeid) {
let body = {"id": id, "token": token, "activeid": activeid}
let headers = {
'Origin': 'https://game-cdn.moxigame.cn',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive',
'Content-Type': 'application/json',
'Accept': '*/*',
'Host': 'pf.moxigame.cn',
'Referer': 'https://game-cdn.moxigame.cn/miniapp/jingdouduobao/index.html',
'Accept-Language': 'zh-cn',
'Cookie': ''
}
// noinspection DuplicatedCode
headers['User-Agent'] = `jdapp;iPhone;10.2.0;14.4.2;${$.uuid()};M/5.0;network/wifi;ADID/;model/iPhone8,1;addressid/0;appBuild/167853;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1;`
let url = `https://pf.moxigame.cn/jddb/duobao/detail`
let data = await $.post(url, body, headers)
if (data?.code === 0) {
return data?.data;
}
return false;
}
async function dbJoin(id, token, activeid) {
let body = {"id": id, "token": token, "activeid": activeid}
let headers = {
'Origin': 'https://game-cdn.moxigame.cn',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive',
'Content-Type': 'application/json',
'Accept': '*/*',
'Host': 'pf.moxigame.cn',
'Referer': 'https://game-cdn.moxigame.cn/miniapp/jingdouduobao/index.html',
'Accept-Language': 'zh-cn',
'Cookie': ''
}
// noinspection DuplicatedCode
headers['User-Agent'] = `jdapp;iPhone;10.2.0;14.4.2;${$.uuid()};M/5.0;network/wifi;ADID/;model/iPhone8,1;addressid/0;appBuild/167853;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1;`
let url = `https://pf.moxigame.cn/jddb/duobao/join`
let data = await $.post(url, body, headers)
if (data?.code === 0) {
return data?.data;
}
return false;
}
async function dbList(id, token) {
let body = {
"id": id,
"token": token,
"pageSize": 10,
"page": 1,
"status": "progress"
}
let headers = {
'Origin': 'https://game-cdn.moxigame.cn',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive',
'Content-Type': 'application/json',
'Accept': '*/*',
'Host': 'pf.moxigame.cn',
'Referer': 'https://game-cdn.moxigame.cn/miniapp/jingdouduobao/index.html',
'Accept-Language': 'zh-cn',
'Cookie': ''
}
// noinspection DuplicatedCode
headers['User-Agent'] = `jdapp;iPhone;10.2.0;14.4.2;${$.uuid()};M/5.0;network/wifi;ADID/;model/iPhone8,1;addressid/0;appBuild/167853;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1;`
let url = `https://pf.moxigame.cn/jddb/duobao/list`
let data = await $.post(url, body, headers)
if (data?.code === 0) {
return data?.result?.list?.filter(
o => $.timestamp() < o.endTime && o.status === 'open');
}
return false;
}
async function dbJoinProgressList(id, token) {
let body = {
"id": id,
"token": token,
"pageSize": 10,
"page": 1
}
let headers = {
'Origin': 'https://game-cdn.moxigame.cn',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive',
'Content-Type': 'application/json',
'Accept': '*/*',
'Host': 'pf.moxigame.cn',
'Referer': 'https://game-cdn.moxigame.cn/miniapp/jingdouduobao/index.html',
'Accept-Language': 'zh-cn',
'Cookie': ''
}
// noinspection DuplicatedCode
headers['User-Agent'] = `jdapp;iPhone;10.2.0;14.4.2;${$.uuid()};M/5.0;network/wifi;ADID/;model/iPhone8,1;addressid/0;appBuild/167853;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1;`
let url = `https://pf.moxigame.cn/jddb/duobao/joinProgressList`
let data = await $.post(url, body, headers)
if (data?.code === 0) {
let arr = [];
for (let ele of data?.result?.list) {
arr.push(ele._id)
}
return arr;
}
return false;
}
async function login(lkToken, token) {
let body = {
"refid": "zjd",
"lkToken": lkToken,
"token": token,
"returnurl": "https://prodev.m.jd.com/mall/active/xiPStZsNkPxpQFXqVRuTv1QGr3x/index.html?showhead=no",
"tttparams": "iX8N8eyJsbmciOiIiLCJnTGF0IjoiMzkuODc2NDcyIiwibGF0IjoiIiwiZ0xuZyI6IjExNi43MDM3MDUiLCJncHNfYXJlYSI6IjFfMF8wXzAiLCJ1bl9hcmVhIjoiMV8yODA5XzUxMjMwXzAifQ5==",
"lng": "0.000000",
"lat": "0.000000",
// "sid": "b59edad20152c00f119fb614ed06cf7w",
"un_area": "1_2809_51230_0",
"showhead": "no",
"inviterSource": ""
}
let headers = {
'Origin': 'https://game-cdn.moxigame.cn',
'Accept-Encoding': 'gzip, deflate, br',
'Connection': 'keep-alive',
'Content-Type': 'application/json',
'Accept': '*/*',
'Host': 'pf.moxigame.cn',
'Referer': 'https://game-cdn.moxigame.cn/miniapp/jingdouduobao/index.html',
'Accept-Language': 'zh-cn',
'Cookie': ''
}
// noinspection DuplicatedCode
headers['User-Agent'] = `jdapp;iPhone;10.2.0;14.4.2;${$.uuid()};M/5.0;network/wifi;ADID/;model/iPhone8,1;addressid/0;appBuild/167853;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1;`
let url = `https://pf.moxigame.cn/jddb/duobao/login`
let data = await $.post(url, body, headers)
if (data?.code === 0) {
return data
}
return false;
}
async function userToken(param = {}) {
let body = '';
let headers = {
'Origin': 'https://prodev.m.jd.com',
'Connection': 'keep-alive',
'Accept': 'application/json, text/plain, */*',
'Referer': 'https://prodev.m.jd.com/mall/active/xiPStZsNkPxpQFXqVRuTv1QGr3x/index.html',
'Host': 'jdjoy.jd.com',
'Accept-Language': 'zh-cn',
'Accept-Encoding': 'gzip, deflate, br'
}
// noinspection DuplicatedCode
headers['Cookie'] = $.cookie
headers['User-Agent'] = `jdapp;iPhone;10.2.0;14.4.2;${$.uuid()};M/5.0;network/wifi;ADID/;model/iPhone8,1;addressid/0;appBuild/167853;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1;`
let url = `https://jdjoy.jd.com/saas/framework/user/token?appId=dafbe42d5bff9d82298e5230eb8c3f79&client=m&url=pengyougou.m.jd.com`
let data = await $.post(url, body, headers)
if (data?.success === true) {
return data?.data
}
return false;
}
async function encryptPin(param = {}) {
let body = '';
let headers = {
'Origin': 'https://prodev.m.jd.com',
'Connection': 'keep-alive',
'Accept': 'application/json, text/plain, */*',
'Referer': 'https://prodev.m.jd.com/mall/active/xiPStZsNkPxpQFXqVRuTv1QGr3x/index.html',
'Host': 'jdjoy.jd.com',
'Accept-Language': 'zh-cn',
'Accept-Encoding': 'gzip, deflate, br'
}
// noinspection DuplicatedCode
headers['Cookie'] = $.cookie
headers['User-Agent'] = `jdapp;iPhone;10.2.0;14.4.2;${$.uuid()};M/5.0;network/wifi;ADID/;model/iPhone8,1;addressid/0;appBuild/167853;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1;`
let url = `https://jdjoy.jd.com/saas/framework/encrypt/pin?appId=dafbe42d5bff9d82298e5230eb8c3f79`
let data = await $.post(url, body, headers)
if (data?.success) {
return data?.data
}
return false;
}
async function verifyDomain(param = {}) {
let body = '';
let headers = {
'Origin': 'https://prodev.m.jd.com',
'Connection': 'keep-alive',
'Accept': 'application/json, text/plain, */*',
'Referer': 'https://prodev.m.jd.com/mall/active/xiPStZsNkPxpQFXqVRuTv1QGr3x/index.html',
'Host': 'jdjoy.jd.com',
'Accept-Language': 'zh-cn',
'Accept-Encoding': 'gzip, deflate, br'
}
// noinspection DuplicatedCode
headers['Cookie'] = $.cookie
headers['User-Agent'] = `jdapp;iPhone;10.2.0;14.4.2;${$.uuid()};M/5.0;network/wifi;ADID/;model/iPhone8,1;addressid/0;appBuild/167853;jdSupportDarkMode/0;Mozilla/5.0 (iPhone; CPU iPhone OS 14_4_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148;supportJDSHWK/1;`
let url = `https://jdjoy.jd.com/saas/verify/domain?domain=game-cdn.moxigame.cn&appId=dafbe42d5bff9d82298e5230eb8c3f79`
let data = await $.post(url, body, headers)
if (data?.code === 0) {
return data?.data
}
return false;
}