jd_bean_sign.js京豆签到兼容腾讯云函数,感谢github@ykrank提供的帮助

This commit is contained in:
lxk0301
2020-11-17 10:22:27 +08:00
parent 61e5eb00eb
commit 885e29f8e5

View File

@@ -1,7 +1,7 @@
/* /*
京豆签到,自用,可N个京东账号,IOS软件用户请使用 https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js 京豆签到,自用,可N个京东账号,IOS软件用户请使用 https://raw.githubusercontent.com/NobyDa/Script/master/JD-DailyBonus/JD_DailyBonus.js
Node.JS专用 Node.JS专用
更新时间2020-11-09 更新时间2020-11-17
从 github @ruicky改写而来 从 github @ruicky改写而来
version v0.0.1 version v0.0.1
create by ruicky create by ruicky
@@ -14,8 +14,9 @@ const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
const exec = require('child_process').execSync const exec = require('child_process').execSync
const fs = require('fs') const fs = require('fs')
const download = require('download'); const download = require('download');
const path = "./result.txt"; let resultPath = "./result.txt";
const JD_DailyBonusPath = "./JD_DailyBonus.js"; let JD_DailyBonusPath = "./JD_DailyBonus.js";
let outPutUrl = './';
let cookiesArr = [], cookie = ''; let cookiesArr = [], cookie = '';
if ($.isNode()) { if ($.isNode()) {
@@ -29,9 +30,10 @@ if ($.isNode()) {
$.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"}); $.msg($.name, '【提示】请先获取cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"});
return; return;
} }
await requireConfig();
// 下载最新代码 // 下载最新代码
await downFile(); await downFile();
const content = await fs.readFileSync('./JD_DailyBonus.js', 'utf8') const content = await fs.readFileSync(JD_DailyBonusPath, 'utf8')
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) {
@@ -40,7 +42,7 @@ if ($.isNode()) {
$.nickName = ''; $.nickName = '';
await TotalBean(); await TotalBean();
console.log(`*****************开始京东账号${$.index} ${$.nickName || $.UserName}京豆签到*******************\n`); console.log(`*****************开始京东账号${$.index} ${$.nickName || $.UserName}京豆签到*******************\n`);
console.log(`⚠⚠⚠⚠⚠⚠⚠ 如遇到Bark APP推送通知消息失败的,请换用其他通知方式,Bark对推送内容长度有限制 ⚠⚠⚠⚠⚠⚠⚠⚠⚠\n`) console.log(`️⚠️⚠️⚠️目前Bark APP推送通知消息失败的,请换用其他通知方式,Bark对推送内容长度有限制 ⚠️⚠️⚠️⚠️\n`)
await changeFile(content); await changeFile(content);
await execSign(); await execSign();
} }
@@ -52,11 +54,11 @@ async function execSign() {
console.log(`\n开始执行脚本签到,请稍等`) console.log(`\n开始执行脚本签到,请稍等`)
try { try {
if (notify.SCKEY || notify.BARK_PUSH || notify.DD_BOT_TOKEN || (notify.TG_BOT_TOKEN && notify.TG_USER_ID) || notify.IGOT_PUSH_KEY) { if (notify.SCKEY || notify.BARK_PUSH || notify.DD_BOT_TOKEN || (notify.TG_BOT_TOKEN && notify.TG_USER_ID) || notify.IGOT_PUSH_KEY) {
await exec("node JD_DailyBonus.js >> result.txt"); await exec(`${process.execPath} ${JD_DailyBonusPath} >> ${resultPath}`);
} else { } else {
// 如果没有提供通知推送,则打印日志 // 如果没有提供通知推送,则打印日志
console.log('没有提供通知推送,则打印脚本执行日志') console.log('没有提供通知推送,则打印脚本执行日志')
await exec(`node JD_DailyBonus.js`, { stdio: "inherit" }); await exec(`${process.execPath} ${JD_DailyBonusPath}`, { stdio: "inherit" });
} }
// await exec("node JD_DailyBonus.js", { stdio: "inherit" }); // await exec("node JD_DailyBonus.js", { stdio: "inherit" });
// console.log('执行完毕', new Date(new Date().getTime() + 8 * 60 * 60 * 1000).toLocaleDateString()) // console.log('执行完毕', new Date(new Date().getTime() + 8 * 60 * 60 * 1000).toLocaleDateString())
@@ -64,8 +66,8 @@ async function execSign() {
if ($.isNode()) { if ($.isNode()) {
let notifyContent = ""; let notifyContent = "";
let BarkContent = ''; let BarkContent = '';
if (fs.existsSync(path)) { if (fs.existsSync(resultPath)) {
notifyContent = await fs.readFileSync(path, "utf8"); notifyContent = await fs.readFileSync(resultPath, "utf8");
const barkContentStart = notifyContent.indexOf('【签到概览】') const barkContentStart = notifyContent.indexOf('【签到概览】')
const barkContentEnd = notifyContent.length; const barkContentEnd = notifyContent.length;
if (process.env.JD_BEAN_SIGN_STOP_NOTIFY === 'true') return if (process.env.JD_BEAN_SIGN_STOP_NOTIFY === 'true') return
@@ -90,7 +92,7 @@ async function execSign() {
} }
//运行完成后,删除下载的文件 //运行完成后,删除下载的文件
console.log('运行完成后,删除下载的文件\n') console.log('运行完成后,删除下载的文件\n')
await deleteFile(path);//删除result.txt await deleteFile(resultPath);//删除result.txt
await deleteFile(JD_DailyBonusPath);//删除JD_DailyBonus.js await deleteFile(JD_DailyBonusPath);//删除JD_DailyBonus.js
console.log(`*****************京东账号${$.index} ${$.nickName || $.UserName}京豆签到完成*******************\n`); console.log(`*****************京东账号${$.index} ${$.nickName || $.UserName}京豆签到完成*******************\n`);
} catch (e) { } catch (e) {
@@ -112,7 +114,12 @@ async function downFile () {
} else { } else {
url = 'https://cdn.jsdelivr.net/gh/NobyDa/Script@master/JD-DailyBonus/JD_DailyBonus.js'; url = 'https://cdn.jsdelivr.net/gh/NobyDa/Script@master/JD-DailyBonus/JD_DailyBonus.js';
} }
await download(url, './') try {
await download(url, outPutUrl);
console.log('文件下载完毕');
} catch (e) {
console.log("文件下载异常:" + e);
}
} }
async function changeFile (content) { async function changeFile (content) {
@@ -200,7 +207,17 @@ function downloadUrl(url = 'https://raw.githubusercontent.com/NobyDa/Script/mast
}) })
}) })
} }
function requireConfig() {
return new Promise(resolve => {
const file = 'jd_bean_sign.js';
fs.access(file, fs.constants.W_OK, (err) => {
resultPath = err ? './tmp/result.txt' : resultPath;
JD_DailyBonusPath = err ? './tmp/JD_DailyBonus.js' : JD_DailyBonusPath;
outPutUrl = err ? './tmp/' : outPutUrl;
resolve()
});
})
}
function timeFormat(time) { function timeFormat(time) {
let date; let date;
if (time) { if (time) {