修复qx、loon、surge报错,增加助力码

This commit is contained in:
shylocks
2021-01-10 18:49:40 +08:00
parent a4c2d9d0ac
commit 2d0cb497e2

View File

@ -23,8 +23,13 @@ const notify = $.isNode() ? require('./sendNotify') : '';
const jdCookieNode = $.isNode() ? require('./jdCookie.js') : '';
//Node.js用户请在jdCookie.js处填写京东ck;
//IOS等用户直接用NobyDa的jd cookie
let cookiesArr = [], cookie = '', message, helpInfo;
const ACT_ID = 'dz2010100034444201', shareUuid = 'ca6559b560464939a61445afc462f3c1'
let cookiesArr = [], cookie = '', message;
const ACT_ID = 'dz2010100034444201', shareUuid = '28a699ac78d74aa3b31f7103597f8927'
let inviteCodes = [
'28a699ac78d74aa3b31f7103597f8927@f14ee9c92954cf79829320dd482bf49@fdf827db272543d88dbb51a505c2e869',
'28a699ac78d74aa3b31f7103597f8927@f14ee9c92954cf79829320dd482bf49@fdf827db272543d88dbb51a505c2e869'
]
if ($.isNode()) {
Object.keys(jdCookieNode).forEach((item) => {
@ -47,6 +52,8 @@ if ($.isNode()) {
$.msg($.name, '【提示】请先获取京东账号一cookie\n直接使用NobyDa的京东签到获取', 'https://bean.m.jd.com/', {"open-url": "https://bean.m.jd.com/"});
return;
}
$.shareCodesArr = []
await requireConfig()
for (let i = 0; i < cookiesArr.length; i++) {
if (cookiesArr[i]) {
cookie = cookiesArr[i];
@ -66,6 +73,7 @@ if ($.isNode()) {
}
continue
}
await shareCodesFormat()
await jdBeauty()
}
}
@ -87,6 +95,7 @@ async function jdBeauty() {
await getUserInfo()
await getActContent(false, shareUuid)
if ($.exit) return
await doHelpList()
await getAllBook()
await getMyBook()
await getActContent(true)
@ -98,9 +107,18 @@ async function jdBeauty() {
$.gold -= 800
}
}
await helpFriends()
await showMsg();
}
async function helpFriends() {
for (let code of $.newShareCodes) {
if (!code) continue
console.log(`去助力好友${code}`)
await getActContent(true, code)
}
}
// 获得IsvToken
function getIsvToken() {
return new Promise(resolve => {
@ -158,8 +176,14 @@ function getActCk() {
console.log(`${err},${jsonParse(resp.body)['message']}`)
console.log(`${$.name} API请求失败请检查网路重试`)
} else {
for (let ck of resp['headers']['set-cookie']) {
cookie = `${cookie}; ${ck.split(";")[0]};`
if($.isNode())
for (let ck of resp['headers']['set-cookie']) {
cookie = `${cookie}; ${ck.split(";")[0]};`
}
else{
for (let ck of resp['headers']['Set-Cookie'].split(',')) {
cookie = `${cookie}; ${ck.split(";")[0]};`
}
}
}
} catch (e) {
@ -269,6 +293,7 @@ function getActContent(info = false, shareUuid = '') {
return
}
$.actorUuid = $.userInfo.actorUuid
if(!info) console.log(`您的好友助力码为${$.actorUuid}`)
$.gold = $.userInfo.bookStore.hasStoreGold
if (!info) {
const tasks = data.data.settingVo
@ -301,7 +326,29 @@ function getActContent(info = false, shareUuid = '') {
})
})
}
function doHelpList(taskType, value) {
let body = `activityId=${ACT_ID}&actorUuid=${$.actorUuid}&num=0&sortStatus=1`
return new Promise(resolve => {
$.post(taskPostUrl('dingzhi/taskact/common/getDayShareRecord', body), async (err, resp, data) => {
try {
if (err) {
console.log(`${err},${jsonParse(resp.body)['message']}`)
console.log(`${$.name} API请求失败请检查网路重试`)
} else {
if (safeGet(data)) {
data = JSON.parse(data);
console.log(`今日助力情况${data.data.length}/10`)
}
}
} catch (e) {
$.logErr(e, resp)
} finally {
resolve(data);
}
})
})
}
// 做任务
function doTask(taskType, value) {
let body = `activityId=${ACT_ID}&pin=${encodeURIComponent($.token)}&actorUuid=${$.actorUuid}&taskType=${taskType}&taskValue=${value}`
@ -577,6 +624,45 @@ function TotalBean() {
})
}
//格式化助力码
function shareCodesFormat() {
return new Promise(async resolve => {
// console.log(`第${$.index}个京东账号的助力码:::${$.shareCodesArr[$.index - 1]}`)
$.newShareCodes = [];
if ($.shareCodesArr[$.index - 1]) {
$.newShareCodes = $.shareCodesArr[$.index - 1].split('@');
} else {
console.log(`由于您第${$.index}个京东账号未提供shareCode,将采纳本脚本自带的助力码\n`)
const tempIndex = $.index > inviteCodes.length ? (inviteCodes.length - 1) : ($.index - 1);
$.newShareCodes = inviteCodes[tempIndex].split('@');
}
const readShareCodeRes = null //await readShareCode();
if (readShareCodeRes && readShareCodeRes.code === 200) {
$.newShareCodes = [...new Set([...$.newShareCodes, ...(readShareCodeRes.data || [])])];
}
console.log(`${$.index}个京东账号将要助力的好友${JSON.stringify($.newShareCodes)}`)
resolve();
})
}
function requireConfig() {
return new Promise(resolve => {
console.log(`开始获取${$.name}配置文件\n`);
//Node.js用户请在jdCookie.js处填写京东ck;
const shareCodes = []
console.log(`${cookiesArr.length}个京东账号\n`);
$.shareCodesArr = [];
if ($.isNode()) {
Object.keys(shareCodes).forEach((item) => {
if (shareCodes[item]) {
$.shareCodesArr.push(shareCodes[item])
}
})
}
console.log(`您提供了${$.shareCodesArr.length}个账号的${$.name}助力码\n`);
resolve()
})
}
function safeGet(data) {
try {
if (typeof JSON.parse(data) == "object") {