Files
clone_scripts_clone/jd_daily_egg.js
2021-08-17 12:04:49 -04:00

229 lines
7.7 KiB
JavaScript
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* @Author: LXK9301 https://github.com/LXK9301
* @Date: 2020-11-10 14:10:27
* @Last Modified by: LXK9301
* @Last Modified time: 2020-11-20 14:11:01
*/
/*
京东金融-天天提鹅
定时收鹅蛋,兑换金币
先这样子吧
*/
//0 */3 * * *
const jd_helpers = require("./utils/JDHelpers.js");
const jd_env = require("./utils/JDEnv.js");
const $ = jd_env.env("天天提鹅");
let cookiesArr = [], cookie = '';
const JD_API_HOST = 'https://ms.jr.jd.com/gw/generic/uc/h5/m';
const notify = $.isNode() ? require('./sendNotify') : '';
//Node.js用户请在jdCookie.js处填写京东ck;
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
if ($.isNode()) {
Object.keys(jdCookieNode).forEach((item) => {
cookiesArr.push(jdCookieNode[item])
})
if (process.env.JD_DEBUG && process.env.JD_DEBUG === 'false') console.log = () => {};
} else {
let cookiesData = $.getdata('CookiesJD') || "[]";
cookiesData = jd_helpers.jsonParse(cookiesData);
cookiesArr = cookiesData.map(item => item.cookie);
cookiesArr.reverse();
cookiesArr.push(...[$.getdata('CookieJD2'), $.getdata('CookieJD')]);
cookiesArr.reverse();
cookiesArr = cookiesArr.filter(item => item !== "" && item !== null && item !== undefined);
}
!(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 = '';
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 jdDailyEgg();
}
}
})()
.catch((e) => {
$.log('', `${$.name}, 失败! 原因: ${e}!`, '')
})
.finally(() => {
$.done();
})
async function jdDailyEgg() {
await toDailyHome()
await toWithdraw()
await toGoldExchange();
}
function toGoldExchange() {
return new Promise(async resolve => {
const body = {
"timeSign": 0,
"environment": "jrApp",
"riskDeviceInfo": "{}"
}
$.post(taskUrl('toGoldExchange', body), (err, resp, data) => {
try {
if (err) {
console.log(`${JSON.stringify(err)}`)
console.log(`${$.name} API请求失败请检查网路重试`)
} else {
if (data) {
// console.log(data)
data = JSON.parse(data);
if (data.resultCode === 0) {
if (data.resultData.code === '0000') {
console.log(`兑换金币:${data.resultData.data.cnumber}`);
console.log(`当前总金币:${data.resultData.data.goldTotal}`);
} else if (data.resultData.code !== '0000') {
console.log(`兑换金币失败:${data.resultData.msg}`)
}
}
} else {
console.log(`京东服务器返回空数据`)
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve();
}
})
})
}
function toWithdraw() {
return new Promise(async resolve => {
const body = {
"timeSign": 0,
"environment": "jrApp",
"riskDeviceInfo": "{}"
}
$.post(taskUrl('toWithdraw', body), (err, resp, data) => {
try {
if (err) {
console.log(`${JSON.stringify(err)}`)
console.log(`${$.name} API请求失败请检查网路重试`)
} else {
if (data) {
// console.log(data)
data = JSON.parse(data);
if (data.resultCode === 0) {
if (data.resultData.code === '0000') {
console.log(`收取鹅蛋:${data.resultData.data.eggTotal}个成功`);
console.log(`当前总鹅蛋数量:${data.resultData.data.userLevelDto.userHaveEggNum}`);
} else if (data.resultData.code !== '0000') {
console.log(`收取鹅蛋失败:${data.resultData.msg}`)
}
}
} else {
console.log(`京东服务器返回空数据`)
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve();
}
})
})
}
function toDailyHome() {
return new Promise(async resolve => {
const body = {
"timeSign": 0,
"environment": "jrApp",
"riskDeviceInfo": "{}"
}
$.post(taskUrl('toDailyHome', body), (err, resp, data) => {
try {
if (err) {
console.log(`${JSON.stringify(err)}`)
console.log(`${$.name} API请求失败请检查网路重试`)
} else {
if (data) {
// console.log(data)
data = JSON.parse(data);
} else {
console.log(`京东服务器返回空数据`)
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve();
}
})
})
}
function TotalBean() {
return new Promise(async resolve => {
const options = {
"url": `https://wq.jd.com/user/info/QueryJDUserInfo?sceneval=2`,
"headers": {
"Accept": "application/json,text/plain, */*",
"Content-Type": "application/x-www-form-urlencoded",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "zh-cn",
"Connection": "keep-alive",
"Cookie": cookie,
"Referer": "https://wqs.jd.com/my/jingdou/my.shtml?sceneval=2",
"User-Agent": $.isNode() ? (process.env.JD_USER_AGENT ? process.env.JD_USER_AGENT : (require('./USER_AGENTS').USER_AGENT)) : ($.getdata('JDUA') ? $.getdata('JDUA') : "jdapp;iPhone;9.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0")
}
}
$.post(options, (err, resp, data) => {
try {
if (err) {
console.log(`${JSON.stringify(err)}`)
console.log(`${$.name} API请求失败请检查网路重试`)
} else {
if (data) {
data = JSON.parse(data);
if (data['retcode'] === 13) {
$.isLogin = false; //cookie过期
return
}
$.nickName = data['base'].nickname;
} else {
console.log(`京东服务器返回空数据`)
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve();
}
})
})
}
function taskUrl(function_id, body) {
return {
url: `${JD_API_HOST}/${function_id}`,
body: `reqData=${encodeURIComponent(JSON.stringify(body))}`,
headers: {
'Accept' : `application/json`,
'Origin' : `https://uua.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.2.2;14.2;%E4%BA%AC%E4%B8%9C/9.2.2 CFNetwork/1206 Darwin/20.1.0"),
'Referer' : `https://uua.jr.jd.com/uc-fe-wxgrowing/moneytree/index`,
'Accept-Language' : `zh-cn`
}
}
}