Merge pull request #298 from shylocks/master

直播每天18豆+抢京豆21豆+修复直播红包雨
This commit is contained in:
lxk0301
2020-12-11 08:43:44 +08:00
committed by GitHub
4 changed files with 452 additions and 6 deletions

View File

@ -1,5 +1,6 @@
/*
领京豆额外奖励
领京豆额外奖励&抢京豆
脚本自带助力码,介意者可将 29行 helpAuthor 变量设置为 false
入口:首页-领京豆
更新地址https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js
已支持IOS双京东账号, Node.js支持N个京东账号
@ -25,7 +26,7 @@ const notify = $.isNode() ? require('./sendNotify') : '';
//Node.js用户请在jdCookie.js处填写京东ck;
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
let jdNotify = true;//是否关闭通知false打开通知推送true关闭通知推送
const randomCount = $.isNode() ? 20 : 5;
const helpAuthor = true; // 是否帮助作者助力false打开通知推送true关闭通知推送
//IOS等用户直接用NobyDa的jd cookie
let cookiesArr = [], cookie = '', message;
if ($.isNode()) {
@ -39,6 +40,8 @@ if ($.isNode()) {
}
const JD_API_HOST = 'https://api.m.jd.com/';
!(async () => {
$.newShareCodes = []
await getAuthorShareCode()
if (!cookiesArr[0]) {
$.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"});
return;
@ -66,6 +69,21 @@ const JD_API_HOST = 'https://api.m.jd.com/';
await jdBeanHome();
}
}
for (let i = 0; i < cookiesArr.length; i++) {
if (cookiesArr[i]) {
$.UserName = decodeURIComponent(cookie.match(/pt_pin=(.+?);/) && cookie.match(/pt_pin=(.+?);/)[1])
console.log(`${$.UserName}去帮助下一个人`)
cookie = cookiesArr[i];
if ($.newShareCodes.length > 1) {
let code = $.newShareCodes[(i + 1) % $.newShareCodes.length]
await help(code[0], code[1])
}
if (helpAuthor && $.authorCode) {
console.log(`去帮助作者`)
await help($.authorCode[0], $.authorCode[1])
}
}
}
})()
.catch((e) => {
$.log('', `${$.name}, 失败! 原因: ${e}!`, '')
@ -75,10 +93,131 @@ const JD_API_HOST = 'https://api.m.jd.com/';
})
async function jdBeanHome() {
await getUserInfo()
await getTaskList()
await showMsg();
}
function getAuthorShareCode() {
return new Promise(resolve => {
$.get({url: "https://cdn.jsdelivr.net/gh/shylocks/updateTeam@main/jd_bean_home"}, async (err, resp, data) => {
try {
if (err) {
} else {
$.authorCode = data.replace('\n', '').split(' ')
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve();
}
})
})
}
function getUserInfo() {
return new Promise(resolve => {
$.post(taskUrl('signBeanGroupStageIndex', 'body'), async (err, resp, data) => {
try {
if (err) {
console.log(`${JSON.stringify(err)}`)
console.log(`${$.name} API请求失败请检查网路重试`)
} else {
if (safeGet(data)) {
data = JSON.parse(data);
$.actId = data.data.jklInfo.keyId
let {shareCode, groupCode} = data.data
if (!shareCode) {
console.log(`未获取到助力码,去开团`)
await hitGroup()
} else {
console.log(shareCode, groupCode)
// 去做逛会场任务
if (data.data.beanActivityVisitVenue.taskStatus === '0') {
await help(shareCode, groupCode, 1)
}
$.newShareCodes.push([shareCode, groupCode])
}
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve();
}
})
})
}
function hitGroup() {
return new Promise(resolve => {
const body = {"activeType": 2,};
$.get(taskGetUrl('signGroupHit', body), async (err, resp, data) => {
try {
if (err) {
console.log(`${JSON.stringify(err)}`)
console.log(`${$.name} API请求失败请检查网路重试`)
} else {
if (safeGet(data)) {
data = JSON.parse(data);
if (data.data.respCode === "SG150") {
let {shareCode, groupCode} = data.data.signGroupMain
if (shareCode) {
$.newShareCodes.push([shareCode, groupCode])
console.log('开团成功')
await help(shareCode, groupCode, 1)
} else {
console.log(`为获取到助力码,错误信息${JSON.stringify(data.data)}`)
}
} else {
console.log(`开团失败,错误信息${JSON.stringify(data.data)}`)
}
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve();
}
})
})
}
function help(shareCode, groupCode, isTask = 0) {
return new Promise(resolve => {
const body = {
"activeType": 2,
"groupCode": groupCode,
"shareCode": shareCode,
"activeId": $.actId,
};
if (isTask) {
console.log(`【抢京豆】做任务获取助力`)
body['isTask'] = "1"
} else {
console.log(`【抢京豆】去助力好友${shareCode}`)
body['source'] = "guest"
}
$.get(taskGetUrl('signGroupHelp', body), async (err, resp, data) => {
try {
if (err) {
console.log(`${JSON.stringify(err)}`)
console.log(`【抢京豆】${$.name} API请求失败请检查网路重试`)
} else {
if (safeGet(data)) {
data = JSON.parse(data);
console.log(`【抢京豆】${data.data.helpToast}`)
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve();
}
})
})
}
function showMsg() {
return new Promise(resolve => {
$.msg($.name, '', `【京东账号${$.index}${$.nickName}\n${message}`);
@ -135,8 +274,7 @@ function receiveTask(itemId = "zddd", type = "3") {
data = JSON.parse(data);
if (data.data) {
console.log(`完成任务成功,进度${data.data.taskProgress}/${data.data.taskThreshold}`)
}
else{
} else {
console.log(`完成任务失败,${data.errorMessage}`)
}
}
@ -180,6 +318,23 @@ function award() {
})
}
function taskGetUrl(function_id, body) {
return {
url: `${JD_API_HOST}client.action?functionId=${function_id}&body=${escape(JSON.stringify(body))}&appid=ld&clientVersion=9.2.0`,
headers: {
'Cookie': cookie,
'Host': 'api.m.jd.com',
'Accept': '*/*',
'Connection': 'keep-alive',
'User-Agent': $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0") : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"),
'Accept-Language': 'zh-Hans-CN;q=1,en-CN;q=0.9',
'Accept-Encoding': 'gzip, deflate, br',
'Content-Type': "application/x-www-form-urlencoded"
}
}
}
function taskUrl(function_id, body) {
body["version"] = "9.0.0.1";
body["monitor_source"] = "plant_app_plant_index";

View File

@ -281,7 +281,8 @@ function shareCodesFormat() {
})
}
function requireConfig() {
return new Promise(resolve => {
return new Promise(async resolve => {
await getAuthorShareCode()
console.log(`开始获取${$.name}配置文件\n`);
//Node.js用户请在jdCookie.js处填写京东ck;
const shareCodes = [] //$.isNode() ? require('./jdSplitShareCodes.js') : '';
@ -298,6 +299,22 @@ function requireConfig() {
resolve()
})
}
function getAuthorShareCode() {
return new Promise(resolve => {
$.get({url: "https://cdn.jsdelivr.net/gh/shylocks/updateTeam@main/jd_digital_floor"}, async (err, resp, data) => {
try {
if (err) {
} else {
inviteCodes[0] = data.replace('\n', '')
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve();
}
})
})
}
function taskPostUrl(function_id, body) {
return {
url: `${JD_API_HOST}${function_id}?t=${new Date().getTime() + new Date().getTimezoneOffset()*60*1000 + 8*60*60*1000}`,

273
jd_live.js Normal file

File diff suppressed because one or more lines are too long

View File

@ -106,6 +106,7 @@ function getRedRain() {
let act = data.data.iconArea.filter(vo=>vo['type']==="platform_red_packege_rain")[0]
let url = act.data.activityUrl
$.activityId = url.substr(url.indexOf("id=") + 3)
console.log($.activityId)
$.startTime = act.startTime
$.endTime = act.endTime
console.log(`下一场红包雨开始时间:${new Date(act.startTime)}`)
@ -160,7 +161,7 @@ function receiveRedRain() {
function taskPostUrl(function_id, body = {}) {
return {
url: `https://api.m.jd.com/client.action?functionId=${function_id}`,
body: 'area=12_904_908_57903&body=%7B%22liveId%22%3A%222956873%22%7D&build=167408&client=apple&clientVersion=9.2.0&d_brand=apple&d_model=iPhone10%2C2&eid=eidIF3CF0112RTIyQTVGQTEtRDVCQy00Qg%3D%3D6HAJa9%2B/4Vedgo62xKQRoAb47%2Bpyu1EQs/6971aUvk0BQAsZLyQAYeid%2BPgbJ9BQoY1RFtkLCLP5OMqU&isBackground=N&openudid=53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2&osVersion=14.2&partner=TF&rfs=0000&scope=01&screen=1242%2A2208&sign=4fefb7b802a8b1d7ae4529ec32b0bda8&st=1607470636080&sv=121&uts=0f31TVRjBSvNs/AdsIxcW3vOKTLS9m1Bkfr/wtDAnp1q%2BaUi8exzmBNoKgjayIUv6x2Kyf6ccTzo3NpoIr0XxE05GZbP8oOh2s6rmFPTTjPhnIs%2BkxDNq6jbLa/OXerurB%2BctY3Sg9OWaR6%2BnF4XsNtDZrNmKU57jtBoJWI8O2D/lA%2B%2B7sFMhxC%2BxMi9yfyM%2BT%2Bu5DbTBDJCOR1QUIScQw%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D',
body: 'area=12_904_908_57903&body=%7B%22liveId%22%3A%222997252%22%7D&build=167408&client=apple&clientVersion=9.2.0&d_brand=apple&d_model=iPhone10%2C2&eid=eidIF3CF0112RTIyQTVGQTEtRDVCQy00Qg%3D%3D6HAJa9%2B/4Vedgo62xKQRoAb47%2Bpyu1EQs/6971aUvk0BQAsZLyQAYeid%2BPgbJ9BQoY1RFtkLCLP5OMqU&isBackground=N&joycious=194&lang=zh_CN&networkType=wifi&networklibtype=JDNetworkBaseAF&openudid=53f4d9c70c1c81f1c8769d2fe2fef0190a3f60d2&osVersion=14.2&partner=TF&rfs=0000&scope=01&screen=1242%2A2208&sign=706f847a6252a4fe03869b2901bb0815&st=1607643593651&sv=110&uts=0f31TVRjBSsDGINmdElmZlgBxMZQifcxhB/BdpQKugK3pigFDsPY3x%2BIXMm0vOlDa%2BujRn1irmu%2BjbgWg0C%2B9Qd9NZvImI0ZQc/fN8EoflUT3Sb6VQm0WwdM77kwyb56x3lxaqFyeh3r1KEOHCier47iIpyuyvVQVG2KbTKocIo0CS9xpYtzkQr1dLgceiIho7GvOrMiBQ%2BtyUe/1wcqtg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D',
headers: {
'Host': 'api.m.jd.com',
'content-type': 'application/x-www-form-urlencoded',