mirror of
https://github.com/lan-tianxiang/clone_scripts.git
synced 2025-07-15 00:22:35 +08:00
更新于 07-15 21:05
This commit is contained in:
120
jd_blueCoin.js
120
jd_blueCoin.js
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
东东超市兑换奖品 脚本地址:https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js
|
东东超市兑换奖品 脚本地址:jd_blueCoin.js
|
||||||
感谢@yangtingxiao提供PR
|
感谢@yangtingxiao提供PR
|
||||||
更新时间:2021-6-7
|
更新时间:2021-6-7
|
||||||
活动入口:京东APP我的-更多工具-东东超市
|
活动入口:京东APP我的-更多工具-东东超市
|
||||||
@ -8,24 +8,24 @@
|
|||||||
============QuantumultX==============
|
============QuantumultX==============
|
||||||
[task_local]
|
[task_local]
|
||||||
#东东超市兑换奖品
|
#东东超市兑换奖品
|
||||||
0 0 0 * * * https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true
|
0 0 0 * * * jd_blueCoin.js, tag=东东超市兑换奖品, img-url=https://raw.githubusercontent.com/58xinian/icon/master/jxc.png, enabled=true
|
||||||
|
|
||||||
====================Loon=================
|
====================Loon=================
|
||||||
[Script]
|
[Script]
|
||||||
cron "0 0 0 * * *" script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js,tag=东东超市兑换奖品
|
cron "0 0 0 * * *" script-path=jd_blueCoin.js,tag=东东超市兑换奖品
|
||||||
|
|
||||||
===================Surge==================
|
===================Surge==================
|
||||||
东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js
|
东东超市兑换奖品 = type=cron,cronexp="0 0 0 * * *",wake-system=1,timeout=3600,script-path=jd_blueCoin.js
|
||||||
|
|
||||||
============小火箭=========
|
============小火箭=========
|
||||||
东东超市兑换奖品 = type=cron,script-path=https://gitee.com/lxk0301/jd_scripts/raw/master/jd_blueCoin.js, cronexpr="0 0 0 * * *", timeout=3600, enable=true
|
东东超市兑换奖品 = type=cron,script-path=jd_blueCoin.js, cronexpr="0 0 0 * * *", timeout=3600, enable=true
|
||||||
*/
|
*/
|
||||||
const $ = new Env('东东超市兑换奖品');
|
const $ = new Env('东东超市兑换奖品');
|
||||||
const notify = $.isNode() ? require('./sendNotify') : '';
|
const notify = $.isNode() ? require('./sendNotify') : '';
|
||||||
let allMessage = '';
|
let allMessage = '';
|
||||||
//Node.js用户请在jdCookie.js处填写京东ck;
|
//Node.js用户请在jdCookie.js处填写京东ck;
|
||||||
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
|
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
|
||||||
let coinToBeans = $.getdata('coinToBeans') || 0; //兑换多少数量的京豆(20或者1000),0表示不兑换,默认不兑换京豆,如需兑换把0改成20或者1000,或者'商品名称'(商品名称放到单引号内)即可
|
let coinToBeans = $.getdata('coinToBeans') || 20; //兑换多少数量的京豆(20或者1000),0表示不兑换,默认不兑换京豆,如需兑换把0改成20或者1000,或者'商品名称'(商品名称放到单引号内)即可
|
||||||
let jdNotify = false;//是否开启静默运行,默认false关闭(即:奖品兑换成功后会发出通知提示)
|
let jdNotify = false;//是否开启静默运行,默认false关闭(即:奖品兑换成功后会发出通知提示)
|
||||||
//IOS等用户直接用NobyDa的jd cookie
|
//IOS等用户直接用NobyDa的jd cookie
|
||||||
let cookiesArr = [], cookie = '';
|
let cookiesArr = [], cookie = '';
|
||||||
@ -39,12 +39,26 @@ if ($.isNode()) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const JD_API_HOST = `https://api.m.jd.com/api?appid=jdsupermarket`;
|
const JD_API_HOST = `https://api.m.jd.com/api?appid=jdsupermarket`;
|
||||||
|
Date.prototype.Format = function (fmt) { //author: meizz
|
||||||
|
var o = {
|
||||||
|
"M+": this.getMonth() + 1, //月份
|
||||||
|
"d+": this.getDate(), //日
|
||||||
|
"h+": this.getHours(), //小时
|
||||||
|
"m+": this.getMinutes(), //分
|
||||||
|
"s+": this.getSeconds(), //秒
|
||||||
|
"S": this.getMilliseconds() //毫秒
|
||||||
|
};
|
||||||
|
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
|
||||||
|
for (var k in o)
|
||||||
|
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
|
||||||
|
return fmt;
|
||||||
|
}
|
||||||
!(async () => {
|
!(async () => {
|
||||||
if (!cookiesArr[0]) {
|
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"});
|
$.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/bean/signIndex.action', {"open-url": "https://bean.m.jd.com/bean/signIndex.action"});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
for (let i =0; i < cookiesArr.length; i++) {
|
for (let i = 0; i < cookiesArr.length; i++) {
|
||||||
cookie = cookiesArr[i];
|
cookie = cookiesArr[i];
|
||||||
if (cookie) {
|
if (cookie) {
|
||||||
$.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1])
|
$.UserName = decodeURIComponent(cookie.match(/pt_pin=([^; ]+)(?=;?)/) && cookie.match(/pt_pin=([^; ]+)(?=;?)/)[1])
|
||||||
@ -60,7 +74,7 @@ const JD_API_HOST = `https://api.m.jd.com/api?appid=jdsupermarket`;
|
|||||||
//console.log($.coincount);
|
//console.log($.coincount);
|
||||||
$.isLogin = true;
|
$.isLogin = true;
|
||||||
$.nickName = '';
|
$.nickName = '';
|
||||||
// await TotalBean();
|
await TotalBean();
|
||||||
console.log(`\n****开始【京东账号${$.index}】${$.nickName || $.UserName}****\n`);
|
console.log(`\n****开始【京东账号${$.index}】${$.nickName || $.UserName}****\n`);
|
||||||
// console.log(`目前暂无兑换酒类的奖品功能,即使输入酒类名称,脚本也会提示下架\n`)
|
// console.log(`目前暂无兑换酒类的奖品功能,即使输入酒类名称,脚本也会提示下架\n`)
|
||||||
if (!$.isLogin) {
|
if (!$.isLogin) {
|
||||||
@ -96,7 +110,15 @@ const JD_API_HOST = `https://api.m.jd.com/api?appid=jdsupermarket`;
|
|||||||
})()
|
})()
|
||||||
.catch((e) => $.logErr(e))
|
.catch((e) => $.logErr(e))
|
||||||
.finally(() => $.done())
|
.finally(() => $.done())
|
||||||
|
|
||||||
async function PrizeIndex() {
|
async function PrizeIndex() {
|
||||||
|
let timel = new Date().Format("ss")
|
||||||
|
let timea = 58;
|
||||||
|
if(timel < 58) {
|
||||||
|
let timec = (timea - timel) * 1000;
|
||||||
|
console.log(`等待时间 ${timec / 1000}`);
|
||||||
|
await sleep(timec)
|
||||||
|
}
|
||||||
await smtg_queryPrize();
|
await smtg_queryPrize();
|
||||||
// await smtg_materialPrizeIndex();//兑换酒类奖品,此兑换API与之前的兑换京豆类的不一致,故目前无法进行
|
// await smtg_materialPrizeIndex();//兑换酒类奖品,此兑换API与之前的兑换京豆类的不一致,故目前无法进行
|
||||||
// await Promise.all([
|
// await Promise.all([
|
||||||
@ -107,52 +129,56 @@ async function PrizeIndex() {
|
|||||||
const prizeList = [...$.queryPrizeData];
|
const prizeList = [...$.queryPrizeData];
|
||||||
if (prizeList && prizeList.length) {
|
if (prizeList && prizeList.length) {
|
||||||
if (`${coinToBeans}` === '1000') {
|
if (`${coinToBeans}` === '1000') {
|
||||||
if (prizeList[0] && prizeList[0].type === 3) {
|
|
||||||
console.log(`查询换${prizeList[0].name}ID成功,ID:${prizeList[0].prizeId}`)
|
|
||||||
$.title = prizeList[0].name;
|
|
||||||
$.blueCost = prizeList[0].cost;
|
|
||||||
} else {
|
|
||||||
console.log(`查询换1000京豆ID失败`)
|
|
||||||
$.beanerr = `东哥今天不给换`;
|
|
||||||
return ;
|
|
||||||
}
|
|
||||||
if (prizeList[0] && prizeList[0].inStock === 506) {
|
|
||||||
$.beanerr = `失败,1000京豆领光了,请明天再来`;
|
|
||||||
return ;
|
|
||||||
}
|
|
||||||
if (prizeList[0] && prizeList[0].limit === prizeList[0] && prizeList[0].finished) {
|
|
||||||
$.beanerr = `${prizeList[0].name}`;
|
|
||||||
return ;
|
|
||||||
}
|
|
||||||
//兑换1000京豆
|
|
||||||
if ($.totalBlue > $.blueCost) {
|
|
||||||
await smtg_obtainPrize(prizeList[0].prizeId);
|
|
||||||
} else {
|
|
||||||
console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`);
|
|
||||||
$.beanerr = `兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`;
|
|
||||||
}
|
|
||||||
} else if (`${coinToBeans}` === '20') {
|
|
||||||
if (prizeList[1] && prizeList[1].type === 3) {
|
if (prizeList[1] && prizeList[1].type === 3) {
|
||||||
console.log(`查询换${prizeList[1].name}ID成功,ID:${prizeList[1].prizeId}`)
|
console.log(`查询换${prizeList[1].name}ID成功,ID:${prizeList[1].prizeId}`)
|
||||||
$.title = prizeList[1].name;
|
$.title = prizeList[1].name;
|
||||||
$.blueCost = prizeList[1].cost;
|
$.blueCost = prizeList[1].cost;
|
||||||
|
} else {
|
||||||
|
console.log(`查询换1000京豆ID失败`)
|
||||||
|
$.beanerr = `东哥今天不给换`;
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
// if (prizeList[1] && prizeList[1].status === 2) {
|
||||||
|
// $.beanerr = `失败,1000京豆领光了,请明天再来`;
|
||||||
|
// return ;
|
||||||
|
// }
|
||||||
|
if (prizeList[1] && prizeList[1].limit === prizeList[1] && prizeList[1].finished) {
|
||||||
|
$.beanerr = `${prizeList[1].name}`;
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
//兑换1000京豆
|
||||||
|
if ($.totalBlue > $.blueCost) {
|
||||||
|
for (let j = 0; j <= 10; j++) {
|
||||||
|
await smtg_obtainPrize(prizeList[1].prizeId);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`);
|
||||||
|
$.beanerr = `兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`;
|
||||||
|
}
|
||||||
|
} else if (`${coinToBeans}` === '20') {
|
||||||
|
if (prizeList[0] && prizeList[0].type === 3) {
|
||||||
|
console.log(`查询换${prizeList[0].name}ID成功,ID:${prizeList[0].prizeId}`)
|
||||||
|
$.title = prizeList[0].name;
|
||||||
|
$.blueCost = prizeList[0].cost;
|
||||||
} else {
|
} else {
|
||||||
console.log(`查询换万能的京豆ID失败`)
|
console.log(`查询换万能的京豆ID失败`)
|
||||||
$.beanerr = `东哥今天不给换`;
|
$.beanerr = `东哥今天不给换`;
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
if (prizeList[0] && prizeList[0].inStock === 506) {
|
// if (prizeList[0] && prizeList[0].status === 2) {
|
||||||
console.log(`失败,万能的京豆领光了,请明天再来`);
|
// console.log(`失败,万能的京豆领光了,请明天再来`);
|
||||||
$.beanerr = `失败,万能的京豆领光了,请明天再来`;
|
// $.beanerr = `失败,万能的京豆领光了,请明天再来`;
|
||||||
return ;
|
// return ;
|
||||||
}
|
// }
|
||||||
if ((prizeList[0] && prizeList[0].limit) === (prizeList[0] && prizeList[0].finished)) {
|
if ((prizeList[0] && prizeList[0].limit) === (prizeList[0] && prizeList[0].finished)) {
|
||||||
$.beanerr = `${prizeList[0].name}`;
|
$.beanerr = `${prizeList[0].name}`;
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
//兑换万能的京豆(1-20京豆)
|
//兑换万能的京豆(1-20京豆)
|
||||||
if ($.totalBlue > $.blueCost) {
|
if ($.totalBlue > $.blueCost) {
|
||||||
await smtg_obtainPrize(prizeList[0].prizeId,1000);
|
for (let j = 0; j <= 10; j++) {
|
||||||
|
await smtg_obtainPrize(prizeList[0].prizeId, 1000);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`);
|
console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`);
|
||||||
$.beanerr = `兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`;
|
$.beanerr = `兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`;
|
||||||
@ -183,9 +209,13 @@ async function PrizeIndex() {
|
|||||||
}
|
}
|
||||||
if ($.totalBlue > $.blueCost) {
|
if ($.totalBlue > $.blueCost) {
|
||||||
if ($.type === 4 && !$.beanType) {
|
if ($.type === 4 && !$.beanType) {
|
||||||
await smtg_obtainPrize(prizeId, 0, "smtg_lockMaterialPrize")
|
for (let j = 0; j <= 10; j++) {
|
||||||
|
await smtg_obtainPrize(prizeId, 0, "smtg_lockMaterialPrize")
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
await smtg_obtainPrize(prizeId);
|
for (let j = 0; j <= 10; j++) {
|
||||||
|
await smtg_obtainPrize(prizeId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`);
|
console.log(`兑换失败,您目前蓝币${$.totalBlue}个,不足以兑换${$.title}所需的${$.blueCost}个`);
|
||||||
@ -349,7 +379,7 @@ function smtg_obtainPrize(prizeId, timeout = 0, functionId = 'smt_exchangePrize'
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
await smtg_obtainPrize(prizeId,3000);
|
await smtg_obtainPrize(prizeId, 3000);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
$.logErr(e, resp);
|
$.logErr(e, resp);
|
||||||
} finally {
|
} finally {
|
||||||
@ -361,7 +391,7 @@ function smtg_obtainPrize(prizeId, timeout = 0, functionId = 'smt_exchangePrize'
|
|||||||
}
|
}
|
||||||
function smtgHome() {
|
function smtgHome() {
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
$.get(taskUrl('smtg_home'), (err, resp, data) => {
|
$.get(taskUrl('smtg_newHome'), (err, resp, data) => {
|
||||||
try {
|
try {
|
||||||
if (err) {
|
if (err) {
|
||||||
console.log('\n东东超市兑换奖品: API查询请求失败 ‼️‼️')
|
console.log('\n东东超市兑换奖品: API查询请求失败 ‼️‼️')
|
||||||
@ -386,7 +416,9 @@ function smtgHome() {
|
|||||||
})
|
})
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
function sleep(timeout) {
|
||||||
|
return new Promise((resolve) => setTimeout(resolve, timeout));
|
||||||
|
}
|
||||||
//通知
|
//通知
|
||||||
function msgShow() {
|
function msgShow() {
|
||||||
// $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【收取蓝币】${$.coincount ? `${$.coincount}个` : $.coinerr }${coinToBeans ? `\n【兑换京豆】${ $.beanscount ? `${$.beanscount}个` : $.beanerr}` : ""}`);
|
// $.msg($.name, ``, `【京东账号${$.index}】${$.nickName}\n【收取蓝币】${$.coincount ? `${$.coincount}个` : $.coinerr }${coinToBeans ? `\n【兑换京豆】${ $.beanscount ? `${$.beanscount}个` : $.beanerr}` : ""}`);
|
||||||
|
Reference in New Issue
Block a user