This commit is contained in:
dylan 2023-06-14 21:33:02 +08:00
parent c020f24112
commit 979e275b25
3 changed files with 77 additions and 89 deletions

View File

@ -1,7 +1,7 @@
/*
东东农场助力
20 2,5 * * * jd_farm_help.js
updatetime:2022/12/22
20 2,6 * * * jd_farm_help.js
updatetime:2023/6/14
dlan
变量
epxort FRUIT_DELAY = '1000',设置等待时间(毫秒)默认请求5次接口等待60秒60000
@ -15,15 +15,16 @@ let shareCodes = [ // 这个列表填入你要助力的好友的shareCode
''
]
let message = '', subTitle = '', fulled=[], option = {}, isFruitFinished = false;
let message = '', subTitle = '', fulled = [], option = {}, isFruitFinished = false;
const retainWater = 100;//保留水滴大于多少g,默认100g;
let jdNotify = false;//是否关闭通知false打开通知推送true关闭通知推送
let jdFruitBeanCard = false;//农场使用水滴换豆卡(如果出现限时活动时100g水换20豆,此时比浇水划算,推荐换豆),true表示换豆(不浇水),false表示不换豆(继续浇水),脚本默认是浇水
let randomCount = $.isNode() ? 20 : 5;
const fs = require('fs');
const JD_API_HOST = 'https://api.m.jd.com/client.action';
const delay = process.env.FRUIT_DELAY||60000;
const delay = process.env.FRUIT_DELAY || 60000;
const urlSchema = `openjd://virtual?params=%7B%20%22category%22:%20%22jump%22,%20%22des%22:%20%22m%22,%20%22url%22:%20%22https://h5.m.jd.com/babelDiy/Zeus/3KSjXqQabiTuD1cJ28QskrpWoBKT/index.html%22%20%7D`;
$.reqnum=1;
$.reqnum = 1;
!(async () => {
await requireConfig();
if (!cookiesArr[0]) {
@ -240,13 +241,13 @@ async function doTenWaterAgain() {
if (process.env.FRUIT_FAST_CARD && totalEnergy > 100 && $.myCardInfoRes.fastCard > 0) {
//使用快速浇水卡
for (let i=0;i<new Array(fastCard).fill('').length;i++){
for (let i = 0; i < new Array(fastCard).fill('').length; i++) {
await userMyCardForFarm('fastCard');
console.log(`使用快速浇水卡结果:${JSON.stringify($.userMyCardRes)}`);
if ($.userMyCardRes.code === '0') {
console.log(`已使用快速浇水卡浇水${$.userMyCardRes.waterEnergy}g`);
}
if ($.userMyCardRes.treeFinished){
if ($.userMyCardRes.treeFinished) {
break;
}
await $.wait(500);
@ -732,7 +733,7 @@ async function receiveFriendInvite() {
console.log('自己不能邀请自己成为好友噢\n')
continue
}
if (newShareCodes.findIndex(a=>a===code) >= 5) break;
if (newShareCodes.findIndex(a => a === code) >= 5) break;
await inviteFriend(code);
// console.log(`接收邀请成为好友结果:${JSON.stringify($.inviteFriendRes)}`)
if ($.inviteFriendRes && $.inviteFriendRes.helpResult && $.inviteFriendRes.helpResult.code === '0') {
@ -1133,13 +1134,20 @@ function shareCodesFormat() {
const tempIndex = $.index > shareCodes.length ? (shareCodes.length - 1) : ($.index - 1);
newShareCodes = shareCodes[tempIndex].split('@');
}
const readShareCodeRes = await readShareCode();
if (readShareCodeRes && readShareCodeRes.code === 200) {
//newShareCodes = newShareCodes.concat(readShareCodeRes.data || []);
newShareCodes = [...new Set([...newShareCodes, ...(readShareCodeRes.data || [])])];
}
// const readShareCodeRes = await readShareCode();
// if (readShareCodeRes && readShareCodeRes.code === 200) {
// //newShareCodes = newShareCodes.concat(readShareCodeRes.data || []);
// newShareCodes = [...new Set([...newShareCodes, ...(readShareCodeRes.data || [])])];
// }
newShareCodes = newShareCodes.filter(item => fulled.indexOf(item) == -1 && !!item);
console.log(`${$.index}个京东账号将要助力的好友${JSON.stringify(newShareCodes)}`)
let ex = fs.existsSync('./fruit_helpcode');
if (newShareCodes.length === 0 && ex) {
$.log(`使用本地缓存\n`);
newShareCodes = fs.readFileSync('./fruit_helpcode', 'utf-8');
newShareCodes = JSON.parse(newShareCodes);
}
console.log(`您提供了${newShareCodes.length}个农场助力码\n`);
console.log(`${$.index}个账号将要助力的好友${JSON.stringify(newShareCodes)}`);
resolve();
})
}
@ -1170,7 +1178,7 @@ function requireConfig() {
} else {
cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item);
}
console.log(`${cookiesArr.length}个京东账号\n`)
//console.log(`共${cookiesArr.length}个京东账号\n`)
$.shareCodesArr = [];
if ($.isNode()) {
Object.keys(shareCodes).forEach((item) => {
@ -1184,7 +1192,7 @@ function requireConfig() {
}
// console.log(`$.shareCodesArr::${JSON.stringify($.shareCodesArr)}`)
// console.log(`jdFruitShareArr账号长度::${$.shareCodesArr.length}`)
console.log(`您提供了${$.shareCodesArr.length}个账号的农场助力码\n`);
//console.log(`您提供了${$.shareCodesArr.length}个账号的农场助力码\n`);
resolve()
})
}
@ -1218,7 +1226,7 @@ function TotalBean() {
});
}
function request(function_id, body = {}, timeout = 1000) {
if(process.env.FRUIT_DELAY && $.reqnum % 5 == 0 ) {console.log(`\n等待${delay/1000}秒......\n`);timeout=delay};
if (process.env.FRUIT_DELAY && $.reqnum % 5 == 0) { console.log(`\n等待${delay / 1000}秒......\n`); timeout = delay };
$.reqnum++;
return new Promise(resolve => {
setTimeout(() => {

View File

@ -7,14 +7,14 @@
==========================Quantumultx=========================
[task_local]
#jd免费水果
10 6-18/6 * * * jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true
15 3,13,18 * * * jd_fruit.js, tag=东东农场, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jdnc.png, enabled=true
=========================Loon=============================
[Script]
cron "10 6-18/6 * * *" script-path=jd_fruit.js,tag=东东农场
cron "15 3,13,18 * * *" script-path=jd_fruit.js,tag=东东农场
=========================Surge============================
东东农场 = type=cron,cronexp="10 6-18/6 * * *",wake-system=1,timeout=3600,script-path=jd_fruit.js
东东农场 = type=cron,cronexp="15 3,13,18 * * *",wake-system=1,timeout=3600,script-path=jd_fruit.js
=========================小火箭===========================
东东农场 = type=cron,script-path=jd_fruit.js, cronexpr="10 6-18/6 * * *", timeout=3600, enable=true
东东农场 = type=cron,script-path=jd_fruit.js, cronexpr="15 3,13,18 * * *", timeout=3600, enable=true
jd免费水果 搬的https://github.com/liuxiaoyucc/jd-helper/blob/a6f275d9785748014fc6cca821e58427162e9336/fruit/fruit.js
变量
export DO_TEN_WATER_AGAIN='true' 攒水滴只交10次水默认不攒水滴
@ -39,7 +39,10 @@ const JD_API_HOST = 'https://api.m.jd.com/client.action';
const urlSchema = `openjd://virtual?params=%7B%20%22category%22:%20%22jump%22,%20%22des%22:%20%22m%22,%20%22url%22:%20%22https://h5.m.jd.com/babelDiy/Zeus/3KSjXqQabiTuD1cJ28QskrpWoBKT/index.html%22%20%7D`;
const delay = process.env.FRUIT_DELAY || 60000;
const ua = require('./USER_AGENTS');
const fs = require('fs');
let cachecode = [];
$.reqnum = 1;
fs.existsSync('./fruit_helpcode') && (cachecode = JSON.parse(fs.readFileSync('./fruit_helpcode', 'utf8')));
!(async () => {
await requireConfig();
if (!cookiesArr[0]) {
@ -75,6 +78,7 @@ $.reqnum = 1;
await jdFruit();
}
}
fs.writeFile('./fruit_helpcode', JSON.stringify(cachecode), (e) => { e && console.log(e) });
if ($.isNode() && allMessage && $.ctrTemp) {
await notify.sendNotify(`${$.name}`, `${allMessage}`)
}
@ -89,10 +93,12 @@ async function jdFruit() {
subTitle = `【京东账号${$.index}🆔】${$.nickName || $.UserName}`;
try {
await initForFarm();
if ($.farmInfo.farmUserPro) {
// option['media-url'] = $.farmInfo.farmUserPro.goodsImage;
message = `【水果名称】${$.farmInfo.farmUserPro.name}\n`;
console.log(`\n【京东账号${$.index}${$.UserName})的${$.name}好友互助码】${$.farmInfo.farmUserPro.shareCode}\n`);
!cachecode.includes($.farmInfo.farmUserPro.shareCode) && cachecode.push($.farmInfo.farmUserPro.shareCode);
console.log(`\n【已成功兑换水果】${$.farmInfo.farmUserPro.winTimes}\n`);
message += `【已兑换水果】${$.farmInfo.farmUserPro.winTimes}\n`;
//await masterHelpShare();//助力好友
@ -1264,7 +1270,7 @@ async function initForFarm() {
} else {
if (safeGet(data)) {
$.farmInfo = JSON.parse(data);
if ($.farmInfo.code != 0){
if ($.farmInfo.code != 0) {
ct++;
await initForFarm();
@ -1285,11 +1291,11 @@ async function initForFarm() {
async function taskInitForFarm() {
console.log('\n初始化任务列表')
const functionId = arguments.callee.name.toString();
$.farmTask = await request(functionId, {"version":19,"channel":1,"babelChannel":"121","lat":"","lng":""});
$.farmTask = await request(functionId, { "version": 19, "channel": 1, "babelChannel": "121", "lat": "", "lng": "" });
}
//获取好友列表API
async function friendListInitForFarm() {
$.friendList = await request('friendListInitForFarm', {"version":19,"channel":1,"babelChannel":"121","lat":"","lng":""});
$.friendList = await request('friendListInitForFarm', { "version": 19, "channel": 1, "babelChannel": "121", "lat": "", "lng": "" });
// console.log('aa', aa);
}
// 领取邀请好友的奖励API
@ -1399,7 +1405,7 @@ function requireConfig() {
} else {
cookiesArr = [$.getdata('CookieJD'), $.getdata('CookieJD2'), ...jsonParse($.getdata('CookiesJD') || "[]").map(item => item.cookie)].filter(item => !!item);
}
console.log(`${cookiesArr.length}个京东账号\n`)
//console.log(`共${cookiesArr.length}个京东账号\n`)
$.shareCodesArr = [];
if ($.isNode()) {
Object.keys(shareCodes).forEach((item) => {

File diff suppressed because one or more lines are too long