From 94c7a807b6af4e86d8d84a3e9c6e70662e48d931 Mon Sep 17 00:00:00 2001 From: shylocks Date: Thu, 10 Dec 2020 22:38:25 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8A=A2=E4=BA=AC=E8=B1=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jd_bean_home.js | 171 +++++++++++++++++++++++++++++++++++++++++---- jd_live_redrain.js | 2 +- 2 files changed, 159 insertions(+), 14 deletions(-) diff --git a/jd_bean_home.js b/jd_bean_home.js index c894efbc..9a09941c 100644 --- a/jd_bean_home.js +++ b/jd_bean_home.js @@ -1,5 +1,6 @@ /* -领京豆额外奖励 +领京豆额外奖励&抢京豆 +脚本自带助力码,介意者可将 29行 helpAuthor 变量设置为 false 入口:首页-领京豆 更新地址:https://raw.githubusercontent.com/lxk0301/jd_scripts/master/jd_bean_home.js 已支持IOS双京东账号, Node.js支持N个京东账号 @@ -25,6 +26,7 @@ const notify = $.isNode() ? require('./sendNotify') : ''; //Node.js用户请在jdCookie.js处填写京东ck; const jdCookieNode = $.isNode() ? require('./jdCookie.js') : ''; let jdNotify = true;//是否关闭通知,false打开通知推送,true关闭通知推送 +const helpAuthor = true; // 是否帮助作者助力,false打开通知推送,true关闭通知推送 //IOS等用户直接用NobyDa的jd cookie let cookiesArr = [], cookie = '', message; if ($.isNode()) { @@ -38,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; @@ -65,17 +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]; - let code = $.newShareCodes[(i + 1) % $.newShareCodes.length] - await help(code[0], code[1]) - // 去帮助作者 - await help("4C95367420A5D13E4BEE034620F963B4", "786588200200192000") + 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}!`, '') @@ -85,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: "http://ql4kk90rw.hb-bkt.clouddn.com/catch"}, 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}`); @@ -145,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}`) } } @@ -190,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"; diff --git a/jd_live_redrain.js b/jd_live_redrain.js index 3364be7c..93d5b72a 100644 --- a/jd_live_redrain.js +++ b/jd_live_redrain.js @@ -160,7 +160,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%222977339%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=7c878be46c1c182ce71c938553f58494&st=1607607883677&sv=112&uts=0f31TVRjBSsDGINmdElmZlgBxMZQifcxhB/BdpQKugK5FCEju7Leo5s3A7Zdtp26Lr/GN95ifNG2e9Z50/RCKCyx02P1XSE47LtSLCluITW4qy423r6P1Ur3ahCansAfEtZJ09PxFoA%2B2pndSh53eluf9ziHm0/GGf8jx03zkCVyfnomf6t347W0XeCuyI/BxC2XVXHDzwVmjBo7pLYmpg%3D%3D&uuid=hjudwgohxzVu96krv/T6Hg%3D%3D&wifiBssid=96fe93266f1662fa0e7d281ddcf33714', headers: { 'Host': 'api.m.jd.com', 'content-type': 'application/x-www-form-urlencoded',